- From: Jonathan Marsh <jmarsh@microsoft.com>
- Date: Tue, 5 Jul 2005 12:20:52 -0700
- To: "Lawrence Mandel" <lmandel@ca.ibm.com>, <www-ws-desc@w3.org>
- Message-ID: <7DA77BF2392448449D094BCEF67569A5081B0031@RED-MSG-30.redmond.corp.microsoft.com>
Your schema appears to limit extension elements to post-import/include/types, right? We looked at that before and found it unacceptable. We have looked at several different ways to describe the order of top-level elements in Schema several times, including using substitution groups, but we've never found a solution that didn't impose other restrictions. ________________________________ From: www-ws-desc-request@w3.org [mailto:www-ws-desc-request@w3.org] On Behalf Of Lawrence Mandel Sent: Tuesday, July 05, 2005 9:10 AM To: www-ws-desc@w3.org Subject: WSDL 2.0 element order enforcement in schema 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 19:21:32 UTC