[xsl] Re: Selecting First Letter

Subject: [xsl] Re: Selecting First Letter
From: "Dimitre Novatchev" <dnovatchev@xxxxxxxxx>
Date: Tue, 30 Sep 2003 21:30:34 +0200
Hi Wendell,

> Not foolproof, but
>
> match="text()[starts-with(ancestor::p,.)]"
>
> would usually work (and would most probably perform better).
>
> So today's XSLT Challenge is to write a better match for this problem.
>

This is a nice match pattern, but I think it must be:

text()[starts-with(ancestor::p[1],.)]

Also, evaluating it might be somewhat inefficient in cases when a "p" has
many text-node descendents.

Due to this consideration I would propose:

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

Of course, for this to work whitespace-only nodes must be stripped by a

       <xsl:strip-space elements="*"/>



=====
Cheers,

Dimitre Novatchev.
http://fxsl.sourceforge.net/ -- the home of FXSL




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


Current Thread