2 Copyright (c) 2000-2014 Ericsson Telecom AB
4 All rights reserved. This program and the accompanying materials
5 are made available under the terms of the Eclipse Public License v1.0
6 which accompanies this distribution, and is available at
7 http://www.eclipse.org/legal/epl-v10.html
9 <schema xmlns="http://www.w3.org/2001/XMLSchema"
10 xmlns:n="www.XmlTest.org/negativeTest_XML_Types"
11 targetNamespace="www.XmlTest.org/negativeTest_XML_Types">
13 <documentation xml:lang="en">
14 This documentum tests based on
15 XML Schema Part 1: Structures Second Edition
16 Last modified: 2011-04-13, ETHBAAT
21 <restriction base="boolean"/>
25 <restriction base="integer"/>
29 <restriction base="integer"/>
33 <restriction base="integer"/>
37 <restriction base="n:MyEnum"/>
41 <restriction base="n:NULL"/>
45 <restriction base="float"/>
49 <restriction base="float"/>
52 <simpleType name="FLOAT">
53 <restriction base="float"/>
57 <restriction base="float"/>
61 <restriction base="float"/>
65 <restriction base="n:octetstring"/>
69 <restriction base="string"/>
72 <!-- 0. elementary -->
74 <simpleType name="MyEnum">
75 <restriction base="string">
76 <enumeration value="first"/>
77 <enumeration value="second"/>
78 <enumeration value="third"/>
82 <simpleType name="NULL">
83 <restriction base="string">
84 <enumeration value="NULL"/>
87 <!-- 1. Sequence (record_ -->
89 <complexType name="MySeqEmpty">
94 <complexType name="MySeqBool">
96 <element name="b" type="boolean"/>
100 <complexType name="MySeqNull">
102 <element name="n" type="n:NULL"/>
106 <complexType name="MySeqInt">
108 <element name="i" type="integer"/>
112 <complexType name="MySeqMyEnum">
114 <element name="e" type="n:MyEnum"/>
118 <complexType name="MySeqInt2">
120 <element name="i" type="n:i"/>
121 <element name="j" type="n:j"/>
125 <complexType name="MySeqInt2opt">
127 <element name="i" type="integer"/>
128 <element name="j" type="integer" minOccurs="0"/>
132 <complexType name="MySeqIntSeqInt2">
134 <element name="i" type="integer"/>
135 <element name="jk" type="n:MySeqInt2"/>
139 <complexType name="MySeqIntSeqInt2opt">
141 <element name="i" type="integer" minOccurs="0"/>
142 <element name="jk" type="n:MySeqInt2"/>
146 <complexType name="MySeqIntSeqInt2optopt">
148 <element name="i" type="integer" minOccurs="0"/>
149 <element name="jk" type="n:MySeqInt2opt"/>
153 <complexType name="MySeqInt3">
155 <element name="i" type="integer"/>
156 <element name="j" type="integer"/>
157 <element name="k" type="integer"/>
161 <complexType name="MySeqInt3opt">
163 <element name="i" type="integer"/>
164 <element name="j" type="integer"/>
165 <element name="k" type="integer" minOccurs="0"/>
169 <complexType name="MySeqInt4">
171 <element name="i" type="integer"/>
172 <element name="j" type="integer"/>
173 <element name="k" type="integer"/>
174 <element name="l" type="integer"/>
178 <complexType name="MySeqInt4opt">
180 <element name="i" type="integer"/>
181 <element name="j" type="integer"/>
182 <element name="k" type="integer"/>
183 <element name="l" type="integer" minOccurs="0"/>
187 <complexType name="MySeqReal">
189 <element name="x" type="float"/>
193 <complexType name="MySeqReal2">
195 <element name="x" type="float"/>
196 <element name="y" type="float"/>
200 <complexType name="MySeqStr">
202 <element name="s" type="string"/>
206 <complexType name="MySeqStr2">
208 <element name="s" type="string"/>
209 <element name="t" type="string"/>
213 <!-- there is no such thing as a bitstring -->
214 <element name="bitstring" type="decimal"/>
216 <complexType name="MySeqBitStr">
218 <element name="b" type="n:bitstring"/>
222 <complexType name="MySeqBitStr2">
224 <element name="a" type="n:bitstring"/>
225 <element name="b" type="n:bitstring"/>
229 <complexType name="MySeqIntReal">
231 <element name="i" type="integer"/>
232 <element name="x" type="float"/>
236 <complexType name="MySeqIntStr">
238 <element name="i" type="integer"/>
239 <element name="s" type="string"/>
243 <complexType name="MySeqIntBitStr">
245 <element name="i" type="integer"/>
246 <element name="b" type="n:bitstring"/>
250 <!-- there is no such thing as an octetstring, Double tested instead -->
251 <element name="octetstring" type="date"/>
253 <complexType name="MySeqOctStr">
255 <element name="o" type="n:octetstring"/>
259 <complexType name="MySeqOJKL">
261 <element name="o" type="n:octetstring"/>
262 <element name="j" type="integer"/>
263 <element name="k" type="integer"/>
264 <element name="l" type="integer"/>
268 <complexType name="MySeqIOKL">
270 <element name="i" type="integer"/>
271 <element name="o" type="n:octetstring"/>
272 <element name="k" type="n:integer"/>
273 <element name="l" type="n:integer"/>
277 <complexType name="MySeqISKL">
279 <element name="i" type="integer"/>
280 <element name="s" type="n:MySeqInt4"/>
281 <element name="k" type="integer"/>
282 <element name="l" type="integer"/>
288 <!-- ===== sequence of sequence of sequence ==== -->
289 <complexType name="MySeqIntSeqIntSeqInt2SeqReal2">
291 <element name="i" type="integer" minOccurs="0"/>
292 <element name="jkl" type="n:MySeqIntSeqInt2"/>
293 <element name="xy" type="n:MySeqReal2"/>
297 <complexType name="MySeqIntSeqIntSeqInt2optoptSeqReal2">
299 <element name="i" type="integer" minOccurs="0"/>
300 <element name="jkl" type="n:MySeqIntSeqInt2optopt"/>
301 <element name="xy" type="n:MySeqReal2"/>
305 <complexType name="MySeqIntSeqReal2">
307 <element name="i" type="integer" minOccurs="0"/>
308 <element name="xy" type="n:MySeqReal2"/>
312 <complexType name="MySeqIntSeqIntSeqInt2">
314 <element name="i" type="integer"/>
315 <element name="jkl" type="n:MySeqIntSeqInt2"/>
319 <complexType name="MySeqSeqIntSeqInt2SeqReal2">
321 <element name="jkl" type="n:MySeqIntSeqInt2"/>
322 <element name="xy" type="n:MySeqReal2"/>
326 <complexType name="MySeq_SeqSeqIntSeqInt2SeqReal2_SeqSeqIntSeqInt2SeqReal2">
328 <element name="s1" type="n:MySeqSeqIntSeqInt2SeqReal2"/>
329 <element name="s2" type="n:MySeqSeqIntSeqInt2SeqReal2"/>
333 <complexType name="MySeq_SeqSeqIntSeqInt2optoptSeqReal2_SeqSeqIntSeqInt2optoptSeqReal2">
335 <element name="s1" type="n:MySeqIntSeqIntSeqInt2optoptSeqReal2"/>
336 <element name="s2" type="n:MySeqIntSeqIntSeqInt2optoptSeqReal2"/>
340 <complexType name="MySeqBasicTypes">
342 <element name="b" type="boolean"/>
343 <element name="n" type="n:NULL"/>
344 <element name="i" type="integer"/>
345 <element name="e" type="n:MyEnum"/>
346 <element name="r" type="float"/>
347 <element name="bs" type="n:bitstring"/>
348 <element name="os" type="n:octetstring"/>
349 <element name="oi" type="string"/>
350 <element name="roi" type="string"/>
354 <complexType name="MySeqEnum">
356 <element name="e" type="n:MyEnum"/>
360 <!-- 2. Sequence of (record of)-->
362 <complexType name="MySeqOfBool">
364 <element name="b" type="boolean" minOccurs="0" maxOccurs="unbounded"/>
368 <complexType name="MySeqOfNull">
370 <element name="n" type="n:NULL" minOccurs="0" maxOccurs="unbounded"/>
374 <complexType name="MySeqOfInt">
376 <element name="i" type="integer" minOccurs="0" maxOccurs="unbounded"/>
380 <complexType name="MySeqOfMyEnum">
382 <element name="e" type="n:MyEnum" minOccurs="0" maxOccurs="unbounded"/>
386 <complexType name="MySeqOfEnum">
388 <element name="e" type="n:MyEnum" minOccurs="0" maxOccurs="unbounded"/>
392 <complexType name="MySeqOfReal">
394 <element name="r" type="float" minOccurs="0" maxOccurs="unbounded"/>
398 <complexType name="MySeqOfBitStr">
400 <element name="bs" type="n:bitstring" minOccurs="0" maxOccurs="unbounded"/>
404 <complexType name="MySeqOfOctStr">
406 <element name="os" type="n:octetstring" minOccurs="0" maxOccurs="unbounded"/>
410 <complexType name="MySeqOfObjId">
412 <element name="oi" type="string" minOccurs="0" maxOccurs="unbounded"/>
416 <complexType name="MySeqOfMyUnionBT">
418 <element name="u" type="n:MyUnionBasicTypes" minOccurs="0" maxOccurs="unbounded"/>
422 <complexType name="MySeqOfSeqSeqIntSeqInt2SeqReal2">
424 <element name="s" type="n:MySeqSeqIntSeqInt2SeqReal2" minOccurs="0" maxOccurs="unbounded"/>
428 <complexType name="MySeqOfMySeqIntSeqIntSeqInt2optoptSeqReal2">
430 <element name="s" type="n:MySeqIntSeqIntSeqInt2optoptSeqReal2" minOccurs="0" maxOccurs="unbounded"/>
438 <complexType name="MySetBool">
440 <element name="b" type="boolean"/>
444 <complexType name="MySetNull">
446 <element name="n" type="n:NULL"/>
450 <complexType name="MySetInt">
452 <element name="i" type="integer"/>
456 <complexType name="MySetMyEnum">
458 <element name="e" type="n:MyEnum"/>
462 <complexType name="MySetInt2">
464 <element name="i" type="n:i"/>
465 <element name="j" type="n:j"/>
469 <complexType name="MySetInt2opt">
471 <element name="i" type="integer"/>
472 <element name="j" type="integer" minOccurs="0"/>
476 <complexType name="MySetIntSetInt2">
478 <element name="i" type="integer"/>
479 <element name="jk" type="n:MySetInt2"/>
483 <complexType name="MySetIntSetInt2opt">
485 <element name="i" type="integer" minOccurs="0"/>
486 <element name="jk" type="n:MySetInt2"/>
490 <complexType name="MySetIntSetInt2optopt">
492 <element name="i" type="integer" minOccurs="0"/>
493 <element name="jk" type="n:MySetInt2opt"/>
497 <complexType name="MySetInt3">
499 <element name="i" type="integer"/>
500 <element name="j" type="integer"/>
501 <element name="k" type="integer"/>
505 <complexType name="MySetInt3opt">
507 <element name="i" type="integer"/>
508 <element name="j" type="integer"/>
509 <element name="k" type="integer" minOccurs="0"/>
513 <complexType name="MySetInt4">
515 <element name="i" type="integer"/>
516 <element name="j" type="integer"/>
517 <element name="k" type="integer"/>
518 <element name="l" type="integer"/>
522 <complexType name="MySetInt4opt">
524 <element name="i" type="integer"/>
525 <element name="j" type="integer"/>
526 <element name="k" type="integer"/>
527 <element name="l" type="integer" minOccurs="0"/>
531 <complexType name="MySetReal">
533 <element name="x" type="float"/>
537 <complexType name="MySetReal2">
539 <element name="x" type="float"/>
540 <element name="y" type="float"/>
544 <complexType name="MySetStr">
546 <element name="s" type="string"/>
550 <complexType name="MySetStr2">
552 <element name="s" type="string"/>
553 <element name="t" type="string"/>
557 <!-- there is no such thing as a bitstring -->
559 <complexType name="MySetBitStr">
561 <element name="b" type="n:bitstring"/>
565 <complexType name="MySetBitStr2">
567 <element name="a" type="n:bitstring"/>
568 <element name="b" type="n:bitstring"/>
572 <complexType name="MySetIntReal">
574 <element name="i" type="integer"/>
575 <element name="x" type="float"/>
579 <complexType name="MySetIntStr">
581 <element name="i" type="integer"/>
582 <element name="s" type="string"/>
586 <complexType name="MySetIntBitStr">
588 <element name="i" type="integer"/>
589 <element name="b" type="n:bitstring"/>
593 <!-- there is no such thing as an octetstring, Double tested instead -->
595 <complexType name="MySetOctStr">
597 <element name="o" type="n:octetstring"/>
601 <complexType name="MySetOJKL">
603 <element name="o" type="n:octetstring"/>
604 <element name="j" type="integer"/>
605 <element name="k" type="integer"/>
606 <element name="l" type="integer"/>
610 <complexType name="MySetIOKL">
612 <element name="i" type="integer"/>
613 <element name="o" type="n:octetstring"/>
614 <element name="k" type="n:integer"/>
615 <element name="l" type="n:integer"/>
619 <complexType name="MySetIOSKL">
621 <element name="i" type="integer"/>
622 <element name="o" type="n:octetstring"/>
623 <element name="s" type="n:MySetInt4"/>
624 <element name="k" type="n:integer"/>
625 <element name="l" type="n:integer"/>
629 <complexType name="MySetISKL">
631 <element name="i" type="integer"/>
632 <element name="s" type="n:MySetInt4"/>
633 <element name="k" type="integer"/>
634 <element name="l" type="integer"/>
639 <complexType name="MySetISOKL">
641 <element name="i" type="integer"/>
642 <element name="s" type="n:MySetInt4"/>
643 <element name="o" type="n:octetstring"/>
644 <element name="k" type="integer"/>
645 <element name="l" type="integer"/>
649 <!-- ===== all of all of all ==== -->
650 <complexType name="MySetIntSetIntSetInt2SetReal2">
652 <element name="i" type="integer" minOccurs="0"/>
653 <element name="jkl" type="n:MySetIntSetInt2"/>
654 <element name="xy" type="n:MySetReal2"/>
658 <complexType name="MySetIntSeqIntSeqInt2optoptSeqReal2">
660 <element name="i" type="integer" minOccurs="0"/>
661 <element name="jkl" type="n:MySetIntSetInt2optopt"/>
662 <element name="xy" type="n:MySetReal2"/>
666 <complexType name="MySetIntSeqReal2">
668 <element name="i" type="integer" minOccurs="0"/>
669 <element name="xy" type="n:MySetReal2"/>
673 <complexType name="MySetIntSeqIntSeqInt2">
675 <element name="i" type="integer"/>
676 <element name="jkl" type="n:MySetIntSetInt2"/>
680 <complexType name="MySetSetIntSetInt2SetReal2">
682 <element name="jkl" type="n:MySetIntSetInt2"/>
683 <element name="xy" type="n:MySetReal2"/>
687 <complexType name="MySet_SetSetIntSetInt2SetReal2_SetSetIntSetInt2SetReal2">
689 <element name="s1" type="n:MySetSetIntSetInt2SetReal2"/>
690 <element name="s2" type="n:MySetSetIntSetInt2SetReal2"/>
694 <complexType name="MySetBasicTypes">
696 <element name="b" type="boolean"/>
697 <element name="n" type="n:NULL"/>
698 <element name="i" type="integer"/>
699 <element name="e" type="n:MyEnum"/>
700 <element name="r" type="float"/>
701 <element name="bs" type="n:bitstring"/>
702 <element name="os" type="n:octetstring"/>
703 <element name="oi" type="string"/>
704 <element name="roi" type="string"/>
708 <complexType name="MySetEnum">
710 <element name="e" type="n:MyEnum"/>
719 <complexType name="MyUnionBasicTypes">
721 <element name="b" type="boolean"/>
722 <element name="n" type="n:NULL"/>
723 <element name="i" type="integer"/>
724 <element name="e" type="n:MyEnum"/>
725 <element name="r" type="float"/>
726 <element name="bs" type="n:bitstring"/>
727 <element name="os" type="n:octetstring"/>
728 <element name="oi" type="string"/>
732 <complexType name="MyUnionComplexTypes">
734 <element name="u" type="n:MyUnionBasicTypes"/>
735 <element name="sofreal" type="n:MySeqOfReal"/>
739 <element name="MyUnionElement" type="n:MyUnionBasicTypes"/>
741 <!-- 5. Attribute -->
742 <simpleType name="myAttr">
743 <restriction base="boolean"/>
746 <element name="internationalPrice">
749 <element name="myUnionValue" type="n:MyUnionBasicTypes" minOccurs="0"/>
751 <attribute name="currency" type="string"/>
752 <attribute name="value" type="decimal"/>