[xsl] Navigating an XML file with xsl:for-each etc.

Subject: [xsl] Navigating an XML file with xsl:for-each etc.
From: "Khorasani, Houman" <houman_khorasani@xxxxxxxxxxxxxx>
Date: Fri, 26 Aug 2005 15:54:23 +0100
Hello everyone,

I have checked the FAQ but couldn't find any solution to this:

I have an XML file like this:

<a>
</a>
<b action='change'>
	<add>
		<c>bla</c>
		<d>bla</d>
	</add>
	<delete>
		<c>bla</c>
		<d>bla</d>
	<delete>
</b>
<e>
</e>


I have to check for each attribute called 'change'
	Then look if it has an <add> tag and an <delete> tag
		- Compare the sub element of <add> called <c> with the
sub 			element of <delete> called <c> and see if the
value is equal.
		- The same with sub element <d>


I guess the best to do that is to use a for-each to check all the
attributes with the value 'change' (This is not working in my example
below though)
1) How do I use for-each with attributes? Like this?

<xsl:for-each select="//[action='change']">
		<xsl:if test=".='add'">
			...
		</xsl:if>
		...
</xsl:for-each>

2) How do I compare in the most efficient way the two sub-elements <c>
and <d> against each other?


Many thanks for any idea,
Houman

Current Thread