[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
Re: [xsl] html as input to xslt
Subject: Re: [xsl] html as input to xslt
From: Lou Iorio <lou@xxxxxxxxxxxx>
Date: Wed, 05 Sep 2007 14:31:22 -0400
|
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[@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[@class='header']">
The input is in the XHTML namespace and has class="navheader" so this
needs to be
<xsl:template match="xhtml:div[@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.
|