Re: [xsl] Saxon removes namespace in XHTML output

Subject: Re: [xsl] Saxon removes namespace in XHTML output
From: "andrew welch" <andrew.j.welch@xxxxxxxxx>
Date: Tue, 22 Aug 2006 16:52:51 +0100
On 8/22/06, M 1879 <m1879@xxxxxxxxxxxxx> wrote:
Hello,

I'm using Saxon-B 8.7.1 from the command line to output XHTML. In
some tags, not others, the namespace gets reset to nothing with
xmlns="". The <p> tag at the end of the XHTML below is an example.
The part of the stylesheet that creates these elements is after the XHTML.

XHTML output:
------------------------
(XHTML namespace set up here on html element)
   <h1>Bgp Object</h1>
   <hr/>
   <p>
      <a href="object-index.htm">Back to Object Index</a>
   </p>
   <p>
      <b>Description: </b>
   </p>
   <p xmlns="">Defines the characteristics...</p>  <<<<----RESETS NAMESPACE
------------------------
stylesheet:

<p><b>Description: </b></p>
<xsl:apply-templates select="doctag_object/description" mode="multi-descr" />

<xsl:template match="description" mode="multi-descr">
     <p><xsl:apply-templates /></p>
</xsl:template>

Any idea what causes this? I confess that I am using a XSLT 1.0
stylesheet that uses an XSLT 2.0 element: (it works).

You are outputting unprefixed literal result elements in no namespace - you need to put them in the XHTML namespace either by prefixing them <xhtml:p> or by putting all LREs in the XHTML namespace by making it the default namespace.

cheers
andrew

Current Thread