W3C home > Mailing lists > Public > public-ws-desc-comments@w3.org > January 2005

RE: The WSDL 2.0 XSD for Root Element is Too Loose

From: Asir Vedamuthu <asirv@webmethods.com>
Date: Mon, 10 Jan 2005 12:57:35 -0800
Message-ID: <5B10E50E14A4594EB1B5566B69AD9407068E697B@maileast>
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>
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 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 8 January 2008 14:20:31 GMT