| <?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 © 2007 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.4 2008/03/31 19:12:51 plehegar Exp $ |
| --> |
| <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://www.w3.org/ns/wsdl" targetNamespace="http://www.w3.org/ns/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: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: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="optional"/> |
| <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: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: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: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="wsdl:ElementReferenceType" use="optional"/> |
| </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: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: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: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: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: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: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: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="ExtensionElement" abstract="true" mixed="false"> |
| <xs:annotation> |
| <xs:documentation> |
| This abstract type is intended to serve as the base type for |
| extension 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> |