Subject: Re: [xsl] Help: amalgamate a series of consecutive mixed nodes From: David Carlisle <davidc@xxxxxxxxx> Date: Tue, 14 Feb 2006 10:39:23 GMT |
So what I am after is (I suppose) a special template for the last <item> in a <list> which is followed by one or more siblings whose names match a list of permitted "followers", and a null template for any of these followers which have a <list> amongst their preceding siblings, and which only have permitted "followers" between themselves and the nearest <list>. I'm finding that difficult enough to specify in English, and it's certainly beyond me in XSL. Has anyone solved this kind of structural problem before? Not surprisingly it's easier to say these things in xpath (or as here, xslt patterns) than it is to say them in english, as that's the point of having two (or more) languages:-) <xsl:template match="list[following-sibling::*[1][self::indent or self::otherfollower] / item[not(following-sibling::item)]"> .... last item in a list followed by an indent or otherfollower </xsl:template> <xsl:template match="indent[preceding-sibling::*[not(self::indent or self::otherfollower)] [1][self::list]"/> <xsl:template match="otherfollower[preceding-sibling::*[not(self::indent or self::otherfollower)] [1][self::list]"/> I think they probably answer your question, although it may be (depending what output you are making) that the problem is best approached as a "grouping problem". and use one of the stabdard xslt 1 grouping idioms (eg using keys) or xslt2 grouping instructions. David ________________________________________________________________________ This e-mail has been scanned for all viruses by Star. 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 ________________________________________________________________________
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Help: amalgamate a series of , Trevor Nicholls | Thread | RE: [xsl] Help: amalgamate a series, Vasu Chakkera |
Re: [xsl] Stumped on XPath, David Carlisle | Date | [xsl] Getting a partial xsd Schema , Juan Pablo Ramïrez P |
Month |