- 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