This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: document() merge DISTINCT


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]