XSLT:XSL:从0开始的数字

时间:2017-07-04 17:32:28

标签: xml xslt

我要求使用<name> <Sequence>Id</Sequence> <Field1>A1</Field1> <Field2<A2</Field2> </name> <name> <Sequence>Id</Sequence> <Field1>A1</Field1> <Field2<A2</Field2> </name> 增加数字。但是我需要从0开始而不是从1开始。

示例输入:

<name>
<Sequence>Id0</Sequence>
<Field1>A1</Field1>
<Field2<A2</Field2>
</name>
<name>
<Sequence>Id1</Sequence>
<Field1>A1</Field1>
<Field2<A2</Field2>
</name>

示例输出:

<name>
<Sequence>
Id<xsl:number level="single"/></Sequence>
------
</name>

XSLT代码段:

<xsl:number level="single"/>

生成Id1&amp; Id2而不是Id0&amp; ID1。我出于某种原因无法使用position()。是否可以进行像-1等算术运算,例如:Id A B 1 01/05/2017 10 2 02/05/2017 5 3 03/05/2017 7 4 04/05/2017 11 -1

1 个答案:

答案 0 :(得分:1)

https://www.w3.org/TR/xslt-30/#number具有start-at属性。您当然也可以使用<xsl:variable name="n"><xsl:number/></xsl:variable><xsl:value-of select="$n - 1"/>