[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
[xsl] Mixed Content Substring()
Subject: [xsl] Mixed Content Substring() From: James Cummings <James.Cummings@xxxxxxxxx> Date: Mon, 18 Aug 2003 09:21:33 +0100 (BST) |
Hiya, Let's say you have something like: <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>. I see a few approaches to this. First, I could do something with a nodeset that just gets rid of <rub> in its entirety and then substring(normalize-space(.), 1,1) bar. Is that the best way? Another way is to build a complex set of conditionals. The <rub> will only every be equal to known things (A. Ant. R. Res., etc.) and since these are a known length, I could do the above but substring(normalize-space(.), 4,1) for A. and hard code the rest as well. The way that hadn't occurred to me until just now is to count the number of letters in the normalize-space(rub), and go in that many+1(?) in the normalize-space(bar). Any thoughts? Am I missing something obvious? -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 |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Inserting contents of HTML in, Stephen English | Thread | Re: [xsl] Mixed Content Substring(), David Carlisle |
RE: [xsl] how to close html tags : , Julian Reschke | Date | Re: [xsl] Mixed Content Substring(), David Carlisle |
Month |