ADD Feature Proposal

The following proposal is a merge of Glen Daniel's original OOB feature 
proposal and the previous ADD feature proposal. I have discussed the 
design of this feature with Glen and he has agreed to it in principle 
but due to timing constraints it wasn't possible to get this text to him 
to review before tomorrow's WG phone call. Therefore Glen reserves the 
right to object if I screwed up in writing the actual text.

	Thanks,

		Yaron

= Additional Data Declaration (ADD) Feature =

This feature is identified with the URI 
http://www.w3.org/@@@@/@@/features/ADD

== Operation ==

This feature exists in order to enable the description of 
application-defined additional data declarations (ADDs) outside of the 
normal data channel (e.g. the SOAP body). The senders takes the value of 
the property http://www.w3.org/@@@@/@@/features/ADD/data, which is 
defined below, and passes it to the receiver in a manner to be defined 
by the particular bindings/modules implementing this specification.

= ADD/data Property =

This property is identified with the URI 
http://www.w3.org/@@@@/@@/features/ADD/data.

== Description ==

This property defines the ADDs referred to by the ADD feature. The XML 
representation of the [children] of the ADD/data property is:

<*dataEntry* value="xs:QName"
              name="xs:NCName"?
              role="xs:anyURI"?
              mustUnderstand = "xs:Boolean"?
              occurs="optional | once | zeroOrMore | oneOrMore"?> *
    xs:any
</*dataEntry*>

The value attribute information item refers, by QName, to an element 
declaration component or a xs:simpleType.

The name attribute information item identifies a given dataEntry element 
information item. The value of all name attribute information items MUST 
be unique across all dataEntry element information items.

The role attribute information item identifies the role to which the 
feature specific data is addressed in the sense the term role is used by 
the SOAP 1.2 specification, that is, to identify a particular 
intermediary along a message path. If the role attribute information 
item is omitted then the role value is assumed to be the ultimate 
destination.

The mustUnderstand attribute information item specifies if the binding 
of the feature specific data must include an explicit indication that 
the feature specific data must be understood by anyone who processes the 
message. If omitted the value of mustUnderstand is treated as false.

The occurs attribute information item identifies how many instances of 
the ADD may appear on a message instance. The choices are:
  * Optional - The ADD may appear zero or one times.
  * Once - The ADD must appear exactly once.
  * zeroOrMore - The ADD may appear zero or more times.
  * oneOrMore - The ADD must appear at least once but may appear more times.

The value of the [children] of the dataEntry element information item 
MUST match the schema of the value attribute information item and MAY be 
specified at runtime.

= Additional Data Declaration Data Module =

This module is identified with the URI http://www.w3.org/@@@@/@@/modules/ADD

== Features Implemented ==

This module implements the feature http://www.w3.org/@@@@/@@/features/ADD.

== Operation ==

This module specifies how to transmit ADDs defined by dataEntry element 
information items in SOAP headers.

As a SOAP sender, if the property 
http://www.w3.org/@@@@/@@/features/ADD/data has a value then each of the 
dataEntry element information items in the value SHOULD be turned into 
SOAP headers. The contents of the dataEntry element information item are 
serialized into the associated SOAP header. The SOAP role attribute and 
mustUnderstand attribute will be set as specified by the corresponding 
role and mustUnderstand attribute information items on the associated 
dataEntry element information item. In addition each SOAP header created 
as a consequence of this feature will have an attribute "application" 
from the http://www.w3.org/@@@@/@@/features/ADD namespace of type 
xs:Boolean placed on it and set to the value of true.

As a SOAP receiver, the value of all SOAP headers which have the 
attribute "application" from the http://www.w3.org/@@@@/@@/features/ADD 
namespace defined on them with the value 'true' SHOULD be made available 
to the application through the 
http://www.w3.org/@@@@/@@/features/ADD/data property. The contents of 
each SOAP header will be placed in the dataElement element information 
item, the name and occurs attribute information items will be omitted, 
the role and mustUnderstand attribute information items will be set to 
the corresponding values in the SOAP header and the value attribute 
information item will be set based on the schema/type of the content.

Received on Wednesday, 17 March 2004 22:38:33 UTC