- From: <bugzilla@wiggum.w3.org>
- Date: Tue, 02 Jan 2007 18:17:28 +0000
- To: public-xml-schema-testsuite@w3.org
- CC:
http://www.w3.org/Bugs/Public/show_bug.cgi?id=4135
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:17:41 UTC