[xsl] condition problem

Subject: [xsl] condition problem
From: Dusan Zatkovsky <zatkovsky@xxxxxxxxxxxx>
Date: Wed, 6 Oct 2004 16:02:59 +0200
Hi.

I have this document:

<data>
	<A>
		<SI>
			<G>1</G>
			<E>1</E>
			<value>123</value>
		</SI>
		<SI>
			<G>1</G>
			<E>2</E>
			<value>456</value>
		</SI>
		<SI>
			<G>2</G>
			<E>2</E>
			<value>678</value>
		</SI>
	</A>

	<B>
		<SI>
			<G>2</G>
			<E>1</E>
			<value>123</value>
		</SI>
		<SI>
			<G>1</G>
			<E>2</E>
			<value>123</value>
		</SI>

	</B>
</data>


I want to create for-each cycle, merging SIs from A and B.

When I have test for-each select="data/A/SI | data/B/SI", result is 
(G/E):
1 1
1 2
2 2
2 1
1 2
and 1 2 are twice.

How to create cycle, which result will be:
1 1
1 2
2 2
2 1

I have tried condition (data/A/SI/G=data/B/SI/G and 
data/A/SI/E=data/B/SI/E), but it returns true, because B/SI/G=1 was 
found in A/SI[1], A/SI[2] and B/SI/E=2 was found in A/SI[2] and 
A/SI[3].

I want to compare exactly G+E in one SI, not over all.

Thank you.


-- 

Dusan Zatkovsky

Current Thread