- From: <bugzilla@wiggum.w3.org>
- Date: Mon, 02 Feb 2009 02:41:21 +0000
- To: public-qt-comments@w3.org
http://www.w3.org/Bugs/Public/show_bug.cgi?id=4189 --- Comment #4 from Michael Dyck <jmdyck@ibiblio.org> 2009-02-02 02:41:21 --- I believe the following proposal solves all the problems noted above. (In this comment, I omit occurrences of "statEnv |-", just to make judgments fit in the available width.) ========== In 8.1.9 [Type expansion], replace Semantics / rule 2: TypeName of elem/type expands to expanded-QName statEnv.typeDefn(expanded-QName) = define type TypeName extends BaseTypeName OptMixed { Type1 } Type2 is Type1 extended with union interpretation of TypeName OptMixed Type2 adjusts to Type3 ------------------------------- of type TypeName expands to Type3 with: TypeName of elem/type expands to expanded-QName statEnv.typeDefn(expanded-QName) = Definition union interpretation of Definition is TypeU TypeU adjusts to TypeA ------------------------------- of type TypeName expands to TypeA Also, in Semantics / rule 3 / premise 2, "extends" should be "restricts". ========== In 8.1.10 [Union interpretation of derived types], replace the Notation and Semantics subsections with the following rules (and some appropriate prose). Also, modify the example as necessary. Definition = define type TypeName OptDerivation OptMixed { Type } inheritance due to OptDerivation is TypeI OptMixed (TypeI, Type) opt-mixes to TypeM type definitions derived from TypeName are Definition1 ... DefinitionN union interpretation of Definition1 is Type1 ... union interpretation of DefinitionN is TypeN TypeM | Type1 | ... | TypeN = TypeU ----------------------- union interpretation of Definition is TypeU ----- The auxilliary judgment inheritance due to OptTypeDerivation is Type is defined as follows: TypeName of elem/type expands to expanded-QName statEnv.typeDefn(expanded-QName) = define type TypeName' OptDerivation OptMixed { Type } inheritance due to OptDerivation is TypeI ---------------------------------------------------- inheritance due to extends TypeName is (TypeI, Type) ---------------------------------------------------- inheritance due to restricts TypeName is empty ---------------------------------------------------- inheritance due to is empty ----- The auxiliary judgment: OptMixed Type1 opt-mixes to Type2 is defined as follows: Type1 mixes to Type2 ------------------------------ mixed Type1 opt-mixes to Type2 ------------------------ Type1 opt-mixes to Type1 [This could be merged into the 'mixes to' judgment in 8.1.6.] ----- The auxiliary judgment: type definitions derived from TypeName are Definition1 ... DefinitionN is defined informally: all type definitions in statEnv.typeDefn that involve "restricts TypeName" or "extends TypeName" are returned as a list (in arbitrary order) of Definitions. ========== In 8.1.7 [Type adjustment], drop the OptMixed parameter and remove Semantics / rule 1 that handles the case of OptMixed = mixed. -- Configure bugmail: http://www.w3.org/Bugs/Public/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug.
Received on Monday, 2 February 2009 02:41:31 UTC