[Bug 7749] [XPath 2.0] derives-from() and union types

http://www.w3.org/Bugs/Public/show_bug.cgi?id=7749





--- Comment #3 from Jonathan Robie <jonathan.robie@redhat.com>  2010-01-19 16:39:14 ---
I would like to turn this around to make it a little more user-friendly:


<new>
derives-from( AT, ET ) returns true if AT is derived from ET by
restriction or extension, or if ET is a union type of which AT is
a member type. 

Formally, it returns true if AT and ET are both present in S and
AT is validly derived from ET given the empty set, as defined in
[XML Schema Pt 1] constraints Type Derivation
OK (Complex) (§3.4.6) (if AT is a complex type), or Type
Derivation OK (Simple) (§3.14.6) (if AT is a simple type). The
phrase "given the empty set" is used because the rules in the XML
Schema specification are parameterized: the parameter is a list
of the kinds of derivation that are not allowed, and in this case
the list is always empty.

Note: The current (second) edition of XML Schema 1.0 contains an error in
respect of the substitutability of a union type by one of its members: it fails
to recognize that this is unsafe if the union is derived by restriction from
another union. This problem is fixed in the current working draft of XML Schema
1.1, and implementers are advised to adopt the solution given there. It is
likely that this specification will be updated to refer normatively to XML
Schema 1.1 when that specification reaches Recommendation status. 
</new>


-- 
Configure bugmail: http://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.

Received on Tuesday, 19 January 2010 16:39:15 UTC