Subject: Re: [xsl] Add attributes Processed File From: David Carlisle <davidc@xxxxxxxxx> Date: Tue, 7 Dec 2004 12:33:56 GMT |
What I'm trying to do is to group all elements "a" with attribute flag="true" at the same level at the xml tree that has only one elemnt "b" with attribute flag="true" among them. So... you mainly want to do an identity transform: <xsl:template match="*"> <xsl:copy> <xsl:copy-of select="@*"/> <xsl:apply-templates/> </xsl:copy> </xsl:template> but if any element contains exactly one b/@flag=true and some a/@flag=true throw in a <Group> element around the a/@true and bs <xsl:template match="*[count(b/@true)=1 and a/@true]"> <xsl:copy> <Group> <xsl:apply-templates select="(a|b)[@flag='true']"/> </Group> <xsl:apply-templates select="*[not((self::a|self::b)[@flag='true'])]"/> </xsl:copy> </xsl:template> 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 -> |
---|---|---|
Re: [xsl] Add attributes Processed , contest.vix | Thread | Re: [xsl] Add attributes Processed , David Carlisle |
Re: [xsl] using step or following-s, Geert Josten | Date | Re: [xsl] Is there a free multiplat, George Cristian Bina |
Month |