XMSG - XML Messaging Specification Schema Documentation

This accompanies the XMSG XML Messaging Specification Note.


Complex Type : message

Description

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.

Definition

Content

Element only content consisting of:

Sequence ofhop [*]
property [*]
One ofdocument [+]
receipt
failure

Attributes

NameRequiredDefaultDatatypeDescription
actionnononEmptyString (S)

An application-dependent value that further qualifies to process to be performed by the recipiant.

for.receiptnononEmptyString (S)

Identifies the receipt for which this message is a reply.

receipt.requirednofalseboolean (XML Schema)

Identifies that a receipt for this message is requested because asynchronous processing of the reply will occurr.

fromyesabsoluteURI (S)

Identifies the sender of the message via a URI value. This value must be absolute.

originator.idnononEmptyString (S)

A unique identifier that, when paired with the originator value, should be unique over time for the originator.

toyesabsoluteURI (S)

Identifies the intended recipiant of the message via a URI value. This value must be absolute.

tracking.codenononEmptyString (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.

prioritynonormalLocal Type

Identifies the priority level at which the recipiant should process the message.

expiresnotimeInstant (XML Schema)

Identifies a date and time in the future at which the message should be consider expired and no longer relavant.

manifestnoabsoluteURI (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.

originatornoabsoluteURI (S)

Identifies for whom the message was sent of behalf of by the sender via a URI value. This value must be absolute.

reply.tonoabsoluteURI (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.

idyesnonEmptyString (S)

An identifier that, when paired with the from value (sender), should be unique over time for the sender.

generated.onyestimeInstant (XML Schema)

The date and time the message was generated by the sender.

Declaration

   <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>