I am using the XSD 1.1 and trying to add assertions to the complex types. I have an abstract complex type and another concrete complex type extending the abstract complex type.
For example: <xs:complexType name="abstract-comp-type" abstract="true"> <xs:sequence> <xs:element type="xs:string" name="description" minOccurs="1" maxOccurs="1" /> <xs:element name="comp-id" type="xs:ID" minOccurs="1" /> </xs:complexType> <xs:complexType name="concrete-comp-type"> <xs:complexContent> <xs:extension base="abstract-comp-type"> <xs:sequence> <xs:element name="element1" type="xs:string" minOccurs="1" fixed="test"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> If I have more than one complex types extending from abstract-comp-type, how do I add validation to check if all the sub types have an element named element1? The reason why I need to add element1 in the sub type is to provide a fixed value. I cannot use restriction because the sub type will have more elements than the abstract type.