Subject: Re: comment() node test
From: Gary L Peskin <garyp@xxxxxxxxxxxx>
Date: Thu, 10 Aug 2000 18:13:19 -0700
|
Evan --
Most likely you have whitespace text nodes between the element nodes and
the preceding comment. Try substituting this for your first for-each
below and see what happens:
<xsl:for-each select="element/../node()">
<childnode><xsl:value-of select="."/></childnode>
</xsl:for-each>
This should show you if the comment node does, indeed, immediately
preceded the element node.
Gary
Evan Lenz wrote:
>
> I'm trying to display the value of the previous sibling if it is a comment.
> What's wrong with my XPath expression? It won't display anything.
>
> <xsl:for-each select="element">
> <xsl:value-of select="preceding-sibling::node()[1][self::comment()]"/>
> </xsl:for-each>
>
> I've confirmed that the parser I'm using passes comments to the XSLT
> processor (Instant Saxon), as the comment() node test works in other cases,
> such as the following:
>
> <xsl:for-each select="comment()">
> <xsl:value-of select="."/>
> </xsl:for-each>
>
> Thanks,
>
> Evan Lenz
> elenz@xxxxxxxxxxx
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|