[xsl] How do I force the XSLT processor to retain a namespace declaration despite an ancestor element having that same namespace declaration?

Subject: [xsl] How do I force the XSLT processor to retain a namespace declaration despite an ancestor element having that same namespace declaration?
From: "Costello, Roger L." <costello@xxxxxxxxx>
Date: Mon, 25 Jul 2011 13:05:00 -0400
Hi Folks,

When this is evaluated:

    <test xmlns:xs="http://www.w3.org/2001/XMLSchema";>
        <inner xmlns:xs="http://www.w3.org/2001/XMLSchema"; type="xs:string"
/>
    </test>

The output is this:

    <test xmlns:xs="http://www.w3.org/2001/XMLSchema";>
        <inner type="xs:string" />
    </test>

Notice that the namespace declaration on <inner> is gone.

How do I force the XSLT processor to retain that namespace declaration and not
discard it? (I am passing the <inner> element to other functions that don't
have access to its surrounding elements, so I need that namespace declaration
retained.)

/Roger

Current Thread