xsl-list
[Top] [All Lists]

RE: condition problem

2004-10-06 08:02:41
You need to eliminate duplicates; eliminating duplicates is just a special
case of a grouping problem, so you need to use the grouping techniques
eloquently described at http://www.jenitennison.com/xslt/grouping

Michael Kay
http://www.saxonica.com/
 

-----Original Message-----
From: Dusan Zatkovsky [mailto:zatkovsky(_at_)printsoft(_dot_)cz] 
Sent: 06 October 2004 15:03
To: xslt mailinglist
Subject: [xsl] condition problem

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

--+------------------------------------------------------------------
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>