Xml 如何设置多个同一元素的id

Xml 如何设置多个同一元素的id,xml,xslt,Xml,Xslt,我正在寻找一种方法来为多个孩子设置相同的id。我在XSL中做到了这一点: 我会这样做: XSLT1.0 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> <xsl:strip-space elements="*"/

我正在寻找一种方法来为多个孩子设置相同的id。我在XSL中做到了这一点:


我会这样做:

XSLT1.0

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:strip-space elements="*"/>

<!-- identity transform -->
<xsl:template match="@*|node()">
    <xsl:copy>
        <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
</xsl:template>

<xsl:template match="field">
    <xsl:copy>
        <xsl:copy-of select="@*"/>
        <xsl:attribute name="index">
            <xsl:value-of select="generate-id(..)" />
        </xsl:attribute>
    </xsl:copy>
</xsl:template>

</xsl:stylesheet>


这将为每个
字段
分配其父
字段
的唯一id。id的确切格式取决于处理器。

我忘了指定我的设置并进入XSL处理,模板匹配无法使用:我不知道这是什么意思。我将我的XML设置为:恐怕这一点没有变得更清楚。帖子中的XML是XSL转换的输入吗?如果没有,请编辑您的问题并发布一个实际输入的示例,以及您现有的样式表