|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Trouble with namespaces and running identity trans
> 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
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








