- From: Asir Vedamuthu <asirv@webmethods.com>
- Date: Mon, 10 Jan 2005 12:57:35 -0800
- To: 'Arthur Ryman' <ryman@ca.ibm.com>, Asir Vedamuthu <asirv@webmethods.com>
- Cc: public-ws-desc-comments@w3.org, Vlad Klicnik <klicnik@ca.ibm.com>
- Message-ID: <5B10E50E14A4594EB1B5566B69AD9407068E697B@maileast>
Arthur,
> The above grammar is deterministic and enforces the ordering
> constraint expressed in the spec using XSD constructs
Yes, it is deterministic. Yes, it enforces the ordering constraints. But, at
a cost (at a glance):
(a) rules out extensibility elements
(b) types element is required if either include or import element is present
(c) .. so on
> I am in favour of expressing as many as possible constraints in XSD
I agree with you, whenever feasible.
Asir
-----Original Message-----
From: public-ws-desc-comments-request@w3.org
[mailto:public-ws-desc-comments-request@w3.org] On Behalf Of Arthur Ryman
Sent: Monday, January 10, 2005 9:34 AM
To: Asir Vedamuthu
Cc: public-ws-desc-comments@w3.org; Vlad Klicnik
Subject: RE: The WSDL 2.0 XSD for Root Element is Too Loose
Asir,
I agree that the given schema is non-deterministic, but it is easy to define
a deterministic content model by using a <choice> and having the following 3
deterministic cases:
1. (include | import)+, types, (interface | binding | service)?
2. types, (interface | binding | service)?,
3. (interface | binding | service)?
The above grammar is deterministic and enforces the ordering constraint
expressed in the spec using XSD constructs.
As a general principle, I am in favour of expressing as many as possible
constraints in XSD, provided that it does not overly complicate the schema.
I request that this suggestion be given further consideration. Thx.
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/
Asir Vedamuthu <asirv@webmethods.com>
01/10/2005 09:06 AM
To
Arthur Ryman/Toronto/IBM@IBMCA, public-ws-desc-comments@w3.org
cc
Vlad Klicnik/Toronto/IBM@IBMCA
Subject
RE: The WSDL 2.0 XSD for Root Element is Too Loose
Arthur,
Your suggested XML schema complex type 'DefinitionsType' is invalid.
Because, its content model is non-deterministic. Lots of info on
non-deterministic content model related questions can be found at
<http://lists.w3.org/Archives/Public/xmlschema-dev/>
http://lists.w3.org/Archives/Public/xmlschema-dev/
My recollection is .., it is just for this reason why the content model of
definitions or descriptions is loose, see pre-last call issue 139
<http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/issues/wsd-issues.html#x13
9>
http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/issues/wsd-issues.html#x139
This is a non-issue, right?
Regards,
Asir
-----Original Message-----
From: public-ws-desc-comments-request@w3.org
[mailto:public-ws-desc-comments-request@w3.org] On Behalf Of Arthur Ryman
Sent: Sunday, January 09, 2005 4:12 PM
To: public-ws-desc-comments@w3.org
Cc: Vlad Klicnik
Subject: The WSDL 2.0 XSD for Root Element is Too Loose
The wsdl20.xsd definition [1] for the root element doesn't constrain the
order of the top level elements as described in the spec.[2]
The current xsd is like:
<xs:complexType name="DefinitionsType" mixed="false">
<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" minOccurs="1"
maxOccurs="1"/>
</xs:choice>
<xs:attribute name="targetNamespace" type="xs:anyURI"
use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
It should be like:
<xs:complexType name="DefinitionsType" mixed="false">
<xs:annotation>
<xs:documentation>
blah, blah, blah ...
</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:any namespace="##other"
processContents="lax" minOccurs="1" maxOccurs="1"/>
</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" minOccurs="1" maxOccurs="1"/>
</xs:choice>
</xs:sequence>
<xs:attribute name="targetNamespace" type="xs:anyURI"
use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
[1] http://www.w3.org/2004/08/wsdl
[2] http://www.w3.org/TR/2004/WD-wsdl20-20040803/#Definitions_XMLRep
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/
Received on Monday, 10 January 2005 20:58:23 UTC