如何理解xslt中模板调用(我是新手,写得不对,大家砸砖头)

如何理解xslt中模板调用
因为样式表是描述性的而不是过程性的,所以我们不会假设第一个模板就是调用的开始,也不会把“/”当坐

起始节点。
样式表会发现模板间调用关系,会自动找到调用的起始点。
例如:
source.xml
/*------------*/
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="books.xsl"?>
<source>

<bold>Hello, world.</bold>
<red>I am </red>
<italic>fine.</italic>

</source>

books.xsl
/*-----------*/
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
<xsl:output method="html" indent="yes"/>

<xsl:template match="/">
     <p>
          <b>
               <xsl:value-of select="//bold"/>
          </b>
     </p>
     <p style="color:red">
          <xsl:value-of select="//red"/>
     </p>
     <p>
          <i>
               <xsl:value-of select="//italic"/>
          </i>
     </p>
</xsl:template>


<xsl:template match="/source">
<xsl:apply-templates select="/"/>
</xsl:template>


</xsl:stylesheet>

结果:
Hello, world.

I am

fine.

其中<xsl:apply-templates select="/"/>,就是一个调用语句,select属性重新选择了上下文节点,这句语

句的意思就是:调用与当前上下文节点匹配的模板。

posted on 2005-07-28 14:40  栖息的熊  阅读(568)  评论(0编辑  收藏  举报

导航