ETF: Issue 47 (SOAP Data Model)

During the last ETF con-call I took an AI to propose a resolution for 
issue 47 [1]. Attached is a first cut at attempting to extract the data 
model specific text from the SOAP encoding section as candidate text for 
the SOAP Data Model section in part 2.

Assuming this passes muster then the next step is to remove duplicate 
text from the SOAP encoding section and RPC section and to add 
references back to the SOAP data model section where appropriate.

Comments, flames etc ?



Marc Hadley <>
XML Technology Centre, Sun Microsystems.
3 SOAP Data Model

The SOAP data model represents information as a graph of typed
objects. The type system used in the SOAP data model is a
generalization of the common features found in type systems in
programming languages, databases and semi-structured data. A type is
either a simple (scalar) type or is a compound type constructed as a
composite of several other typed parts. Examples of simple types are
"string," "integer," enumeration, etc.

Compound types are described as follows:

   1. Within a compound type, each part is potentially distinguished
      by a name, ordinal or both. This is called its "accessor". It is
      possible to have compound types with several accessors each
      named the same, as for example, RDF does.

   2. An "array" is a compound type in which ordinal position serves
      as the only distinction between member parts.

   3. A "struct" is a compound type in which accessor name is the
      only distinction among member parts, and no accessor has the
      same name as any other.

   4. Within a compound type, if an accessor has a name that is
      distinct within that type but is not distinct with respect to
      other types, that is, the name plus the type together are needed
      to make a unique identification, the name is called "locally
      scoped." If however the name is based in part on a Uniform
      Resource Identifier, directly or indirectly, such that the name
      alone is sufficient to uniquely identify the accessor
      irrespective of the type within which it appears, the name is
      called "universally scoped."

   5. In some cases it may be necessary for more than one accessor to
      reference the same instance of part of a compound type. If only
      one accessor can reference it, an instance is considered
      "single-reference". If referenced by more than one, actually or
      potentially, it is "multi-reference."

Section 4 (SOAP Encoding) describes how to serialise instances of data
that conform to this data model for inclusion in SOAP
messages. Section 5 (Using SOAP for RPC) decribes how to map remote
procedure call invocations and responses to this data model.

Received on Wednesday, 21 November 2001 10:33:18 UTC