I am trying to remove existing namespaces and add another namespace to my XML Document. When i didnt added the attribute, it was working. Now, when i added an attribute "id" the removal code is not working.
My XML Document is:
<?xml version="1.0" encoding="UTF-8"?>
<n0:eCPR xmlns:prx="urn:sap.com:proxy:DV4:/1SAI/TAS1F59A417878D36573F1D:700:2013/05/24" xmlns:n0="http://www.dir.ca.gov/dlse/CPR-Prod-Test/CPR.xsd">
<n0:employees>
<n0:employee>
<n0:name id="20019768">Paul John</n0:name>
</n0:employee>
</n0:employees>
</n0:eCPR>
What i want it to be is:
<CPR:eCPR xmlns:CPR="http://www.dir.ca.gov/dlse/CPR-Prod-Test/CPR.xsd">
<CPR:employees>
<CPR:employee>
<CPR:name id="12345">JOHN SMITH</CPR:name>
</CPR:employee>
</CPR:employees>
</CPR:eCPR>
The XSLT Code which i applied( Was working before using my previous post Unable to Update the Namespace of XML Document ) was:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:CPR="http://www.dir.ca.gov/dlse/CPR-Prod-Test/CPR.xsd">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="*">
<xsl:element name="CPR:{local-name()}">
<xsl:apply-templates/>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
答案 0 :(得分:1)
如果您的输入具有属性,则需要执行以下操作:
<xsl:copy-of select="@*"/>
之前:
<xsl:apply-templates/>