XML parser and domains

The XML message domain includes all messages that conform to the W3C XML standard.

The XMLNS domain is an extension of the XML domain and contains messages that conform to the same standard and that exploit the namespaces feature of the XML specification. Messages in this domain are processed by the XML parser.

The XML parser is a program that interprets a bit stream or tree that represents a message that belongs to the XML domain and generates the corresponding tree from the bit stream on input, or bit stream from the tree on output. The bit stream is a representation of an XML file. (The XML parser also interprets a bit stream or tree that represents a message that belongs to the JMS domains; there is no JMS parser.)

Your applications can exchange XML messages (with or without namespace support) with the WebSphere Business Integration Message Broker brokers in two ways:

  1. You can predefine (model) the message template to create a message dictionary. If you do so, your XML messages are parsed by the MRM parser and processed in the same way as all messages that you model.
  2. You can use self-defining messages that you do not specify in any way before sending.

    A self-defining message can be handled by every built-in node. The whole message can be stored in a database, and headers can be added to or removed from the message as it passes through the message flow.

A self-defining message is also known as a generic XML message. It does not have a recorded format, but carries the information about its content and structure within the message in the form of a document that adheres to the XML specification. Its definition is not held anywhere else. When an XML message is received by the broker, it is interpreted by the XML parser, and an internal message tree structure is created according to the XML definitions contained within that message.

Details of how the XML parser handles null elements and values is described in The XML parser and null values.

The information provided with WebSphere Business Integration Message Broker does not provide a full definition or description of XML terminology, concepts, and message constructs: it is a summary that highlights aspects that are important when you use XML messages with brokers and message flows.

For further information about XML, see the developerWorks Web site.

Example XML message

The name elements used in this description (for example, XmlDecl) are provided by WebSphere Business Integration Message Broker and are referred to as correlation names. They are available for symbolic use within the ESQL that defines the processing of message content performed by the nodes, such as a Filter node, within a message flow. They are not part of the XML specification.

A simple XML message might take the form:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE s1 PUBLIC "http://www.ibm.com/example.dtd" "example.dtd">
<s1>.........</s1>

The corresponding syntax element tree (top level elements only) is shown below.



The WhiteSpace elements within the tree are there because of the line breaks in the original XML document, and have no business meaning. WhiteSpace within an XML element does have business meaning and is represented using the Content syntax element.

The correlation names for XML name elements (for example, Element and XmlDecl) equate to a constant value of the form 0x01000000. You can see these constants used in the output created by the Trace node when a message, or a portion of the message, is traced.

Related concepts
ESQL
The XML parser and null values
JMS parser and domains
The logical message tree
Correlation names

Related tasks
Designing a message flow
Developing ESQL
Manipulating message body content
Manipulating messages in the XML domain

Related reference
Built-in nodes
XML constructs

developerWorks