2002/ws/desc/wsdl20 wsdl20-adjuncts.xml,1.3,1.4 wsdl20-adjuncts.html,1.3,1.4

Update of /sources/public/2002/ws/desc/wsdl20
In directory homer:/tmp/cvs-serv6203

Modified Files:
	wsdl20-adjuncts.xml wsdl20-adjuncts.html 
Log Message:
Added RPC style


Index: wsdl20-adjuncts.html
===================================================================
RCS file: /sources/public/2002/ws/desc/wsdl20/wsdl20-adjuncts.html,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** wsdl20-adjuncts.html	16 Mar 2005 23:13:34 -0000	1.3
--- wsdl20-adjuncts.html	17 Mar 2005 17:19:06 -0000	1.4
***************
*** 1,4 ****
! <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
! <html lang="en"><head><META http-equiv="Content-Type" content="text/html; charset=utf-8"><title>Web Services Description Language (WSDL) Version 2.0 Part 2: Adjuncts</title><style type="text/css">
  code           { font-family: monospace; }
  
--- 1,15 ----
! <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
!     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
! <html lang="en" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
! <head>
! <meta name="generator" content=
[...9247 lines suppressed...]
! to Part1 for a longer introduction</td>
! </tr>
! <tr>
! <td rowspan="1" colspan="1">20020221</td>
! <td rowspan="1" colspan="1">JJM</td>
! <td rowspan="1" colspan="1">Renamed to "Part 2: Bindings"</td>
! </tr>
! <tr>
! <td rowspan="1" colspan="1">20020221</td>
! <td rowspan="1" colspan="1">JJM</td>
! <td rowspan="1" colspan="1">Created from
! http://www.w3.org/TR/2001/NOTE-wsdl-20010315</td>
! </tr>
! </tbody>
! </table>
! <br /></div>
! </div>
! </div>
! </body>
! </html>

Index: wsdl20-adjuncts.xml
===================================================================
RCS file: /sources/public/2002/ws/desc/wsdl20/wsdl20-adjuncts.xml,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** wsdl20-adjuncts.xml	16 Mar 2005 17:40:56 -0000	1.3
--- wsdl20-adjuncts.xml	17 Mar 2005 17:19:06 -0000	1.4
***************
*** 578,581 ****
--- 578,810 ----
  	constraints on Interface Operations bound.
        </p>
