xsl-list
[Top] [All Lists]

Re: [xsl] html as input to xslt

2007-09-05 11:31:36
You're right, it's not exactly what I want.

I have this html:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
<html xmlns="http://www.w3.org/1999/xhtml";>
<head>
 <title>yellow</title>
</head>
<body>
 <div class="navheader">
   <p>navheader</p>
 </div>
 <div class="something">
   <p>something</p>
 </div>
 <p>plain</p>
</body>
</html>

I run this transform:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
xmlns:xhtml="http://www.w3.org/1999/xhtml"; version="2.0">
 <xsl:output method="html" />
 <xsl:template match="node()|@*">
   <xsl:copy>
     <xsl:apply-templates select="@*" />
     <xsl:apply-templates />
   </xsl:copy>
 </xsl:template>
 <xsl:template match="//xhtml:div[(_at_)class='navheader']">
   <xsl:copy-of select="." />
   <p>other stuff</p>
 </xsl:template>
</xsl:stylesheet>

and I get this output:

<html xmlns="http://www.w3.org/1999/xhtml";>
  <head>
     <title>yellow</title>
  </head>
  <body>
     <div class="navheader">
        <p>navheader</p>
     </div>
     <p xmlns:xhtml="http://www.w3.org/1999/xhtml"; xmlns="">other stuff</p>
     <div class="something">
        <p>something</p>
     </div>
     <p>plain</p>
  </body>
</html>

I'd rather not have the xhtml name stuff in the output. Is there a way around
this?

Thanks,

Lou
Owen Rees wrote:
--On Tuesday, September 04, 2007 07:07:12 PM -0400 Lou Iorio wrote:

  <xsl:template match="//div[(_at_)class='header']">

The input is in the XHTML namespace and has class="navheader" so this needs to be

 <xsl:template match="xhtml:div[(_at_)class='navheader']">

Note also that the copying preserves the namespace of the input elements which may not be what you want given that you have specified html as the output method.



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>