This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
2.4.4 Top level definitions Are recursive types permitted? I don't see a prohibition, and it seems that they are necessary to define certain types, for example, the ability to have an arbitrary binary tree in XML would require a type such as define type node as { (element left of type node, element right of type node) ? } It would be good to state this explicitly. On the other hand, setion 8.1.1 "Derived from" under "Note" second sentence says "...no cycles are allowed in derivation by restriction or extension". It would be good to include this prohibition in section 2.4.4. Note, though that the definition of xs:anyType in section 3.5.1 is recursive and is a definition by restriction (it says that xs:anyType is a restriction of itself). This example contradicts the prohibition on cycles in derivation by restriction. Perhaps the prohibition should be worded, "Except for the definition of xs:anyType, cycles are not permitted in definition by restriction or extension".
I believe this is editorial. We should refer to the rules for this in XML Schema. - Jerome
Added a sentence in that Section to indicate that recursive types can be defined, according to the result specified in XML Schema. - Jerome