Oxygen XML Editor
 
[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: "Andrew Welch" <andrew.j.welch@xxxxxxxxx>
Date: Fri, 31 Aug 2007 16:13:46 +0100

On 8/31/07, Lou Iorio <lou@xxxxxxxxxxxx> wrote:
> This is probably a naive question, but I could not find it in the archives.
>
> Can I transform xhtml documents using xsl, or does this just not make sense?
>
> I'm trying to replace a tag with a specified attribute to another tag.
>
> The only xpath that does anything is *, which dumps the text of the html.
>
> <?xml version="1.0" encoding="utf-8"?>
> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> version="1.0">
>   <xsl:template match="/">
>     <verse>
>     <xsl:value-of select="*"/>
>     </verse>
>   </xsl:template>
> </xsl:stylesheet>
>
> I'm using xsltproc and saxon8, both of which do the same thing.

xhtml is in the namespace "http://www.w3.org/1999/xhtml" so you'll
need to modify your stylesheet to match elements in that namespace eg:

<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="xhtml:"http://www.w3.org/1999/xhtml"
version="1.0">

 <xsl:template match="/">
   <verse>
   <xsl:value-of select="xhtml:html/xhtml:body/xhtml:div/blah"/>
   </verse>
 </xsl:template>

</xsl:stylesheet>

Note the namespace declaration on the xsl:stylesheet element and the
modified xpath.

In XSLT 2.0 there's the xpath-default-namespace which is probably
better than bloating your  XPaths with the prefix.

-- 
Andrew Welch
http://andrewjwelch.com
Kernow: http://kernowforsaxon.sf.net/


Current Thread
 
© 2002-2008 SyncRO Soft Ltd. All rights reserved. | Sitemap | Privacy Policy
This website was created & generated with <oXygen/> XML Editor
Keywords