JAL-3130 deprecation change preparation
[jalview.git] / j11lib / tmp / jaxws-databinding.xsd
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3
4     DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
5
6     Copyright (c) 2012-2017 Oracle and/or its affiliates. All rights reserved.
7
8     The contents of this file are subject to the terms of either the GNU
9     General Public License Version 2 only ("GPL") or the Common Development
10     and Distribution License("CDDL") (collectively, the "License").  You
11     may not use this file except in compliance with the License.  You can
12     obtain a copy of the License at
13     https://oss.oracle.com/licenses/CDDL+GPL-1.1
14     or LICENSE.txt.  See the License for the specific
15     language governing permissions and limitations under the License.
16
17     When distributing the software, include this License Header Notice in each
18     file and include the License file at LICENSE.txt.
19
20     GPL Classpath Exception:
21     Oracle designates this particular file as subject to the "Classpath"
22     exception as provided by Oracle in the GPL Version 2 section of the License
23     file that accompanied this code.
24
25     Modifications:
26     If applicable, add the following below the License Header, with the fields
27     enclosed by brackets [] replaced by your own identifying information:
28     "Portions Copyright [year] [name of copyright owner]"
29
30     Contributor(s):
31     If you wish your version of this file to be governed by only the CDDL or
32     only the GPL Version 2, indicate your decision by adding "[Contributor]
33     elects to include this software in this distribution under the [CDDL or GPL
34     Version 2] license."  If you don't indicate a single choice of license, a
35     recipient has the option to distribute your version of this file under
36     either the CDDL, the GPL Version 2 or to extend the choice of license to
37     its licensees as provided above.  However, if you add GPL Version 2 code
38     and therefore, elected the GPL Version 2 license, then the option applies
39     only if the new code is made subject to such option by the copyright
40     holder.
41
42 -->
43
44 <!--
45   XML Schema for external mapping metadata for the JAX-WS RI & JSR-181.
46   The data is used to define the attributes of a particular Java Web Service
47   endpoint.
48
49      Corresponding Java annotation: javax.jws.WebParam.Mode
50
51
52  -->
53 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
54            targetNamespace="http://xmlns.oracle.com/webservices/jaxws-databinding"
55            xmlns="http://xmlns.oracle.com/webservices/jaxws-databinding"
56            elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
57
58     <xs:element name="java-wsdl-mapping" type="java-wsdl-mapping-type">
59         <xs:annotation>
60             <xs:documentation>
61                 The top-level element is the Web Service end-point being defined.
62
63                 attributes:
64                 java-type-name: the SEI class these definitions apply to
65                 databinding: the databinding module to use, such as
66                 "glassfish.jaxb", "toplink.jaxb", "toplink.sdo".
67             </xs:documentation>
68         </xs:annotation>
69     </xs:element>
70
71     <xs:complexType name="java-wsdl-mapping-type">
72         <xs:sequence>
73             <xs:element name="xml-schema-mapping" minOccurs="0">
74                 <xs:annotation>
75                     <xs:documentation>
76                         The xml-schema-mapping element points to the
77                         external JAXB annotations for the value types
78                         that occur in an SEI. This mapping element can
79                         either be defined externally and referenced via a
80                         URI, or embedded as an XML fragment within the
81                         current instance end-point definition document.
82                     </xs:documentation>
83                 </xs:annotation>
84                 <xs:complexType>
85                     <xs:sequence>
86                         <xs:any minOccurs="0" maxOccurs="unbounded"/>
87                     </xs:sequence>
88                 </xs:complexType>
89             </xs:element>
90             <xs:group ref="class-annotation" minOccurs="0" maxOccurs="unbounded">
91                 <xs:annotation>
92                     <xs:documentation>
93                         The class-annotation group defines the set of
94                         annotations applicable to the Java class
95                         declaration.
96                     </xs:documentation>
97                 </xs:annotation>
98             </xs:group>
99             <xs:element name="java-methods" minOccurs="0">
100                 <xs:annotation>
101                     <xs:documentation>
102                         Each java method in the SEI may use the external
103                         metadata defined in this schema in addition to or
104                         in lieu of the standard JAX-WS annotations.
105                     </xs:documentation>
106                 </xs:annotation>
107                 <xs:complexType>
108                     <xs:sequence>
109                         <xs:element ref="java-method" minOccurs="0" maxOccurs="unbounded"/>
110                     </xs:sequence>
111                 </xs:complexType>
112             </xs:element>
113         </xs:sequence>
114         <xs:attribute name="name" type="xs:string" use="optional"/>
115         <xs:attribute name="java-type-name" type="xs:string" use="optional"/>
116         <xs:attribute name="existing-annotations" type="existing-annotations-type" use="optional"/>
117         <xs:attribute name="databinding" type="xs:string" use="optional"/>
118         <xs:anyAttribute namespace="##other" processContents="skip"/>
119     </xs:complexType>
120
121     <xs:group name="class-annotation">
122         <xs:annotation>
123             <xs:documentation>
124                 The class-annotation group defines the set of annotations
125                 that may be applied to a class declaration.
126             </xs:documentation>
127         </xs:annotation>
128         <xs:choice>
129             <xs:any namespace="##other" processContents="skip"/>
130             <xs:element ref="web-service" minOccurs="0"/>
131             <xs:element ref="soap-binding" minOccurs="0"/>
132             <xs:element ref="binding-type" minOccurs="0"/>
133             <xs:element ref="mtom" minOccurs="0"/>
134             <xs:element ref="handler-chain" minOccurs="0"/>
135             <xs:element ref="service-mode" minOccurs="0"/>
136             <xs:element ref="web-fault" minOccurs="0"/>
137             <xs:element ref="web-service-client" minOccurs="0"/>
138             <xs:element ref="addressing" minOccurs="0"/>
139         </xs:choice>
140     </xs:group>
141
142     <xs:element name="java-method">
143         <xs:annotation>
144             <xs:documentation>
145                 The java-method element defines a set of annotations that may
146                 be applied to a method and its parameters.
147             </xs:documentation>
148         </xs:annotation>
149
150         <xs:complexType>
151             <xs:sequence>
152                 <xs:group ref="method-annotation" minOccurs="0" maxOccurs="unbounded"/>
153                 <xs:element name="java-params" minOccurs="0">
154                     <xs:annotation>
155                         <xs:documentation>
156                             Each Java parameter may have the annotations
157                             defined by the java-param element.
158                         </xs:documentation>
159                     </xs:annotation>
160                     <xs:complexType>
161                         <xs:sequence>
162                             <xs:element ref="java-param" maxOccurs="unbounded"/>
163                         </xs:sequence>
164                     </xs:complexType>
165                 </xs:element>
166             </xs:sequence>
167             <xs:attribute name="name" type="xs:string" use="required">
168                 <xs:annotation>
169                     <xs:documentation>
170                         The name parameter corresponds to the Java name of
171                         the method to which the annotations apply.
172                     </xs:documentation>
173                 </xs:annotation>
174             </xs:attribute>
175             <xs:anyAttribute namespace="##other" processContents="skip"/>
176         </xs:complexType>
177     </xs:element>
178
179     <xs:group name="method-annotation">
180         <xs:annotation>
181             <xs:documentation>
182                 The method-annotation group defines the set of
183                 annotations applicable to a defined method in the SEI.
184             </xs:documentation>
185         </xs:annotation>
186         <xs:choice>
187             <xs:any namespace="##other" processContents="skip"/>
188             <xs:element ref="web-method" minOccurs="0"/>
189             <xs:element ref="web-result" minOccurs="0"/>
190             <xs:element ref="oneway" minOccurs="0"/>
191             <xs:element ref="soap-binding" minOccurs="0"/>
192             <xs:element ref="action" minOccurs="0"/>
193             <xs:element ref="web-endpoint" minOccurs="0"/>
194         </xs:choice>
195     </xs:group>
196
197     <xs:element name="java-param">
198         <xs:annotation>
199             <xs:documentation>
200                 The java-param element contains the group of JAX-WS parameter
201                 annotations, plus optionally binds a specific Java type
202                 mapping to the parameter. The set of applicable attributes is
203                 not specifically enumerated.
204             </xs:documentation>
205         </xs:annotation>
206         <xs:complexType>
207             <xs:sequence>
208                 <xs:group ref="param-annotation" minOccurs="0" maxOccurs="unbounded"/>
209             </xs:sequence>
210             <xs:attribute name="java-type" type="xs:string" use="optional"/>
211             <xs:anyAttribute namespace="##other" processContents="skip"/>
212         </xs:complexType>
213     </xs:element>
214
215     <xs:group name="param-annotation">
216         <xs:annotation>
217             <xs:documentation>
218                 The param-annotation defines the annotations applied to an
219                 individual parameter. Theses consist of the JAX-WS standard
220                 WebParam plus others to be defined.
221             </xs:documentation>
222         </xs:annotation>
223         <xs:choice>
224             <xs:any namespace="##other" processContents="skip"/>
225             <xs:element ref="web-param" minOccurs="0"/>
226         </xs:choice>
227     </xs:group>
228
229     <xs:simpleType name="web-param-mode">
230         <xs:annotation>
231             <xs:documentation>
232                 Corresponding Java annotation: javax.jws.WebParam.Mode (Enum)
233             </xs:documentation>
234         </xs:annotation>
235         <xs:restriction base="xs:string">
236             <xs:enumeration value="IN"/>
237             <xs:enumeration value="OUT"/>
238             <xs:enumeration value="INOUT"/>
239         </xs:restriction>
240     </xs:simpleType>
241
242     <xs:element name="web-service">
243         <xs:annotation>
244             <xs:documentation>
245                 Corresponding Java annotation: javax.jws.WebService
246                 @Target(value=TYPE)
247             </xs:documentation>
248         </xs:annotation>
249         <xs:complexType>
250             <xs:attribute name="endpoint-interface" type="xs:string" default=""/>
251             <xs:attribute name="name" type="xs:string" default=""/>
252             <xs:attribute name="port-name" type="xs:string" default=""/>
253             <xs:attribute name="service-name" type="xs:string" default=""/>
254             <xs:attribute name="target-namespace" type="xs:string" default=""/>
255             <xs:attribute name="wsdl-location" type="xs:string" default=""/>
256         </xs:complexType>
257     </xs:element>
258
259     <xs:element name="web-param">
260         <xs:annotation>
261             <xs:documentation>
262                 Corresponding Java annotation: javax.jws.WebParam
263                 @Target(value={PARAMETER}
264             </xs:documentation>
265         </xs:annotation>
266         <xs:complexType>
267             <xs:attribute name="header" type="xs:boolean" default="false"/>
268             <xs:attribute name="mode" type="web-param-mode" default="IN"/>
269             <xs:attribute name="name" type="xs:string" default=""/>
270             <xs:attribute name="part-name" type="xs:string" default=""/>
271             <xs:attribute name="target-namespace" type="xs:string" default=""/>
272         </xs:complexType>
273     </xs:element>
274
275     <!--
276        The following elements may be applied to a method:
277        @Target(value={METHOD})
278     -->
279     <xs:element name="oneway">
280         <xs:annotation>
281             <xs:documentation>
282                 Corresponding Java annotation: javax.jws.Oneway
283             </xs:documentation>
284         </xs:annotation>
285         <xs:complexType>
286             <xs:sequence/>
287         </xs:complexType>
288     </xs:element>
289
290     <xs:element name="web-method">
291         <xs:annotation>
292             <xs:documentation>
293                 Corresponding Java annotation: javax.jws.WebMethod
294             </xs:documentation>
295         </xs:annotation>
296         <xs:complexType>
297             <xs:attribute name="action" type="xs:string" default=""/>
298             <xs:attribute name="exclude" type="xs:boolean" default="false"/>
299             <xs:attribute name="operation-name" type="xs:string" default=""/>
300         </xs:complexType>
301     </xs:element>
302
303     <xs:element name="web-result">
304         <xs:annotation>
305             <xs:documentation>
306                 Corresponding Java annotation: javax.jws.WebResult
307             </xs:documentation>
308         </xs:annotation>
309         <xs:complexType>
310             <xs:attribute name="header" type="xs:boolean" default="false"/>
311             <xs:attribute name="name" type="xs:string" default=""/>
312             <xs:attribute name="part-name" type="xs:string" default=""/>
313             <xs:attribute name="target-namespace" type="xs:string" default=""/>
314         </xs:complexType>
315     </xs:element>
316
317
318     <!--
319         The following types correspond to JAX-WS Enums
320     -->
321     <xs:simpleType name="soap-binding-style">
322         <xs:annotation>
323             <xs:documentation>
324                 Corresponding Java annotation: javax.jws.soap.SOAPBinding.Style
325             </xs:documentation>
326         </xs:annotation>
327         <xs:restriction base="xs:string">
328             <xs:enumeration value="DOCUMENT"/>
329             <xs:enumeration value="RPC"/>
330         </xs:restriction>
331     </xs:simpleType>
332
333     <xs:simpleType name="soap-binding-use">
334         <xs:annotation>
335             <xs:documentation>
336                 Corresponding Java annotation: javax.jws.soap.SOAPBinding.Use
337             </xs:documentation>
338         </xs:annotation>
339         <xs:restriction base="xs:string">
340             <xs:enumeration value="LITERAL"/>
341             <xs:enumeration value="ENCODED"/>
342         </xs:restriction>
343     </xs:simpleType>
344
345     <xs:simpleType name="soap-binding-parameter-style">
346         <xs:annotation>
347             <xs:documentation>
348                 Corresponding Java annotation:
349                 javax.jws.soap.SOAPBinding.ParameterStyle
350             </xs:documentation>
351         </xs:annotation>
352         <xs:restriction base="xs:string">
353             <xs:enumeration value="BARE"/>
354             <xs:enumeration value="WRAPPED"/>
355         </xs:restriction>
356     </xs:simpleType>
357
358     <!--
359         The following apply to types and in some cases methods.
360      -->
361     <xs:element name="soap-binding">
362         <xs:annotation>
363             <xs:documentation>
364                 Corresponding Java annotation: javax.jws.soap.SOAPBinding
365             </xs:documentation>
366         </xs:annotation>
367         <xs:complexType>
368             <xs:attribute name="style" type="soap-binding-style" default="DOCUMENT"/>
369             <xs:attribute name="use" type="soap-binding-use" default="LITERAL"/>
370             <xs:attribute name="parameter-style" type="soap-binding-parameter-style" default="WRAPPED"/>
371         </xs:complexType>
372     </xs:element>
373
374     <xs:element name="binding-type">
375         <xs:annotation>
376             <xs:documentation>
377                 Corresponding Java annotation: javax.xml.ws.BindingType
378             </xs:documentation>
379         </xs:annotation>
380         <xs:complexType>
381             <xs:attribute name="value" type="xs:string" default=""/>
382         </xs:complexType>
383     </xs:element>
384
385     <xs:element name="request-wrapper">
386         <xs:annotation>
387             <xs:documentation>
388                 Corresponding Java annotation: javax.xml.ws.RequestWrapper
389             </xs:documentation>
390         </xs:annotation>
391         <xs:complexType>
392             <xs:attribute name="local-name" type="xs:string" default=""/>
393             <xs:attribute name="target-namespace" type="xs:string" default=""/>
394             <xs:attribute name="class-name" type="xs:string" default=""/>
395             <xs:attribute name="part-name" type="xs:string" default=""/>
396         </xs:complexType>
397     </xs:element>
398
399     <xs:element name="response-wrapper">
400         <xs:annotation>
401             <xs:documentation>
402                 Corresponding Java annotation: javax.xml.ws.ResponseWrapper
403             </xs:documentation>
404         </xs:annotation>
405         <xs:complexType>
406             <xs:attribute name="local-name" type="xs:string" default=""/>
407             <xs:attribute name="target-namespace" type="xs:string" default=""/>
408             <xs:attribute name="class-name" type="xs:string" default=""/>
409             <xs:attribute name="part-name" type="xs:string" default=""/>
410         </xs:complexType>
411     </xs:element>
412
413     <xs:element name="action">
414         <xs:annotation>
415             <xs:documentation>
416                 Corresponding Java annotation: javax.xml.ws.Action
417             </xs:documentation>
418         </xs:annotation>
419         <xs:complexType>
420             <xs:sequence>
421                 <xs:element ref="fault-action" minOccurs="0" maxOccurs="unbounded"/>
422             </xs:sequence>
423             <xs:attribute name="input" type="xs:string" default=""/>
424             <xs:attribute name="output" type="xs:string" default=""/>
425         </xs:complexType>
426     </xs:element>
427
428     <xs:element name="fault-action">
429         <xs:annotation>
430             <xs:documentation>
431                 Corresponding Java annotation: javax.xml.ws.FaultAction
432             </xs:documentation>
433         </xs:annotation>
434         <xs:complexType>
435             <xs:attribute name="className" type="xs:string" use="required"/>
436             <xs:attribute name="value" type="xs:string" default=""/>
437         </xs:complexType>
438     </xs:element>
439
440     <xs:element name="mtom">
441         <xs:annotation>
442             <xs:documentation>
443                 Corresponding Java annotation: javax.xml.ws.soap.MTOM
444             </xs:documentation>
445         </xs:annotation>
446         <xs:complexType>
447             <xs:attribute name="enabled" type="xs:boolean" default="true"/>
448             <xs:attribute name="threshold" type="xs:int" default="0"/>
449         </xs:complexType>
450     </xs:element>
451
452
453     <xs:element name="handler-chain">
454         <xs:annotation>
455             <xs:documentation>
456                 Corresponding Java annotation: javax.jws.HandlerChain
457             </xs:documentation>
458         </xs:annotation>
459         <xs:complexType>
460             <xs:attribute name="file" type="xs:string"/>
461             <!--deprecated: -->
462             <!--<xs:attribute name="name" type="xs:string" default=""/>-->
463         </xs:complexType>
464     </xs:element>
465
466     <xs:element name="service-mode">
467         <xs:annotation>
468             <xs:documentation>
469                 Corresponding Java annotation: javax.xml.ws.ServiceMode
470             </xs:documentation>
471         </xs:annotation>
472         <xs:complexType>
473             <xs:attribute name="value" type="xs:string" default="PAYLOAD"/>
474         </xs:complexType>
475     </xs:element>
476
477     <xs:element name="web-endpoint">
478         <xs:annotation>
479             <xs:documentation>
480                 Corresponding Java annotation: javax.xml.ws.WebEndpoint
481             </xs:documentation>
482         </xs:annotation>
483         <xs:complexType>
484             <xs:attribute name="name" type="xs:string"/>
485         </xs:complexType>
486     </xs:element>
487
488     <xs:element name="web-fault">
489         <xs:annotation>
490             <xs:documentation>
491                 Corresponding Java annotation: javax.xml.ws.WebFault
492             </xs:documentation>
493         </xs:annotation>
494         <xs:complexType>
495             <xs:attribute name="name" type="xs:string"/>
496             <xs:attribute name="targetNamespace" type="xs:string"/>
497             <xs:attribute name="faultBean" type="xs:string"/>
498             <xs:attribute name="messageName" type="xs:string"/>
499         </xs:complexType>
500     </xs:element>
501
502     <xs:element name="web-service-client">
503         <xs:annotation>
504             <xs:documentation>
505                 Corresponding Java annotation: javax.xml.ws.WebServiceClient
506             </xs:documentation>
507         </xs:annotation>
508         <xs:complexType>
509             <xs:attribute name="name" type="xs:string"/>
510             <xs:attribute name="targetNamespace" type="xs:string"/>
511             <xs:attribute name="wsdlLocation" type="xs:string"/>
512         </xs:complexType>
513     </xs:element>
514
515     <xs:element name="web-service-provider">
516         <xs:annotation>
517             <xs:documentation>
518                 Corresponding Java annotation: javax.xml.ws.WebServiceProvider
519             </xs:documentation>
520         </xs:annotation>
521         <xs:complexType>
522             <xs:attribute name="targetNamespace" type="xs:string"/>
523             <xs:attribute name="serviceName" type="xs:string"/>
524             <xs:attribute name="portName" type="xs:string"/>
525             <xs:attribute name="wsdlLocation" type="xs:string"/>
526         </xs:complexType>
527     </xs:element>
528
529     <xs:element name="web-service-ref">
530         <xs:annotation>
531             <xs:documentation>
532                 Corresponding Java annotation: javax.xml.ws.WebServiceRef
533             </xs:documentation>
534         </xs:annotation>
535         <xs:complexType>
536             <xs:attribute name="name" type="xs:string"/>
537             <xs:attribute name="type" type="xs:string"/>
538             <xs:attribute name="mappedName" type="xs:string"/>
539             <xs:attribute name="value" type="xs:string"/>
540             <xs:attribute name="wsdlLocation" type="xs:string"/>
541             <xs:attribute name="lookup" type="xs:string"/>
542         </xs:complexType>
543     </xs:element>
544
545     <xs:element name="addressing">
546         <xs:annotation>
547             <xs:documentation>Corresponding Java annotation: javax.xml.ws.soap.Addressing</xs:documentation>
548         </xs:annotation>
549         <xs:complexType>
550             <xs:attribute name="enabled" type="xs:boolean" default="true"/>
551             <xs:attribute name="required" type="xs:boolean" default="false"/>
552         </xs:complexType>
553     </xs:element>
554
555     <xs:simpleType name="existing-annotations-type">
556         <xs:restriction base="xs:string">
557             <xs:enumeration value="merge"/>
558             <xs:enumeration value="ignore"/>
559         </xs:restriction>
560     </xs:simpleType>
561 </xs:schema>