XSL中利用xsl:for-each时给每一项添加序号
XSL中利用xsl:for-each时给每一项添加序号 经常用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>