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

王朝other·作者佚名  2006-01-10
窄屏简体版  字體: |||超大  

经常用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>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航