Sync with 5.4.1
[deliverable/titan.core.git] / regression_test / XML / XmlWorkflow / xsd / substitutiongroup.xsd
1 <?xml version="1.0" encoding="UTF-8"?>
2 <xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
3 xmlns:xsd="http://www.w3.org/2001/XMLSchema"
4 xmlns:subs="www.example.org/substitutiongroup"
5 targetNamespace="www.example.org/substitutiongroup">
6
7 <!-- THE HEAD ELEMENT -->
8 <xsd:element name="head" type="xsd:string" />
9
10 <!-- SUBSTITUTION ELEMENT OF THE SAME TYPE AS THE HEAD -->
11 <xsd:element name="member1" type="xsd:string" substitutionGroup="subs:head"/>
12
13 <!-- SUBSTITUTION ELEMENT OF A TYPE RESTRICTING THE TYPE OF THE HEAD -->
14 <xsd:simpleType name="stringEnum">
15 <xsd:restriction base="xsd:string">
16 <xsd:enumeration value="something"/>
17 <xsd:enumeration value="else"/>
18 </xsd:restriction>
19 </xsd:simpleType>
20
21 <xsd:element name="member2" type="subs:stringEnum" substitutionGroup="subs:head"/>
22
23 <!-- SUBSTITUTION ELEMENT OF A TYPE EXTENDING THE TYPE OF THE HEAD -->
24 <xsd:complexType name="complexEnum">
25 <xsd:simpleContent>
26 <xsd:extension base="xsd:string">
27 <xsd:attribute name="foo" type="xsd:float"/>
28 <xsd:attribute name="bar" type="xsd:integer"/>
29 </xsd:extension>
30 </xsd:simpleContent>
31 </xsd:complexType>
32
33 <xsd:element name="member3" type="subs:complexEnum" substitutionGroup="subs:head"/>
34
35 <!-- TOP LEVEL ELEMENT TO DEMONSTRATE SUBSTITUTION -->
36 <xsd:element name="ize">
37 <xsd:complexType>
38 <xsd:sequence>
39 <xsd:element ref="subs:head" minOccurs="0" maxOccurs="unbounded"/>
40 </xsd:sequence>
41 </xsd:complexType>
42 </xsd:element>
43
44 </xsd:schema>
This page took 0.031148 seconds and 5 git commands to generate.