Sync with 5.4.1
[deliverable/titan.core.git] / regression_test / XML / XmlWorkflow / xsd / extending_complex_types.xsd
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3 Copyright (c) 2000-2015 Ericsson Telecom AB
4
5 All rights reserved. This program and the accompanying materials
6 are made available under the terms of the Eclipse Public License v1.0
7 which accompanies this distribution, and is available at
8 http://www.eclipse.org/legal/epl-v10.html
9 -->
10 <schema xmlns="http://www.w3.org/2001/XMLSchema"
11 xmlns:ns="www.example.org"
12 targetNamespace="www.example.org">
13
14 <annotation>
15 <documentation xml:lang="EN">
16 It is not allowed to extend groups and complex types with the constructor all and the extending type shall not be all either
17 </documentation>
18 </annotation>
19
20 <annotation><documentation xml:lang="EN">base types</documentation></annotation>
21
22 <complexType name="e25seq">
23 <sequence>
24 <element name="titleElemBase" type="string"/>
25 <element name="forenameElemBase" type="string"/>
26 <element name="surnameElemBase" type="string"/>
27 </sequence>
28 <attribute name="genderAttrBase" type="integer"/>
29 <attributeGroup ref="ns:g25attr2"/>
30 </complexType>
31
32 <complexType name="e25seqRecurrence">
33 <sequence minOccurs="0" maxOccurs="unbounded">
34 <element name="titleElemBase" type="string"/>
35 <element name="forenameElemBase" type="string"/>
36 <element name="surnameElemBase" type="string"/>
37 </sequence>
38 <attribute name="genderAttrBase" type="integer"/>
39 <attributeGroup ref="ns:g25attr2"/>
40 </complexType>
41
42 <complexType name="e25empty">
43 <sequence>
44 </sequence>
45 </complexType>
46
47 <complexType name="e25cho">
48 <choice>
49 <element name="titleElemBase" type="string"/>
50 <element name="forenameElemBase" type="string"/>
51 <element name="surnameElemBase" type="string"/>
52 </choice>
53 <attribute name="genderAttrBase" type="string"/>
54 </complexType>
55
56
57 <complexType name="e25all">
58 <all>
59 <element name="titleElemBase" type="string"/>
60 <element name="forenameElemBase" type="string"/>
61 <element name="surnameElemBase" type="string"/>
62 </all>
63 <attribute name="genderAttrBase" type="float"/>
64 </complexType>
65
66 <annotation><documentation xml:lang="EN">groups and attributeGroups</documentation></annotation>
67
68 <group name="g25seq">
69 <sequence>
70 <element name="familyStatusElemInGroup" type="string"/>
71 <element name="spouseElemInGroup" type="string" minOccurs="0"/>
72 </sequence>
73 </group>
74
75 <attributeGroup name="g25attr1">
76 <attribute name="birthPlaceAttrGroup" type="string"/>
77 <attribute name="birthDateAttrGroup" type="string"/>
78 </attributeGroup>
79
80 <attributeGroup name="g25attr2">
81 <attribute name="jobPositionAttrGroup" type="string"/>
82 </attributeGroup>
83
84 <group name="g25cho">
85 <choice>
86 <element name="birthDateElemInGroup" type="string"/>
87 <element name="birthPlaceElemInGroup" type="string"/>
88 </choice>
89 </group>
90
91 <annotation><documentation xml:lang="EN">EXTENDING TYPES</documentation></annotation>
92
93 <annotation><documentation xml:lang="EN">dummy extension of an empty type</documentation></annotation>
94 <complexType name="e26nullSeq">
95 <complexContent>
96 <extension base="ns:e25empty">
97 <sequence>
98 </sequence>
99 </extension>
100 </complexContent>
101 </complexType>
102
103 <annotation>
104 <documentation xml:lang="EN">base:sequence, extending:sequence, containing attributeGroup and group</documentation></annotation>
105 <complexType name="e26seq">
106 <complexContent>
107 <extension base="ns:e25seq">
108 <sequence>
109 <element name="ageElemExt" type="integer"/>
110 <group ref="ns:g25seq"/>
111 </sequence>
112 <attribute name="unitAttrExt" type="string"/>
113 <attributeGroup ref="ns:g25attr1"/>
114 </extension>
115 </complexContent>
116 </complexType>
117
118 <complexType name="e26seqElemRevOrder">
119 <complexContent>
120 <extension base="ns:e25seq">
121 <sequence>
122 <group ref="ns:g25cho"/>
123 <element name="ageElemExt" type="integer"/>
124 </sequence>
125 <attribute name="unitAttrExt" type="string"/>
126 </extension>
127 </complexContent>
128 </complexType>
129
130 <complexType name="e26seqRecurrence">
131 <complexContent>
132 <extension base="ns:e25seq">
133 <sequence minOccurs="0" maxOccurs="unbounded">
134 <group ref="ns:g25cho"/>
135 <element name="ageElemExt" type="integer"/>
136 </sequence>
137 <attribute name="unitAttrExt" type="string"/>
138 </extension>
139 </complexContent>
140 </complexType>
141
142 <complexType name="e26seqDoubleRecurrence">
143 <complexContent>
144 <extension base="ns:e25seqRecurrence">
145 <sequence minOccurs="0" maxOccurs="unbounded">
146 <group ref="ns:g25cho"/>
147 <element name="ageElemExt" type="integer"/>
148 </sequence>
149 <attribute name="unitAttrExt" type="string"/>
150 </extension>
151 </complexContent>
152 </complexType>
153
154 <annotation><documentation xml:lang="EN">base:choice, extending:choice</documentation></annotation>
155 <complexType name="e26cho">
156 <complexContent>
157 <extension base="ns:e25cho">
158 <choice>
159 <element name="ageElemExt" type="integer"/>
160 <element name="birthdayElemExt" type="date"/>
161 </choice>
162 <attribute name="unitAttrExt" type="string"/>
163 </extension>
164 </complexContent>
165 </complexType>
166
167
168
169 <annotation><documentation xml:lang="EN">base:sequence, extending:choice</documentation></annotation>
170 <complexType name="e27cho">
171 <complexContent>
172 <extension base="ns:e25seq">
173 <choice>
174 <element name="ageElemExt" type="integer"/>
175 <element name="birthdayElemExt" type="date"/>
176 </choice>
177 <attribute name="unitAttrExt" type="string"/>
178 </extension>
179 </complexContent>
180 </complexType>
181
182 <annotation><documentation xml:lang="EN">base:choice, extending:sequence</documentation></annotation>
183 <complexType name="e27seq">
184 <complexContent>
185 <extension base="ns:e25cho">
186 <sequence>
187 <element name="ageElemExt" type="integer"/>
188 </sequence>
189 <attribute name="unitAttrExt" type="string"/>
190 </extension>
191 </complexContent>
192 </complexType>
193
194
195 <annotation><documentation xml:lang="EN">base:all, extending:sequence --- not allowed!
196 <complexType name="e26g">
197 <complexContent>
198 <extension base="ns:e25all">
199 <sequence>
200 <element name="age" type="integer"/>
201 </sequence>
202 </extension>
203 </complexContent>
204 </complexType>
205 </documentation></annotation>
206
207 </schema>
208
This page took 0.039499 seconds and 5 git commands to generate.