MSDNサブスクライバーダウンロードとかのプロダクトキー一覧をXMLでエクスポートしたはいいけど、XMLのままだとちょっと見難いので、XSLT埋め込みテクノロジを流用してみた
長い表題だけど。
要は、これと同じ。
MSDNとかTechNetのサブスクリプションでプロダクトキー一覧をXMLでエクスポートできるのは良いのだけど、XMLのままだと少し見難かったりする。
どうせなら、テーブル形式で見たいところだなぁと、常々思っていた。
だからといって、エクスポートしたXMLを編集するのは、キーが追加される毎やらなきゃならんとなると少々面倒。
でも、XML中で動くXSLTを実現できたんだから、流用すれば簡単に実現できんじゃねぇの?って思ってちょろっと書いてみた。
#CUS形式については省略。
正しくないかも知れないけど、一応、テーブル表示されるのでOK。
<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type="text/xsl" href="#"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>
<xsl:variable name="keys">keys.xml</xsl:variable>
<xsl:template match="Product_Key">
<xsl:if test="not(Key/@Type='CUS')">
<tr>
<td><xsl:value-of select="@Name"/></td>
<td><xsl:apply-templates select="Key"/></td>
</tr>
</xsl:if>
</xsl:template>
<xsl:template match="Key">
<xsl:if test="not(position()=1)"><br/></xsl:if>
[<xsl:value-of select="@Type"/>]:<xsl:value-of select="."/>
</xsl:template>
<xsl:template match="/">
<html>
<head>
<title>Product Keys</title>
</head>
<body>
<table border="1">
<tr><th>Product Name</th><th>Key</th></tr>
<xsl:for-each select="document($keys)//Product_Key">
<xsl:apply-templates select="."/>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
プロダクトキー一覧(keys.xml)を上記内容のxmlファイル(utf-8で仮にtable.xmlとして保存)と同じディレクトリに置いて、table.xmlをIEで表示すると、以下のようになる。
<xsl:apply-templates select="."/>の前に<xsl:sort select="@Name"/>を入れると、Product Name列でソートできる。
超便利。
| 固定リンク
「趣味」カテゴリの記事
- パケット採取ツールでも載せておこうか(2009.09.29)
- どこでも検索(2009.09.30)
- 自作Excelアドイン関数のXLLがベクター登録でダウンロード可能に。MD5対応版(2009.10.02)
- バグかよ>俺(2009.10.07)
- シェアウェア登録方法がよく分からん(2009.10.09)
この記事へのコメントは終了しました。


コメント