Re: [xsl] Add attributes Processed File

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