XSL:生成一个自增的全局整数 id
XSL: Generate a global integer id that increments itself
我有一个 XML 格式,我需要通过 XSL 生成它有一个奇怪的怪癖。目标模式中具有 id 属性的每个元素都必须与所有其他 id 属性顺序排列,无论元素名称如何。这是我的意思的一个非常简单的例子:
Input.XML
<list>
<booklist>
<book>
</booklist>
<cdlist>
<cd />
<cd />
</cdlist>
<periodicallist>
<periodical>
</periodicallist>
</list>
Output.XML
<mediaLibrary>
<book id="1" />
<cdList>
<cd id="2" />
<cd id="3" />
</cdList>
<periodical id="4" />
</mediaLibrary>
我知道 XSL 变量是不可变的,但我对 xsl:number 没有任何好感,尽管我对 XSL 还很陌生。 XSL 中有办法做到这一点吗?
I haven't had any luck with xsl:number
怎么样:
<xsl:number level="any" count="book | cd | periodical"/>
我有一个 XML 格式,我需要通过 XSL 生成它有一个奇怪的怪癖。目标模式中具有 id 属性的每个元素都必须与所有其他 id 属性顺序排列,无论元素名称如何。这是我的意思的一个非常简单的例子:
Input.XML
<list>
<booklist>
<book>
</booklist>
<cdlist>
<cd />
<cd />
</cdlist>
<periodicallist>
<periodical>
</periodicallist>
</list>
Output.XML
<mediaLibrary>
<book id="1" />
<cdList>
<cd id="2" />
<cd id="3" />
</cdList>
<periodical id="4" />
</mediaLibrary>
我知道 XSL 变量是不可变的,但我对 xsl:number 没有任何好感,尽管我对 XSL 还很陌生。 XSL 中有办法做到这一点吗?
I haven't had any luck with xsl:number
怎么样:
<xsl:number level="any" count="book | cd | periodical"/>