On 2/5/07, Andrew Welch <andrew(_dot_)j(_dot_)welch(_at_)gmail(_dot_)com> wrote:
<xsl:template match="/">
<Metadata>
<xsl:copy-of select="namespace::node()"/>
</Metadata>
</xsl:template>
I think Andrew means:
<xsl:template match="/manifest">
<Metadata>
<xsl:copy-of select="namespace::*"/>
</Metadata>
</xsl:template>
But namespace:: axis is deprecated in XSLT 2.0 (though, Saxon supports it)
If you are using XSLT 2.0, the following is perhaps a portable way:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:output method="xml" indent="yes" />
<xsl:template match="manifest">
<xsl:variable name="x" select="." />
<Metadata>
<!-- create namespace declarations -->
<xsl:for-each select="in-scope-prefixes($x)">
<xsl:namespace name="{.}"><xsl:value-of
select="namespace-uri-for-prefix(., $x)" /></xsl:namespace>
</xsl:for-each>
<!-- do rest of things -->
</Metadata>
</xsl:template>
</xsl:stylesheet>
--
Regards,
Mukul Gandhi
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--