1 <?xml version=
'1.0' encoding=
'UTF-8' ?>
3 <!-- Schema
for the SOAP/1.1 encoding
5 This schema has been produced
using W3C
's SOAP Version 1.2 schema
8 http://www.w3.org/2001/06/soap-encoding
10 Copyright 2001 Martin Gudgin, Developmentor.
11 http://www.develop.co.uk
13 Changes made are the following:
14 - reverted namespace to http://schemas.xmlsoap.org/soap/encoding/
15 - reverted root to only allow 0 and 1 as lexical values
19 - removed default value from root attribute declaration - 20030314
23 Copyright 2001 W3C (Massachusetts Institute of Technology,
24 Institut National de Recherche en Informatique et en Automatique,
25 Keio University). All Rights Reserved.
26 http://www.w3.org/Consortium/Legal/
28 This document is governed by the W3C Software License [1] as
29 described in the FAQ [2].
31 [1] http://www.w3.org/Consortium/Legal/copyright-software-19980720
32 [2] http://www.w3.org/Consortium/Legal/IPR-FAQ-20000620.html#DTD
34 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
35 xmlns:tns="http://schemas.xmlsoap.org/soap/encoding/"
36 targetNamespace="http://schemas.xmlsoap.org/soap/encoding/" >
38 <xs:attribute name="root" >
41 'root
' can be used to distinguish serialization roots from other
42 elements that are present in a serialization but are not roots of
43 a serialized value graph
47 <xs:restriction base='xs:
boolean'>
48 <xs:pattern value='0|1
' />
53 <xs:attributeGroup name="commonAttributes" >
56 Attributes common to all elements that function as accessors or
57 represent independent (multi-ref) values. The href attribute is
58 intended to be used in a manner like CONREF. That is, the element
59 content should be empty iff the href attribute appears
62 <xs:attribute name="id" type="xs:ID" />
63 <xs:attribute name="href" type="xs:anyURI" />
64 <xs:anyAttribute namespace="##other" processContents="lax" />
67 <!-- Global Attributes. The following attributes are intended to be usable via qualified attribute names on any complex type referencing them. -->
69 <!-- Array attributes. Needed to give the type and dimensions of an array's contents, and the offset
for partially-transmitted arrays. -->
71 <xs:simpleType name=
"arrayCoordinate" >
72 <xs:restriction base=
"xs:string" />
75 <xs:attribute name=
"arrayType" type=
"xs:string" />
76 <xs:attribute name=
"offset" type=
"tns:arrayCoordinate" />
78 <xs:attributeGroup name=
"arrayAttributes" >
79 <xs:attribute ref=
"tns:arrayType" />
80 <xs:attribute ref=
"tns:offset" />
83 <xs:attribute name=
"position" type=
"tns:arrayCoordinate" />
85 <xs:attributeGroup name=
"arrayMemberAttributes" >
86 <xs:attribute ref=
"tns:position" />
89 <xs:group name=
"Array" >
91 <xs:any
namespace=
"##any" minOccurs=
"0" maxOccurs=
"unbounded" processContents=
"lax" />
95 <xs:element name=
"Array" type=
"tns:Array" />
96 <xs:complexType name=
"Array" >
99 'Array' is a complex type
for accessors identified by position
102 <xs:group ref=
"tns:Array" minOccurs=
"0" />
103 <xs:attributeGroup ref=
"tns:arrayAttributes" />
104 <xs:attributeGroup ref=
"tns:commonAttributes" />
107 <!--
'Struct' is a complex type
for accessors identified by name.
108 Constraint: No element may be have the same name as any other,
109 nor may any element have a maxOccurs > 1. -->
111 <xs:element name=
"Struct" type=
"tns:Struct" />
113 <xs:group name=
"Struct" >
115 <xs:any
namespace=
"##any" minOccurs=
"0" maxOccurs=
"unbounded" processContents=
"lax" />
119 <xs:complexType name=
"Struct" >
120 <xs:group ref=
"tns:Struct" minOccurs=
"0" />
121 <xs:attributeGroup ref=
"tns:commonAttributes"/>
124 <!--
'Base64' can be used to serialize binary data
using base64 encoding
125 as defined in RFC2045 but without the MIME line length limitation. -->
127 <xs:simpleType name=
"base64" >
128 <xs:restriction base=
"xs:base64Binary" />
131 <!-- Element declarations corresponding to each of the simple types in the
132 XML Schemas Specification. -->
134 <xs:element name=
"duration" type=
"tns:duration" />
135 <xs:complexType name=
"duration" >
137 <xs:extension base=
"xs:duration" >
138 <xs:attributeGroup ref=
"tns:commonAttributes" />
143 <xs:element name=
"dateTime" type=
"tns:dateTime" />
144 <xs:complexType name=
"dateTime" >
146 <xs:extension base=
"xs:dateTime" >
147 <xs:attributeGroup ref=
"tns:commonAttributes" />
154 <xs:element name=
"NOTATION" type=
"tns:NOTATION" />
155 <xs:complexType name=
"NOTATION" >
157 <xs:extension base=
"xs:QName" >
158 <xs:attributeGroup ref=
"tns:commonAttributes" />
164 <xs:element name=
"time" type=
"tns:time" />
165 <xs:complexType name=
"time" >
167 <xs:extension base=
"xs:time" >
168 <xs:attributeGroup ref=
"tns:commonAttributes" />
173 <xs:element name=
"date" type=
"tns:date" />
174 <xs:complexType name=
"date" >
176 <xs:extension base=
"xs:date" >
177 <xs:attributeGroup ref=
"tns:commonAttributes" />
182 <xs:element name=
"gYearMonth" type=
"tns:gYearMonth" />
183 <xs:complexType name=
"gYearMonth" >
185 <xs:extension base=
"xs:gYearMonth" >
186 <xs:attributeGroup ref=
"tns:commonAttributes" />
191 <xs:element name=
"gYear" type=
"tns:gYear" />
192 <xs:complexType name=
"gYear" >
194 <xs:extension base=
"xs:gYear" >
195 <xs:attributeGroup ref=
"tns:commonAttributes" />
200 <xs:element name=
"gMonthDay" type=
"tns:gMonthDay" />
201 <xs:complexType name=
"gMonthDay" >
203 <xs:extension base=
"xs:gMonthDay" >
204 <xs:attributeGroup ref=
"tns:commonAttributes" />
209 <xs:element name=
"gDay" type=
"tns:gDay" />
210 <xs:complexType name=
"gDay" >
212 <xs:extension base=
"xs:gDay" >
213 <xs:attributeGroup ref=
"tns:commonAttributes" />
218 <xs:element name=
"gMonth" type=
"tns:gMonth" />
219 <xs:complexType name=
"gMonth" >
221 <xs:extension base=
"xs:gMonth" >
222 <xs:attributeGroup ref=
"tns:commonAttributes" />
227 <xs:element name=
"boolean" type=
"tns:boolean" />
228 <xs:complexType name=
"boolean" >
230 <xs:extension base=
"xs:boolean" >
231 <xs:attributeGroup ref=
"tns:commonAttributes" />
236 <xs:element name=
"base64Binary" type=
"tns:base64Binary" />
237 <xs:complexType name=
"base64Binary" >
239 <xs:extension base=
"xs:base64Binary" >
240 <xs:attributeGroup ref=
"tns:commonAttributes" />
245 <xs:element name=
"hexBinary" type=
"tns:hexBinary" />
246 <xs:complexType name=
"hexBinary" >
248 <xs:extension base=
"xs:hexBinary" >
249 <xs:attributeGroup ref=
"tns:commonAttributes" />
254 <xs:element name=
"float" type=
"tns:float" />
255 <xs:complexType name=
"float" >
257 <xs:extension base=
"xs:float" >
258 <xs:attributeGroup ref=
"tns:commonAttributes" />
263 <xs:element name=
"double" type=
"tns:double" />
264 <xs:complexType name=
"double" >
266 <xs:extension base=
"xs:double" >
267 <xs:attributeGroup ref=
"tns:commonAttributes" />
272 <xs:element name=
"anyURI" type=
"tns:anyURI" />
273 <xs:complexType name=
"anyURI" >
275 <xs:extension base=
"xs:anyURI" >
276 <xs:attributeGroup ref=
"tns:commonAttributes" />
281 <xs:element name=
"QName" type=
"tns:QName" />
282 <xs:complexType name=
"QName" >
284 <xs:extension base=
"xs:QName" >
285 <xs:attributeGroup ref=
"tns:commonAttributes" />
291 <xs:element name=
"string" type=
"tns:string" />
292 <xs:complexType name=
"string" >
294 <xs:extension base=
"xs:string" >
295 <xs:attributeGroup ref=
"tns:commonAttributes" />
300 <xs:element name=
"normalizedString" type=
"tns:normalizedString" />
301 <xs:complexType name=
"normalizedString" >
303 <xs:extension base=
"xs:normalizedString" >
304 <xs:attributeGroup ref=
"tns:commonAttributes" />
309 <xs:element name=
"token" type=
"tns:token" />
310 <xs:complexType name=
"token" >
312 <xs:extension base=
"xs:token" >
313 <xs:attributeGroup ref=
"tns:commonAttributes" />
318 <xs:element name=
"language" type=
"tns:language" />
319 <xs:complexType name=
"language" >
321 <xs:extension base=
"xs:language" >
322 <xs:attributeGroup ref=
"tns:commonAttributes" />
327 <xs:element name=
"Name" type=
"tns:Name" />
328 <xs:complexType name=
"Name" >
330 <xs:extension base=
"xs:Name" >
331 <xs:attributeGroup ref=
"tns:commonAttributes" />
336 <xs:element name=
"NMTOKEN" type=
"tns:NMTOKEN" />
337 <xs:complexType name=
"NMTOKEN" >
339 <xs:extension base=
"xs:NMTOKEN" >
340 <xs:attributeGroup ref=
"tns:commonAttributes" />
345 <xs:element name=
"NCName" type=
"tns:NCName" />
346 <xs:complexType name=
"NCName" >
348 <xs:extension base=
"xs:NCName" >
349 <xs:attributeGroup ref=
"tns:commonAttributes" />
354 <xs:element name=
"NMTOKENS" type=
"tns:NMTOKENS" />
355 <xs:complexType name=
"NMTOKENS" >
357 <xs:extension base=
"xs:NMTOKENS" >
358 <xs:attributeGroup ref=
"tns:commonAttributes" />
363 <xs:element name=
"ID" type=
"tns:ID" />
364 <xs:complexType name=
"ID" >
366 <xs:extension base=
"xs:ID" >
367 <xs:attributeGroup ref=
"tns:commonAttributes" />
372 <xs:element name=
"IDREF" type=
"tns:IDREF" />
373 <xs:complexType name=
"IDREF" >
375 <xs:extension base=
"xs:IDREF" >
376 <xs:attributeGroup ref=
"tns:commonAttributes" />
381 <xs:element name=
"ENTITY" type=
"tns:ENTITY" />
382 <xs:complexType name=
"ENTITY" >
384 <xs:extension base=
"xs:ENTITY" >
385 <xs:attributeGroup ref=
"tns:commonAttributes" />
390 <xs:element name=
"IDREFS" type=
"tns:IDREFS" />
391 <xs:complexType name=
"IDREFS" >
393 <xs:extension base=
"xs:IDREFS" >
394 <xs:attributeGroup ref=
"tns:commonAttributes" />
399 <xs:element name=
"ENTITIES" type=
"tns:ENTITIES" />
400 <xs:complexType name=
"ENTITIES" >
402 <xs:extension base=
"xs:ENTITIES" >
403 <xs:attributeGroup ref=
"tns:commonAttributes" />
408 <xs:element name=
"decimal" type=
"tns:decimal" />
409 <xs:complexType name=
"decimal" >
411 <xs:extension base=
"xs:decimal" >
412 <xs:attributeGroup ref=
"tns:commonAttributes" />
417 <xs:element name=
"integer" type=
"tns:integer" />
418 <xs:complexType name=
"integer" >
420 <xs:extension base=
"xs:integer" >
421 <xs:attributeGroup ref=
"tns:commonAttributes" />
426 <xs:element name=
"nonPositiveInteger" type=
"tns:nonPositiveInteger" />
427 <xs:complexType name=
"nonPositiveInteger" >
429 <xs:extension base=
"xs:nonPositiveInteger" >
430 <xs:attributeGroup ref=
"tns:commonAttributes" />
435 <xs:element name=
"negativeInteger" type=
"tns:negativeInteger" />
436 <xs:complexType name=
"negativeInteger" >
438 <xs:extension base=
"xs:negativeInteger" >
439 <xs:attributeGroup ref=
"tns:commonAttributes" />
444 <xs:element name=
"long" type=
"tns:long" />
445 <xs:complexType name=
"long" >
447 <xs:extension base=
"xs:long" >
448 <xs:attributeGroup ref=
"tns:commonAttributes" />
453 <xs:element name=
"int" type=
"tns:int" />
454 <xs:complexType name=
"int" >
456 <xs:extension base=
"xs:int" >
457 <xs:attributeGroup ref=
"tns:commonAttributes" />
462 <xs:element name=
"short" type=
"tns:short" />
463 <xs:complexType name=
"short" >
465 <xs:extension base=
"xs:short" >
466 <xs:attributeGroup ref=
"tns:commonAttributes" />
471 <xs:element name=
"byte" type=
"tns:byte" />
472 <xs:complexType name=
"byte" >
474 <xs:extension base=
"xs:byte" >
475 <xs:attributeGroup ref=
"tns:commonAttributes" />
480 <xs:element name=
"nonNegativeInteger" type=
"tns:nonNegativeInteger" />
481 <xs:complexType name=
"nonNegativeInteger" >
483 <xs:extension base=
"xs:nonNegativeInteger" >
484 <xs:attributeGroup ref=
"tns:commonAttributes" />
489 <xs:element name=
"unsignedLong" type=
"tns:unsignedLong" />
490 <xs:complexType name=
"unsignedLong" >
492 <xs:extension base=
"xs:unsignedLong" >
493 <xs:attributeGroup ref=
"tns:commonAttributes" />
498 <xs:element name=
"unsignedInt" type=
"tns:unsignedInt" />
499 <xs:complexType name=
"unsignedInt" >
501 <xs:extension base=
"xs:unsignedInt" >
502 <xs:attributeGroup ref=
"tns:commonAttributes" />
507 <xs:element name=
"unsignedShort" type=
"tns:unsignedShort" />
508 <xs:complexType name=
"unsignedShort" >
510 <xs:extension base=
"xs:unsignedShort" >
511 <xs:attributeGroup ref=
"tns:commonAttributes" />
516 <xs:element name=
"unsignedByte" type=
"tns:unsignedByte" />
517 <xs:complexType name=
"unsignedByte" >
519 <xs:extension base=
"xs:unsignedByte" >
520 <xs:attributeGroup ref=
"tns:commonAttributes" />
525 <xs:element name=
"positiveInteger" type=
"tns:positiveInteger" />
526 <xs:complexType name=
"positiveInteger" >
528 <xs:extension base=
"xs:positiveInteger" >
529 <xs:attributeGroup ref=
"tns:commonAttributes" />
534 <xs:element name=
"anyType" />