Кто-нибудь знает, как я могу переименовать тег с помощью XSLT?
В моем примере я копирую тег «NUMBER» из «CONTACT / NUMBER» в теге «ADD» в «GRP».
Но теперь я также хочу, чтобы скопированный тег «NUMBER» в «GRP» назывался «CONTACT_NUMBER» вместо «NUMBER».
<xsl:template match="GRP">
<xsl:copy>
<!--copy the data from ADD - CN to the GRP so it can be used in the mapping to set the delivery address from end customer-->
<xsl:for-each select ="./ADD">
<xsl:if test="./QUALIFIER='CN'">
<xsl:copy-of select="PARTY_NAME_1"/>
<xsl:copy-of select="STREET_1"/>
<xsl:copy-of select="CITY"/>
<xsl:copy-of select="POSTAL_CODE"/>
<xsl:copy-of select="COUNTRY_CODE"/>
<xsl:copy-of select="CONTACT/NUMBER"/>
</xsl:if>
</xsl:for-each>
<!--copy all other nodes-->
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
Результат:
PARTY_NAME_1
STREET_1
...
CONTACT_NUMBER (вместо "NUMBER")
Спасибо, Джулиан