[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

[xsl] Re: Mixed Content Substring()


Subject: [xsl] Re: Mixed Content Substring()
From: James Cummings <James.Cummings@xxxxxxxxx>
Date: Tue, 19 Aug 2003 10:06:15 +0100 (BST)

>Date: Mon, 18 Aug 2003 09:54:12 +0100
>From: David Carlisle <davidc@xxxxxxxxx>
>Subject: Re: [xsl] Mixed Content Substring()
>
>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>

Sorry,  the output would realy end up looking something like:
<div class="bar">
<span class="ant">
<a href="incipits/ant/T.html"><img src="images/goto.png" alt="Go"/></a>
<span class="rubglyph">A.</span> This is a test. </span>
</div>

from something like:
><bar type="ant"><rub type="glyph">A.</rub> This is a test.</bar>

It is the formation of the filename part of the URL.  I can do all the
other parts, it was just getting the first-letter that was puzzling me.
As it is to provide a clickable image leading to the page of
incipits starting with this letter.  I've used translate() to
make sure the (usually upper case) letters are upper since they
will always be a-z.
>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)

Yup, and a quick test seems to indicate that works!  I'm not
entirely sure I understand text()[normalize-space()] though.
That selects the text() node restricting it to the normalize-spaced
version of itself?

David to the rescue as usual!

Many thanks,
James

-- 
Dr James Cummings, James.Cummings@xxxxxxxxx, http://www.uea.ac.uk/~q503
Cursus Project, School of Music, University of East Anglia,
Norwich, Norfolk, NR4 7TJ, UK  Tel:(01603)593-595



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



Current Thread