RE: [xsl] Selecting first descendant text node

Subject: RE: [xsl] Selecting first descendant text node
From: "Michael Kay" <michael.h.kay@xxxxxxxxxxxx>
Date: Sat, 12 Jan 2002 23:38:41 -0000
> >>So, how do I select the first (in document order) of all of the
> >>descendant text nodes of an element?
> >
> >(item//text())[1] should do that.
>
> Probably the expression is correct for XPath, but my XSLT
> processor (as
> mentioned, Xalan 2.1.0) reports an parse/expression error if
> I put this
> into the match attribute. Is this a bug of that processor?
>
It's a valid expression but not a valid pattern. The match attribute of
xsl:template expects a pattern.

If you really want to write a pattern that matches any text node that is the
first descendant text node of an item, you can write it as

text()[generate-id()=generate-id((ancestor::item//text())[1])]

But I wouldn't; I would find a different way of solving the problem.

Mike Kay


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread