xsl-list
[Top] [All Lists]

Re: [xsl] html as input to xslt

2007-08-31 08:13:47
On 8/31/07, Lou Iorio <lou(_at_)louiorio(_dot_)com> 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/

--~------------------------------------------------------------------
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>