XSL中利用xsl:for-each时给每一项添加序号

2008-02-23 05:51:22来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

经常用for-each来循环读取XML中的某个节点集,但常常需要加上序号
这样来做:
<xsl:template match="Book">
<xsl:for-each select="Authors/Author">
<xsl:number value="position()" />
<xsl:value-of select="Name" />
</xsl:for-each>
</xsl:template>
 
当然,如果你不满意,想在数字后面加上"."可以这样:
<xsl:number value="position()" format="1." />
 
甚至,你可以用用图片表示1\2\3等:
<xsl:element name="img">
<xsl:attribute name="src">images/n<xsl:number value="position()" format="1" />.gif</xsl:attribute>
<xsl:attribute name="border">0</xsl:attribute>
</xsl:element>
注意:你在images文件夹下腰有类似这样的文件:n1.gif,n2.gif,n3.gif ... ...
 
 
假设我们XML如下:
<Book>
<ID>125353-8993-3737</ID>
<ISBN>22222</ISBN>
<Title>共产主义一定能胜利</Title>
<Authors>
<Author>
<Name><![CDATA[Bill&Hoele]]></Name>
<ID>12</ID>
</Author>
<Author>
<Name><![CDATA[Eylor]]></Name>
<ID>1</ID>
</Author>
</Authors>
</Book>

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:XSLT轻松入门第四章:XPath的语法

下一篇:xslt的简单使用[xml-->html]