[xsl] Namespace issues

Subject: [xsl] Namespace issues
From: "Joel Håkansson" <joel.hakansson@xxxxxx>
Date: Thu, 19 May 2005 16:54:00 +0200
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