Sync with 5.4.0
[deliverable/titan.core.git] / regression_test / XML / xsdConverter / Examples / chapter_7_6.xsd
CommitLineData
970ed795
EL
1<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2<!--
3abe9331 3 Copyright (c) 2000-2015 Ericsson Telecom AB
970ed795
EL
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:ns76="http://www.chapter_7_6.org"
12 targetNamespace="http://www.chapter_7_6.org">
13
14
15 <complexType name="e23">
16 <simpleContent>
17 <extension base="string">
18 <attribute name="foo" type="float"/>
19 <attribute name="bar" type="integer"/>
20 </extension>
21 </simpleContent>
22 </complexType>
23
24
25 <complexType name="e24">
26 <simpleContent>
27 <restriction base="ns76:e23">
28 <length value="4"/>
29 </restriction>
30 </simpleContent>
31 </complexType>
32
33
34 <annotation>
35 <documentation xml:lang="en">
36 The base definitions:
37 </documentation>
38 </annotation>
39
40
41 <complexType name="e25seq">
42 <sequence>
43 <element name="titleElemBase" type="string"/>
44 <element name="forenameElemBase" type="string"/>
45 <element name="surnameElemBase" type="string"/>
46 </sequence>
47 <attribute name="genderAttrBase" type="integer"/>
48 <attributeGroup ref="ns76:g25attr2"/>
49 </complexType>
50
51
52 <group name="g25seq">
53 <sequence>
54 <element name="familyStatusElemInGroup" type="string"/>
55 <element name="spouseElemInGroup" type="string" minOccurs="0"/>
56 </sequence>
57 </group>
58
59
60 <attributeGroup name="g25attr1">
61 <attribute name="birthPlaceAttrGroup" type="string"/>
62 <attribute name="birthDateAttrGroup" type="string"/>
63 </attributeGroup>
64
65
66 <attributeGroup name="g25attr2">
67 <attribute name="jobPositionAttrGroup" type="string"/>
68 </attributeGroup>
69
70
71 <annotation>
72 <documentation xml:lang="en">
73 Now a type is defined that extends e25seq by adding a new element, group and attributes:
74 </documentation>
75 </annotation>
76
77
78 <complexType name="e26seq">
79 <complexContent>
80 <extension base="ns76:e25seq">
81 <sequence>
82 <element name="ageElemExt" type="integer"/>
83 <group ref="ns76:g25seq"/>
84 </sequence>
85 <attribute name="unitOfAge" type="string"/>
86 <attributeGroup ref="ns76:g25attr1"/>
87 </extension>
88 </complexContent>
89 </complexType>
90
91
92 <!-- Additional base definition:-->
93
94
95 <complexType name="e25seqRecurrence">
96 <sequence minOccurs="0" maxOccurs="unbounded">
97 <element name="titleElemBase" type="string"/>
98 <element name="forenameElemBase" type="string"/>
99 <element name="surnameElemBase" type="string"/>
100 </sequence>
101 <attribute name="genderAttrBase" type="integer"/>
102 <attributeGroup ref="ns76:g25attr2"/>
103 </complexType>
104
105
106 <!-- The extending type definition: -->
107
108
109 <complexType name="e26seqReccurrence">
110 <complexContent>
111 <extension base="ns76:e25seq">
112 <sequence minOccurs="0" maxOccurs="unbounded">
113 <group ref="ns76:g25seq"/>
114 <element name="ageElemExt" type="integer"/>
115 </sequence>
116 <attribute name="unitOfAge" type="string"/>
117 </extension>
118 </complexContent>
119 </complexType>
120
121
122 <complexType name="e26seqDoubleRecurrence">
123 <complexContent>
124 <extension base="ns76:e25seqRecurrence">
125 <sequence minOccurs="0" maxOccurs="unbounded">
126 <group ref="ns76:g25seq"/>
127 <element name="ageElemExt" type="integer"/>
128 </sequence>
129 <attribute name="unitOfAge" type="string"/>
130 </extension>
131 </complexContent>
132 </complexType>
133
134
135 <complexType name="e25cho">
136 <choice>
137 <element name="titleElemBase" type="string"/>
138 <element name="forenameElemBase" type="string"/>
139 <element name="surnameElemBase" type="string"/>
140 </choice>
141 <attribute name="genderAttrBase" type="string"/>
142 </complexType>
143
144
145 <annotation>
146 <documentation xml:lang="en">
147 and
148 </documentation>
149 </annotation>
150
151
152 <complexType name="e26cho">
153 <complexContent>
154 <extension base="ns76:e25cho">
155 <choice>
156 <element name="ageElemExt" type="integer"/>
157 <element name="birthdayElemExt" type="date"/>
158 </choice>
159 <attribute name="unitAttrExt" type="string"/>
160 </extension>
161 </complexContent>
162 </complexType>
163
164
165 <complexType name="e27cho">
166 <complexContent>
167 <extension base="ns76:e25seq">
168 <choice>
169 <element name="ageElemExt" type="integer"/>
170 <element name="birthdayElemExt" type="date"/>
171 </choice>
172 <attribute name="unitAttrExt" type="string"/>
173 </extension>
174 </complexContent>
175 </complexType>
176
177
178 <complexType name="e27seq">
179 <complexContent>
180 <extension base="ns76:e25cho">
181 <sequence>
182 <element name="ageElemExt" type="integer"/>
183 </sequence>
184 <attribute name="unitAttrExt" type="string"/>
185 </extension>
186 </complexContent>
187 </complexType>
188
189
190 <complexType name="X">
191 <sequence>
192 <element name="x" type="string"/>
193 <element name="y" minOccurs="0">
194 <complexType>
195 <complexContent>
196 <extension base="ns76:X">
197 <sequence>
198 <element name="z" type="string"/>
199 </sequence>
200 </extension>
201 </complexContent>
202 </complexType>
203 </element>
204 </sequence>
205 </complexType>
206
207
208 <complexType name="e28">
209 <complexContent>
210 <restriction base="anyType">
211 <sequence>
212 <element name="size" type="nonPositiveInteger"/>
213 <element name="unit" type="NMTOKEN"/>
214 </sequence>
215 </restriction>
216 </complexContent>
217 </complexType>
218
219
220 <element name="comment" type="string"/>
221
222 <annotation>
223 <documentation xml:lang="EN">
224 The base type is:
225 </documentation>
226 </annotation>
227
228
229 <!-- Items type generated due to being referenced in next types -->
230
231 <element name="Items" type="token"/>
232
233
234 <complexType name="PurchaseOrderType">
235 <sequence>
236 <element name="shipTo" type="string"/>
237 <element name="billTo" type="string"/>
238 <element ref="ns76:comment" minOccurs="0"/>
239 <element ref="ns76:Items"/>
240 </sequence>
241 <attribute name="shipDate" type="date"/>
242 <attribute name="orderDate" type="date"/>
243 </complexType>
244
245
246 <annotation>
247 <documentation xml:lang="EN">
248 The restricting type is:
249 </documentation>
250 </annotation>
251
252
253 <complexType name="RestrictedPurchaseOrderType">
254 <complexContent>
255 <restriction base="ns76:PurchaseOrderType">
256 <sequence>
257 <element name="shipTo" type="string"/>
258 <element name="billTo" type="string"/>
259 <element ref="ns76:comment" minOccurs="1"/>
260 <element ref="ns76:Items"/>
261 </sequence>
262 <attribute name="shipDate" type="date" use="required" />
263 <attribute name="orderDate" type="date" use="prohibited" />
264 </restriction>
265 </complexContent>
266 </complexType>
267
268
269 <complexType name="e29a">
270 <all>
271 <element name="foo" type="integer"/>
272 <element name="bar" type="float"/>
273 <element name="ding" type="string"/>
274 </all>
275 </complexType>
276
277
278 <complexType name="e29b">
279 <all minOccurs="0">
280 <element name="foo" type="integer"/>
281 <element name="bar" type="float"/>
282 <element name="ding" type="string"/>
283 </all>
284 </complexType>
285
286 <complexType name="e29c">
287 <all>
288 <element name="foo" type="integer"/>
289 <element name="bar" type="float" minOccurs="0"/>
290 <element name="ding" type="string"/>
291 </all>
292 </complexType>
293
294
295 <attribute name="attrGlobal" type="token"/>
296
297
298 <attributeGroup name="attrGroup">
299 <attribute name="attrInGroup2" type="token"/>
300 <attribute name="attrInGroup1" type="token"/>
301 </attributeGroup>
302
303
304 <complexType name="e29aAndAttributes">
305 <all>
306 <element name="foo" type="integer"/>
307 <element name="bar" type="float"/>
308 <element name="ding" type="string"/>
309 </all>
310 <attribute name="attrLocal" type="integer"/>
311 <attribute ref="ns76:attrGlobal"/>
312 <attributeGroup ref="ns76:attrGroup"/>
313 </complexType>
314
315
316 <complexType name="e30">
317 <choice>
318 <element name="foo" type="integer"/>
319 <element name="bar" type="float"/>
320 </choice>
321 </complexType>
322
323
324 <group name="e31">
325 <sequence>
326 <element name="foo" type="string"/>
327 <element name="bar" type="string"/>
328 </sequence>
329 </group>
330
331
332 <complexType name="e32">
333 <choice>
334 <group ref="ns76:e31"/>
335 <element name="ding" type="string"/>
336 </choice>
337 </complexType>
338
339
340 <complexType name="e33">
341 <choice>
342 <choice>
343 <element name="foo" type="string"/>
344 <element name="bar" type="string"/>
345 </choice>
346 <element name="ding" type="string"/>
347 </choice>
348 </complexType>
349
350
351 <complexType name="e34a">
352 <choice>
353 <sequence>
354 <element name="foo" type="string"/>
355 <element name="bar" type="string"/>
356 </sequence>
357 <element name="ding" type="string"/>
358 </choice>
359 </complexType>
360
361
362 <complexType name="e34b">
363 <choice>
364 <sequence>
365 <sequence>
366 <element name="foo" type="string"/>
367 <element name="bar" type="string"/>
368 </sequence>
369 <element name="ding" type="string"/>
370 <element name="foo" type="string"/>
371 <element name="bar" type="string"/>
372 </sequence>
373 <element name="ding" type="string"/>
374 </choice>
375 </complexType>
376
377
378 <complexType name="e35">
379 <choice>
380 <element name="foo" type="string"/>
381 <any namespace="other"/>
382 </choice>
383 </complexType>
384
385
386 <complexType name="e36a">
387 <sequence>
388 <element name="foo" type="integer"/>
389 <element name="bar" type="float"/>
390 </sequence>
391 </complexType>
392
393
394 <group name="e37">
395 <choice>
396 <element name="foo" type="string"/>
397 <element name="bar" type="string"/>
398 </choice>
399 </group>
400
401
402 <complexType name="e38">
403 <sequence>
404 <group ref="ns76:e37"/>
405 <element name="ding" type="string"/>
406 </sequence>
407 </complexType>
408
409
410 <complexType name="e39">
411 <sequence>
412 <choice>
413 <element name="foo" type="string"/>
414 <element name="bar" type="string"/>
415 </choice>
416 <element name="ding" type="string"/>
417 </sequence>
418 </complexType>
419
420 <complexType name="e40a">
421 <sequence>
422 <sequence>
423 <element name="foo" type="string"/>
424 <element name="bar" type="string"/>
425 </sequence>
426 <element name="ding" type="string"/>
427 </sequence>
428 </complexType>
429
430
431 <complexType name="e40b">
432 <sequence>
433 <sequence>
434 <element name="foo" type="string"/>
435 <element name="bar" type="string"/>
436 </sequence>
437 <choice>
438 <element name="foo" type="string"/>
439 <element name="bar" type="string"/>
440 </choice>
441 <element name="ding" type="string"/>
442 </sequence>
443 </complexType>
444
445
446 <complexType name="e41">
447 <sequence>
448 <element name="foo" type="string"/>
449 <any/>
450 </sequence>
451 </complexType>
452
453
454 <complexType name="e36b">
455 <sequence minOccurs="0">
456 <element name="foo" type="integer"/>
457 <element name="bar" type="float"/>
458 </sequence>
459 </complexType>
460
461<!--
462 <complexType name="e40c">
463 <sequence>
464 <sequence minOccurs="0">
465 <element name="foo" type="string"/>
466 <element name="bar" type="string"/>
467 </sequence>
468 <choice>
469 <element name="foo" type="string"/>
470 <element name="bar" type="string"/>
471 </choice>
472 <element name="ding" type="string"/>
473 </sequence>
474 </complexType>
475-->
476
477 <complexType name="e40d">
478 <sequence>
479 <sequence minOccurs="0" maxOccurs="unbounded">
480 <element name="foo" type="string"/>
481 <element name="bar" type="string"/>
482 </sequence>
483 <element name="ding" type="string"/>
484 </sequence>
485 </complexType>
486
487
488 <attributeGroup name="e42">
489 <attribute name="foo" type="float"/>
490 <attribute name="bar" type="float"/>
491 </attributeGroup>
492
493
494 <complexType name="e44">
495 <sequence>
496 <element name="ding" type="string"/>
497 </sequence>
498 <attributeGroup ref="ns76:e42"/>
499 </complexType>
500
501
502 <attribute name="fooGlobal" type="float" />
503
504
505 <attribute name="barGlobal" type="string" />
506
507
508 <attribute name="dingGlobal" type="integer" />
509
510
511 <attributeGroup name="Agroup">
512 <attribute name="fooInAgroup" type="float" />
513 <attribute name="barInAgroup" type="string" />
514 <attribute name="dingInAgroup" type="integer" />
515 </attributeGroup>
516
517
518 <complexType name="e17A">
519 <sequence>
520 <element name="elem" type="string"/>
521 </sequence>
522 <attribute ref="ns76:fooGlobal" />
523 <attribute ref="ns76:barGlobal" />
524 <attribute ref="ns76:dingGlobal" />
525 <attribute name="fooLocal" type="float" />
526 <attribute name="barLocal" type="string" />
527 <attribute name="dingLocal" type="integer" />
528 <attributeGroup ref="ns76:Agroup" />
529 </complexType>
530
531
532 <annotation>
533 <documentation xml:lang="EN">
534 Using the same global attribute, attribute group and complex type definitions
535 as in the previous example
536 </documentation>
537 </annotation>
538
539
540 <element name="MySeqMixed">
541 <complexType mixed="true">
542 <sequence>
543 <element name="a" type="string"/>
544 <element name="b" type="boolean"/>
545 </sequence>
546 <attribute name="attrib" type="integer"/>
547 </complexType>
548 </element>
549
550
551 <element name="MyComplexElem-16">
552 <complexType mixed="true">
553 <sequence maxOccurs="unbounded" minOccurs="0">
554 <element name="a" type="string"/>
555 <element name="b" type="boolean"/>
556 </sequence>
557 </complexType>
558 </element>
559
560
561 <element name="MyComplexElem-13">
562 <complexType mixed="true">
563 <all>
564 <element name="a" type="string"/>
565 <element name="b" type="boolean"/>
566 </all>
567 </complexType>
568 </element>
569
570
571 <complexType name="MyComplexType-15" mixed="true">
572 <all minOccurs="0">
573 <element name="a" type="string"/>
574 <element name="b" type="boolean"/>
575 </all>
576 </complexType>
577
578
579 <element name="MyComplexElem-14">
580 <complexType mixed="true">
581 <choice>
582 <element name="a" type="string"/>
583 <element name="b" type="boolean"/>
584 </choice>
585 </complexType>
586 </element>
587
588
589</schema>
This page took 0.047328 seconds and 5 git commands to generate.