- From: <bugzilla@wiggum.w3.org>
- Date: Wed, 14 Sep 2005 19:12:22 +0000
- To: www-xml-schema-comments@w3.org
- Cc:
http://www.w3.org/Bugs/Public/show_bug.cgi?id=2208 Summary: R-216: Potential problem with Name and Type OK Product: XML Schema Version: 1.0 Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: XSD Part 1: Structures AssignedTo: ht@w3.org ReportedBy: sandygao@ca.ibm.com QAContact: www-xml-schema-comments@w3.org The constraint for NameAndTypeOK is as follows: Schema Component Constraint: Particle Restriction OK (Elt:Elt -- NameAndTypeOK) For an element declaration particle to be a valid restriction of another element declaration particle all of the following must be true: 1 The declarations' {name}s and {target namespace}s are the same. 2 Either B's {nillable} is true or R's {nillable} is false. 3 R's occurrence range is a valid restriction of B's occurrence range as defined by Occurrence Range OK (3.9.6). 4 either B's declaration's {value constraint} is absent, or is not fixed, or R's declaration's {value constraint} is fixed with the same value. 5 R's declaration's {identity-constraint definitions} is a subset of B's declaration's {identity-constraint definitions}, if any. 6 R's declaration's {disallowed substitutions} is a superset of B's declaration's {disallowed substitutions}. 7 R's {type definition} is validly derived given {extension, list, union} from B's {type definition} as defined by Type Derivation OK (Complex) (3.4.6) or Type Derivation OK (Simple) (3.14.6), as appropriate. Note: The above constraint on {type definition} means that in deriving a type by restriction, any contained type definitions must themselves be explicitly derived by restriction from the corresponding type definitions in the base definition, or be one of the member types of a corresponding union. Some issues: - It's not mentioned what's B and what's R. The first sentence should be modified to something similar to "For an element declaration particle R to be a valid restriction of another element declaration particle R all of the following must be true:". - Since B and R are particles, bullets 2 and 7 are not correct in saying B's {nillable} or R's {type definition}. I think the first sentence can be further modified to "For a particle R whose {term} is an element declaration RE to be a valid restriction of another particle B whose {term} is an element declaration BE all of the following must be true:", then use RE and BE in the proper places. Proposed text: Schema Component Constraint: Particle Restriction OK (Elt:Elt -- NameAndTypeOK) For a particle R whose {term} is an element declaration RE to be a valid restriction of another particle B whose {term} is an element declaration BE all of the following must be true: 1 RE and BE have the same {name}s and {target namespace}s. 2 Either BE's {nillable} is true or RE's {nillable} is false. 3 R's occurrence range is a valid restriction of B's occurrence range as defined by Occurrence Range OK (3.9.6). 4 Either BE's {value constraint} is absent, or is not fixed, or RE's {value constraint} is fixed with the same value. 5 RE's {identity-constraint definitions} is a subset of BE's {identity- constraint definitions}, if any. 6 RE's {disallowed substitutions} is a superset of BE's {disallowed substitutions}. 7 RE's {type definition} is validly derived given {extension, list, union} from BE's {type definition} as defined by Type Derivation OK (Complex) (3.4.6) or Type Derivation OK (Simple) (3.14.6), as appropriate. Note: The above constraint on {type definition} means that in deriving a type by restriction, any contained type definitions must themselves be explicitly derived by restriction from the corresponding type definitions in the base definition, or be one of the member types of a corresponding union. See: http://lists.w3.org/Archives/Public/www-xml-schema-comments/2003JanMar/0046.html
Received on Wednesday, 14 September 2005 19:12:28 UTC