Subject: Re: [xsl] Trouble with namespaces and running identity transform on XHTML From: Kevin Jones <kjones@xxxxxxxxxxx> Date: Wed, 10 Mar 2004 21:36:37 +0000 |
> 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> The 'h' acts as a hint which the processor may ignore but Sablotron doesn't. This also avoids the multiple namespace declaration problem. Note that I have also changed name() to local-name(). I have not tested this with the other processors but I would doubt it will cause them any problems. Kev. XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Trouble with namespaces a, James J. Ramsey | Thread | Re: [xsl] Trouble with namespaces a, James J. Ramsey |
RE: [xsl] Confision with replace-st, Josh Canfield | Date | Re: [xsl] Trouble with namespaces a, James J. Ramsey |
Month |