- From: Arthur Ryman <ryman@ca.ibm.com>
- Date: Tue, 5 Jul 2005 15:50:32 -0400
- To: "Jonathan Marsh" <jmarsh@microsoft.com>
- Cc: Lawrence Mandel <lmandel@ca.ibm.com>, www-ws-desc@w3.org, www-ws-desc-request@w3.org
- Message-ID: <OFFF6C7285.0DEAD151-ON85257035.006B5FC8-85257035.006CFD50@ca.ibm.com>
Lawrence/Jonathan, The technical problem is that extension elements are allowed anywhere and if you describe that using choice then the resulting schema is non-deterministic, which is apparently a very bad thing. The resolution of this issue was to leave the schema as it is and add rules to the validator. (more coding for Woden) Arthur Ryman, Rational Desktop Tools Development phone: +1-905-413-3077, TL 969-3077 assistant: +1-905-413-2411, TL 969-2411 fax: +1-905-413-4920, TL 969-4920 mobile: +1-416-939-5063, text: 4169395063@fido.ca intranet: http://labweb.torolab.ibm.com/DRY6/ "Jonathan Marsh" <jmarsh@microsoft.com> Sent by: www-ws-desc-request@w3.org 07/05/2005 03:20 PM To Lawrence Mandel/Toronto/IBM@IBMCA, <www-ws-desc@w3.org> cc Subject RE: WSDL 2.0 element order enforcement in schema 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:50:36 UTC