Re: [xsl] Problem with "except" operator

Subject: Re: [xsl] Problem with "except" operator
From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx>
Date: Wed, 11 Feb 2009 09:52:43 -0500
At 2009-02-11 14:38 +0000, Andrew Welch wrote:
> For the (short) example data posted it does not matter but in general I
> think the above should be
>  <xsl:value-of select="$users[not(. = $friends)]"/>
> as that is quite different from $users[. != $friends].

Is that right?  It always takes me a while to "get it" again, but I
think you only need to be concerned about != when both sides are
sequences of more than 1 item.  When the LHS is a single item, it's
ok.

So the above are equivalent.

I think not, Andrew ... Martin is correct. I had already composed a correction to my own answer when I noted that both Martin and you correctly used not(), so I didn't bother sending it.


Consider that when $friends is empty, there will be no $users selected when using:

$users[. != $friends]

... because the predicate will be false for every test.

. . . . . . . . Ken

--
Upcoming hands-on XSLT, UBL & code list hands-on training classes:
Brussels, BE 2009-03;  Prague, CZ 2009-03, http://www.xmlprague.cz
Training tools: Comprehensive interactive XSLT/XPath 1.0/2.0 video
Video lesson:    http://www.youtube.com/watch?v=PrNjJCh7Ppg&fmt=18
Video overview:  http://www.youtube.com/watch?v=VTiodiij6gE&fmt=18
G. Ken Holman                 mailto:gkholman@xxxxxxxxxxxxxxxxxxxx
Crane Softwrights Ltd.          http://www.CraneSoftwrights.com/s/
Male Cancer Awareness Nov'07  http://www.CraneSoftwrights.com/s/bc
Legal business disclaimers:  http://www.CraneSoftwrights.com/legal

Current Thread