[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
Hi,
How about a key that is defined as follows:
<xsl:key name="books-in-last-prodline-by-name" match="prodline[code='PL1'][last()]/product/book" use="name" />
Then you do a for-each on all books in the last prodline and test for each whether it is the last occurrence in document order:
Does this help?
mark_fletcher@xxxxxxxxxxxxxx wrote:
GPG: 1024D/12DEBB50
Re: [xsl] problem with keys and Meunchian method
Subject: Re: [xsl] problem with keys and Meunchian method From: Geert Josten <Geert.Josten@xxxxxxxxxxx> Date: Wed, 17 Nov 2004 22:03:13 +0100 |
Hi,
How about a key that is defined as follows:
<xsl:key name="books-in-last-prodline-by-name" match="prodline[code='PL1'][last()]/product/book" use="name" />
Then you do a for-each on all books in the last prodline and test for each whether it is the last occurrence in document order:
<xsl:for-each select="//prodline[code='PL1'][last()]/product/book"> <xsl:if test="generate-id(.) = generate-id(key('books-in-last-prodline-by-name', name)[last()])"> <!-- found the last one! --> <xsl:if> </xsl:for-each>
Does this help?
Grtz, Geert
mark_fletcher@xxxxxxxxxxxxxx wrote:
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@xxxxxxxxxxxxxx
-- Geert.Josten@xxxxxxxxxxx IT-consultant at Daidalos BV, Zoetermeer (NL)
http://www.daidalos.nl/ tel:+31-(0)79-3316961 fax:+31-(0)79-3316464
GPG: 1024D/12DEBB50
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] problem with keys and Meunchi, mark_fletcher | Thread | RE: [xsl] problem with keys and Meu, Passin, Tom |
[xsl] problem with keys and Meunchi, mark_fletcher | Date | Re: [xsl] xsl:key grouping problem, Mark Ivs |
Month |
Keywords