xsl-list
[Top] [All Lists]

Re: Add attributes Processed File

2004-12-07 05:33:56
   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)[(_at_)flag='true']"/>
</Group>
<xsl:apply-templates select="*[not((self::a|self::b)[(_at_)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
________________________________________________________________________

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



<Prev in Thread] Current Thread [Next in Thread>