RE: [xsl] [XSLT 1.0] Replace namespace prefixes?

Subject: RE: [xsl] [XSLT 1.0] Replace namespace prefixes?
From: Scott Trenda <Scott.Trenda@xxxxxxxx>
Date: Thu, 24 Dec 2009 11:00:33 -0500
I think it'd be possible to do this by putting the literal namespace at the top of your stylesheet (or in a child element), and with something like a <xsl:copy-of select="document('')/*/namespace::bk" /> after (or as) you copy the top level element. YMMV, but remember that you can select and manipulate the actual namespace nodes in XPath/XSLT.

~ Scott

-----Original Message-----
From: Costello, Roger L. [mailto:costello@xxxxxxxxx] 
Sent: Thursday, December 24, 2009 10:39 AM
To: 'xsl-list@xxxxxxxxxxxxxxxxxxxxxx'
Subject: [xsl] [XSLT 1.0] Replace namespace prefixes?

Hi Folks,

I would like an identify transform that replaces namespace prefixes with my own names.

For example, I would like to transform this:

    <attackNOW:book xmlns:attackNOW="";>
        <attackNOW:title>The Origin of Wealth</attackNOW:title>
        <attackNOW:author>Eric D. Beinhocker</attackNOW:author>
        <attackNOW:publisher>Harvard Business School Press</attackNOW:publisher>
        <attackNOW:cost currency="USD">29.95</attackNOW:cost>

Into this:

    <bk:book xmlns:bk="";>
        <bk:title>The Origin of Wealth</bk:title>
        <bk:author>Eric D. Beinhocker</bk:author>
        <bk:publisher>Harvard Business School Press</bk:publisher>
        <bk:cost currency="USD">29.95</bk:cost>

Or this:

    <book xmlns="";>
        <title>The Origin of Wealth</title>
        <author>Eric D. Beinhocker</author>
        <publisher>Harvard Business School Press</publisher>
        <cost currency="USD">29.95</cost>

Is there a way to replace namespace prefixes, using XSLT 1.0?


Current Thread