W3C home > Mailing lists > Public > public-qt-comments@w3.org > July 2003

RE: ORA-FO-DEEPEQUAL-EMPTY 15.2.1 fn:deep-equal

From: Kay, Michael <Michael.Kay@softwareag.com>
Date: Tue, 1 Jul 2003 22:44:00 +0200
Message-ID: <DFF2AC9E3583D511A21F0008C7E62106073DCF9E@daemsg02.software-ag.de>
To: Stephen Buxton <stephen.buxton@oracle.com>, public-qt-comments@w3.org
fn:deep-equal is used to compare arbitrary sequences, and is true if they
are pairwise equal, that is, if
length($S1) eq length($S2) and
every $n in 1 to length($S1) satisfies deep-equal($S1[$n], $S2[$n])
It would be very odd if the empty sequence were an exception to this rule.
fn:sequence-node-identical() did return () if both arguments were () but
this was widely reported as a bug and has now been fixed.
fn:contains is a different case since it is comparing strings rather than
sequences, but there have been separate comments suggesting that the way the
string functions handle () is unhelpful.
Michael Kay

-----Original Message-----
From: Stephen Buxton [mailto:stephen.buxton@oracle.com] 
Sent: 01 July 2003 02:02
To: public-qt-comments@w3.org
Subject: ORA-FO-DEEPEQUAL-EMPTY 15.2.1 fn:deep-equal 

Functions and Operators, Section 15.2.1 fn:deep-equal <fn:deep-equal>  

Why does this function return true if both arguments are the empty sequence

cf fn:contains <fn:contains>  which returns false if either argument (and
presumably if both arguments) is the empty sequence.
cf fn:sequence-node-identical <fn:sequence-node-identical>  which returns
the empty sequence if one or both arguments is the empty sequence.
Received on Tuesday, 1 July 2003 16:44:13 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 16:56:48 UTC