wrpc:signature for RPC style

Hi,
I had a question on the wrpc:signature extension. [section 4.1.1 - WSDL 2
Part 2:Adjuncts], in conjunction with usage of XSD substitution Groups.
In the RPC signature for the operations, would it be better in terms of
clarity, to allow specification of substitution group members in place of
the head elements, esp., in the scenario where the latter are defined to be
abstract in the type system ?

Illustrating with an example.....

<types>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="
http://www.example.org"   targetNamespace="http://www.example.org"
            elementFormDefault="qualified">
  <xsd:element name="InfoProduct" type="ProductType"/>

  <xsd:complexType name="ProductType">
    <xsd:sequence>
      <xsd:element ref="Code"/>
    </xsd:sequence>
  </xsd:complexType>

  <xsd:element name="Code" type="CodeType"/>
    <xsd:element name="ProductCode" substitutionGroup="Code">
    <xsd:complexType>
      <xsd:complexContent>
        <xsd:extension base="CodeType">
          <xsd:attribute name="zone" type="xsd:string"/>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>
  </xsd:element>

  <xsd:complexType name="CodeType">
      <xsd:sequence>
        <xsd:element name="organization" type="xsd:string"/>
        <xsd:element name="value" type="xsd:string"/>
      </xsd:sequence>
    </xsd:complexType>

</xsd:schema>
</types>

Can I define my operation rpc signature to be

<interface .....>
   <operation name="ProductSearch" ....
         wrpc:signature="*ProductCode*" #in >   *<!-- "ProductCode" can
substitute "Code" as per schema -->*
       <input messageLabel="In" element="sch:InfoProduct"/>
    </operation>

rather than

<interface .....>    <operation name="ProductSearch" ....
         wrpc:signature="*Code*" #in >
       <input messageLabel="In" element="sch:InfoProduct"/>
    </operation>

The scenario becomes even more practical when the element "Code" is defined
as "abstract" in the XSD, and ProductCode/some other element is defined to
always substitute the "Code" element in the isntance..
So, the statement could be something like
"If the type system defines an element to be abstract in the definition, and
such elements are used for defining message structures within the WSDL
definition, then the rpc signature could optionally hold/substitute those
elements with alternate element definitions that are defined to be
substitutable for the former, as per the type system. "

Pls let me know your thoughts on this.


rgds,
Menon
--
Shift to the left, shift to the right!
Pop up, push down, byte, byte, byte!

-Ramkumar Menon
A typical Macroprocessor

Received on Saturday, 25 February 2006 11:19:52 UTC