Subject: Re: [xsl] grouping nodes inside a new parent node From: David Carlisle <davidc@xxxxxxxxx> Date: Fri, 25 Feb 2005 12:27:14 GMT |
It depends a bit how general you want it to be but basically you want to have empty templates for all the elements that you want to group so the "identity" template doesn't copy them to the wrong place, then have a template for the first element in the group that copies all the group to where you want. so if the rule is that the special nodes are para children of news-item that don't follow a table then you want <xsl:template match="news-item/para[not(preceding-sibling::table)]"/> then <xsl:template match="news-item/para[1]" priority="10"> <content> <xsl:copy-of select=".|following-sibling::*para[not(preceding-sibling::table)]"/> </content> as with any grouping problem you can probably speed it up with keys, although in this case I'd guess your news-items don't have hundreds of children so it might not make so much difference. 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] grouping nodes inside a new p, Andrew Male | Thread | Re: [xsl] grouping nodes inside a n, Andrew Male |
[xsl] grouping nodes inside a new p, Andrew Male | Date | Re: [xsl] How to get a list of XPat, Robert Koberg |
Month |