openContent. Tests defaultOpenContent: appliesToEmpty="true" Tests defaultOpenContent for CT not empty Tests openContent for empty content model Tests defaultOpenContent in suffix mode Tests openContent in complexType derived by restriction Tests openContent in complexType derived by extension Tests derivation by extension with openContent mode suffix in both type and its derived type Tests derivation by extension with openContent mode interleave in derived type and suffix in its base type Tests derivation by restriction with openContent mode interleave in base type Tests derivation by extension with openContent mode interleave in both type and its derived type complexType/@mixed 3.4.4.3 Element Sequence Locally valid (Complex Content) Validation rule 2. (openContent) mode = suffix BUT wildcard inserted in front of and in between CT group particles Tests defaultOpenContent: appliesToEmpty="false" Tests defaultOpenContent: when openContent is present in CT, defaultOpenContent should not be used Tests wildcard in opencontent with restrictions (notQName) Tests derivation by restriction with openContent mode suffix in base type 3.4.3 Schema Representation Constraint: ComplexType Definition Representation OK [openContent] has mode not 'none' AND no [any] in its children [openContent] has mode 'none' AND [any] in its children (which is ok) defaultOpenContent in wrong place not wildcard inside openContent Tests openContent in complexType derived by extension Fails because the derived type takes the defaultOpenContent which has mode of suffix while base type openContent has mode interleave. And their modes have to be the same. According to the spec, for derived types, defaultOpenContent takes predecence over base type's openContent. Tests derivation by extension with openContent mode suffix in derived type and mode interleave in base type Tests 1.4.3.2.2.4 - baseType wildcard is not a subset of derived type's wildcard in extension The content type of a derived type and that of its base must both be mixed or both be element-only. Type '#AnonType_root' is mixed, but its base type is not. complexType/@mixed and complexContent/@mixed must not conflict