Для преобразования XML я должен преобразовать XML таким образом, чтобы добавить значение счетчика ко всем атрибутам дочернего узла. Ниже приведен пример xml
<hs>
<hscode>
<hsdetail>
<Name>Shirt</Name>
<ItemPrice>30</ItemPrice>
</hsdetail>
<hsdetail>
<Name>Shirt</Name>
<ItemPrice>30</ItemPrice>
</hsdetail>
</hscode>
</hs>
Используя Xslt, я хочу применить счетчик на каждом дочернем узле.of, id существует несколько hsdetails, каждый атрибут в этом узле будет использовать счетчик и т. д. Theconverted xml выглядит следующим образом
<hs>
<hscode>
<hsdetail>
<Name1>Shirt</Name1>
<ItemPrice1>30</ItemPrice1>
</hsdetail>
<hsdetail>
<Name2>Shirt</Name2>
<ItemPrice2>30</ItemPrice2>
</hsdetail>
</hscode>
</hs>
Я использую xsl, но, похоже, не работает при применении преобразования Любойпомочь в этом?Xsl выглядит следующим образом:
<xsl:stylesheet xmlns:xsl="w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()" />
</xsl:copy>
</xsl:template>
<xsl:template match="hsdetail/*">
<xsl:element
name="{name()}{count(preceding-sibling::*[name() = name(current())]) + 1}">
<xsl:apply-templates select="@*|node()" />
</xsl:element>
</xsl:template> </xsl:stylesheet>