On Fri, 18 Jul 2003, Eve L. Maler wrote:
>>Aha, so "top level" not-equal "global". Thanks for the correction.
If your "top-level" means "immediate child of <xsd:schema>",
then "top level" is "global". But what I'm saying is
"naming" != "global".
>>In that case, the rule should not say "...which then requires their
>>declarations be globally defined." If we want to prohibit redefinition,
>>we ideally should do that in a separate rule, and not (incorrectly)
>>imply that naming a type means the definition must be directly beneath
>><xsd:schema>.
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.
Best Regards,
Chin Chee-Kai
SoftML
Tel: +65-6820-2979
Fax: +65-6743-7875
Email: cheekai@SoftML.Net
http://SoftML.Net/
On Fri, 18 Jul 2003, Eve L. Maler wrote:
>>Aha, so "top level" not-equal "global". Thanks for the correction. In
>>that case, the rule should not say "...which then requires their
>>declarations be globally defined." If we want to prohibit redefinition,
>>we ideally should do that in a separate rule, and not (incorrectly)
>>imply that naming a type means the definition must be directly beneath
>><xsd:schema>.
>>
>> Eve
>>
>>Chin Chee-Kai wrote:
>>
>>> On Thu, 17 Jul 2003, Eve L. Maler wrote:
>>>
>>>
>>>>>Actually, I believe naming does equate with being global. A
>>>>>topLevelComplexType requires its name attribute, and a localComplexType
>>>>>prohibits its name attribute from being used. Roughly the same is true
>>>>>for simple types. (See http://www.w3.org/2001/XMLSchema.xsd )
>>>
>>>
>>> No, without loss of generality, let's just look at complexType.
>>>
>>> A complexType definition is global if and only if it is located
>>> as one of the immediate children under <xsd:schema>.
>>>
>>> A complexType is named if and only if the name attribute exists
>>> in the definition.
>>>
>>> I refer you to XML Schema Part 1: Structures, Section 4.2.2
>>> example "v2.xsd" part of which is illustrated:
>>>
>>> <xs:redefine schemaLocation="v1.xsd">
>>> <xs:complexType name="personName">
>>> <xs:complexContent>
>>> <xs:extension base="personName">
>>> .....
>>>
>>> By definition, this <xs:complexType> definition is not global
>>> (not necessarily local), AND named.
>>>
>>>
>>>
>>> Best Regards,
>>> Chin Chee-Kai
>>> SoftML
>>> Tel: +65-6820-2979
>>> Fax: +65-6743-7875
>>> Email: cheekai@SoftML.Net
>>> http://SoftML.Net/
>>>
>>>
>>>
>>>
>>>>>So probably the rule could be shortened to:
>>>>>
>>>>>[R 91] All types MUST be named.
>>>>>
>>>>>Explanatory text could then mention that the purpose is for reuse and
>>>>>extension, and that the syntactic consequence of the rule is that the
>>>>>types must all be declared as top-level.
>>>>>
>>>>> Eve
>>>>>
>>>>>Chin Chee-Kai wrote:
>>>>>
>>>>>
>>>>>>On Mon, 14 Jul 2003, Dan Vint wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>>>>I would modify this rule to be:
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>>[R 91] For reuse and extension, all types MUST be named, which then
>>>>>>>>>requires their declarations be globally defined.
>>>>>>
>>>>>>
>>>>>>Naming does not equate with being global.
>>>>>
>>>>>--
>>>>>Eve Maler +1 781 442 3190
>>>>>Sun Microsystems cell +1 781 354 9441
>>>>>Web Technologies and Standards eve.maler @ sun.com
>>>>>
>>>>>
>>>
>>>
>>>
>>> You may leave a Technical Committee at any time by visiting http://www.oasis-open.org/apps/org/workgroup/ubl-ndrsc/members/leave_workgroup.php
>>>
>>>
>>
>>--
>>Eve Maler +1 781 442 3190
>>Sun Microsystems cell +1 781 354 9441
>>Web Technologies and Standards eve.maler @ sun.com
>>
>>