Subject: RE: [XSLT 1.0] Replace namespace prefixes?
From: "Costello, Roger L." <costello@xxxxxxxxx>
Date: Thu, 24 Dec 2009 13:06:22 -0500
|
Ken Holman gave this solution to the "replace prefixes problem":
---------------------------------------------------
?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:param name="use-this-prefix" />
<xsl:template match="*[namespace-uri(.)]">
<xsl:element name="{$use-this-prefix}:{local-name()}"
namespace="{namespace-uri(.)}">
<xsl:apply-templates select="@*|node()"/>
</xsl:element>
</xsl:template>
<xsl:template match="@*[namespace-uri(.)]">
<xsl:attribute name="{$use-this-prefix}{local-name()}"
namespace="{namespace-uri(.)}">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:template>
<xsl:template match="@*|node()"><!--identity for all other nodes-->
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
---------------------------------------------------
Wow! You da man Ken! That works beautifully. Thank you!
Happy Holidays!
/Roger
|