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 文書と同じです



前のページへ戻る次のページへ