xsl-list
[Top] [All Lists]

problem with keys and Meunchian method

2004-11-17 13:10:10
Hi all,

I'm having a problem pulling distinct nodes out of some xml with duplicate
values at multiple levels.  In all cases, I want to get the data from the
last node of a set that shares duplicate values.  (This xml will be in a
file that gets appended to multiple times.  So I can assume that the last
tags are the most current.)

In the xml below, what I'm trying to do is get a list of distinct book/code
values from the last prodline where name=PL1.  I can successfully get the
prodline using this select statement:

<xsl:for-each select="prodline[code='PL1'][last()]">

But I'm having no luck getting a list of distinct book/code values from
this particular prodline.  I've tried creating keys and using the Meunchian
method of comparing generate-id() values, but to no avail. Any help would
be greatly appreciated!


Here's the xml:

<prodlines>
  <prodline>
    <name>Product Line 1</name>
    <code>PL1</code>
    <product>
      <name>Product 1</name>
      <code>P1</code>
      <book>
        <name>Book 1</name>
        <code>B1</code>
      </book>
      <book>
        <name>Book 2</name>
        <code>B2</code>
      </book>
    </product>
    <product>
      <name>Product 2</name>
      <code>P2</code>
      <book>
        <name>Book 1</name>
        <code>B1</code>
      </book>
      <book>
        <name>Book 3</name>
        <code>B3</code>
      </book>
      <book>
        <name>Book 4</name>
        <code>B4</code>
      </book>
    </product>
  </prodline>
  <prodline>
    <name>Product Line 2</name>
    <code>PL2</code>
    <product>
      <name>Product 1</name>
      <code>P1</code>
      <book>
        <name>Book 1</name>
        <code>B1</code>
      </book>
    </product>
  </prodline>
  <prodline>
    <name>Product Line 1 (ver 2)</name>
    <code>PL1</code>
    <product>
      <name>Product 1</name>
      <code>P1</code>
      <book>
        <name>Book 1</name>
        <code>B1</code>
      </book>
      <book>
        <name>Book 2</name>
        <code>B2</code>
      </book>
      <book>
        <name>Book 5</name>
        <code>B5</code>
      </book>
    </product>
    <product>
      <name>Product 2</name>
      <code>P2</code>
      <book>
        <name>Book 1</name>
        <code>B1</code>
      </book>
      <book>
        <name>Book 2</name>
        <code>B2</code>
      </book>
      <book>
        <name>Book 3</name>
        <code>B3</code>
      </book>
      <book>
        <name>Book 4</name>
        <code>B4</code>
      </book>
    </product>
  </prodline>
</prodlines>


Mark Fletcher
PeopleSoft Language Engineering
925.694.3753
mark_fletcher(_at_)peoplesoft(_dot_)com



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