This section describes the general rules for each value that you
can set for the Data Element Separation property
of a type.
- Tagged Delimited
-
- The Tag property for every
simple child element must contain a non-empty value.
- Tagged Encoded Length
-
- The Tag property for every
simple child element must contain a non-empty value.
- The Length Of Encoded Length property
must contain a positive integer greater than zero.
- Variable Elements Delimited
- The Delimiter property
must contain a non-empty value.
- Use Data Pattern
- Each simple element that is a child of the complex type must have a regular
expression specified for Data Pattern.
See Regular expression syntax.
- All Elements Delimited
- The Delimiter property
must contain a non-empty value.
- Fixed Length
- All simple child elements must specify a length, unless their data type
is Boolean (or derived from Boolean).
- All compound child elements must specify a length, unless their data type
is Boolean (or derived from Boolean).
- The length can be specified using either the Length property,
or the Length Value Of member property.
- Fixed Length AL3
- All complex child elements with a non-Boolean compound element and non-Boolean
simple child elements must have either a nonzero value in their Length property, or a non-empty value
for their Length Value Of type
member property.
- Tagged Fixed Length
-
- All complex child elements with a non-Boolean compound element and non-Boolean
simple child elements must have either a nonzero value in their Length property or a non-empty value
for their Length Value Of type
member property.
- The Tag property for each
and every simple child element must contain a non-empty value.
The following rules also apply:
- If you have set the parent Type Composition to Choice, and the parent Data Element Separation property to Variable Elements Delimited, All Elements Delimited, Fixed Length, or Fixed
Length AL3:
- You must not set the Type Composition to Message for any child complex types.
- You must not set the Data Element Separation method
to Tagged Delimited or Tagged Fixed Length for any child
complex types.
If you do so, the message set will not deploy successfully.
- If you have set the type's Data Element
Separation property to Fixed
Length, Fixed Length
AL3, or Tagged Fixed
Length, you must set either the Length or Length Value Of property for all simple
elements under this parent, and also for all complex elements with a simple
content and compound elements.
- For a Choice in a fixed length environment (Data
Element Separation set to Fixed
Length, Tagged Fixed
Length, or Fixed Length
AL3), length references are not valid, and element lengths
should be used.
- Elements specified in a Length Value
Of property must be simple elements of type INTEGER, they must
exist in the same structure as the referring element, and they must appear
before the referring element in that structure.
- Complex types with simple content and Compound elements must have an empty Length Value Of type member property.
This is because the Length Value Of element
would occur after the referring element in the parent structure, which is
disallowed by the previous rule.
- Complex types with simple content cannot have a separation type of Use Data Pattern.
- Compound elements cannot have a separation type of Use
Data Pattern.
- Regardless of the setting of the type's Data
Element Separation property, if the type of a simple element
is BINARY, you must set either the Length or Length Value Of property.
- For fixed length elements, the Justification property
must be set to something other than Not
Applicable, and the Padding
Character property cannot be an empty value.
- If any element within a message has its Interpret
Element Value property set to Message
Key, the Message Key property
must be set for all messages within the message set.
- If you have set the Repeat property
in the type member to Yes,
you must set a value for the Max Occurs property
in the following two situations:
- If you have defined an element as a member of a complex type that has
the property Data Element Separation set
to Fixed Length.
- If you have defined a fixed length element as a member of a complex type
that has the property Data Element Separation set
to Variable Elements Delimited.
When it is invoked by the broker to interpret an input message, the parser
assumes that the number of occurrences of the element is equal to the value
that you set for Max Occurs.
When the parser constructs an output message, if there are fewer elements
than the value of Max Occurs,
the missing elements are inserted with default values.