我想算不上。特定重复父节点的子节点。 我需要这个计数来保持转换后特定元素的id。
以下是我拥有的request.xml的格式
<Party><Notes><Notes><Party>
<Party><Notes><Notes></Party>
转换后的xml应为:
<Attachment id=1></Attachment>
<Attachment id=2></Attachment>
<Attachment id=3></Attachment>
<Attachment id=4></Attachment>
我尝试使用:
<xsl:value-of select="concat('Attachment',count(preceding-sibling::Notes))" />
但它没有给出正确的值。 任何指导都可以帮助我解决这个问题。
答案 0 :(得分:0)
您可以使用count(preceding::Notes)+1
,但我更喜欢使用xsl:number
。
示例...
XML (已修复为格式良好)
<request>
<Party>
<Notes/>
</Party>
<Party>
<Notes/>
</Party>
</request>
XSLT 1.0
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="Notes">
<Attachment>
<xsl:attribute name="id">
<xsl:number level="any"/>
</xsl:attribute>
</Attachment>
</xsl:template>
</xsl:stylesheet>
<强>输出强>
<Attachment id="1"/>
<Attachment id="2"/>