<?xml version="1.0" encoding="UTF-8"?> <!-- Test for bug #341150 --> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" > <!-- This is the head of our substitution group for events that have only simple content. --> <xs:element name="SimpleEvent" type="SimpleEventType"/> <!-- All SimpleEvent elements have the required set of attributes --> <xs:complexType name="SimpleEventType"> <xs:simpleContent> <xs:extension base="xs:anySimpleType"> </xs:extension> </xs:simpleContent> </xs:complexType> <!-- Common members of the SimpleEvent substitution group --> <xs:element name="TestEvent" substitutionGroup="SimpleEvent"> <xs:complexType> <xs:simpleContent> <xs:restriction base="SimpleEventType"> <xs:simpleType> <xs:restriction base="xs:string"/> </xs:simpleType> </xs:restriction> </xs:simpleContent> </xs:complexType> </xs:element> <!-- Root element --> <xs:element name="TestRoot" type="TestRootType"/> <!-- Core data type of an audit trail --> <xs:complexType name="TestRootType"> <xs:sequence> <xs:element name="Events"> <xs:complexType> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element ref="SimpleEvent"/> </xs:choice> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:schema>