RE: [xsl] xmlns=""

Subject: RE: [xsl] xmlns=""
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Tue, 11 Mar 2003 19:02:35 -0000
Your root template is carefully outputting the html, head, and body
elements in the XHTML namespace, and I suspect the other template rules
are outputting the other elements in the null namespace. So Saxon has to
output the namespace undeclaration xmlns="" to prevent them inheriting
the XHTML namespace.

It would be simplest to move the declaration of the XHTML namespace from
your root xsl:template to the xsl:stylesheet element.

Michael Kay
Software AG
home: Michael.H.Kay@xxxxxxxxxxxx
work: Michael.Kay@xxxxxxxxxxxxxx 

> -----Original Message-----
> From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx 
> [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of 
> Gustaf Liljegren
> Sent: 11 March 2003 16:44
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] xmlns=""
> 
> 
> It seems I have still things to understand about namespaces. 
> I made a stylesheet to convert an in-house XML format to 
> XHTML 1.1. For some reason, I get a xmlns="" on each 
> top-level element beneath <body>. If I remove the default 
> namespace declaration in the <html> root element, they disappear. 
> 
> Here's an abbreviated excerpt of the output:
> 
> <?xml version="1.0" encoding="iso-8859-1"?>
> 
> <!DOCTYPE html
>   PUBLIC "-//W3C//DTD XHTML 1.1//EN" 
> "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd";> >
> <html 
> xmlns="http://www.w3.org/1999/xhtml"; xml:lang="sv">
>    <head>
>       <title>...</title>
>       <link rel="stylesheet" type="text/css" href="style.css"/>
>    </head>
>    <body>
>       <h1 xmlns="">...</h1>
>       <p xmlns="">...</p>
>       <h2 xmlns="">...</h2>
>       <p xmlns="">...</p>
>       <table xmlns="">
>          ...
>       </table>
>       <ul xmlns="">
>          <li>...</li>
>          <li>...</li>
>          <li>...</li>
>       </ul>
>    </body>
> </html>
> 
> And here's the template for the root element:
> 
>   <!-- Root node template -->
>   <xsl:template match="/">
>     <html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="sv">
>       <head>
>         <title><xsl:value-of select="heading1"/></title>
>         <link rel="stylesheet" type="text/css" href="style.css"/>
>       </head>
>       <body>
>         <xsl:apply-templates/>
>       </body>
>     </html>
>   </xsl:template>
> 
> My XSLT processor is Saxon 6.5.2.
> 
> Gustaf
> 
> 
> 
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> 


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


Current Thread