Perhaps comparing the count of all @to values with the count of the
union of all @to values:
count(map/*/@to) eq count(union(map/*/@to))
which assumes, of course, that you don't have full identical duplicates.
-W
On 05/11/2012, Costello, Roger L. <costello(_at_)mitre(_dot_)org> wrote:
Hi Folks,
I need a good XPath expression which checks that no two websites have the
same username.
Here is a map between websites and usernames:
<map>
<singletonMap from="Amazon" to="BasketballKing" />
<singletonMap from="Apple" to="RandomGamer" />
<singletonMap from="Ebay" to="CornFoo" />
<singletonMap from="Google"
to="LatenightRevolution" />
<singletonMap from="Microsoft" to="OldTrue" />
<singletonMap from="VirginAtlantic" to="TheSinger" />
</map>
In that example no two websites have the same username.
I created an XPath expression which does the job, but I suspect there is a
simpler expression. Here is my attempt:
empty(for $i in map/*/@to return map/*[@to eq $i][2])
Would you provide a simpler (more efficient, more elegant) version please?
/Roger
--~------------------------------------------------------------------
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>
--~--
--~------------------------------------------------------------------
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>
--~--