-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathwsdl20.xsd
418 lines (383 loc) · 16.8 KB
/
wsdl20.xsd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE xs:schema PUBLIC "-//W3C//DTD XMLSCHEMA 200102//EN" "http://www.w3.org/2001/XMLSchema.dtd">
<!--
W3C XML Schema defined in the Web Services Description (WSDL)
Version 2.0 specification
http://www.w3.org/TR/wsdl20
Copyright © 2005 World Wide Web Consortium,
(Massachusetts Institute of Technology, European Research Consortium for
Informatics and Mathematics, Keio University). All Rights Reserved. This
work is distributed under the W3C® Software License [1] in the hope that
it will be useful, but WITHOUT ANY WARRANTY; without even the implied
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
$Id: wsdl20.xsd,v 1.1 2006/01/04 20:23:24 plehegar Exp $
-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://www.w3.org/2006/01/wsdl" targetNamespace="http://www.w3.org/2006/01/wsdl" elementFormDefault="qualified" finalDefault="" blockDefault="" attributeFormDefault="unqualified">
<xs:element name="documentation" type="wsdl:DocumentationType"/>
<xs:complexType name="DocumentationType" mixed="true">
<xs:sequence>
<xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded" namespace="##any"/>
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType>
<xs:complexType name="DocumentedType" mixed="false">
<xs:annotation>
<xs:documentation>
This type is extended by component types to allow them to be documented.
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element ref="wsdl:documentation" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ExtensibleDocumentedType" abstract="true" mixed="false">
<xs:annotation>
<xs:documentation>
This type is extended by component types to allow
attributes from other namespaces to be added.
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="wsdl:DocumentedType">
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- description element decl and type def -->
<xs:element name="description" type="wsdl:DescriptionType">
<xs:unique name="interface">
<xs:selector xpath="wsdl:interface"/>
<xs:field xpath="@name"/>
</xs:unique>
<xs:unique name="binding">
<xs:selector xpath="wsdl:binding"/>
<xs:field xpath="@name"/>
</xs:unique>
<xs:unique name="service">
<xs:selector xpath="wsdl:service"/>
<xs:field xpath="@name"/>
</xs:unique>
</xs:element>
<xs:complexType name="DescriptionType" mixed="false">
<xs:annotation>
<xs:documentation>
Although correct, this type declaration does not capture
all the constraints on the contents of the wsdl:description
element as defined by the WSDL 2.0 specification.
In particular, the ordering constraints wrt elements preceding
and following the wsdl:types child element are not captured, as
attempts to incorporate such restrictions in the schema
ran afoul of the UPA (Unique Particle Attribution) rule
in the XML Schema language.
Please refer to the WSDL 2.0 specification for
additional information on the contents of this type.
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="wsdl:ExtensibleDocumentedType">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="wsdl:import"/>
<xs:element ref="wsdl:include"/>
<xs:element ref="wsdl:types"/>
<xs:element ref="wsdl:interface"/>
<xs:element ref="wsdl:binding"/>
<xs:element ref="wsdl:service"/>
<xs:any namespace="##other" processContents="lax" minOccurs="1" maxOccurs="1"/>
</xs:choice>
<xs:attribute name="targetNamespace" type="xs:anyURI" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- types for import and include elements -->
<xs:element name="import" type="wsdl:ImportType"/>
<xs:complexType name="ImportType" mixed="false">
<xs:complexContent>
<xs:extension base="wsdl:ExtensibleDocumentedType">
<xs:sequence>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded" processContents="strict"/>
</xs:sequence>
<xs:attribute name="namespace" type="xs:anyURI" use="required"/>
<xs:attribute name="location" type="xs:anyURI" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="include" type="wsdl:IncludeType"/>
<xs:complexType name="IncludeType" mixed="false">
<xs:complexContent>
<xs:extension base="wsdl:ExtensibleDocumentedType">
<xs:sequence>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded" processContents="strict"/>
</xs:sequence>
<xs:attribute name="location" type="xs:anyURI" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="types" type="wsdl:TypesType"/>
<xs:complexType name="TypesType" mixed="false">
<xs:complexContent>
<xs:extension base="wsdl:ExtensibleDocumentedType">
<xs:sequence>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded" processContents="strict"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- parts related to wsdl:interface -->
<xs:element name="interface" type="wsdl:InterfaceType">
<xs:unique name="operation">
<xs:selector xpath="wsdl:operation"/>
<xs:field xpath="@name"/>
</xs:unique>
<xs:unique name="fault">
<xs:selector xpath="wsdl:fault"/>
<xs:field xpath="@name"/>
</xs:unique>
</xs:element>
<xs:complexType name="InterfaceType" mixed="false">
<xs:complexContent>
<xs:extension base="wsdl:ExtensibleDocumentedType">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="operation" type="wsdl:InterfaceOperationType"/>
<xs:element name="fault" type="wsdl:InterfaceFaultType"/>
<xs:element ref="wsdl:feature"/>
<xs:element ref="wsdl:property"/>
<xs:any namespace="##other" processContents="lax" minOccurs="1" maxOccurs="1"/>
</xs:choice>
<xs:attribute name="name" type="xs:NCName" use="required"/>
<xs:attribute name="extends" use="optional">
<xs:simpleType>
<xs:list itemType="xs:QName"/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="styleDefault" use="optional">
<xs:simpleType>
<xs:list itemType="xs:anyURI"/>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="InterfaceOperationType" mixed="false">
<xs:complexContent>
<xs:extension base="wsdl:ExtensibleDocumentedType">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="input" type="wsdl:MessageRefType"/>
<xs:element name="output" type="wsdl:MessageRefType"/>
<xs:element name="infault" type="wsdl:MessageRefFaultType"/>
<xs:element name="outfault" type="wsdl:MessageRefFaultType"/>
<xs:element ref="wsdl:feature"/>
<xs:element ref="wsdl:property"/>
<xs:any namespace="##other" processContents="lax" minOccurs="1" maxOccurs="1"/>
</xs:choice>
<xs:attribute name="name" type="xs:NCName" use="required"/>
<xs:attribute name="pattern" type="xs:anyURI" use="required"/>
<xs:attribute name="safe" type="xs:boolean" use="optional"/>
<xs:attribute name="style" type="xs:anyURI" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="MessageRefType" mixed="false">
<xs:complexContent>
<xs:extension base="wsdl:ExtensibleDocumentedType">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="wsdl:feature"/>
<xs:element ref="wsdl:property"/>
<xs:any namespace="##other" processContents="lax" minOccurs="1" maxOccurs="1"/>
</xs:choice>
<xs:attribute name="messageLabel" type="xs:NCName" use="optional"/>
<xs:attribute name="element" type="wsdl:ElementReferenceType" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:simpleType name="ElementReferenceType">
<xs:annotation>
<xs:documentation>
Use the QName of a GED that describes the content,
#any for any content,
#none for empty content, or
#other for content described by some other extension attribute that references a declaration in a non-XML extension type system.
</xs:documentation>
</xs:annotation>
<xs:union memberTypes="xs:QName">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="#any"/>
<xs:enumeration value="#none"/>
<xs:enumeration value="#other"/>
</xs:restriction>
</xs:simpleType>
</xs:union>
</xs:simpleType>
<xs:complexType name="MessageRefFaultType" mixed="false">
<xs:complexContent>
<xs:extension base="wsdl:ExtensibleDocumentedType">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="wsdl:feature"/>
<xs:element ref="wsdl:property"/>
<xs:any namespace="##other" processContents="lax" minOccurs="1" maxOccurs="1"/>
</xs:choice>
<xs:attribute name="ref" type="xs:QName" use="required"/>
<xs:attribute name="messageLabel" type="xs:NCName" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="InterfaceFaultType" mixed="false">
<xs:complexContent>
<xs:extension base="wsdl:ExtensibleDocumentedType">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="wsdl:feature"/>
<xs:element ref="wsdl:property"/>
<xs:any namespace="##other" processContents="lax" minOccurs="1" maxOccurs="1"/>
</xs:choice>
<xs:attribute name="name" type="xs:NCName" use="required"/>
<xs:attribute name="element" type="xs:QName" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="feature" type="wsdl:FeatureType"/>
<xs:complexType name="FeatureType" mixed="false">
<xs:complexContent>
<xs:extension base="wsdl:ExtensibleDocumentedType">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:any namespace="##other" processContents="lax" minOccurs="1" maxOccurs="1"/>
</xs:choice>
<xs:attribute name="ref" type="xs:anyURI" use="required"/>
<xs:attribute name="required" type="xs:boolean" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="property" type="wsdl:PropertyType"/>
<xs:complexType name="PropertyType" mixed="false">
<xs:complexContent>
<xs:extension base="wsdl:ExtensibleDocumentedType">
<xs:sequence>
<xs:choice minOccurs="0">
<xs:element name="value" type="xs:anyType"/>
<xs:element name="constraint" type="xs:QName"/>
</xs:choice>
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="ref" type="xs:anyURI" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- types related to wsdl:binding -->
<xs:element name="binding" type="wsdl:BindingType"/>
<xs:complexType name="BindingType" mixed="false">
<xs:complexContent>
<xs:extension base="wsdl:ExtensibleDocumentedType">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="operation" type="wsdl:BindingOperationType"/>
<xs:element name="fault" type="wsdl:BindingFaultType"/>
<xs:element ref="wsdl:feature"/>
<xs:element ref="wsdl:property"/>
<xs:any namespace="##other" processContents="lax" minOccurs="1" maxOccurs="1"/>
</xs:choice>
<xs:attribute name="name" type="xs:NCName" use="required"/>
<xs:attribute name="type" type="xs:anyURI" use="required"/>
<xs:attribute name="interface" type="xs:QName" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="BindingOperationType" mixed="false">
<xs:complexContent>
<xs:extension base="wsdl:ExtensibleDocumentedType">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="input" type="wsdl:BindingOperationMessageType"/>
<xs:element name="output" type="wsdl:BindingOperationMessageType"/>
<xs:element name="infault" type="wsdl:BindingOperationFaultType"/>
<xs:element name="outfault" type="wsdl:BindingOperationFaultType"/>
<xs:element ref="wsdl:feature"/>
<xs:element ref="wsdl:property"/>
<xs:any namespace="##other" processContents="lax" minOccurs="1" maxOccurs="1"/>
</xs:choice>
<xs:attribute name="ref" type="xs:QName" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="BindingOperationMessageType" mixed="false">
<xs:complexContent>
<xs:extension base="wsdl:ExtensibleDocumentedType">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="wsdl:feature"/>
<xs:element ref="wsdl:property"/>
<xs:any namespace="##other" processContents="lax" minOccurs="1" maxOccurs="1"/>
</xs:choice>
<xs:attribute name="messageLabel" type="xs:NCName" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="BindingOperationFaultType" mixed="false">
<xs:complexContent>
<xs:extension base="wsdl:ExtensibleDocumentedType">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="wsdl:feature"/>
<xs:element ref="wsdl:property"/>
<xs:any namespace="##other" processContents="lax" minOccurs="1" maxOccurs="1"/>
</xs:choice>
<xs:attribute name="ref" type="xs:QName" use="required"/>
<xs:attribute name="messageLabel" type="xs:NCName" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="BindingFaultType" mixed="false">
<xs:complexContent>
<xs:extension base="wsdl:ExtensibleDocumentedType">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="wsdl:feature"/>
<xs:element ref="wsdl:property"/>
<xs:any namespace="##other" processContents="lax" minOccurs="1" maxOccurs="1"/>
</xs:choice>
<xs:attribute name="ref" type="xs:QName" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- types related to service -->
<xs:element name="service" type="wsdl:ServiceType">
<xs:unique name="endpoint">
<xs:selector xpath="wsdl:endpoint"/>
<xs:field xpath="@name"/>
</xs:unique>
</xs:element>
<xs:complexType name="ServiceType" mixed="false">
<xs:complexContent>
<xs:extension base="wsdl:ExtensibleDocumentedType">
<xs:choice minOccurs="1" maxOccurs="unbounded">
<xs:element ref="wsdl:endpoint"/>
<xs:element ref="wsdl:feature"/>
<xs:element ref="wsdl:property"/>
<xs:any namespace="##other" processContents="lax" minOccurs="1" maxOccurs="1"/>
</xs:choice>
<xs:attribute name="name" type="xs:NCName" use="required"/>
<xs:attribute name="interface" type="xs:QName" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="endpoint" type="wsdl:EndpointType"/>
<xs:complexType name="EndpointType" mixed="false">
<xs:complexContent>
<xs:extension base="wsdl:ExtensibleDocumentedType">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="wsdl:feature"/>
<xs:element ref="wsdl:property"/>
<xs:any namespace="##other" processContents="lax" minOccurs="1" maxOccurs="1"/>
</xs:choice>
<xs:attribute name="name" type="xs:NCName" use="required"/>
<xs:attribute name="binding" type="xs:QName" use="required"/>
<xs:attribute name="address" type="xs:anyURI" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:attribute name="required" type="xs:boolean"/>
<xs:complexType name="ExtensibilityElement" abstract="true" mixed="false">
<xs:annotation>
<xs:documentation>
This abstract type is intended to serve as the base type for
extensibility elements. It includes the wsdl:required attribute
which it is anticipated will be used by most extension elements
</xs:documentation>
</xs:annotation>
<xs:attribute ref="wsdl:required" use="optional"/>
</xs:complexType>
</xs:schema>