- From: <bugzilla@wiggum.w3.org>
- Date: Tue, 02 Jan 2007 18:08:19 +0000
- To: public-xml-schema-testsuite@w3.org
- CC:
http://www.w3.org/Bugs/Public/show_bug.cgi?id=4134 Summary: Microsoft "schema" test set, schU1 (circular redefines) Product: XML Schema Test Suite Version: 2006-11-06 Platform: PC OS/Version: Windows XP Status: NEW Severity: normal Priority: P2 Component: Microsoft tests AssignedTo: ht@inf.ed.ac.uk ReportedBy: mike@saxonica.com QAContact: public-xml-schema-testsuite@w3.org In the Microsoft "schema" test set, test <test group="schU1" name="schU1"/> there are two schema documents, each of which redefines the other. The metadata indicates that this is considered valid. I can't find an explicit ban on circular redefines. However, I believe there is an implicit ban. XML Schema Part 1 Schema Representation Constraint: Redefinition Constraints and Semantics states: If the ·actual value· of the schemaLocation [attribute] successfully resolves [then] it resolves to [something which] corresponds to a <schema> element information item in a well-formed information set, which in turn corresponds to a valid schema. In the presence of circular redefines, I don't believe that this rule is decideable. You can't determine whether the information set corresponds to a valid schema without processing the xs:redefines, and this leads to infinite regress. (Perhaps this is wriggling. The same argument could be used to disallow circular xs:include. However, it's relatively easy to find an algorithm for determining that either all the xs:include directives in a cycle are valid, or none of them are. Because of the special semantics of xs:redefine, it's far less clear that such an algorithm exists in this case.)
Received on Tuesday, 2 January 2007 18:08:26 UTC