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 14:07:05 UTC