У меня есть xml, как показано ниже
<rnp xmsns="v1">
<ele1 line="1">
<ele2></ele2>
</ele1>
</rnp>
Я хочу изменить его на
<rnp xmsns="v2">
<ele1 line="1">
<ele2></ele2>
</ele1>
</rnp>
, используя xslt 1.0.
Я использую ниже xsl.
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="v2">
<xsl:template match="*">
<xsl:element name="{local-name()}">
<xsl:apply-templates select="@*|*|node()"/>
</xsl:element>
</xsl:template>
<xsl:template match="rnp">
<rnp>
<xsl:apply-templates select="*"/>
</rnp>
</xsl:template>
</xsl:stylesheet>
Но этот xsl не копирует атрибуты, поэтому линейный атрибут не генерируется в выходных данных.
пример выходных данных
<?xml version="1.0" encoding="UTF-8"?><rnp xmlns="v2"><ele1>1
<ele2/>
</ele1></rnp>
Как изменить только текст xmlns attrbiuteиспользуя xslt?Есть ли другой способ изменить xmlns с помощью xslt?У меня есть только вариант xslt 1.0.
Спасибо.