XML文書を変換するためのルールの記述方法について解説してきます。(XSLTスタイルシートの宣言部分の記述方法はこちらを参照してください。)
変換ルールでは、
①XML文書の「どの部分」を
②「どのように」変換するのか
を、定義します。このようなルールのことをテンプレートルールと言います。
では、もう一度サンプルを見て下さい。
<xsl:template match="/"> <html> <head> <title><xsl:text>ゲーム所持リスト</xsl:text></title> </head> <h1><xsl:text>ゲーム所持リスト</xsl:text></h1> <table> <tr> <th><xsl:text>ゲームタイトル</xsl:text></th> <th><xsl:text>購入日</xsl:text></th> <th><xsl:text>購入価格</xsl:text></th> </tr> <xsl:for-each select="ゲーム所持リスト/ゲーム情報"> <tr> <td><xsl:value-of select="ゲームタイトル" /></td> <td><xsl:value-of select="購入日" /></td> <td><xsl:value-of select="購入価格" /></td> </tr> </xsl:for-each> </table> </html> </xsl:template>
XSLTでは、変換元のXML文書を「/」であらわします。このサンプルでは、
①変換元のXML文書(/)を
②「html」要素に変換する
ことを意味しています。
①の指定をパターン(赤字部分)、②の指定をテンプレート(青字部分)と言います。テンプレートルールはその「パターン」と「テンプレート」で構成されます。
- テンプレートルールの構文
- <xsl:template match=”パターン”>
… ← テンプレート
</xsl:template>
match属性は「そのテンプレートがXML文書のどの要素に対して適用されるのか」を指定します。サンプルでは、<xsl:template>要素のmatch属性が「/」なので、XML文書全体に対して適用されるテンプレートを記述していることになります。
次回は、XSLTスタイルシートのテンプレートの記述部分について解説してきます。