[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

RE: [xsl] Possible to use a namespace in XSL for XML documents with no namespace?


Subject: RE: [xsl] Possible to use a namespace in XSL for XML documents with no namespace?
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Mon, 20 Oct 2008 22:59:57 +0100

No, this can't be done.

The syntax xmlns:testns="" is illegal in XML 1.0. In XML 1.1 it becomes
legal, but unfortunately (in my view) it doesn't have the meaning you want.
Rather than binding the prefix testns to the "non-namespace", it undeclares
any existing binding of testns and makes the prefix unavailable for use.

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

> -----Original Message-----
> From: Dan Ochs [mailto:dan.ochs@xxxxxxxxx] 
> Sent: 20 October 2008 22:54
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] Possible to use a namespace in XSL for XML 
> documents with no namespace?
> 
> I'm trying to figure out how/if I can use a namespace prefix 
> in my XSL for an XML document without a namespace. I want to 
> do this to better organize the XSL and code for the future 
> when the XML data has namespaces added to it.
> 
> The following XML and XSL hopefully illustrate what I'm 
> trying to do, but the XSL doesn't work as written.  In the 
> example at the bottom of this message, I would want to use 
> the testns namespace and output "IT WORKS!!!"  If it matters 
> I'm using xalan 2.7.1 and the XML is being sent in from 
> another application so I don't have control over it.
> 
> Any help is appreciated!
> dan
> 
> XML:
> <?xml version="1.0" encoding="UTF-8"?>
> <root>
>    <element>Some Text</element>
> </root>
> 
> 
> XSL:
> <?xml version="1.0" encoding="UTF-8"?>
> <xsl:stylesheet version="1.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:testns="">
>    <xsl:template match="/"><xsl:apply-templates/></xsl:template>
> 
>    <xsl:template match="testns:element">
>      IT WORKS!!!
>    </xsl:template>
> </xsl:stylesheet>


Current Thread
Keywords