An instance element is predefined if it is possible to find a matching element definition in the message model with an appropriate set of properties and in the correct context. Otherwise, it is self-defining. Similarly, an entire message is self-defining if no corresponding message is present in the message model.
This topic discusses the processing of elements which appear in an instance message, but which cannot be matched with any element in the message model.
Self-defining elements can only be used when the physical format of the message is a tagged format such as XML or TDS. If your physical format is fixed-length (C or COBOL records) or delimited (e.g. comma separated) then you must ensure that your message model defines every message and every element which needs to be parsed.
If you have chosen not to model your messages, or if no message sets have been deployed to the broker, all messages and elements will inevitably be self-defining. In this situation, it is not possible to influence the parsing and writing of elements via the message definitions; the self-defining elements will be parsed and written according to the default behaviour of the parser and writer.
Self-defining elements, and all elements within a self-defining message, are not validated against value constraints, and any missing fields are not assigned default or fixed values.
However, if an element can be matched against the message model, the parsing and the writing of the element is guided by the logical and physical formats which have been defined. This provides a range of benefits, all of which arise from the information provided to the broker through the message model.