- From: <bugzilla@jessica.w3.org>
- Date: Fri, 11 Jan 2013 09:51:45 +0000
- To: public-qt-comments@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=20643 Bug ID: 20643 Summary: [XP3.0] Formal and informal definitions of derives-from() do not match Classification: Unclassified Product: XPath / XQuery / XSLT Version: Last Call drafts Hardware: PC OS: All Status: NEW Severity: normal Priority: P2 Component: XPath 3.0 Assignee: jonathan.robie@gmail.com Reporter: mike@saxonica.com QA Contact: public-qt-comments@w3.org This is transferred from the comment made by email here: https://lists.w3.org/Archives/Member/w3c-xsl-query/2013Jan/0003.html We say in 2.5.5 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. If this were the case, then when a function expects union(xs:string, xs:decimal), it would be a type error to supply an xs:integer. Furthermore, "union type" should be "pure union type". This sentence is immediately followed by a paraphrase that says "formally, ...", and the paraphrase gives the a more complete definition. But there is no indication that the sentence quoted is to be regarded as incomplete or informal. A better definition might be: derives-from( AT, ET ) returns true if any of the following conditions applies: * AT is ET * ET is the base type of AT * ET is a pure union type of which AT is a member type * There is a type MT such that derives-from(AT, MT) and derives-from(MT, ET) The problem is exemplified by test instanceof138. The expected result for this test assumes that restrictedDate is substitutable for a union type that includes the base type of restrictedDate as one of its members. -- You are receiving this mail because: You are the QA Contact for the bug.
Received on Friday, 11 January 2013 09:51:50 UTC