Subject: Re: [xsl] Testing against node-set From: Jeni Tennison <jeni@xxxxxxxxxxxxxxxx> Date: Thu, 6 Feb 2003 14:55:27 +0000 |
Hi Nadia, > <xsl:for-each > select="$secondRowSet[parentID!=$firstRowSet/@id]"> The problem is that you've used ...!=... when you want to use not(...=...). When you use a node set with != it tests whether *any* of the nodes in that node set fulfil the condition that you're testing. So the above gets those rows that (a) have a parentID and (b) have a parentID whose value is not equal to one of the IDs from the first row set. This doesn't select your row 3 because row 3 doesn't have a parentID. It does select your row 4 because row 4 has a parentID of 1, and 1 != 2, which is the id of one of the rows in the first row set. If you instead use: $secondRowSet[not(parentID = $firstRowSet/@id)] then it will select those rows that don't have a parentID (because then there's no parentID to be equal to an ID from the first row set) and not select those who have a parentID whose value is equal to *any* of the IDs from the first row set. Cheers, Jeni --- Jeni Tennison http://www.jenitennison.com/ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Testing against node-set, Nadia Karasawa | Thread | RE: [xsl] Testing against node-set, Michael Kay |
RE: [xsl] Testing against node-set, Jarno . Elovirta | Date | [xsl] Using Dublin Core as meta dat, G. Ken Holman |
Month |