Re: [xsl] Trouble with namespaces and running identity transform on XHTML

Subject: Re: [xsl] Trouble with namespaces and running identity transform on XHTML
From: "James J. Ramsey" <jjramsey_6x9eq42@xxxxxxxxx>
Date: Wed, 10 Mar 2004 14:22:35 -0800 (PST)
--- Kevin Jones <kjones@xxxxxxxxxxx> wrote:
> 
> > Having an explicitly declared namespace attribute
> in
> > xsl:element works in xsltproc, Saxon, and Xalan,
> but
> > not Sablotron, which outputs
> >
> > <ns_1:html
> xmlns:ns_1="http://www.w3.org/1999/xhtml";>
> > <ns_2:head
> xmlns:ns_2="http://www.w3.org/1999/xhtml";>
> > --snip--
> > </ns_2:head>
> > </ns_1:html>
> >
> 
> On Sablotron you can get better output by including
> a prefix in 
> the xsl:element name attribute. Like this,
> 
> <xsl:element name="{concat('h:',local-name())}"
> 	namespace="http://www.w3.org/1999/xhtml";>
> 	<xsl:apply-templates select="@*|node()" />
> </xsl:element>

except in the output, that prefixes elements with
"h:", which I do *not* want.

Anyway, what I'm not sure of is whether the XSLT spec
guarantees that

<xsl:element name="NCName"> <!-- No prefix in NCName
-->
 <!-- Content of NCName . . . -->
</xsl:element>

will result in an element with the unprefixed name
NCName in the default namespace, or if it's just that
XSLT processors happen to serialize that as "<NCName>
. . . </NCName>".


__________________________________
Do you Yahoo!?
Yahoo! Search - Find what you?re looking for faster
http://search.yahoo.com

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


Current Thread