RE: [xsl] Namespace issues

Subject: RE: [xsl] Namespace issues
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Thu, 19 May 2005 16:04:48 +0100
My suggestion in such cases would be to write a transformation that moves
the elements into the required namespace (or into the null namespace), and
then apply the second transformation: that is, solve it using a pipeline,
rather than trying to write one stylesheet that understands both formats.

Michael Kay
http://www.saxonica.com/

> -----Original Message-----
> From: Joel Hekansson [mailto:joel.hakansson@xxxxxx]
> Sent: 19 May 2005 15:54
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] Namespace issues
>
>
> I have two different versions of an XML-format. The first one contains
> no namespace declaration and the second (newer) contains a
> value for the
> default namespace in the root-element.
>
> Thus to match elements in the newer spec. I have to write for example
> match="myns:root" while in to match elements in the older spec. I can
> use match="root".
>
> If I already have an XSLT that transforms the older version and would
> like to apply that to a document following the newer specs, I have two
> options:
> 1) Remove the xmlns declaration from the source document before
> applying the transformation
> 2) Rewrite the xslt, like
>   <xsl:stylesheet xmlns:myns="..."...
>     <xsl:template match="myns:root"...
>
> Consequently, if I want a single stylesheet transforming both
> versions,
> I have to use:
>   <xsl:template match="root|myns:root"> and so on
>
> Have I got it right?
>
> Joel

Current Thread