This accompanies the XMSG XML Messaging Specification Note.
Copyright ©2000 W3C ® (MIT, INRIA, Keio), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply.
A message may consist of an set of XML documents, non-XML documents, or references to "out-of-band" documents.
As a document is routed through a system to a target participant--as identified by the "to" property--a set of "system hops" encoded as hop elements may be added the message by the processing application. This encodes an audit trail for where the message has been.
A message also has properties associated with it. These properties are either first-class or arbitrary (application-defined). Any first-class property is encoded as an attribute and has a semantic defined in the XMSG specification.
In addition, each document may have properties. These properties may also be first-class or arbitrary (application-defined). A document's properties also specify the identity of the document.
The message may also specify a manifest, which is a pointer to a document that describes the contents of the message. The specification of the content of the manifest is left to the application or layered protocol.
Element only content consisting of:
Sequence of | hop
[*]
property [*]
|
Name | Required | Default | Datatype | Description |
---|---|---|---|---|
action | no | nonEmptyString (S) | An application-dependent value that further qualifies to process to be performed by the recipiant. | |
for.receipt | no | nonEmptyString (S) | Identifies the receipt for which this message is a reply. | |
receipt.required | no | false | boolean (XML Schema) | Identifies that a receipt for this message is requested because asynchronous processing of the reply will occurr. |
from | yes | absoluteURI (S) | Identifies the sender of the message via a URI value. This value must be absolute. | |
originator.id | no | nonEmptyString (S) | A unique identifier that, when paired with the originator value, should be unique over time for the originator. | |
to | yes | absoluteURI (S) | Identifies the intended recipiant of the message via a URI value. This value must be absolute. | |
tracking.code | no | nonEmptyString (S) | An application-dependent tracking code that can be used to track transactions, etc. over multiple messages. This value is not necessarily unique to a specific message instance. | |
priority | no | normal | Local Type | Identifies the priority level at which the recipiant should process the message. |
expires | no | timeInstant (XML Schema) | Identifies a date and time in the future at which the message should be consider expired and no longer relavant. | |
manifest | no | absoluteURI (S) | The URI of the document in the message that should be considered a manifest. The syntax and semantics of this message is application-dependent. | |
originator | no | absoluteURI (S) | Identifies for whom the message was sent of behalf of by the sender via a URI value. This value must be absolute. | |
reply.to | no | absoluteURI (S) | Identifies to whom the reply should be send via a URI. Typically, this value is copied to the "to" attribute of the reply message. This value must be absolute. | |
id | yes | nonEmptyString (S) | An identifier that, when paired with the from value (sender), should be unique over time for the sender. | |
generated.on | yes | timeInstant (XML Schema) | The date and time the message was generated by the sender. |
<complexType content="elementOnly" name="message"> <annotation> <documentation> <body> <p>A message may consist of an set of XML documents, non-XML documents, or references to "out-of-band" documents.</p> <p>As a document is routed through a system to a target participant--as identified by the "to" property--a set of "system hops" encoded as hop elements may be added the message by the processing application. This encodes an audit trail for where the message has been.</p> <p>A message also has properties associated with it. These properties are either first-class or arbitrary (application-defined). Any first-class property is encoded as an attribute and has a semantic defined in the XMSG specification.</p> <p>In addition, each document may have properties. These properties may also be first-class or arbitrary (application-defined). A document's properties also specify the identity of the document.</p> <p>The message may also specify a manifest, which is a pointer to a document that describes the contents of the message. The specification of the content of the manifest is left to the application or layered protocol.</p> </body> </documentation> </annotation> <sequence minOccurs="1" maxOccurs="1"> <element minOccurs="0" ref="hop" maxOccurs="unbounded"></element> <element minOccurs="0" ref="property" maxOccurs="unbounded"></element> <choice minOccurs="1" maxOccurs="1"> <element minOccurs="1" ref="document" maxOccurs="unbounded"></element> <element minOccurs="1" ref="receipt" maxOccurs="1"></element> <element minOccurs="1" ref="failure" maxOccurs="1"></element> </choice> </sequence> <attribute use="required" type="xmsg:absoluteURI" name="from"> <annotation> <documentation> <body> <p>Identifies the sender of the message via a URI value. This value must be absolute.</p> </body> </documentation> </annotation> </attribute> <attribute use="required" type="xmsg:absoluteURI" name="to"> <annotation> <documentation> <body> <p>Identifies the intended recipiant of the message via a URI value. This value must be absolute.</p> </body> </documentation> </annotation> </attribute> <attribute use="default" type="xmsg:absoluteURI" name="reply.to"> <annotation> <documentation> <body> <p>Identifies to whom the reply should be send via a URI. Typically, this value is copied to the "to" attribute of the reply message. This value must be absolute.</p> </body> </documentation> </annotation> </attribute> <attribute use="default" type="xmsg:absoluteURI" name="originator"> <annotation> <documentation> <body> <p>Identifies for whom the message was sent of behalf of by the sender via a URI value. This value must be absolute.</p> </body> </documentation> </annotation> </attribute> <attribute use="default" type="xmsg:nonEmptyString" name="originator.id"> <annotation> <documentation> <body> <p>A unique identifier that, when paired with the originator value, should be unique over time for the originator.</p> </body> </documentation> </annotation> </attribute> <attribute use="default" type="xmsg:nonEmptyString" name="action"> <annotation> <documentation> <body> <p>An application-dependent value that further qualifies to process to be performed by the recipiant.</p> </body> </documentation> </annotation> </attribute> <attribute value="normal" use="default" name="priority"> <annotation> <documentation> <body> <p>Identifies the priority level at which the recipiant should process the message.</p> </body> </documentation> </annotation> <simpleType base="string"> <enumeration value="lowest"> <annotation> <documentation> <body> <p>Sets the message processing to lowest priority.</p> </body> </documentation> </annotation> </enumeration> <enumeration value="low"> <annotation> <documentation> <body> <p>Sets the message processing to low priority.</p> </body> </documentation> </annotation> </enumeration> <enumeration value="normal"> <annotation> <documentation> <body> <p>Sets the message processing to normal priority.</p> </body> </documentation> </annotation> </enumeration> <enumeration value="high"> <annotation> <documentation> <body> <p>Sets the message processing to high priority.</p> </body> </documentation> </annotation> </enumeration> <enumeration value="highest"> <annotation> <documentation> <body> <p>Sets the message processing to highest priority.</p> </body> </documentation> </annotation> </enumeration> </simpleType> </attribute> <attribute use="default" type="timeInstant" name="expires"> <annotation> <documentation> <body> <p>Identifies a date and time in the future at which the message should be consider expired and no longer relavant.</p> </body> </documentation> </annotation> </attribute> <attribute use="required" type="xmsg:nonEmptyString" name="id"> <annotation> <documentation> <body> <p>An identifier that, when paired with the from value (sender), should be unique over time for the sender.</p> </body> </documentation> </annotation> </attribute> <attribute use="default" type="xmsg:nonEmptyString" name="tracking.code"> <annotation> <documentation> <body> <p>An application-dependent tracking code that can be used to track transactions, etc. over multiple messages. This value is not necessarily unique to a specific message instance.</p> </body> </documentation> </annotation> </attribute> <attribute use="required" type="timeInstant" name="generated.on"> <annotation> <documentation> <body> <p>The date and time the message was generated by the sender.</p> </body> </documentation> </annotation> </attribute> <attribute use="default" type="xmsg:absoluteURI" name="manifest"> <annotation> <documentation> <body> <p>The URI of the document in the message that should be considered a manifest. The syntax and semantics of this message is application-dependent.</p> </body> </documentation> </annotation> </attribute> <attribute value="false" use="default" type="boolean" name="receipt.required"> <annotation> <documentation> <body> <p>Identifies that a receipt for this message is requested because asynchronous processing of the reply will occurr.</p> </body> </documentation> </annotation> </attribute> <attribute use="default" type="xmsg:nonEmptyString" name="for.receipt"> <annotation> <documentation> <body> <p>Identifies the receipt for which this message is a reply.</p> </body> </documentation> </annotation> </attribute> </complexType> |