Re: Draft wording for <import>

(Comments on your writeup.)

----- Original Message ----- 
From: "Jean-Jacques Moreau" <moreau@crf.canon.fr>
To: "Web Service Description" <www-ws-desc@w3.org>
Sent: Monday, May 27, 2002 9:03 PM
Subject: Draft wording for <import>


> I took a todo to provide resolution text for the
> improved-wording-for-import issue. I wasn't here when the actual
> issue was discussed, so I hope the text below properly addresses
> the issues which were raised. Comments, flames, etc at the usual
> address.
> 
> Jean-Jacques.
> 
> ----------------------
> 
> 2.1.1 Document Naming
> 
> The <el>definitions</el> element information item:
> 
>    * MUST have a [local name] of <el>definitions</el>.
>    * MUST have a [namespace name] of
>      <attval>http://www.w3.org/2002/06/wsdl</attval>.
>    * MAY have a <att>name</att> attribute information item of
>      type <att>NCName</att> in the namespace named
>      <attval>http://www.w3.org/2001/XMLSchema</attval>. Its value
>      serves as a lightweight form of documentation.

I wonder whether we should get rid of this name attribute. I 
have personally seen little use of it. That would make it clearer
that a <definitions> elements just contains a set of definitions
for a targetNamespace.

>    * MAY have a <att>targetNamespace</att> attribute information
>      item of type <att>anyURI</att> in the namespace named
>      <attval>http://www.w3.org/2001/XMLSchema</attval>. Its
>      actual value MUST NOT be a relative URI.
> 
> 2.1.2 Document Linking [ed: split from above section]
> 
> The WSDL <el>import</el> element information item allows the
> separation of the different elements of a service definition into
> independent documents, which can be imported as needed. This
> technique helps writing clearer service definitions, by
> separationg the definitions according to their level of
> abstraction, and maximizes resusability. The WSDL <el>import</el>
> element information item is modelled after the XML Schema
> <el>import</el> element information item (see [ref XML Schema
> Part 1, section 4.2.3 "References to schema components across
> namespaces"]).
> 
> The <el>import</el> element information item has:
> 
>    * A [local name] of <el>import</el>.
>    * A [namespace name] of
>      <attval>http://www.w3.org/2002/06/wsdl</attval>.
>    * An attribute information item with a [local name] of
>      <att>namespace</att>
>    * A <att>namespace</att> attribute information item of type
>      <att>anyURI</att> in the namespace named
>      <attval>http://www.w3.org/2001/XMLSchema</attval>. Its
>      actual value indicates that the containing WSDL document can
>      contain qualified references to WSDL definitions in that
>      namespace (via one or more prefixes declared with namespace

It is important to allow references to non-WSDL things. Basically
there will be something of interest to *this* WSDL in the imported
document. What's in that document may not be WSDL at all - XML
schema being the most common case of non WSDL things that are 
imported to WSDL.

>      declarations in the normal way). This value MUST NOT match
>      the actual value of the enclosing WSDL document
>      <att>targetNamespace</att> attribute information item. It
>      MUST be identical to the actual value of the referred WSDL
>      document <att>targetNamespace</att>.
>    * A <att>location</att> attribute information item of type
>      <att>anyURI</att> in the namespace named
>      <attval>http://www.w3.org/2001/XMLSchema</attval>. Its
>      actual value is the location of a well-formed WSDL (or
>      other) document with definitions for that namespace.
> 
> An <att>import</att> element information item MUST NOT be present
> when there is no <att>targetNamespace</att> attribute information
> item in the containing WSDL document.

The targetNamespace is required for WSDL documents.

> The WSDL <el>import</el> element information item MAY reference:
> 
>    * All standard WSDL definitions, such as service, port,
>      message, bindings and portType.
>    * Any XML namespace qualified extensibility definitions.

I don't understand what it it means for the import EII to reference 
these things.

> <note>The components to be imported MAY NOT be in the form of a
> WSDL document. A WSDL processor is free to access of construct
> components using means of itw own choosing.</note>[ed: this is in
> XSD; do we want this as well?]

Is this wording that allows one to import non-WSDL things? If so
yes. (Wording is too legalese to me .. I would prefer not to use
the word "component" in this setting. 

> [ed: move the following to the primer?]

Another general question. IMO the spec should contain a bit of
examples.

> Example 2 below uses the <el>import</el> element information item
> to separate the definitions from Example 1 into three separate,
> more manageable documents: data type definitions, abstract
> definitions and specific service bindings.
> 
> <quote>
> http://example.com/stockquote/stockquote.xsd
> http://example.com/stockquote/stockquote.wsdl
> http://example.com/stockquote/stockquoteservice.wsdl
> </quote>

Thanks for writing this up!

Sanjiva.

Received on Monday, 27 May 2002 19:44:50 UTC