NameValue and NameValueList data types

One datatype that soap does not currently have is the concept of a NameValue list (KeyValue list, Map, Hash, etc). 
Vendors are defining their own (such as Apache) and hoping that others will use them so that they can interoperate. 
However, since this name/value concept is suported as standard in just about every programming language I think it 
should be a candidate for a data type in SOAP.

Apache defines the notion of a Map of Pairs. I would like to use the more general NameValue and NameValueList 
definitions with which a Map can be represented.


  <complexType name="NameValue">
    <sequence>
      <element name="name" type="xsd:anyType" />
      <element name="value" type"xsd:anyType" nillable="true" />
    </sequence>
  </complexType>

  <complexType name="NameValueList">
    <complexContent>
      <restriction base="SOAP-ENC:Array">
        <sequence>
          <element name="nv" type="xsd1:NameValue"
                   minOccurs="0" maxOccurs="unbounded"
                   nillable="true" />
        </sequence>
        <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="xsd1:NameValue[]" />
      </restriction>
    </complexContent>
  </complexType>

In the Java community this would preempt JSRs such as JAX-RPC creating their own mappings which may not be agreed by the 
non-java community and interop breaks down.

Pete

Received on Monday, 17 December 2001 09:29:31 UTC