1<!-- Schema defined in the SOAP Version 1.2 Part 2 specification
3 http://www.w3.org/TR/2003/REC-soap12-part2-20030624/
4 $Id: soap-encoding12.xsd,v 1.1 2008/11/01 20:08:41 vivek200120 Exp $
6 Copyright (C)2003 W3C(R) (MIT, ERCIM, Keio), All Rights Reserved.
7 W3C viability, trademark, document use and software licensing rules
9 http://www.w3.org/Consortium/Legal/
11 This document is governed by the W3C Software License [1] as
12 described in the FAQ [2].
14 [1] http://www.w3.org/Consortium/Legal/copyright-software-19980720
15 [2] http://www.w3.org/Consortium/Legal/IPR-FAQ-20000620.html#DTD
18<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
19 xmlns:tns="http://www.w3.org/2003/05/soap-encoding"
20 targetNamespace="http://www.w3.org/2003/05/soap-encoding" >
22 <xs:attributeGroup name="commonAttributes" >
25 Attributes common to all elements that function as accessors or
26 represent independent (multi-ref) values. The ref attribute is
27 intended to be used in a manner like CONREF. That is, the element
28 content should be empty iff the ref attribute appears
31 <xs:attribute ref="tns:id" />
32 <xs:anyAttribute namespace="##other" processContents="lax" />
35 <!-- Global Attributes. The following attributes are intended to be usable via qualified attribute names on any complex type referencing them. -->
36 <xs:attribute name="id" type="xs:ID" />
37 <xs:attribute name="ref" type="xs:IDREF" />
39 <xs:complexType name="Ref" >
40 <xs:attribute ref="tns:ref" use="required" />
43 <xs:simpleType name="nodeType" >
44 <xs:restriction base="xs:token" >
45 <xs:enumeration value="simple" />
46 <xs:enumeration value="struct" />
47 <xs:enumeration value="array" />
50 <xs:attribute name="nodeType" type="tns:nodeType" />
52 <!-- Array attributes. Needed to give the type and dimensions of an array"s contents, and the offset for partially-transmitted arrays. -->
54 <xs:simpleType name="arraySizeBase" >
57 A list type that allows * and non negative integers. Used as the
58 base type for arraySize below.
63 <xs:union memberTypes="xs:nonNegativeInteger" >
65 <xs:restriction base="xs:token" >
66 <xs:enumeration value="*" />
75 <xs:simpleType name="arraySize" >
78 Pattern based restriction of the arraySizeBase list type. Used
79 as the type of the arraySize attribute. Restricts asterisk ( * )
80 to first list item only. Instances must contain at least an
81 asterisk ( * ) or a nonNegativeInteger. May contain other
82 nonNegativeIntegers as subsequent list items.
83 Valid instances include;
93 <xs:restriction base="tns:arraySizeBase" >
94 <xs:pattern value="(\*|(\d+))(\s+\d+)*" />
98 <xs:attribute name="arraySize" type="tns:arraySize" />
99 <xs:attribute name="itemType" type="xs:QName" />
101 <xs:attributeGroup name="arrayAttributes" >
102 <xs:attribute ref="tns:arraySize" />
103 <xs:attribute ref="tns:itemType" />
106 <!-- 'Base64' can be used to serialize binary data using base64 encoding
107 as defined in RFC2045 but without the MIME line length limitation. -->
109 <xs:simpleType name="base64" >
110 <xs:restriction base="xs:base64Binary" />
113 <!-- Element declarations corresponding to each of the simple types in the
114 XML Schemas Specification. -->
116 <xs:element name="duration" type="tns:duration" />
117 <xs:complexType name="duration" >
119 <xs:extension base="xs:duration" >
120 <xs:attributeGroup ref="tns:commonAttributes" />
125 <xs:element name="dateTime" type="tns:dateTime" />
126 <xs:complexType name="dateTime" >
128 <xs:extension base="xs:dateTime" >
129 <xs:attributeGroup ref="tns:commonAttributes" />
134 <xs:element name="time" type="tns:time" />
135 <xs:complexType name="time" >
137 <xs:extension base="xs:time" >
138 <xs:attributeGroup ref="tns:commonAttributes" />
143 <xs:element name="date" type="tns:date" />
144 <xs:complexType name="date" >
146 <xs:extension base="xs:date" >
147 <xs:attributeGroup ref="tns:commonAttributes" />
152 <xs:element name="gYearMonth" type="tns:gYearMonth" />
153 <xs:complexType name="gYearMonth" >
155 <xs:extension base="xs:gYearMonth" >
156 <xs:attributeGroup ref="tns:commonAttributes" />
161 <xs:element name="gYear" type="tns:gYear" />
162 <xs:complexType name="gYear" >
164 <xs:extension base="xs:gYear" >
165 <xs:attributeGroup ref="tns:commonAttributes" />
170 <xs:element name="gMonthDay" type="tns:gMonthDay" />
171 <xs:complexType name="gMonthDay" >
173 <xs:extension base="xs:gMonthDay" >
174 <xs:attributeGroup ref="tns:commonAttributes" />
179 <xs:element name="gDay" type="tns:gDay" />
180 <xs:complexType name="gDay" >
182 <xs:extension base="xs:gDay" >
183 <xs:attributeGroup ref="tns:commonAttributes" />
188 <xs:element name="gMonth" type="tns:gMonth" />
189 <xs:complexType name="gMonth" >
191 <xs:extension base="xs:gMonth" >
192 <xs:attributeGroup ref="tns:commonAttributes" />
197 <xs:element name="boolean" type="tns:boolean" />
198 <xs:complexType name="boolean" >
200 <xs:extension base="xs:boolean" >
201 <xs:attributeGroup ref="tns:commonAttributes" />
206 <xs:element name="base64Binary" type="tns:base64Binary" />
207 <xs:complexType name="base64Binary" >
209 <xs:extension base="xs:base64Binary" >
210 <xs:attributeGroup ref="tns:commonAttributes" />
215 <xs:element name="hexBinary" type="tns:hexBinary" />
216 <xs:complexType name="hexBinary" >
218 <xs:extension base="xs:hexBinary" >
219 <xs:attributeGroup ref="tns:commonAttributes" />
224 <xs:element name="float" type="tns:float" />
225 <xs:complexType name="float" >
227 <xs:extension base="xs:float" >
228 <xs:attributeGroup ref="tns:commonAttributes" />
233 <xs:element name="double" type="tns:double" />
234 <xs:complexType name="double" >
236 <xs:extension base="xs:double" >
237 <xs:attributeGroup ref="tns:commonAttributes" />
242 <xs:element name="anyURI" type="tns:anyURI" />
243 <xs:complexType name="anyURI" >
245 <xs:extension base="xs:anyURI" >
246 <xs:attributeGroup ref="tns:commonAttributes" />
251 <xs:element name="QName" type="tns:QName" />
252 <xs:complexType name="QName" >
254 <xs:extension base="xs:QName" >
255 <xs:attributeGroup ref="tns:commonAttributes" />
260 <xs:element name="string" type="tns:string" />
261 <xs:complexType name="string" >
263 <xs:extension base="xs:string" >
264 <xs:attributeGroup ref="tns:commonAttributes" />
269 <xs:element name="normalizedString" type="tns:normalizedString" />
270 <xs:complexType name="normalizedString" >
272 <xs:extension base="xs:normalizedString" >
273 <xs:attributeGroup ref="tns:commonAttributes" />
278 <xs:element name="token" type="tns:token" />
279 <xs:complexType name="token" >
281 <xs:extension base="xs:token" >
282 <xs:attributeGroup ref="tns:commonAttributes" />
287 <xs:element name="language" type="tns:language" />
288 <xs:complexType name="language" >
290 <xs:extension base="xs:language" >
291 <xs:attributeGroup ref="tns:commonAttributes" />
296 <xs:element name="Name" type="tns:Name" />
297 <xs:complexType name="Name" >
299 <xs:extension base="xs:Name" >
300 <xs:attributeGroup ref="tns:commonAttributes" />
305 <xs:element name="NMTOKEN" type="tns:NMTOKEN" />
306 <xs:complexType name="NMTOKEN" >
308 <xs:extension base="xs:NMTOKEN" >
309 <xs:attributeGroup ref="tns:commonAttributes" />
314 <xs:element name="NCName" type="tns:NCName" />
315 <xs:complexType name="NCName" >
317 <xs:extension base="xs:NCName" >
318 <xs:attributeGroup ref="tns:commonAttributes" />
323 <xs:element name="decimal" type="tns:decimal" />
324 <xs:complexType name="decimal" >
326 <xs:extension base="xs:decimal" >
327 <xs:attributeGroup ref="tns:commonAttributes" />
332 <xs:element name="integer" type="tns:integer" />
333 <xs:complexType name="integer" >
335 <xs:extension base="xs:integer" >
336 <xs:attributeGroup ref="tns:commonAttributes" />
341 <xs:element name="nonPositiveInteger" type="tns:nonPositiveInteger" />
342 <xs:complexType name="nonPositiveInteger" >
344 <xs:extension base="xs:nonPositiveInteger" >
345 <xs:attributeGroup ref="tns:commonAttributes" />
350 <xs:element name="negativeInteger" type="tns:negativeInteger" />
351 <xs:complexType name="negativeInteger" >
353 <xs:extension base="xs:negativeInteger" >
354 <xs:attributeGroup ref="tns:commonAttributes" />
359 <xs:element name="long" type="tns:long" />
360 <xs:complexType name="long" >
362 <xs:extension base="xs:long" >
363 <xs:attributeGroup ref="tns:commonAttributes" />
368 <xs:element name="int" type="tns:int" />
369 <xs:complexType name="int" >
371 <xs:extension base="xs:int" >
372 <xs:attributeGroup ref="tns:commonAttributes" />
377 <xs:element name="short" type="tns:short" />
378 <xs:complexType name="short" >
380 <xs:extension base="xs:short" >
381 <xs:attributeGroup ref="tns:commonAttributes" />
386 <xs:element name="byte" type="tns:byte" />
387 <xs:complexType name="byte" >
389 <xs:extension base="xs:byte" >
390 <xs:attributeGroup ref="tns:commonAttributes" />
395 <xs:element name="nonNegativeInteger" type="tns:nonNegativeInteger" />
396 <xs:complexType name="nonNegativeInteger" >
398 <xs:extension base="xs:nonNegativeInteger" >
399 <xs:attributeGroup ref="tns:commonAttributes" />
404 <xs:element name="unsignedLong" type="tns:unsignedLong" />
405 <xs:complexType name="unsignedLong" >
407 <xs:extension base="xs:unsignedLong" >
408 <xs:attributeGroup ref="tns:commonAttributes" />
413 <xs:element name="unsignedInt" type="tns:unsignedInt" />
414 <xs:complexType name="unsignedInt" >
416 <xs:extension base="xs:unsignedInt" >
417 <xs:attributeGroup ref="tns:commonAttributes" />
422 <xs:element name="unsignedShort" type="tns:unsignedShort" />
423 <xs:complexType name="unsignedShort" >
425 <xs:extension base="xs:unsignedShort" >
426 <xs:attributeGroup ref="tns:commonAttributes" />
431 <xs:element name="unsignedByte" type="tns:unsignedByte" />
432 <xs:complexType name="unsignedByte" >
434 <xs:extension base="xs:unsignedByte" >
435 <xs:attributeGroup ref="tns:commonAttributes" />
440 <xs:element name="positiveInteger" type="tns:positiveInteger" />
441 <xs:complexType name="positiveInteger" >
443 <xs:extension base="xs:positiveInteger" >
444 <xs:attributeGroup ref="tns:commonAttributes" />
449 <xs:element name="anyType" />
452 For compatibility with XML 1.0 the following element declaration
453 and associated complex type definition should NOT be used as
454 its type is only applicable to attributes in XML 1.0. It is
455 provided here for completenes.
457 <xs:element name="NMTOKENS" type="tns:NMTOKENS" />
458 <xs:complexType name="NMTOKENS" >
460 <xs:extension base="xs:NMTOKENS" >
461 <xs:attributeGroup ref="tns:commonAttributes" />
467 For compatibility with XML 1.0 the following element declaration
468 and associated complex type definition should NOT be used as
469 its type is only applicable to attributes in XML 1.0. It is
470 provided here for completenes.
472 <xs:element name="ID" type="tns:ID" />
473 <xs:complexType name="ID" >
475 <xs:extension base="xs:ID" >
476 <xs:attributeGroup ref="tns:commonAttributes" />
482 For compatibility with XML 1.0 the following element declaration
483 and associated complex type definition should NOT be used as
484 its type is only applicable to attributes in XML 1.0. It is
485 provided here for completenes.
487 <xs:element name="IDREF" type="tns:IDREF" />
488 <xs:complexType name="IDREF" >
490 <xs:extension base="xs:IDREF" >
491 <xs:attributeGroup ref="tns:commonAttributes" />
497 For compatibility with XML 1.0 the following element declaration
498 and associated complex type definition should NOT be used as
499 its type is only applicable to attributes in XML 1.0. It is
500 provided here for completenes.
502 <xs:element name="ENTITY" type="tns:ENTITY" />
503 <xs:complexType name="ENTITY" >
505 <xs:extension base="xs:ENTITY" >
506 <xs:attributeGroup ref="tns:commonAttributes" />
512 For compatibility with XML 1.0 the following element declaration
513 and associated complex type definition should NOT be used as
514 its type is only applicable to attributes in XML 1.0. It is
515 provided here for completenes.
517 <xs:element name="IDREFS" type="tns:IDREFS" />
518 <xs:complexType name="IDREFS" >
520 <xs:extension base="xs:IDREFS" >
521 <xs:attributeGroup ref="tns:commonAttributes" />
527 For compatibility with XML 1.0 the following element declaration
528 and associated complex type definition should NOT be used as
529 its type is only applicable to attributes in XML 1.0. It is
530 provided here for completenes.
532 <xs:element name="ENTITIES" type="tns:ENTITIES" />
533 <xs:complexType name="ENTITIES" >
535 <xs:extension base="xs:ENTITIES" >
536 <xs:attributeGroup ref="tns:commonAttributes" />