- From: <bugzilla@farnsworth.w3.org>
- Date: Thu, 10 Apr 2008 16:06:09 +0000
- To: public-sml@w3.org
- CC:
http://www.w3.org/Bugs/Public/show_bug.cgi?id=5636 Summary: why prohibit rules on local decls/defs described by other specs? Product: SML Version: LC Platform: PC OS/Version: Windows XP Status: NEW Severity: normal Priority: P2 Component: Core AssignedTo: cmsmcq@w3.org ReportedBy: johnarwe@us.ibm.com QAContact: public-sml@w3.org We have previously discussed why SML does not define rule bindings for schema components other than GEDs and GTDs, e.g. for local type definitions. There is language in (LC draft) 6.3 Rules Associated with Schema Components that seems to make a stronger statement than the intent above, however. It seems to state that an SML model becomes invalid if rules are attached to places other than GEDs/GTDs. This would prevent another spec, or a later version of SML with additional use cases, from both defining rules on other schema components and remaining an evolutionary, incremental extension of SML 1.1. Allowing incremental evolution would seem to be a better position to protect adopters' investments. Specifically: 6.3.1 Mapping from schema, para 2 "sch:schema elements MAY be embedded in members of the {application information} of the {annotation} of a global element declaration or a global complex type definition. They MUST NOT be embedded in any other kind of schema component." The final sentence could as easily say that SML 1.1 assigns no meaning to that case, but the LC draft specifically prohibits it. 6.3.2 Schema Validity Rules bullet 1 (similar structure, "close but not same" issue) "The value of {rules} MAY be empty for global element declarations, global complex type definitions or anonymous complex type definition of global element declarations. It MUST be empty for any other schema component." Assuming we decided not to prohibit future extensions of the type this bug posits, final sentence would likely change. E.g. the Mapping from Schema rules might be defined in such a way that the final sentence would be true, so it could change from a normative stmt to a non-normative stmt of consequence or be removed entirely. 6.3.2 Schema Validity Rules bullet 3 "If a complex type D is derived by restriction from {base type definition} B then, a global element declaration with non-empty {rules} contained in B cannot be restricted to a local element declaration in D." Ditto. E.g. this behavior could in effect become: impl-defined, since SML does not define {rules} for local types. SML validators MAY report this as an error.
Received on Thursday, 10 April 2008 16:06:44 UTC