- From: Jean-Jacques Moreau <moreau@crf.canon.fr>
- Date: Mon, 27 May 2002 17:03:43 +0200
- To: Web Service Description <www-ws-desc@w3.org>
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