Subject: Re: [xsl] following-sibling help please. From: "Mukul Gandhi" <gandhi.mukul@xxxxxxxxx> Date: Tue, 10 Oct 2006 21:59:05 +0530 |
You haven't told what is your desired output. But perhaps something like following should work for you:
<xsl:template match="totaluse[following-sibling::*[1]/self::header]"> <totaluse> <!-- add something --> </totaluse> </xsl:template>
Hello everyone,
I have a data file that is similar in structure to the one below. What I am trying to do (and failing badly) is to add a child to <totaluse> only when the node that following it is a <header>. When another <use> following it I would not like to change anything. Basically, in the software I am using this with I need to know when I am on the last <totaluse> element for the current "set" (a set starts with the <header>). I cannot add (due to software limitations) a parent around each set. Everything must be on the second level of the XML file as it is below.
I have been toying around with following-sibling:: but have not managed to figure out how to format it. I have found that following-sibling will return all the following siblings but I just need to test the very next one for its name. If the name is use I know not to add anything and if the name is header I know to add something.
I am using Saxon 8.7.3
Hopefully this makes some sense.
<root> <header> <info></info> </header> <use> <useinfo></useinfo> </use> <use> <useinfo></useinfo> </use> <use> <useinfo></useinfo> </use> <totaluse></totaluse> <use> <useinfo></useinfo> </use> <use> <useinfo></useinfo> </use> <totaluse></totaluse> <header> <info></info> </header> </root>
Thank you.
Danny
-- Regards, Mukul Gandhi
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] following-sibling help please, Danny Leblanc | Thread | Re: [xsl] following-sibling help pl, David Carlisle |
[xsl] following-sibling help please, Danny Leblanc | Date | Re: [xsl] following-sibling help pl, David Carlisle |
Month |