DAXP Preamble Specification

Status: Under active development

Overview

The DAXP preamble defines frame-level metadata required for protocol identification, decoding, namespace resolution, routing, and validation.

The preamble is always located at the beginning of a DAXP frame and must be processed before any messages contained within the frame.

Purpose

The DAXP preamble is a compact header composed of key=value elements separated by the pipe character (|).

Implementations may use the SOH character (0x01) as the field delimiter when operating in the corresponding wire format.

The preamble allows the receiving system to determine:

  • which protocol and protocol version are being used,
  • which character encoding should be applied,
  • which namespace defines the message and tag semantics,
  • which implementation produced the frame,
  • how many messages are contained in the frame.
General Structure

DAXP|V=0.8|I=daxp-core-java|EN=UTF-8|NS=BANK.CRM|MQ=2|

The DAXP identifier must be the first element of the frame.

The remaining preamble fields should follow the canonical order defined by the protocol specification.

Preamble Tag Reference 

Tag SymbolRequiredDescription
DAXP PROTOCOL Yes Identifies the frame as a DAXP frame. It must always be the first element of the preamble.
V VERSION Yes Identifies the version of the DAXP protocol used to encode the frame.
I IMPLEMENTATION No Identifies the implementation, library, runtime, or protocol profile that generated the frame.
EN ENCODING No Defines the character encoding used by the frame.
NS NAMESPACE Yes Identifies the namespace used to resolve message types, schemas, entities, and tag definitions.
MQ MESSAGE_QUANTITY No Specifies the total number of messages contained within the current DAXP frame.

 

Processing Rules
  1. The receiver must verify that the first element is the DAXP protocol identifier.
  2. The protocol version must be validated before parsing subsequent frame elements.
  3. The declared encoding must be applied before interpreting textual values.
  4. The namespace must be resolved before message types and numeric tags are interpreted.
  5. When MQ is present, the receiver should verify that the number of parsed messages matches the declared value.
  6. Unknown optional preamble fields may be ignored unless the active protocol profile defines stricter validation rules.
Example

DAXP|V=0.8|I=daxp-core-java|EN=UTF-8|NS=BANK.CRM.CUSTOMER|MQ=2|

This preamble declares:

  • DAXP protocol version 0.8,
  • daxp-core-java as the producing implementation,
  • UTF-8 character encoding,
  • the BANK.CRM.CUSTOMER namespace,
  • two messages contained within the frame.