[SlugBug] more xslt questions. ignore if offended!
Chris J
cej at nightwolf.org.uk
Mon Jun 27 18:54:39 BST 2005
> OK. Have edited the xsl as you suggested. Thanks for the help.
>
> I'm using Perl and the XML::XSLT library to do the transformation.
>
> It's still spitting out the contents of the last <page> element rather
> than the page element with the attribute title="home". Am I selecting
> it correctly with the lines:
>
> <xsl:apply-templates select="page[@title='Home']"/>
>
...Yes that's all okay. I think the problem lies with XML::XSLT. I've just
installed it here and seeing the results you describe; taking a peek at
their man page[1] shows that is doesn't fully support XPath:
xsl:apply-templates limited
Attribute 'select' is supported to the same
extent as xsl:value-of supports path selections.
Not supported yet: - attribute 'mode' - xsl:sort
and xsl:with-param in content
.
.
.
xsl:value-of limited
Inserts attribute or element values. Limited support:
<xsl:value-of select=``.''/>
<xsl:value-of select=``/root-elem''/>
<xsl:value-of select=``elem''/>
<xsl:value-of select=``//elem''/>
<xsl:value-of select=``elem[n]''/>
<xsl:value-of select=``//elem[n]''/>
<xsl:value-of select=``@attr''/>
<xsl:value-of select=``text()''/>
<xsl:value-of select=``processing-instruction()''/>
<xsl:value-of select=``comment()''/>
and combinations of these.
Essentially, it doesn't support elem[test expression]. The elem[n] listed
above is to match a partiular element by index (e.g., //elem[1] will match
the first 'elem' element it comes across). It seems there's a lot of stuff
listed that isn't fully supported...
Your best bet is to install a Perl hook into a full XSLT parser. There's a
XML::Sablotron that I can see (I've not used it yet); Sablotron itself is
straightforward to install (requires expat).
There's also a perl wrapper for the Apache project's Xalan processor (I've
not used Xalan, so can't comment on speed/size/complexity to install etc).
Chris...
[1] http://xmlxslt.sourceforge.net/manpage-XML-XSLT.html
--
\ Chris Johnson \ NP: Platypus Records - The Art of Trance
\ cej at nightwolf.org.uk \ - Octopus (m
\ http://cej.nightwolf.org.uk/ \
\ http://redclaw.org.uk/ ~---------------------------------------
More information about the SlugBug
mailing list