XSLT <xsl:template> 要素

XSL スタイルシートは、テンプレートと呼ばれる規則のセットで構成されています。

各テンプレートは、指定されたノードがマッチしたときに適用されるルールを含んでいます。

<xsl:template> 要素

<xsl:template> 要素はテンプレートの構築に使用されます。

match 属性は XML 要素とテンプレートを関連付けるために使用されます。match 属性は、ドキュメント全体にテンプレートを定義するためにも使用されます。match 属性の値は XPath 表現です(例えば、match="/" は全体のドキュメントを定義します)。

さて、前節で見た XSL ファイルの簡略化されたバージョンを見てみましょう:

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
 <html>
 <body>
   <h2>My CD Collection</h2>
   <table border="1">
     <tr bgcolor="#9acd32">
       <th>Title</th>
       <th>Artist</th>
     </tr>
     <tr>
       <td>.</td>
       <td>.</td>
     </tr>
   </table>
 </body>
 </html>
</xsl:template>
</xsl:stylesheet>

コードの説明:

XSL スタイルシート自体も XML 文書であるため、常に XML 声明で始まります:

<?xml version="1.0" encoding="ISO-8859-1"?>

次の要素、<xsl:stylesheet>、このドキュメントを XSLT スタイルシートドキュメント(バージョン番号と XSLT ナメースパース属性を含む)として定義します。

<xsl:template> 要素はテンプレートを定義し、 match="/" 属性は、このテンプレートと XML 源ドキュメントのルートを関連付けます。

<xsl:template> 要素内の内容は、出力結果に書き込む HTML コードを定義します。

最後の二行は、テンプレートの終わりとスタイルシートの終わりを定義しています。

この変換の結果はこんな感じです:

XML ファイルを確認XSL ファイルを確認結果を確認

この例の結果は少し欠点があります。なぜなら、データが XML ドキュメントから出力にコピーされていないからです。

次のセクションでは、以下のように使用する方法を学びます <xsl:value-of> 要素は XML 要素から値を選択します。