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 要素の値を選択します。