Re: [xsl] document() merge DISTINCT

Subject: Re: [xsl] document() merge DISTINCT
From: Jeni Tennison <jeni@xxxxxxxxxxxxxxxx>
Date: Thu, 20 Dec 2001 17:07:31 +0000
Hi Alex,

[Sorry about the mis-send!]

> I wanted to try your other suggestion, using the node-set extention
> to get a unique set. But I can not get it right!

It's just a small thing. When you convert a result tree fragment to a
node set with msxsl:node-set() (and with the other node-set()
extension functions) then you get *the root node* of the 'node tree'
of the result tree fragment. So when you do:

  msxsl:node-set($set)[generate-id() =
                       generate-id(key('k-id', @id)[1])]

Then you're testing only one node - the root node - which doesn't even
have an id attribute :)  You need:

  msxsl:node-set($set)/person[generate-id() =
                              generate-id(key('k-id', @id)[1])]

And from the looks of it, you should be fine.

I hope that helps,

Jeni

---
Jeni Tennison
http://www.jenitennison.com/


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread