- From: Lawrence Mandel <lmandel@ca.ibm.com>
- Date: Tue, 5 Jul 2005 12:09:32 -0400
- To: www-ws-desc@w3.org
- Message-ID: <OFD0AB379E.8CF698B6-ON85257035.0055FE0C-85257035.0058C4E6@ca.ibm.com>
While looking at the WSDL 2.0 schema today I came across a question about the ordering of elements in a WSDL 2.0 document. Section 2.1.2 of the WSDL 2.0 spec defines the following XML representation of WSDL 2.0, <description targetNamespace="xs:anyURI" > <documentation />* [ <import /> | <include /> ]* <types />? [ <interface /> | <binding /> | <service /> ]* </description> This definition imposes ordering constraints on the elements in the WSDL 2.0 document. The WSDL 2.0 schema does not currently enforce this ordering. The description type is defined as follows, <xs:complexType name='DescriptionType' > <xs:annotation> <xs:documentation> Please refer to the WSDL 2.0 specification for additional constraints 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' /> </xs:choice> <xs:attribute name='targetNamespace' type='xs:anyURI' use='required' /> </xs:extension> </xs:complexContent> </xs:complexType> The schema can be updated as follows to enforce the ordering outlined in the spec. <xs:complexType name='DescriptionType' > <xs:annotation> <xs:documentation> Please refer to the WSDL 2.0 specification for additional constraints on the contents of this type. </xs:documentation> </xs:annotation> <xs:complexContent> <xs:extension base='wsdl:ExtensibleDocumentedType' > <xs:sequence> <xs:choice minOccurs='0' maxOccurs='unbounded' > <xs:element ref='wsdl:import' /> <xs:element ref='wsdl:include' /> </xs:choice> <xs:element ref='wsdl:types' minOccurs="0" maxOccurs="1"/> <xs:choice minOccurs='0' maxOccurs='unbounded' > <xs:element ref='wsdl:interface' /> <xs:element ref='wsdl:binding' /> <xs:element ref='wsdl:service' /> <xs:any namespace='##other' processContents='lax' /> </xs:choice> </xs:sequence> <xs:attribute name='targetNamespace' type='xs:anyURI' use= 'required' /> </xs:extension> </xs:complexContent> </xs:complexType> Is the omission of ordering constraints from the schema intentional? Can someone update the schema to enforce section 2.1.2 of the spec? Thanks, Lawrence Mandel Software Developer IBM Rational Software Phone: 905 - 413 - 3814 Fax: 905 - 413 - 4920 lmandel@ca.ibm.com
Received on Tuesday, 5 July 2005 16:09:36 UTC