XSLT 7章 出力とスタイルシートの結合
- 7.1 出力
- 7.2 スタイルシートのインクルード
- 7.3 スタイルシートのインポート
- 7.4 スタイルシートの埋め込み
7.4 スタイルシートの埋め込み
通常の場合、XSLT スタイルシートは、ルート要素として xsl:stylesheet 要素を持つ完全な XML 文書であることが多いですが、XSLT スタイルシートを別の XML 文書の一部として埋め込むこともできます。この埋め込みが容易にできるように xsl:stylesheet 要素には、ユニークな識別子を示す ID 型の属性を指定できます。
xml-stylesheet 処理命令の URI リファレンスには、xsl:stylesheet 要素の位置を特定する、フラグメント識別子を備えた参照 URI を使用します。 また、通常スタイルシート自身をソース文書として処理することはないでしょうから、ソース文書とスタイルシートが埋め込まれている XML 文書が同じ場合は、以下のような記述が必要になります。
<xsl:template match="xsl:stylesheet"></xsl:template>
以下にスタイルシートの埋め込みの例を示します。
<?xml-stylesheet type="text/xml" href="#style1"?> <!DOCTYPE doc SYSTEM "doc.dtd"> <doc> <head> <xsl:stylesheet id="style1" version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:import href="doc.xsl"/> <xsl:template match="/"> ... </xsl:template> <xsl:template match="xsl:stylesheet"> <!-- ignore --> </xsl:template> </xsl:stylesheet> ... </doc>