1<?xml version="1.0" encoding="UTF-8"?>
2<!-- Test for bug #341150 -->
3<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" >
4
5  <!-- This is the head of our substitution group for events that have only
6        simple content. -->
7  <xs:element name="SimpleEvent" type="SimpleEventType"/>
8
9  <!-- All SimpleEvent elements have the required set of attributes -->
10  <xs:complexType name="SimpleEventType">
11    <xs:simpleContent>
12      <xs:extension base="xs:anySimpleType">
13      </xs:extension>
14    </xs:simpleContent>
15  </xs:complexType>  
16
17  <!-- Common members of the SimpleEvent substitution group -->
18  <xs:element name="TestEvent" substitutionGroup="SimpleEvent">
19    <xs:complexType>
20      <xs:simpleContent>
21        <xs:restriction base="SimpleEventType">
22          <xs:simpleType>
23            <xs:restriction base="xs:string"/>
24          </xs:simpleType>
25        </xs:restriction>
26      </xs:simpleContent>
27    </xs:complexType>
28  </xs:element>
29
30  <!-- Root element -->
31  <xs:element name="TestRoot" type="TestRootType"/>
32
33  <!-- Core data type of an audit trail -->
34  <xs:complexType name="TestRootType">
35    <xs:sequence>
36      <xs:element name="Events">
37        <xs:complexType>
38          <xs:choice minOccurs="0" maxOccurs="unbounded">
39            <xs:element ref="SimpleEvent"/>
40          </xs:choice>
41        </xs:complexType>
42      </xs:element>
43    </xs:sequence>
44  </xs:complexType>
45</xs:schema>