在不同的循环中增加属性id,但在XSLT中id必须是唯一的

时间:2017-10-06 04:58:17

标签: attributes xslt-1.0 increment

我的问题是如何在不同的循环中增加属性id但是在XSLT中id必须是唯一的?

1 个答案:

答案 0 :(得分:0)

对于您当前的要求,您可以像这样处理

    <xsl:template match="Records">
    <xsl:for-each select="//Person|//Entity">
        <Entity>
            <xsl:attribute name="ID" select="position()"/>
            <xsl:choose>
                <xsl:when test="self::Person">
                    <Type>Individual</Type>
                    <Gender>Male</Gender>
                    <xsl:copy-of select="descendant::FirstName"/>
                </xsl:when>
                <xsl:otherwise>
                    <Type>Business</Type>
                    <Full_Name><xsl:value-of select="descendant::EntityName"/></Full_Name>
                </xsl:otherwise>
            </xsl:choose>
        </Entity>
    </xsl:for-each>
</xsl:template>