English | Français | Deutsch | Magyar | >> 中文 << | Polski ZVON > Tutorials > XSLT Tutorial
>> 页 70 << | 上一条 | 下一条 | 目录 | 元素索引

被导入的样式表中定义的模板规则行为会因为冲突而发生变化,但是你可以用 xsl:apply-imports 元素来得到原来的信息。 XSLT stylesheet 2 导入 XSLT stylesheet 1 并且覆盖了原来的模板。 XSLT stylesheet 3 导入 XSLT stylesheet 1 并改变了模板。 xsl-apply-imports 只对 xsl:import 导入的模板才有效,对 xsl:include 包含的模板无能为力( XSLT stylesheet 4 )。

XSLT stylesheet 1

XML源码
<source>

<AAA/>
<BBB/>
<CCC/>

</source>

输出
<DIV style="color:red">AAA</DIV>

<DIV style="color:red">BBB</DIV>

<DIV style="color:red">CCC</DIV>

用HTML察看
AAA
BBB
CCC
XSLT stylesheet (file: id2.xsl )
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<xsl:template match="/*/*">
     <DIV style="color:red">
          <xsl:value-of select="name()"/>
     </DIV>
</xsl:template>


</xsl:stylesheet>


XSLT stylesheet 2

XML源码
<source>

<AAA/>
<BBB/>
<CCC/>

</source>

输出
<EM>AAA</EM>

<EM>BBB</EM>

<EM>CCC</EM>

用HTML察看
AAA BBB CCC
XSLT stylesheet (file: id3.xsl )
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<xsl:import href="id2.xsl"/>
<xsl:template match="/*/*">
     <EM>
          <xsl:value-of select="name()"/>
     </EM>
</xsl:template>


</xsl:stylesheet>


XSLT stylesheet 3

XML源码
<source>

<AAA/>
<BBB/>
<CCC/>

</source>

输出
<EM>
  <DIV style="color:red">AAA</DIV>
</EM>

<EM>
  <DIV style="color:red">BBB</DIV>
</EM>

<EM>
  <DIV style="color:red">CCC</DIV>
</EM>

用HTML察看
AAA
BBB
CCC
XSLT stylesheet (file: id4.xsl )
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<xsl:import href="id2.xsl"/>
<xsl:template match="/*/*">
     <EM>
          <xsl:apply-imports/>
     </EM>
</xsl:template>


</xsl:stylesheet>


XSLT stylesheet 4

XML源码
<source>

<AAA/>
<BBB/>
<CCC/>

</source>

输出
<EM/>

<EM/>

<EM/>

用HTML察看
XSLT stylesheet (file: id5.xsl )
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<xsl:include href="id2.xsl"/>
<xsl:template match="/*/*">
     <EM>
          <xsl:apply-imports/>
     </EM>
</xsl:template>


</xsl:stylesheet>