xsl-list
[Top] [All Lists]

condition problem

2004-10-06 07:02:59
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


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