[xsl] Re: problem - generating XML schema via XSLT

Subject: [xsl] Re: problem - generating XML schema via XSLT
From: "Dimitre Novatchev" <dnovatchev@xxxxxxxxx>
Date: Fri, 3 Oct 2003 22:35:37 +0200
> > In 1.0 there is no direct way of doing this. The nearest equivalent is:
> >
> > <xsl:variable name="dummy">
> >   <xsl:element name="e" namespace="{@prefix}"/>
> > </xsl:variable>
> >
> > <xsl:copy select="xx:node-set($dummy)/*/namespace::*[.=@prefix]"/>
> >
> > This creates a dummy element in the required namespace, and then copies
> > the required namespace node to the result tree.
> amazingly, this does not yield any change in the output document. I am
> using Xalan (where the function is named nodeset as opposed to
> node-set). The new namespace decl does not appear.

This example works with Saxon, MSXML, JD, .Net xsltTransform (Framework

It also works with Xalan C 1.5 (but with XalanJ 2.1.4 the namespace node is
not copied):

<xsl:stylesheet version="1.0"
  <xsl:output omit-xml-declaration="yes"/>

  <xsl:template match="library">
    <xsl:variable name="dummy">
      <xsl:element name="e" namespace="{@prefix}"/>

        select="extc:node-set($dummy)/*/namespace::*[. =

When the above transformation is applied against this source.xml:

<library prefix="test">
     <element name="dosome"/>

the result is:

<extc:xxx xmlns:extc="http://exslt.org/common"; xmlns="test"/>


Dimitre Novatchev.
http://fxsl.sourceforge.net/ -- the home of FXSL

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list

Current Thread