XSLの挿入
他のスタイルシートを挿入する
他の XSL スタイルシートを挿入することができれば
特定ノードを処理するテンプレートを使いまわすことができます
他の XSL スタイルシートを読み込むには xsl:include 要素を使います
<xsl:include href="URI">
href 属性には、挿入する XSL 文書の URI を指定します
この要素は常にから要素であり、子要素やテキストを持つことはありません
<?xml version="1.0" encoding="Shift-JIS" ?>
<?xml-stylesheet type="text/xsl" href="02_004_000.xsl"?>
<table>
<politician>
<name>小泉 純一郎</name>
<party>自由民主党</party>
<position>総裁</position>
</politician>
<politician>
<name>麻生 太郎</name>
<party>自由民主党</party>
<position>政務調査会長</position>
</politician>
<politician>
<name>鳩山 由紀夫</name>
<party>民主党</party>
<position>常任幹事</position>
</politician>
</table>
<?xml version="1.0" encoding="Shift-JIS" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:include href="test2.xsl" />
<xsl:template match="/">
<html>
<xsl:apply-templates />
</html>
</xsl:template>
<xsl:template match="table">
<body><table border="1" cellspacing="0">
<tr><th>名前</th><th>所属政党</th><th>役職</th></tr>
<xsl:apply-templates />
</table></body>
</xsl:template>
</xsl:stylesheet>
<?xml version="1.0" encoding="Shift-JIS" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="politician">
<tr>
<td><xsl:value-of select="name" /></td>
<td><xsl:value-of select="party" /></td>
<td><xsl:value-of select="position" /></td>
</tr>
</xsl:template>
</xsl:stylesheet>
サンプルを見る
この XSLT は、前回の XSLT 文書(02_003_000.xsl)を分割した文書です
02_004_000.xsl は politician 要素を処理する xsl:template だけが記述されています
これだけでは不十分ですが、xsl:include を用いて他のスタイルシートに読み込めば
politician を変換する独立したライブラリとして利用することができます
02_004_000.xsl では、xsl:include 要素を使って 02_004_001.xsl を読み込んでいます
02_004_001.xsl の内容が挿入されるので、結果は前回の XSLT 文書と同じです