- From: Arthur Ryman <aryman@dev.w3.org>
- Date: Thu, 30 Sep 2004 03:16:42 +0000
- To: public-ws-desc-eds@w3.org
Update of /sources/public/2002/ws/desc/wsdl20
In directory hutz:/tmp/cvs-serv32162
Modified Files:
wsdl20.xml
Log Message:
Revised Appendix C as per issues LC34b, c, d.
Index: wsdl20.xml
===================================================================
RCS file: /sources/public/2002/ws/desc/wsdl20/wsdl20.xml,v
retrieving revision 1.133
retrieving revision 1.134
diff -C2 -d -r1.133 -r1.134
*** wsdl20.xml 3 Aug 2004 15:56:00 -0000 1.133
--- wsdl20.xml 30 Sep 2004 03:16:39 -0000 1.134
***************
*** 6592,6601 ****
<inform-div1 id="wsdl-uri-references">
! <head>URI References for WSDL constructs</head>
<p> This appendix provides a syntax for URI references for
named components found in a WSDL document. This includes the
! top level components: interface, binding and service and the
! subordinate components: operation, fault, and endpoint. The
URI references are easy to understand and compare, while
imposing no burden on the WSDL author.</p>
--- 6592,6604 ----
<inform-div1 id="wsdl-uri-references">
! <head>URI References for WSDL Components</head>
<p> This appendix provides a syntax for URI references for
named components found in a WSDL document. This includes the
! top level components: Interface, Binding and Service and the
! subordinate components: Interface Operation, Interface Fault,
! Message Reference, Fault Reference, Feature, Property,
! Binding Operation, Binding Fault, Binding Message Reference
! and Endpoint. The
URI references are easy to understand and compare, while
imposing no burden on the WSDL author.</p>
***************
*** 6631,6639 ****
<bibref ref="XPTR"/>.
</p>
<p>The URI in a URI-reference for a WSDL component is the
{target namespace} property of either the component itself, in
! the case of interfaces, bindings, and services, or the {target
! namespace} property of an ancestor component. The URI provided
by the {target namespace} property is combined with a fragment
identifier, where the fragment identifier is constructed from
--- 6634,6656 ----
<bibref ref="XPTR"/>.
</p>
+ <p>
+ A WSDL fragment identifier consists of zero or more xmlns pointer parts
+ followed by a pointer part as defined below.
+ The pointer parts have a scheme name that corresponds to one
+ of the WSDL component types, and schema data that is a path composed
+ of names that identify the components. The names are of type either QName, NCName,
+ URI, or Pointer Part, depending on the context.
+ </p>
+ <p>
+ For QNames, any prefix
+ MUST be defined by a preceding xmlns pointer part.
+ If a QName does not have a prefix then its namespace
+ name is the URI of the URI-reference.
+ </p>
<p>The URI in a URI-reference for a WSDL component is the
{target namespace} property of either the component itself, in
! the case of Interface, Binding, and Service components, or the {target
! namespace} property of the ancestor component. The URI provided
by the {target namespace} property is combined with a fragment
identifier, where the fragment identifier is constructed from
***************
*** 6641,6694 ****
of its ancestors as a path according to <specref
ref="uri-ref-frag-table"/>. In that table the first column
! gives the name of the WSDL component as the [local name] of
! the &EII; that represents that construct in a WSDL
! document. Columns two and three populate the variables x and y
! respectively. These variables are then used to construct the
! fragment in column four.</p>
<table id="uri-ref-frag-table" border="1">
! <caption>Rules for determining fragments for WSDL constructs</caption>
<tbody>
<tr>
! <th rowspan="1" colspan="1">Construct</th>
! <th rowspan="1" colspan="1">x</th>
! <th rowspan="1" colspan="1">y</th>
! <th rowspan="1" colspan="1">Fragment</th>
</tr>
<tr>
! <td rowspan="1" colspan="1">interface</td>
! <td rowspan="1" colspan="1">{name} property of interface </td>
<td rowspan="1" colspan="1">n/a</td>
! <td rowspan="1" colspan="1"><code>interface(x)</code></td>
</tr>
<tr>
! <td rowspan="1" colspan="1">operation</td>
! <td rowspan="1" colspan="1">{name} property of operation</td>
! <td rowspan="1" colspan="1">{name} property of parent interface</td>
! <td rowspan="1" colspan="1"><code>operation(y/x)</code></td>
</tr>
<tr>
! <td rowspan="1" colspan="1">fault</td>
! <td rowspan="1" colspan="1">{name} property of fault</td>
! <td rowspan="1" colspan="1">{name} property of parent interface</td>
! <td rowspan="1" colspan="1"><code>fault(y/x)</code></td>
</tr>
<tr>
! <td rowspan="1" colspan="1">binding</td>
! <td rowspan="1" colspan="1">{name} property of binding</td>
<td rowspan="1" colspan="1">n/a</td>
! <td rowspan="1" colspan="1"><code>binding(x)</code></td>
</tr>
<tr>
! <td rowspan="1" colspan="1">service</td>
! <td rowspan="1" colspan="1">{name} property of service</td>
<td rowspan="1" colspan="1">n/a</td>
! <td rowspan="1" colspan="1"><code>service(x)</code></td>
</tr>
<tr>
! <td rowspan="1" colspan="1">endpoint</td>
! <td rowspan="1" colspan="1">{name} property of endpoint</td>
! <td rowspan="1" colspan="1">{name} property of parent service</td>
! <td rowspan="1" colspan="1"><code>endpoint(y/x)</code></td>
</tr>
</tbody>
--- 6658,6781 ----
of its ancestors as a path according to <specref
ref="uri-ref-frag-table"/>. In that table the first column
! gives the name of the WSDL component.
! Columns two through five specify the identifiers that
! uniquely identify the component.
! These identifiers are then used to construct the
! pointer part in column six.</p>
<table id="uri-ref-frag-table" border="1">
! <caption>Rules for determining pointer parts for WSDL components</caption>
<tbody>
<tr>
! <th rowspan="1" colspan="1">Component</th>
! <th rowspan="1" colspan="1">1</th>
! <th rowspan="1" colspan="1">2</th>
! <th rowspan="1" colspan="1">3</th>
! <th rowspan="1" colspan="1">4</th>
! <th rowspan="1" colspan="1">Pointer Part</th>
</tr>
<tr>
! <td rowspan="1" colspan="1">Interface</td>
! <td rowspan="1" colspan="1"><code><emph>interface</emph></code> NCName </td>
<td rowspan="1" colspan="1">n/a</td>
! <td rowspan="1" colspan="1">n/a</td>
! <td rowspan="1" colspan="1">n/a</td>
! <td rowspan="1" colspan="1"><code>interface(<emph>interface</emph>)</code></td>
</tr>
<tr>
! <td rowspan="1" colspan="1">Interface Operation</td>
! <td rowspan="1" colspan="1"><code><emph>interface</emph></code> NCName</td>
! <td rowspan="1" colspan="1"><code><emph>operation</emph></code> NCName</td>
! <td rowspan="1" colspan="1">n/a</td>
! <td rowspan="1" colspan="1">n/a</td>
! <td rowspan="1" colspan="1"><code>interfaceOperation(<emph>interface</emph>/<emph>operation</emph>)</code></td>
</tr>
<tr>
! <td rowspan="1" colspan="1">Interface Fault</td>
! <td rowspan="1" colspan="1"><code><emph>interface</emph></code> NCName</td>
! <td rowspan="1" colspan="1"><code><emph>fault</emph></code> NCName</td>
! <td rowspan="1" colspan="1">n/a</td>
! <td rowspan="1" colspan="1">n/a</td>
! <td rowspan="1" colspan="1"><code>interfaceFault(<emph>interface</emph>/<emph>fault</emph>)</code></td>
</tr>
<tr>
! <td rowspan="1" colspan="1">Message Reference</td>
! <td rowspan="1" colspan="1"><code><emph>interface</emph></code> NCName</td>
! <td rowspan="1" colspan="1"><code><emph>operation</emph></code> NCName</td>
! <td rowspan="1" colspan="1"><code><emph>message</emph></code> NCName</td>
<td rowspan="1" colspan="1">n/a</td>
! <td rowspan="1" colspan="1"><code>messageReference(<emph>interface</emph>/<emph>operation</emph>/<emph>message</emph>)</code></td>
</tr>
<tr>
! <td rowspan="1" colspan="1">Fault Reference</td>
! <td rowspan="1" colspan="1"><code><emph>interface</emph></code> NCName</td>
! <td rowspan="1" colspan="1"><code><emph>operation</emph></code> NCName</td>
! <td rowspan="1" colspan="1"><code><emph>message</emph></code> NCName</td>
! <td rowspan="1" colspan="1"><code><emph>fault</emph></code> QName</td>
! <td rowspan="1" colspan="1"><code>messageReference(<emph>interface</emph>/<emph>operation</emph>/<emph>message</emph>/<emph>fault</emph>)</code></td>
! </tr>
! <tr>
! <td rowspan="1" colspan="1">Binding</td>
! <td rowspan="1" colspan="1"><code><emph>binding</emph></code> NCName</td>
<td rowspan="1" colspan="1">n/a</td>
! <td rowspan="1" colspan="1">n/a</td>
! <td rowspan="1" colspan="1">n/a</td>
! <td rowspan="1" colspan="1"><code>binding(<emph>binding</emph>)</code></td>
</tr>
<tr>
! <td rowspan="1" colspan="1">Binding Operation</td>
! <td rowspan="1" colspan="1"><code><emph>binding</emph></code> NCName</td>
! <td rowspan="1" colspan="1"><code><emph>operation</emph></code>QName</td>
! <td rowspan="1" colspan="1">n/a</td>
! <td rowspan="1" colspan="1">n/a</td>
! <td rowspan="1" colspan="1"><code>bindingOperation(<emph>binding</emph>/<emph>operation</emph>)</code></td>
! </tr>
! <tr>
! <td rowspan="1" colspan="1">Binding Fault</td>
! <td rowspan="1" colspan="1"><code><emph>binding</emph></code> NCName</td>
! <td rowspan="1" colspan="1"><code><emph>fault</emph></code>QName</td>
! <td rowspan="1" colspan="1">n/a</td>
! <td rowspan="1" colspan="1">n/a</td>
! <td rowspan="1" colspan="1"><code>bindingFault(<emph>binding</emph>/<emph>fault</emph>)</code></td>
! </tr>
! <tr>
! <td rowspan="1" colspan="1">Binding Message Reference</td>
! <td rowspan="1" colspan="1"><code><emph>binding</emph></code> NCName</td>
! <td rowspan="1" colspan="1"><code><emph>operation</emph></code>QName</td>
! <td rowspan="1" colspan="1"><code><emph>message</emph></code> NCName</td>
! <td rowspan="1" colspan="1">n/a</td>
! <td rowspan="1" colspan="1"><code>bindingMessageReference(<emph>binding</emph>/<emph>operation</emph>/<emph>message</emph>)</code></td>
! </tr>
! <tr>
! <td rowspan="1" colspan="1">Service</td>
! <td rowspan="1" colspan="1"><code><emph>service</emph></code> NCName</td>
! <td rowspan="1" colspan="1">n/a</td>
! <td rowspan="1" colspan="1">n/a</td>
! <td rowspan="1" colspan="1">n/a</td>
! <td rowspan="1" colspan="1"><code>service(<emph>service</emph>)</code></td>
! </tr>
! <tr>
! <td rowspan="1" colspan="1">Endpoint</td>
! <td rowspan="1" colspan="1"><code><emph>service</emph></code> NCName</td>
! <td rowspan="1" colspan="1"><code><emph>endpoint</emph></code> NCName</td>
! <td rowspan="1" colspan="1">n/a</td>
! <td rowspan="1" colspan="1">n/a</td>
! <td rowspan="1" colspan="1"><code>endpoint(<emph>service</emph>/<emph>endpoint</emph>)</code></td>
! </tr>
! <tr>
! <td rowspan="1" colspan="1">Feature</td>
! <td rowspan="1" colspan="1"><code><emph>parent</emph></code> Pointer Part</td>
! <td rowspan="1" colspan="1"><code><emph>feature</emph></code> URI</td>
! <td rowspan="1" colspan="1">n/a</td>
! <td rowspan="1" colspan="1">n/a</td>
! <td rowspan="1" colspan="1"><code>feature(<emph>parent</emph>/<emph>feature</emph>)</code></td>
! </tr>
! <tr>
! <td rowspan="1" colspan="1">Property</td>
! <td rowspan="1" colspan="1"><code><emph>parent</emph></code> Pointer Part</td>
! <td rowspan="1" colspan="1"><code><emph>property</emph></code> URI</td>
! <td rowspan="1" colspan="1">n/a</td>
! <td rowspan="1" colspan="1">n/a</td>
! <td rowspan="1" colspan="1"><code>property(<emph>parent</emph>/<emph>property</emph>)</code></td>
</tr>
</tbody>
***************
*** 6745,6748 ****
--- 6832,6837 ----
<wsdl:interface name="TicketAgent">
+ <feature uri="http://example.com/secure-channel" required="true"/>
+
<wsdl:operation name="listFlights" pattern="&wsdl-mep-in-out;">
<wsdl:input element="xsTicketAgent:listFlightsRequest"/>
***************
*** 6766,6769 ****
--- 6855,6859 ----
<eg xml:space="preserve">
http://example.org/TicketAgent.wsdl20#interface(TicketAgent)
+ http://example.org/TicketAgent.wsdl20#feature(interface(TicketAgent)/http://example.com/secure-channel)
http://example.org/TicketAgent.wsdl20#operation(TicketAgent/listFlights)
http://example.org/TicketAgent.wsdl20#operation(TicketAgent/reserveFlight)
***************
*** 7011,7014 ****
--- 7101,7109 ----
</tr>
<tr>
+ <td>20040929</td>
+ <td>AGR</td>
+ <td>Revised Appendix C, URI References, as per resolution of issues LC34b, LC34c, and LC34d.</td>
+ </tr>
+ <tr>
<td>20040802</td>
<td>RRC</td>
Received on Thursday, 30 September 2004 03:16:42 UTC