xsl-list
[Top] [All Lists]

Re: Mixed Content Substring()

2003-08-19 02:06:15
Date: Mon, 18 Aug 2003 09:54:12 +0100
From: David Carlisle <davidc(_at_)nag(_dot_)co(_dot_)uk>
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(_dot_)Cummings(_at_)uea(_dot_)ac(_dot_)uk, 
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



<Prev in Thread] Current Thread [Next in Thread>