首页 > 解决方案 > 我可以在 XSLT 1.0 中创建子元素计数器吗?

问题描述

给出以下源 XML,我有进程 a 和 b 工作(下面的源和结果)现在,我怎样才能得到下面的预期展览 c 结果?

如果它可以在自然 xslt 1.0 中完成而无需求助于 JAVA 计数器,则可以加分!

任何帮助表示赞赏,谢谢!

源 XML:

             <A>
                <B/>
                <B/>
                <B/>
            </A>
            <A>
                <B/>
                <B/>
                <B/>
            </A>
            <A>
                <B/>
                <B/>
                <B/>
            </A>

[ 前任。'一种' ]

代码:

        <xsl:for-each select="A"><xsl:text>&#xA;</xsl:text>
            <xsl:text>A_</xsl:text><xsl:value-of select="position()"/>
            <xsl:for-each select="B"><xsl:text>&#xA;</xsl:text>
                <xsl:text>  B_</xsl:text><xsl:value-of select="position()"/>
            </xsl:for-each>
        </xsl:for-each>

结果:

A_1
    B_1
    B_2
    B_3
A_2
    B_1
    B_2
    B_3
A_3
    B_1
    B_2
    B_3

[ 前任。'b']

代码 :

 <xsl:for-each select="A/B"><xsl:text>&#xA;</xsl:text>
        <xsl:text>  B_</xsl:text><xsl:value-of select="position()"/>
    </xsl:for-each>

结果:

B_1
B_2
B_3
B_4
B_5
B_6
B_7
B_8
B_9

[ 前任。'C' ]

代码: ??????(这就是我要找的)

结果(预期):

A_1
    B_1
    B_2
    B_3
A_2
    B_4
    B_5
    B_6
A_3
    B_7
    B_8
    B_9

标签: xmlxsltxslt-1.0xslt-grouping

解决方案


使用<xsl:number level="any"/>而不是position().


推荐阅读