+ 
+       <div2 id="RPCStyle">
+     	<head>RPC Style</head>
+ 	
+ 	 <p>The RPC style is selected by assigning to an Interface
+ 	 Operation component's &interface_operation-style-p;  property the value
+ 	 <emph>&RPC-STYLE;</emph>.</p>
+ 	
+ 	 <p>The RPC style MUST NOT be used for Interface Operation
+ 	 components whose &interface_operation-message_exchange_pattern-p; property has a
+ 	 value other than '&wsdl-ns;/in-only' or '&wsdl-ns;/in-out'.</p>
+ 	
+          <p>When this value is used, the associated messages MUST conform to
+          the rules below, described using XML Schema <bibref ref="XMLSchemaP1"/>.
+          Note that operations containing messages described by other type systems
+          may also indicate use of the RPC style, as long as they are constructed
+          in such a way as to follow these rules.</p>
+ 	
+ 	 <p>If the Interface Operation component uses a
+ 	 &interface_operation-message_exchange_pattern-p; for which there is no output
+ 	 element, such as '&wsdl-ns;/in-only', then the conditions
+ 	 stated below that refer to output elements MUST be considered
+ 	 to be implicitely satisfied.</p>
+ 	
+ 	 <ulist>
+ 	
+ 	   <item><p> The content model of input and output &message_reference-element-p;
+ 	   elements MUST be defined using a complex type that contains a
+ 	   sequence from XML Schema.</p></item>
+ 	
+ 	   <item><p> The sequence MUST only contain elements. It
+ 	   MUST NOT contain other structures such as
+ 	   xs:choice.</p></item>
+ 	
+ 	   <item><p>The sequence MUST contain only local element
+ 	   children. Note that these child elements MAY contain the
+ 	   following attributes: nillable, minOccurs and
+ 	   maxOccurs.</p></item>
+ 	
+ 	   <item><p>The LocalPart of input element's QName MUST be
+ 	   the same as the Interface operation component's
+ 	   name.</p></item>
+ 	
+ 	   <item><p> The LocalPart of the output element's QName is
+ 	   obtained by concatenating the name of the operation and
+ 	   the string value &ldquo;Response&rdquo;.</p></item>
+ 	
+ 	   <item><p>Input and output elements MUST both be in the
+ 	   same namespace.</p></item>
+ 	
+ 	   <item><p> The complex type that defines the body of an
+ 	   input or an output element MUST NOT contain any
+ 	   attributes.</p></item>
+ 	
+ 	   <item><p> If elements with the same qualified name appear
+ 	   as children of both the input and output elements, then
+ 	   they MUST both be declared using the same type.</p></item>
+ 	
+ 	   <item><p>The input or output sequence MUST NOT contain
+ 	   multiple children elements declared with the same
+ 	   name.</p></item>
+ 	
+ 	  </ulist>
+     <div3 id="InterfaceOperation_RPC_Signature_Definition">
+       <head><att>wrpc:signature</att> Extension</head>
+ 	
+ 	<p>The <att>wrpc:signature</att> extension &AII; MAY be used in conjunction with
+ 	the RPC style to describe the exact signature of the function represented
+ 	by an operation that uses the RPC style.</p>
+     
+ 	<p>When present, the <att>wrpc:signature</att> extension contributes the following
+ 	property to the interface operation component it is applied to:</p>
+        <ulist>
+ 	<item><p>{rpc-signature} REQUIRED. A list of pairs <emph>(q, t)</emph>
+ 	whose first component is of type <emph>xs:QName</emph> and whose second component is of type
+ 	<emph>xs:token</emph>.
+ 	Values for the second component MUST be chosen among the following four:
+ 	&quot;#in&quot;, &quot;#out&quot;, &quot;#inout&quot; &quot;#return&quot;.</p></item>
+ 	
+ 	</ulist>
+ 	<p>
+ 	The value of the {rpc-signature} property MUST satisfy the following conditions:
+ 	</p>
+ 	<ulist>
+ 	  <item><p>The value of the first component of each pair <emph>(q, t)</emph> MUST
+ 	  be unique within the list.</p></item>
+ 	  <item><p>For each child element of the input and output messages of the operation,
+ 	  a pair <emph>(q, t)</emph> whose first component <emph>q</emph> is equal to
+ 	  the qualified name of that element MUST be present in the list, with the caveat
+ 	  that elements that appear with cardinality greater than one MUST be treated as
+ 	  as a single element.</p></item>
+ 	  <item><p>For each pair <emph>(q, #in)</emph>, there MUST be a child element of the
+ 	  input element with a name of <emph>q</emph> and there MUST NOT be a child element
+ 	  of the output element with the same name.</p></item>
+ 	  <item><p>For each pair <emph>(q, #out)</emph>, there MUST be a child element of the
+ 	  output element with a name of <emph>q</emph> and there MUST NOT be a child element
+ 	  of the input element with the same name.</p></item>
+ 	  <item><p>For each pair <emph>(q, #inout)</emph>, there MUST be a child element of the
+ 	  input element with a name of <emph>q</emph> and there MUST be a child element
+ 	  of the output element with the same name. Furthermore, those two elements MUST
+ 	  have the same type.</p></item>
+ 	  <item><p>For each pair <emph>(q, #return)</emph>, there MUST be a child element of the
+ 	  output element with a name of <emph>q</emph> and there MUST NOT be a child element
+ 	  of the input element with the same name.</p></item>
+ 	</ulist>
+ 	<p>
+ 	The function signature defined by a <att>wrpc:signature</att> extension is
+ 	determined as follows:
+         </p>
+ 	<olist>
+ 	  <item><p>Start with the value of the {rpc-signature} property, a (possibly empty)
+ 	  list of pairs of this form:</p>
+ 	  <p>&nbsp;&nbsp;&nbsp;&nbsp;<emph>[(q0, t0), (q1, t1), ...]</emph></p></item>
+ 	  <item><p>Filter the elements of this list into two lists, the first one <emph>(L1)</emph>
+ 	     comprising pairs
+ 	     whose <emph>t</emph> component is one of <emph>{#in, #out, #inout}</emph>,
+ 	     the second <emph>(L2)</emph> pairs
+ 	     whose <emph>t</emph> component is <emph>#return</emph>.</p>
+ 	     <p>For ease of visualization, let's denote the two lists as</p>
+ 	     <p>&nbsp;&nbsp;&nbsp;&nbsp;(L1)&nbsp;&nbsp;&nbsp;&nbsp;<emph>[(a0, u0), (a1, u1),...]</emph></p>
+ 	     <p>and</p>
+ 	     <p>&nbsp;&nbsp;&nbsp;&nbsp;(L2)&nbsp;&nbsp;&nbsp;&nbsp;<emph>[(r0, #return), (r1, #return),...]</emph></p>
+ 	     <p>respectively.</p></item>
+ 	  <item><p>Then the formal signature of the function is</p>
+ 	     <p>&nbsp;&nbsp;&nbsp;&nbsp;<emph>f([d0] a0, [d1] a1, ...) => (r0, r1, ...)</emph></p>
+ 	     <p>i.e.</p>
+ 	     <p>
+ 	       <ulist>
+ 		 <item><p>the list of formal arguments to the function is <emph>[a0, a1, ...]</emph>;
+ 		 </p></item>
+ 		 <item><p>the direction <emph>d</emph> of each formal argument <emph>a</emph> is one of
+ 		 <emph>[in]</emph>, <emph>[out]</emph>, <emph>[inout]</emph>,
+ 		 determined according to the value of its corresponding <emph>u</emph> token;
+ 		 </p></item>
+ 		 <item><p>the list of formal return parameters of the function is
+ 		   <emph>[r0, r1, ...]</emph>;</p></item>
+ 		 <item><p>each formal argument and formal return parameter is typed
+ 		 according to the type of the child element identified by it
+ 		 (unique per the conditions given above).</p></item>
+ 	       </ulist>
+ 	     </p>
+ 	    </item>
+ 	</olist>
+ 	</div3>
+ 
+       <div3 id="InterfaceOperation_RPC_Signature_XMLRep">
+         <head>XML Representation of the <att>wrpc:signature</att> Extension</head>
+           <p>
+ 	  The XML representation for the RPC signature extension is an
+ 	  &AII; with the following Infoset properties:
+ 	  </p>
+ 	  <ulist>
+ 	      <item><p>A [local name] of <att>signature</att></p></item>
+ 	      <item><p>A [namespace name] of &quot;&wsdl-rpc-ns;&quot;</p></item>
+ 	  </ulist>
+ 	  <p>
+ 	  The type of the <att>name</att> &AII; is a list type whose item type is
+ 	  the union of the <emph>xs:QName</emph> type and the subtype of
+ 	  the <emph>xs:token</emph> type restricted to the following
+ 	  four values: &quot;#in&quot;, &quot;#out&quot;, &quot;#inout&quot;,
+ 	  &quot;#return&quot;. See <specref ref='rpc-signature-xsd'/> for
+ 	  a definition of this type.
+ 	  </p>
+ 	  <p>Additionally, each even-numbered item (0, 2, 4, ...) in the list
+ 	  MUST be of type <emph>xs:QName</emph> and each odd-numbered item (1, 3, 5, ...)
+ 	  in the list MUST be of the subtype of <emph>xs:token</emph> described in the
+ 	  previous paragraph.
+ 	  </p>
+ 	  <p></p>
+           <p>
+ 	    <example id='rpc-signature-xsd'>
+ 	    <head>Definition of the wrpc:signature extension</head>
+ 	    <eg><![CDATA[
+ <xs:attribute name="signature" type="wrpc:signatureType"/>
+ 
+ <xs:simpleType name="signatureType">
+   <xs:list itemType="wrpc:signatureItemType"/>
+ </xs:simpleType>
+ 
+ <xs:simpleType name="signatureItemType">
+   <xs:union memberTypes="wrpc:directionToken xsd:QName"/>
+ </xs:simpleType>
+ 
+ <xs:simpleType name="directionToken">
+   <xs:restriction base="xs:token">
+     <xs:enumeration value="#in"/>
+     <xs:enumeration value="#out"/>
+     <xs:enumeration value="#inout"/>
+     <xs:enumeration value="#return"/>
+   </xs:restriction>
+ </xs:simpleType>
+ ]]>	  
+ 	   </eg>
+ 	   </example>
+           </p>
+       </div3>
+ 
+     <div3 id="InterfaceOperation_RPC_Signature_Mapping">
+ 	  <head><att>wrpc:signature </att>Extension Mapping To Properties of an
+ 	  Interface Operation Component</head>
+ 
+ 	  <p>A <att>wrpc:signature</att> extension &AII; is mapped to the following
+ 	  property of the Interface Operation component defined by its [owner].</p>
+ 
+ 	  <table border="1" id="tab_InterfaceOperation_RPC_Signature_Mapping">
+ 	    <caption>Mapping of a <att>wrpc:signature</att> Extension to Interface Operation Component Properties</caption>
+ 		<col width="20%" />
+   		<col width="80%" />
+ 	    <tbody>
+ 		  <tr>
+ 		    <th>Property</th>
+ 		    <th>Mapping</th>
+ 		  </tr>
+ 		  <tr>
+ 		    <td>{rpc-signature}</td>
+ 			<td> A list of <emph>(xs:QName, xs:token)</emph> pairs formed
+ 			by grouping the items present in the actual value of the
+ 			<att>wrpc:signature</att> &AII; in the order in which they appear
+ 			there.</td>
+ 		  </tr>
+ 		</tbody>
+ 	  </table>
+ 
+     </div3>
+       
+     </div2>
+ 
+ 
+ 
          <div2 id="_operation_uri_style">
            <head>URI Style</head>
***************
*** 3455,3458 ****
--- 3684,3692 ----
  	    -->
  	    <tr>
+ 	      <td>20050317</td>
+ 	      <td>HH</td>
+ 	      <td>Incorporated RPC style</td>
+ 	    </tr>
+ 	    <tr>
  	      <td>20050316</td>
  	      <td>HH</td>

Received on Thursday, 17 March 2005 17:19:10 UTC