This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 4134 - Microsoft "schema" test set, schU1 (circular redefines)
Summary: Microsoft "schema" test set, schU1 (circular redefines)
Status: RESOLVED DUPLICATE of bug 4135
Alias: None
Product: XML Schema Test Suite
Classification: Unclassified
Component: Microsoft tests (show other bugs)
Version: 2006-11-06
Hardware: PC Windows XP
: P2 normal
Target Milestone: ---
Assignee: Henry S. Thompson
QA Contact: XML Schema Test Suite mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-01-02 18:08 UTC by Michael Kay
Modified: 2007-01-11 00:14 UTC (History)
0 users

See Also:


Attachments

Description Michael Kay 2007-01-02 18:08:18 UTC
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.)
Comment 1 Michael Kay 2007-01-11 00:14:29 UTC

*** This bug has been marked as a duplicate of bug 4135 ***