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.
   * 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
     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 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.

<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?]

[ed: move the following to the primer?]
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>

Received on Monday, 27 May 2002 11:04:40 UTC