[Home] [By Thread] [By Date] [Recent Entries]


> Because the REC says they can:

Thanks for the link Henry-- I kind of figured that was the case because 
it seemed very intuitive. Though it didn't appear in the example, I 
figured that if one value had been nonNegativeInteger and another 
integer (and both values were positive) then they should be comparable. 
I remember reading something somewhere about comparability for XS 
datatypes (maybe in that spec) but didn't have time to look for it.

  "Values of differing type can only be equal if one type is derived
   from the other, and the value is in the value space of both."

This explains why Xerces and XSV allow comparison of anySimpleType and 
xs:string-- but it shows that they are inconsistent in not allowing 
comparison between anySimpleType and xs:integer.

   "The simple ur-type definition is a special restriction of the ur-type
    definition whose name is anySimpleType in the XML Schema namespace.
    anySimpleType can be considered as the ·base type· of all ·primitive·
    datatypes. anySimpleType is considered to have an unconstrained
    lexical space and a ·value space· consisting of the union of the
    ·value space·s of all the ·primitive· datatypes and the set of all
    lists of all members of the ·value space·s of all the ·primitive·
    datatypes." [1]

xs:integer is a derived type from the primitive xs:decimal which 
according to the above should be considered derived from anySimpleType. 
(I know you know all this, I am just putting it here for completeness) 
Hence the simple ur-type and xs:integer should be comparable but none of 
the three implementations tested allow it. So, should it not be 
considered a bug?

[1] http://www.w3.org/TR/xmlschema-2/#decimal#dt-anySimpleType

Thanks,
Jeff Rafter


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member