Your description wasn't very clear, it woul dhave been easier if you'd
have shown the desired output.
<foo>
<bar type="ant"><rub type="glyph">A.</rub> This is a test.</bar>
<bar type="ant"><rub type="glyph">A.</rub> Another test.</bar>
<bar type="res"><rub type="glyph">R.</rub> This is a test.</bar>
<bar type="res"><rub type="glyph">Res.</rub> This is a test.</bar>
<bar type="res"> Certainly another test.</bar>
<bar type="res"><rub type="glyph">Ant.</rub> Boring test.</bar>
<bar type="ant">This is a test.</bar>
<bar type="hymn"><rub type="glyph">Y.</rub> Lah di Dah.</bar>
</foo>
And what you want to get each time you match 'bar' is the
first letter of the <bar> element not including <rub>.
In most cases above that is a space, but sice you had a normalize-space
in one of your suggestions I assume you want the first non space letter
in a text node child of bar, which is something like
substring(normalize-space(text()[normalize-space()]),1,1)
David
________________________________________________________________________
This e-mail has been scanned for all viruses by Star Internet. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list