- From: Edward Wertz <ed@mindreef.com>
- Date: Fri, 21 Mar 2003 13:25:11 -0500
- To: "Arthur Ryman" <ryman@ca.ibm.com>
- Cc: <www-ws-desc@w3.org>, <www-ws-desc-request@w3.org>
Arthur,
I fudged one of my questions. When I was asking about well-formedness I was
intending to ask about the well-formedness of the XML that makes up the
WSDL. I understand this isn't sufficient to convey the semantics of how the
XML is interpretted, but is schema validation necessary and sufficient to
ensure that all the XML components for a WSDL are in the right spot and the
right order within a single document?
The schema you quoted appears to be the schema at the bottom of the w3c WSDL
1.1 specfication [1]. But there is a different schema behind the uri [2]
for the WSDL 1.1 namespace. I was under the impression that the schema at
[2] was more up to date and was considered the official schema for the WSDL
1.1 namespace. I've copied the declaration of the definitions tag from [2]
which indicates that extensibility elements must appear first and then there
is an unbounded choice of any of the child tags. [1] and [2] are very
different and causing me some confusion.
<xs:element name="definitions" type="wsdl:tDefinitions">
<xs:complexType name="tDefinitions">
<xs:complexContent>
<xs:extension base="wsdl:tExtensibleDocumented">
<xs:sequence>
<xs:group ref="wsdl:anyTopLevelOptionalElement" minOccurs="0"
maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute name="targetNamespace" type="xs:anyURI" use="optional"
/>
<xs:attribute name="name" type="xs:NCName" use="optional" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:group name="anyTopLevelOptionalElement">
<xs:annotation>
<xs:documentation>Any top level optional element allowed to appear more
then once - any child of definitions element except wsdl:types. Any
extensibility element is allowed in any place.
</xs:documentation>
</xs:annotation>
<xs:choice>
<xs:element name="import" type="wsdl:tImport" />
<xs:element name="types" type="wsdl:tTypes" />
<xs:element name="message" type="wsdl:tMessage">
<xs:unique name="part">
<xs:selector xpath="wsdl:part" />
<xs:field xpath="@name" />
</xs:unique>
</xs:element>
<xs:element name="portType" type="wsdl:tPortType" />
<xs:element name="binding" type="wsdl:tBinding" />
<xs:element name="service" type="wsdl:tService">
<xs:unique name="port">
<xs:selector xpath="wsdl:port" />
<xs:field xpath="@name" />
</xs:unique>
</xs:element>
</xs:choice>
</xs:group>
Thanks for your help,
Edward
[1] - http://www.w3.org/TR/wsdl#A4.1
[2] - http://schemas.xmlsoap.org/wsdl/
(http://schemas.xmlsoap.org/wsdl/2003-02-11.xsd)
----- Original Message -----
From: "Arthur Ryman" <ryman@ca.ibm.com>
To: "Edward Wertz" <ed@mindreef.com>
Cc: <www-ws-desc@w3.org>; <www-ws-desc-request@w3.org>
Sent: Friday, March 21, 2003 11:20 AM
Subject: Re: WSDL 1.1 schema question
> Edward,
>
> Schema validation is not enough. For example, one WSDL document may import
> others and refer to components defined there. Schema validation applies to
> single documents AFAIK so therefore all of the semantic rules of WSDL 1.1
> can't be expressed in XSD.
>
> The order of immediate child elements of <definitions> of a given kind,
> e.g. <message>, does not matter, but the sequence of kinds is specified:
>
> <complexType name="definitionsType">
> <complexContent>
> <extension base="wsdl:documented">
> <sequence>
> <element ref="wsdl:import" minOccurs="0" maxOccurs
> ="unbounded"/>
> <element ref="wsdl:types" minOccurs="0"/>
> <element ref="wsdl:message" minOccurs="0" maxOccurs
> ="unbounded"/>
> <element ref="wsdl:portType" minOccurs="0" maxOccurs
> ="unbounded"/>
> <element ref="wsdl:binding" minOccurs="0" maxOccurs
> ="unbounded"/>
> <element ref="wsdl:service" minOccurs="0" maxOccurs
> ="unbounded"/>
> <any namespace="##other" minOccurs="0" maxOccurs
> ="unbounded">
> <annotation>
> <documentation>to support extensibility elements
> </documentation>
> </annotation>
> </any>
> </sequence>
> <attribute name="targetNamespace" type="uriReference" use
> ="optional"/>
> <attribute name="name" type="NMTOKEN" use="optional"/>
> </extension>
> </complexContent>
> </complexType>
>
>
> Arthur Ryman
>
>
> |---------+---------------------------->
> | | "Edward Wertz" |
> | | <ed@mindreef.com>|
> | | Sent by: |
> | | www-ws-desc-reque|
> | | st@w3.org |
> | | |
> | | |
> | | 03/18/2003 05:50 |
> | | PM |
> | | |
> |---------+---------------------------->
>
>---------------------------------------------------------------------------
------------------------------------------------------------------|
> |
|
> | To: <www-ws-desc@w3.org>
|
> | cc:
|
> | Subject: WSDL 1.1 schema question
|
> |
|
> |
|
>
>---------------------------------------------------------------------------
------------------------------------------------------------------|
>
>
>
> I was reading through the WSDL 1.1 schema at
> http://schemas.xmlsoap.org/wsdl/ and have a couple questions.
>
> In the "anyTopLevelOptionalElement" group there is documentation
indicating
> that the types should not appear more than once and extensibility elements
> are allowed in any place. The structure of the schema, however, implies
> that extensibility elements must appear before any of the
> "anyTopLevelOptionalElement" elements, and the schema does not restrict
the
> types node from occurring more than once.
>
> Is the structure outlined by the schema the official structure of WSDL 1.1
> documents? Is schema validation enough to ensure a well-formed WSDL
> document?
> Does the order of any of the immediate child elements to a Definitions
node
> matter?
>
> Edward
>
>
>
Received on Friday, 21 March 2003 13:25:45 UTC