Commit | Line | Data |
---|---|---|
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> |