2017-07-04 12 views
0

<xsl:number level="single"/>を使用して番号を増やす必要があります。XSLT:XSL:0から開始する番号

<name> 
<Sequence>Id</Sequence> 
<Field1>A1</Field1> 
<Field2<A2</Field2> 
</name> 
<name> 
<Sequence>Id</Sequence> 
<Field1>A1</Field1> 
<Field2<A2</Field2> 
</name> 

サンプル出力:

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

XSLTスニペット:しかし、私の代わりに1

サンプル入力の0から開始する数える必要

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

Id1のを生成し& Id0 & Id1の代わりにId2。何らかの理由でposition()を使用できませんでした。たとえば、-1などの算術演算を行うことは可能ですか?Id <xsl:number level="single"/> -1

答えて

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"/>も使用できます。

+0

この選択は、変換を行っているライブラリによって異なります。サクソンの外では、私はどのくらいの数のサポート3.0がよく分からない。 –

関連する問題