xsl-list
[Top] [All Lists]

RE: xmlns=""

2003-03-11 12:02:35
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(_dot_)H(_dot_)Kay(_at_)ntlworld(_dot_)com
work: Michael(_dot_)Kay(_at_)softwareag(_dot_)com 

-----Original Message-----
From: owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com 
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com] On Behalf Of 
Gustaf Liljegren
Sent: 11 March 2003 16:44
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
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



<Prev in Thread] Current Thread [Next in Thread>
  • xmlns="", Gustaf Liljegren
    • Re: xmlns="", David N Bertoni/Cambridge/IBM
    • RE: xmlns="", Michael Kay <=