2009/2/11 Felix Nensa <nensa(_at_)zeec(_dot_)biz>:
Hi all,
I have a weird problem where the "except" operator does not behave as
I would expect it.
Given the following input source XML:
<root>
<Response>
<Users>
<Count>2</Count>
<User>
<Username>henry</Username>
<Online>false</Online>
<UserId>302</UserId>
</User>
<User>
<Username>felix</Username>
<Online>false </Online>
<UserId>288</UserId>
</User>
</GetUserList>
</Response>
<Response>
<Friends>
<Count>1</Count>
<Friend>
<UserId>288</UserId>
</Friend>
</Friends>
</Response>
</root>
I am trying to get all those Users wich are not in the list of Friends
with the following expression:
<xsl:variable name="users" select="//Users/User/UserId" />
<xsl:variable name="friends" select="//Friends/Friend/UserId" />
<!-- debug output -->
<xsl:value-of select="$users except $friends" />
It outputs: 302 288
I would expect: 302
"except" is based on node identity, not value...
You want select="$users[not(. = $friends]]"
--
Andrew Welch
http://andrewjwelch.com
Kernow: http://kernowforsaxon.sf.net/
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--