[Bug 4135] Microsoft "schema" test set, schU1 (circular redefines)

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