This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Identity transformation (without using xsl:copy)
- From: "Roger L. Costello" <costello at mitre dot org>
- To: xsl-list at lists dot mulberrytech dot com, costello at mitre dot org
- Date: Mon, 18 Mar 2002 12:23:42 -0500
- Subject: [xsl] Identity transformation (without using xsl:copy)
- Organization: The MITRE Corporation
- References: <20020318165447.GA24675@jordyn.codenoevil.com>
- Reply-to: xsl-list at lists dot mulberrytech dot com
Does anyone have a stylesheet which does an identity transformation
without using xsl:copy? The below stylesheet works fine provided the
instance document does not use namespaces, e.g., it does not copy over
the namespace declarations, and it results in an error being generated
when an element is encountered that is explicitly namespace-qualified.
Could someone show me how to enhance this to deal properly with
namespaces? Thanks! /Roger
identity.xsl
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:output method="xml"/>
<xsl:template match="*">
<xsl:element name="{name(.)}">
<xsl:for-each select="@*">
<xsl:attribute name="{name(.)}">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:for-each>
<xsl:apply-templates/>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list