|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Testing 2 XML documents for equality - a solution
> Whenever one defines "equality", this means a symmetric, reflexive and
> transitive relation on the set of X^2 of pairs of values from a set X.
Which reminds me (thank you) that the definition of deep-equal() in F+O
still has a bug, in that it is not transitive. Specifically, it states that
two elements are equal if (among other things)
<quote>
One of the following conditions holds:
* Both element nodes have a type annotation that is either a simple type
or a complex type with simple content, and the typed value of $i1 is
deep-equal to the typed value of $i2.
* One or both of the element nodes has a type annotation that is neither
a simple type nor a complex type with simple content, and the sequence
$i1/(*|text()) is deep-equal to the sequence $i2/(*|text()).
</quote>
This means that if you have three elements:
1. <e>1.0</e> of type xs:decimal
2. <e>1</e> of type xs:integer
3. <e>1</e> of type xs:anyType
Then 1=2, 2=3, and 1!=3.
Perhaps the fact that we still haven't got this function right will convince
people finally to ditch it from the spec. It should also help to convince
Mukul that he's taken on a more difficult problem than he realised.
Michael Kay
http://www.saxonica.com/
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








