1 <schema xmlns="http://www.w3.org/2001/XMLSchema"
2 xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
3 targetNamespace="http://schemas.xmlsoap.org/wsdl/"
4 elementFormDefault="qualified">
5 <element name="documentation">
6 <complexType mixed="true">
7 <choice minOccurs="0" maxOccurs="unbounded">
8 <any minOccurs="0" maxOccurs="unbounded"/>
13 <complexType name="documented" abstract="true">
15 <element ref="wsdl:documentation" minOccurs="0"/>
18 <complexType name="openAtts" abstract="true">
21 This type is extended by component types
22 to allow attributes from other namespaces to be added.
26 <element ref="wsdl:documentation" minOccurs="0"/>
28 <anyAttribute namespace="##other"/>
30 <element name="definitions" type="wsdl:definitionsType">
32 <selector xpath="message"/>
33 <field xpath="@name"/>
36 <selector xpath="portType"/>
37 <field xpath="@name"/>
40 <selector xpath="binding"/>
41 <field xpath="@name"/>
44 <selector xpath="service"/>
45 <field xpath="@name"/>
48 <selector xpath="import"/>
49 <field xpath="@namespace"/>
52 <selector xpath="service/port"/>
53 <field xpath="@name"/>
56 <complexType name="definitionsType">
58 <extension base="wsdl:documented">
60 <element ref="wsdl:import" minOccurs="0" maxOccurs="unbounded"/>
61 <element ref="wsdl:types" minOccurs="0"/>
62 <element ref="wsdl:message" minOccurs="0" maxOccurs="unbounded"/>
63 <element ref="wsdl:portType" minOccurs="0" maxOccurs="unbounded"/>
64 <element ref="wsdl:binding" minOccurs="0" maxOccurs="unbounded"/>
65 <element ref="wsdl:service" minOccurs="0" maxOccurs="unbounded"/>
66 <any namespace="##other" minOccurs="0" maxOccurs="unbounded">
68 <documentation>to support extensibility elements </documentation>
72 <attribute name="targetNamespace" type="uriReference" use="optional"/>
73 <attribute name="name" type="NMTOKEN" use="optional"/>
77 <element name="import" type="wsdl:importType"/>
78 <complexType name="importType">
80 <extension base="wsdl:documented">
81 <attribute name="namespace" type="uriReference" use="required"/>
82 <attribute name="location" type="uriReference" use="required"/>
86 <element name="types" type="wsdl:typesType"/>
87 <complexType name="typesType">
89 <extension base="wsdl:documented">
91 <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
96 <element name="message" type="wsdl:messageType">
98 <selector xpath="part"/>
99 <field xpath="@name"/>
102 <complexType name="messageType">
104 <extension base="wsdl:documented">
106 <element ref="wsdl:part" minOccurs="0" maxOccurs="unbounded"/>
108 <attribute name="name" type="NCName" use="required"/>
112 <element name="part" type="wsdl:partType"/>
113 <complexType name="partType">
115 <extension base="wsdl:openAtts">
116 <attribute name="name" type="NMTOKEN" use="optional"/>
117 <attribute name="type" type="QName" use="optional"/>
118 <attribute name="element" type="QName" use="optional"/>
122 <element name="portType" type="wsdl:portTypeType"/>
123 <complexType name="portTypeType">
125 <extension base="wsdl:documented">
127 <element ref="wsdl:operation" minOccurs="0" maxOccurs="unbounded"/>
129 <attribute name="name" type="NCName" use="required"/>
133 <element name="operation" type="wsdl:operationType"/>
134 <complexType name="operationType">
136 <extension base="wsdl:documented">
138 <group ref="wsdl:one-way-operation"/>
139 <group ref="wsdl:request-response-operation"/>
140 <group ref="wsdl:solicit-response-operation"/>
141 <group ref="wsdl:notification-operation"/>
143 <attribute name="name" type="NCName" use="required"/>
147 <group name="one-way-operation">
149 <element ref="wsdl:input"/>
152 <group name="request-response-operation">
154 <element ref="wsdl:input"/>
155 <element ref="wsdl:output"/>
156 <element ref="wsdl:fault" minOccurs="0" maxOccurs="unbounded"/>
159 <group name="solicit-response-operation">
161 <element ref="wsdl:output"/>
162 <element ref="wsdl:input"/>
163 <element ref="wsdl:fault" minOccurs="0" maxOccurs="unbounded"/>
166 <group name="notification-operation">
168 <element ref="wsdl:output"/>
171 <element name="input" type="wsdl:paramType"/>
172 <element name="output" type="wsdl:paramType"/>
173 <element name="fault" type="wsdl:faultType"/>
174 <complexType name="paramType">
176 <extension base="wsdl:documented">
177 <attribute name="name" type="NMTOKEN" use="optional"/>
178 <attribute name="message" type="QName" use="required"/>
182 <complexType name="faultType">
184 <extension base="wsdl:documented">
185 <attribute name="name" type="NMTOKEN" use="required"/>
186 <attribute name="message" type="QName" use="required"/>
190 <complexType name="startWithExtensionsType" abstract="true">
192 <extension base="wsdl:documented">
194 <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
199 <element name="binding" type="wsdl:bindingType"/>
200 <complexType name="bindingType">
202 <extension base="wsdl:startWithExtensionsType">
204 <element name="operation" type="wsdl:binding_operationType" minOccurs="0" maxOccurs="unbounded"/>
206 <attribute name="name" type="NCName" use="required"/>
207 <attribute name="type" type="QName" use="required"/>
211 <complexType name="binding_operationType">
213 <extension base="wsdl:startWithExtensionsType">
215 <element name="input" type="wsdl:startWithExtensionsType" minOccurs="0"/>
216 <element name="output" type="wsdl:startWithExtensionsType" minOccurs="0"/>
217 <element name="fault" minOccurs="0" maxOccurs="unbounded">
220 <extension base="wsdl:startWithExtensionsType">
221 <attribute name="name" type="NMTOKEN" use="required"/>
227 <attribute name="name" type="NCName" use="required"/>
231 <element name="service" type="wsdl:serviceType"/>
232 <complexType name="serviceType">
234 <extension base="wsdl:documented">
236 <element ref="wsdl:port" minOccurs="0" maxOccurs="unbounded"/>
237 <any namespace="##other" minOccurs="0"/>
239 <attribute name="name" type="NCName" use="required"/>
243 <element name="port" type="wsdl:portType"/>
244 <complexType name="portType">
246 <extension base="wsdl:documented">
248 <any namespace="##other" minOccurs="0"/>
250 <attribute name="name" type="NCName" use="required"/>
251 <attribute name="binding" type="QName" use="required"/>
255 <attribute name="arrayType" type="string"/>