On Fri, 08 Nov 2002 15:31:57 -0800, Dan Vint wrote:
I was just now able to give this a try, but unfortunately it doesn't work.
I wasn't exactly sure of all the changes that might have been needed so I
tried the following for the first solution offered:
Sorry, there is a mistake in my post:
I wrote:
<xsl:variable name="ns-node">
<xsl:element name="ns-element" namespace="{$target}"/>
</xsl:variable>
<xsd:schema>
<xsl:copy-of
select="saxon:node-set($ns-node)/ns-element/namespace::*[local-name()='']"/>
I put 'ns-element' so that you could follow the logic. Big mistake,
because 'ns-element' only matches elements in no namespace.
ns-element *is* in a namespace, so nothing gets copied. When I tested
it I saw the namespace declaration copied from the stylesheet...
Instead, write
select="saxon:node-set($ns-node)/*/namespace::*[local-name()='']"/>
Tested using Saxon 6.5.1. Properly this time!
Watch out for one extra wrinkle though: things get complicated again
if you declare a namespace with an empty prefix on the stylesheet:
Saxon tries to copy the node twice, and objects. You might want to
use a prefix because of this.
Regards,
Trevor Nash
--
Traditional training & distance learning,
Consultancy by email
Melvaig Software Engineering Limited
voice: +44 (0) 1445 771 271
email: tcn(_at_)melvaig(_dot_)co(_dot_)uk
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list