Logical tree structure

The logical tree structure is the internal (broker) representation of a message.

When a message arrives at a broker, it is received by an input node that you have configured in a message flow. Before the message can be processed by the message flow, it must be interpreted by one or more parsers that create a logical tree representation from the bit stream of the message data.

The tree format contains identical content to the bit stream from which it is created, but it is easier to manipulate within the message flow. Many of the built-in message flow nodes provide an interface for you to query and update message content within the tree, and perform other actions against messages and databases to help you to provide the required function in each node.

Three interfaces are provided:

The tree structure created by the parsers is largely independent of any message format (for example, XML). The exception to this is the subtree that is created as part of the message tree and that represents the message body. This subtree is message dependent, and its content is not further described.

The input node creates the logical tree, which consists of four subtrees:

The first of these trees is populated with the contents of the input message bit stream, as described in How the message tree is populated: the remaining three are initially empty.

Each of the four trees created has a root element (with a name that is specific to each tree). Each tree is made up of a number of discrete pieces of information called elements. The root element has no parent and no siblings (siblings are elements that share a single parent). The root is parent to a number of child elements. Each child must have a parent, can have zero or more siblings, and can have zero or more children.

The four trees are created for both built-in and user-defined input nodes and parsers.

The input node passes the logical tree structure that it has created to subsequent message processing nodes in the message flow:

Related concepts
Message tree structure
How the message tree is populated
Environment tree structure
LocalEnvironment tree structure
ExceptionList tree structure
Correlation names
Related tasks
Developing message flows
Manipulating message body content
Manipulating other parts of the message tree
Writing ESQL
Writing Java
Related reference
Built-in nodes
User-defined nodes
MQRFH2 header