・<xsl:include>同様に書式<xsl:import href=""/>で外部のxslファイルを呼び込む。だだしトップレベル要素でかつ他の要素より先に宣言しなければならない。
・テンプレートが重複する場合、<xsl:import href=""/>のテンプレートは使用されない。ただし<xsl:apply-imports>を使えば、取り込んだテンプレートを呼び出し、元のxslのテンプレートと合成できる。
(name要素は重複がないのでimportされたテンプレートが適用される。end要素とtotal要素は呼び出し側ファイルでテンプレート指定されているので、importされたテンプレートは適用されない。ただしend要素には<xsl:apply-imports/>が指定されているので両方のテンプレートが適用される。)
[サンプルXML文書を表示](下のフレームに)
XMLソース
<?xml version="1.0" encoding="Shift_JIS" ?>
<?xml-stylesheet type="text/xsl" href="import01.xsl"?>
<root>
<title>2003年11月05日の東証株式第一部情報</title>
<info><name>銘柄</name><end>終値(円)</end><total>出来高(千株)</total></info>
<data>
<kabu><name code="6752">松下</name><end>1529</end><total>12302</total></kabu>
<kabu><name code="6753">シャープ</name><end>1786</end><total>3964</total></kabu>
<kabu><name code="6758">ソニー</name><end>4030</end><total>8220</total></kabu>
<kabu><name code="6764">三洋</name><end>516</end><total>7551</total></kabu>
<kabu><name code="6501">日立</name><end>692</end><total>21896</total></kabu>
<kabu><name code="6502">東芝</name><end>440</end><total>17832</total></kabu>
<kabu><name code="6701">NEC</name><end>1027</end><total>19229</total></kabu>
<kabu><name code="6702">富士通</name><end>708</end><total>16634</total></kabu>
</data>
<end>以上です(2003/11/19)</end>
</root>
XSLソース(import01.xsl)
<?xml version="1.0" encoding="Shift_Jis"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="import01a.xsl"/> <!--この位置に限る-->
<xsl:output method="html" encoding="Shift_JIS"/>
<xsl:template match="/">
<xsl:call-template name="TITLE"/>
<xsl:apply-templates select="root/data/kabu"/>
</xsl:template>
<xsl:template match="kabu">
<xsl:apply-templates select="name"/>:
<xsl:apply-templates select="end"/>,
<xsl:apply-templates select="total"/><br/>
</xsl:template>
<xsl:template match="end">
<i><span style="border:1px solid black"><xsl:apply-imports/></span></i>
</xsl:template>
<xsl:template match="total">
<span style="color:green"><xsl:value-of select="."/></span>
</xsl:template>
</xsl:stylesheet>
importされるXSLソース(import01a.xsl)
<?xml version="1.0" encoding="Shift_Jis"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="Shift_JIS"/>
<xsl:template name="TITLE">
<center><H4>「<xsl:value-of select="root/title"/>」</H4></center>
</xsl:template> <xsl:template match="name">
<span style="color:blue"><xsl:value-of select="."/></span>
</xsl:template>
<xsl:template match="end">
<span style="color:red"><xsl:value-of select="."/></span>
</xsl:template>
<xsl:template match="total">
<span style="color:red"><xsl:value-of select="."/></span>
</xsl:template>
</xsl:stylesheet>
end(03/11/19)