[revised] Proposed resolutions for issues 146 and 150

Here's an update to my proposal [.0] for issues 146 [.1] "Should WSDL be
able to describe an operation with *anything* in the message?" and 150
[.2] "Indicating empty bodies".

When using XML Schemas, the element attribute points to a QName of a
GED, preventing either empty bodies, or unconstrained content.  Special
values of the element attribute could indicate these conditions.

Status quo:
  <xs:attribute name="element" type="xs:QName" use="optional" />

Proposal:
  <xs:attribute name="element" type="elementReference" use="optional" />

  <xs:simpleType name="elementReference">
    <xs:union>
      <xs:simpleType memberTypes="xs:QName">
        <xs:restriction base="xs:token">
          <xs:enumeration value="#any"/>
          <xs:enumeration value="#empty"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>

{message content model} A token with one of the values '#any', '#empty',
or '#element'.  A value of #any indicates that there are no restrictions
on the message structure.  A value of empty indicates there is no
message content.  A value of element indicates that the message consists
of a single element described by the global element declaration
reference by the {element} property. 
 
{element} A reference to an XML element declaration in the {element
declarations} property of 2.1.1 The Definitions Component. This element
represents the content or "payload" of the message.  When the {message
content model} property has the value #any or #empty the element
property is empty.

The mapping from XML into these properties should be fairly obvious.

[.0] http://lists.w3.org/Archives/Public/www-ws-desc/2004Mar/0058.html
[.1] http://www.w3.org/2002/ws/desc/2/06/issues.html#x146 
[.2] http://www.w3.org/2002/ws/desc/2/06/issues.html#x150

Received on Thursday, 11 March 2004 19:34:56 UTC