Chin Chee-Kai wrote:
> If your "top-level" means "immediate child of <xsd:schema>",
> then "top level" is "global". But what I'm saying is
> "naming" != "global".
I checked the XSD spec part 1 (http://www.w3.org/TR/xmlschema-1/), and
"global" is a concept that seems to be associated only with element and
attribute declarations, and only in the sense that their namespace scope
is global. It doesn't refer to the positioning of a declaration or
definition within the <xsd:schema> element. So maybe it's best avoided
here, since it's not very precise.
On the other hand, the XSD schema itself
(http://www.w3.org/2001/XMLSchema.xsd) does have a notion of
topLevelComplexType versus localComplexType; these are restrictions of
the complexType type and govern the definition of named vs.
anonymous/locally scoped complex types. There are also
topLevelSimpleType and localSimpleType. It looks as though the
<redefine> element can contain the version of <complexType> that is
bound to topLevelComplexType.
So at the very least, maybe we should substitute "top-level" for
"global" if we determine that this rule should have that additional bit
of explanation on the end.
> Wait, I'm not saying anything about using or prohibiting
> <xsd:redefinition>, all I'm quoting is that a named complexType
> can be a non-immediate child of <xsd:schema>, thus giving a
> counter-example to the assertion that "naming" == "global".
>
> The original rule wordings were:
>
> [R 91] All type declarations MUST be global.
>
> which says what it wants to say already.
>
>
> A rule about redefinition, if there's an intention to do so,
> would rightly be in a separate rule as you suggested.
(I know that redefinition was discussed at one time, but don't recall
the conclusion. We should make sure that any decision on them is recorded.)
Eve
--
Eve Maler +1 781 442 3190
Sun Microsystems cell +1 781 354 9441
Web Technologies and Standards eve.maler @ sun.com