This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: Selecting first descendant text node
- From: "Michael Kay" <michael dot h dot kay at ntlworld dot com>
- To: <xsl-list at lists dot mulberrytech dot com>
- Date: Sat, 12 Jan 2002 23:38:41 -0000
- Subject: RE: [xsl] Selecting first descendant text node
- Reply-to: xsl-list at lists dot mulberrytech dot com
> >>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