Hi,
This is not an issue when I use Xerces-J 2.9.1, but because of a known security issue our group is supposed to be using 2.11.0. When I execute validation unit tests with the 2.11.0 Xerces library, tests that passed validation before do not now. In advance, I will admit the schemas being used are complex, but it was working and I am wondering if anyone knows what changed and if the behavior is configurable or pluggable in any way. The following snippets layout the issue: SchemaA xmlns:b="http://www.acme.com/schemas" <xs:import namespace="http://www.acme.com/schemas" schemaLocation="SchemaB.xsd"/> <xs:complexType name="MainType"> <xs:complexContent> <xs:extension base="MainType"> <xs:group ref="b:MainTypeExtraElements"/> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="InnerType"> <xs:complexContent> <xs:extension base="InnerType"> <xs:group ref="b:InnerTypeExtraElements"/> </xs:extension> </xs:complexContent> </xs:complexType> SchemaB <xs:import namespace="http://www.3rdparty.com/namespace" schemaLocation="SchemaC.xsd"/> <xs:import namespace="http://www.3rdparty.com/namespace" schemaLocation="SchemaD.xsd"/> <xs:group name="MainTypeExtraElements"> <xs:sequence> <xs:element name="MainTypeExtra1" type="xs:string" minOccurs="0"/> <xs:element name="MainTypeExtra2" type="xs:string" minOccurs="0"/> </xs:sequence> </xs:group> <xs:group name="InnerTypeExtraElements"> <xs:sequence> <xs:element name="InnerTypeExtra1" type="xs:string" minOccurs="0"/> </xs:sequence> </xs:group> SchemaC <xs:complexType name="MainType"> <xs:sequence> <xs:element name="MainElement1" type="xs:string"/> <xs:element name="MainElement2" type="xs:boolean" minOccurs="0"/> <xs:element name="InnerTypeElement" type="InnerType" minOccurs="0"/> </xs:sequence> </xs:complexType> SchemaD <xs:complexType name="InnerType"> <xs:sequence> <xs:element name="InnerElement1" type="xs:string"/> <xs:element name="InnerElement2" type="xs:string"/> </xs:sequence> </xs:complexType> In 2.9.1, when XML was validated that had extra elements in the inner type "InnerType" it would validate fine. With 2.11.0, the validation fails once InnerTypeExtra1 is traversed complaining that only InnerElement1 or InnerElement2 is expected. So before when SchemaC would reference InnerType, the definition from SchemaA was used, but now it seems that the definition from SchemaD is used. MainTypeExtra1 would likely fail as well if the validation ever got that far. Does that follow? Anyone have a solution? Thanks, -Christian