All model group with extended minOccurs and maxOccurs values All model group with extended minOccurs and maxOccurs values Valid, satisfies the minOccurs and maxOccurs constraints. Inalid, too few occurrences. Invalid, too few occurrences. Invalid, too many occurrences. All model group with substitution groups All model group with extended minOccurs and maxOccurs values Valid, satisfies the minOccurs and maxOccurs constraints. Invalid, too few occurrences. Invalid, too few occurrences. Invalid, too many occurrences. All model group with mixed content with extended minOccurs and maxOccurs values All model group with mixed content with extended minOccurs and maxOccurs values Valid, satisfies the minOccurs and maxOccurs constraints. Valid Valid. All model group with nillable="true" Test cases involving xsi:nil="true" or "false" Valid, satisfies the minOccurs and maxOccurs constraints. Valid Invalid. Element is nilled but contains content. Invalid. Element is nilled but contains content, albeit whitespace. All model group with two xs:any wildcards Test cases matching and non-matching wildcards Valid, satisfies the minOccurs and maxOccurs constraints. Invalid. Element c not allowed Invalid. Element c:c not allowed Invalid. maxOccurs() limit exceeded on a wildcard Invalid. minOccurs() limit not reached on a wildcard Invalid. minOccurs() limit disallows empty content All model group, test on children Test that each child of an all group is validated against the right type Valid, satisfies the constraints. Invalid. Element a has wrong type Invalid. Element b has wrong type Invalid. Element c has wrong type Invalid. Element C is permitted but value out of range All model group with a nested xs:group reference All model group with with a nested xs:group reference (otherwise same as all001) Valid, satisfies the minOccurs and maxOccurs constraints. Inalid, too few occurrences. Invalid, too few occurrences. Invalid, too many occurrences. All model group with an incorrect nested xs:group reference All model group with with an incorrect nested xs:group reference All model group with an incorrect nested xs:group reference All model group with with an incorrect nested xs:group reference All model group with an incorrect nested xs:group reference All model group with with an incorrect nested xs:group reference All model group with an incorrect nested xs:group reference All model group with with an incorrect nested xs:group reference Subsumption - all:all Simple valid all:all subsumption Subsumption - all:all Simple invalid all:all subsumption Subsumption - all:all Simple invalid all:all subsumption Subsumption - all:all Simple invalid all:all subsumption Subsumption - all:all Simple invalid all:all subsumption Subsumption - all:all Valid all:all subsumption using named model groups Subsumption - all:sequence Simple valid all:sequence subsumption Subsumption - all:sequence Simple invalid all:sequence subsumption Subsumption - all:sequence Simple invalid all:sequence subsumption Subsumption - all:sequence Simple invalid all:sequence subsumption Subsumption - all:sequence Simple invalid all:sequence subsumption Subsumption - all:sequence Valid all:sequence subsumption; one element appears twice in sequence Subsumption - all:sequence Valid all:sequence subsumption; derived sequence is a single element particle Subsumption - all:sequence Valid all:sequence subsumption; derived sequence is a single wildcard particle Subsumption - all:all Valid all:all subsumption involving substitution group Subsumption - all:all Valid all:all subsumption involving substitution group Subsumption - all:all Invalid all:all subsumption involving substitution group Subsumption - all:all Invalid all:all subsumption involving substitution group Subsumption - all:all Valid all:all subsumption involving substitution group Subsumption - all:all Valid all:all subsumption involving apparent substitution group Subsumption - all:all Invalid all:all subsumption, child element type wrong Subsumption - all:all Valid all:all subsumption involving two wildcards Subsumption - all:all Invalid all:all subsumption involving two wildcards Subsumption - all:all Valid all:all subsumption; one wildcard in the base type covers two in the derived type Subsumption - all:choice Valid all:choice subsumption Subsumption - all:choice Valid all:choice subsumption Subsumption - all:choice - invalid Invalid all:choice subsumption in third branch Subsumption - all:sequence/choice - valid but difficult Valid all:sequence/choice subsumption Subsumption - all:all Invalid all:all subsumption; one wildcard in the base type covers two in the derived type, but the maxOccurs is too small Subsumption - all:all Invalid all:all subsumption; one wildcard in the base type covers two in the derived type, but the minOccurs is too large Subsumption - all:all Valid all:all subsumption; pathologically overlapping wildcards Subsumption - all:all Valid all:all subsumption; pathologically overlapping wildcards xs:all UPA violation: two elements with same name UPA violation: two elements with same name xs:all UPA violation: one element in substitution group of another UPA violation: one element in substitution group of another xs:all UPA violation: one element in substitution group of two others UPA violation: one element in substitution group of two others xs:all UPA violation: two overlapping wildcards xs:all UPA violation: two overlapping wildcards Subsumption - all:all Invalid all:all subsumption; pathologically overlapping wildcards All model group derived by extension from another all model group Allowed in 1.1 Valid, satisfies the minOccurs and maxOccurs constraints. Inalid, element h not allowed. Invalid, too many occurrences of d. Invalid, too few occurrences of b xs:all invalid extension, overlapping particles xs:all UPA violation: two overlapping element particles xs:all invalid extension, overlappping particles xs:all UPA violation: two element particles have overlapping substitution groups All model group derived by extension from another all model group Allowed in 1.1 Valid, satisfies the minOccurs and maxOccurs constraints. Invalid, too few occurrences matching wildcard. Invalid, too few occurrences matching wildcard. Invalid, too many occurrences matching wildcard Invalid, too many occurrences matching wildcard xs:all invalid extension, overlappping wildcard particles xs:all UPA violation: two wildcard particles have overlapping namespaces All model group derived by extension from another all model group; mixed="true" in extension. Allowed in 1.1 Valid, mixed content allowed. All model group derived by extension from another all model group; mixed="false" in extension. Allowed in 1.1 Invalid, mixed content not allowed. xs:all extension of "mixed empty" content Currently invalid, but see bug 6202 against the spec. Even in 1.1, xs:all cannot extend xs:sequence Result of extension is invalid Even in 1.1, xs:sequence cannot extend xs:all Result of extension is invalid Even in 1.1, xs:sequence cannot extend xs:all, even if the xs:all is a singleton Result of extension is invalid