1 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
3 Copyright (c) 2000-2015 Ericsson Telecom AB
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
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">
15 <complexType name="e23">
17 <extension base="string">
18 <attribute name="foo" type="float"/>
19 <attribute name="bar" type="integer"/>
25 <complexType name="e24">
27 <restriction base="ns76:e23">
35 <documentation xml:lang="en">
41 <complexType name="e25seq">
43 <element name="titleElemBase" type="string"/>
44 <element name="forenameElemBase" type="string"/>
45 <element name="surnameElemBase" type="string"/>
47 <attribute name="genderAttrBase" type="integer"/>
48 <attributeGroup ref="ns76:g25attr2"/>
54 <element name="familyStatusElemInGroup" type="string"/>
55 <element name="spouseElemInGroup" type="string" minOccurs="0"/>
60 <attributeGroup name="g25attr1">
61 <attribute name="birthPlaceAttrGroup" type="string"/>
62 <attribute name="birthDateAttrGroup" type="string"/>
66 <attributeGroup name="g25attr2">
67 <attribute name="jobPositionAttrGroup" type="string"/>
72 <documentation xml:lang="en">
73 Now a type is defined that extends e25seq by adding a new element, group and attributes:
78 <complexType name="e26seq">
80 <extension base="ns76:e25seq">
82 <element name="ageElemExt" type="integer"/>
83 <group ref="ns76:g25seq"/>
85 <attribute name="unitOfAge" type="string"/>
86 <attributeGroup ref="ns76:g25attr1"/>
92 <!-- Additional base definition:-->
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"/>
101 <attribute name="genderAttrBase" type="integer"/>
102 <attributeGroup ref="ns76:g25attr2"/>
106 <!-- The extending type definition: -->
109 <complexType name="e26seqReccurrence">
111 <extension base="ns76:e25seq">
112 <sequence minOccurs="0" maxOccurs="unbounded">
113 <group ref="ns76:g25seq"/>
114 <element name="ageElemExt" type="integer"/>
116 <attribute name="unitOfAge" type="string"/>
122 <complexType name="e26seqDoubleRecurrence">
124 <extension base="ns76:e25seqRecurrence">
125 <sequence minOccurs="0" maxOccurs="unbounded">
126 <group ref="ns76:g25seq"/>
127 <element name="ageElemExt" type="integer"/>
129 <attribute name="unitOfAge" type="string"/>
135 <complexType name="e25cho">
137 <element name="titleElemBase" type="string"/>
138 <element name="forenameElemBase" type="string"/>
139 <element name="surnameElemBase" type="string"/>
141 <attribute name="genderAttrBase" type="string"/>
146 <documentation xml:lang="en">
152 <complexType name="e26cho">
154 <extension base="ns76:e25cho">
156 <element name="ageElemExt" type="integer"/>
157 <element name="birthdayElemExt" type="date"/>
159 <attribute name="unitAttrExt" type="string"/>
165 <complexType name="e27cho">
167 <extension base="ns76:e25seq">
169 <element name="ageElemExt" type="integer"/>
170 <element name="birthdayElemExt" type="date"/>
172 <attribute name="unitAttrExt" type="string"/>
178 <complexType name="e27seq">
180 <extension base="ns76:e25cho">
182 <element name="ageElemExt" type="integer"/>
184 <attribute name="unitAttrExt" type="string"/>
190 <complexType name="X">
192 <element name="x" type="string"/>
193 <element name="y" minOccurs="0">
196 <extension base="ns76:X">
198 <element name="z" type="string"/>
208 <complexType name="e28">
210 <restriction base="anyType">
212 <element name="size" type="nonPositiveInteger"/>
213 <element name="unit" type="NMTOKEN"/>
220 <element name="comment" type="string"/>
223 <documentation xml:lang="EN">
229 <!-- Items type generated due to being referenced in next types -->
231 <element name="Items" type="token"/>
234 <complexType name="PurchaseOrderType">
236 <element name="shipTo" type="string"/>
237 <element name="billTo" type="string"/>
238 <element ref="ns76:comment" minOccurs="0"/>
239 <element ref="ns76:Items"/>
241 <attribute name="shipDate" type="date"/>
242 <attribute name="orderDate" type="date"/>
247 <documentation xml:lang="EN">
248 The restricting type is:
253 <complexType name="RestrictedPurchaseOrderType">
255 <restriction base="ns76:PurchaseOrderType">
257 <element name="shipTo" type="string"/>
258 <element name="billTo" type="string"/>
259 <element ref="ns76:comment" minOccurs="1"/>
260 <element ref="ns76:Items"/>
262 <attribute name="shipDate" type="date" use="required" />
263 <attribute name="orderDate" type="date" use="prohibited" />
269 <complexType name="e29a">
271 <element name="foo" type="integer"/>
272 <element name="bar" type="float"/>
273 <element name="ding" type="string"/>
278 <complexType name="e29b">
280 <element name="foo" type="integer"/>
281 <element name="bar" type="float"/>
282 <element name="ding" type="string"/>
286 <complexType name="e29c">
288 <element name="foo" type="integer"/>
289 <element name="bar" type="float" minOccurs="0"/>
290 <element name="ding" type="string"/>
295 <attribute name="attrGlobal" type="token"/>
298 <attributeGroup name="attrGroup">
299 <attribute name="attrInGroup2" type="token"/>
300 <attribute name="attrInGroup1" type="token"/>
304 <complexType name="e29aAndAttributes">
306 <element name="foo" type="integer"/>
307 <element name="bar" type="float"/>
308 <element name="ding" type="string"/>
310 <attribute name="attrLocal" type="integer"/>
311 <attribute ref="ns76:attrGlobal"/>
312 <attributeGroup ref="ns76:attrGroup"/>
316 <complexType name="e30">
318 <element name="foo" type="integer"/>
319 <element name="bar" type="float"/>
326 <element name="foo" type="string"/>
327 <element name="bar" type="string"/>
332 <complexType name="e32">
334 <group ref="ns76:e31"/>
335 <element name="ding" type="string"/>
340 <complexType name="e33">
343 <element name="foo" type="string"/>
344 <element name="bar" type="string"/>
346 <element name="ding" type="string"/>
351 <complexType name="e34a">
354 <element name="foo" type="string"/>
355 <element name="bar" type="string"/>
357 <element name="ding" type="string"/>
362 <complexType name="e34b">
366 <element name="foo" type="string"/>
367 <element name="bar" type="string"/>
369 <element name="ding" type="string"/>
370 <element name="foo" type="string"/>
371 <element name="bar" type="string"/>
373 <element name="ding" type="string"/>
378 <complexType name="e35">
380 <element name="foo" type="string"/>
381 <any namespace="other"/>
386 <complexType name="e36a">
388 <element name="foo" type="integer"/>
389 <element name="bar" type="float"/>
396 <element name="foo" type="string"/>
397 <element name="bar" type="string"/>
402 <complexType name="e38">
404 <group ref="ns76:e37"/>
405 <element name="ding" type="string"/>
410 <complexType name="e39">
413 <element name="foo" type="string"/>
414 <element name="bar" type="string"/>
416 <element name="ding" type="string"/>
420 <complexType name="e40a">
423 <element name="foo" type="string"/>
424 <element name="bar" type="string"/>
426 <element name="ding" type="string"/>
431 <complexType name="e40b">
434 <element name="foo" type="string"/>
435 <element name="bar" type="string"/>
438 <element name="foo" type="string"/>
439 <element name="bar" type="string"/>
441 <element name="ding" type="string"/>
446 <complexType name="e41">
448 <element name="foo" type="string"/>
454 <complexType name="e36b">
455 <sequence minOccurs="0">
456 <element name="foo" type="integer"/>
457 <element name="bar" type="float"/>
462 <complexType name="e40c">
464 <sequence minOccurs="0">
465 <element name="foo" type="string"/>
466 <element name="bar" type="string"/>
469 <element name="foo" type="string"/>
470 <element name="bar" type="string"/>
472 <element name="ding" type="string"/>
477 <complexType name="e40d">
479 <sequence minOccurs="0" maxOccurs="unbounded">
480 <element name="foo" type="string"/>
481 <element name="bar" type="string"/>
483 <element name="ding" type="string"/>
488 <attributeGroup name="e42">
489 <attribute name="foo" type="float"/>
490 <attribute name="bar" type="float"/>
494 <complexType name="e44">
496 <element name="ding" type="string"/>
498 <attributeGroup ref="ns76:e42"/>
502 <attribute name="fooGlobal" type="float" />
505 <attribute name="barGlobal" type="string" />
508 <attribute name="dingGlobal" type="integer" />
511 <attributeGroup name="Agroup">
512 <attribute name="fooInAgroup" type="float" />
513 <attribute name="barInAgroup" type="string" />
514 <attribute name="dingInAgroup" type="integer" />
518 <complexType name="e17A">
520 <element name="elem" type="string"/>
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" />
533 <documentation xml:lang="EN">
534 Using the same global attribute, attribute group and complex type definitions
535 as in the previous example
540 <element name="MySeqMixed">
541 <complexType mixed="true">
543 <element name="a" type="string"/>
544 <element name="b" type="boolean"/>
546 <attribute name="attrib" type="integer"/>
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"/>
561 <element name="MyComplexElem-13">
562 <complexType mixed="true">
564 <element name="a" type="string"/>
565 <element name="b" type="boolean"/>
571 <complexType name="MyComplexType-15" mixed="true">
573 <element name="a" type="string"/>
574 <element name="b" type="boolean"/>
579 <element name="MyComplexElem-14">
580 <complexType mixed="true">
582 <element name="a" type="string"/>
583 <element name="b" type="boolean"/>