Message Sets: Complex type TDS properties

The TDS properties of a complex type.

Field Identification

If the complex type is based on a global group, the TDS properties listed are located in the global group. If so, any changes to these properties are applied to the global group, and affect all references to the group (including any other complex types which are based on it).

Property Type Meaning
Data Element Separation Enumerated type Select one of the following values to specify the method that is used to separate the data elements within the type.
  • Tagged Delimited. This value indicates that all elements within the complex type are identified by a tag, and, if a value is specified in the optional Delimiter property, are separated by that value. You must set the Tag property for all child elements of simple type, and you can set the Delimiter property to a non-empty value. See Message Sets: Global element TDS properties. You must also set the Tag Data Separator or the Length of Tag property.
  • Tagged Fixed Length. This value indicates that each element is identified by a tag, and the data has a fixed length. There are no delimiters. You must set the Tag property for each of the child elements of this complex type, and each child element must have a Length or Length Reference property assigned to it. You must also set the Tag Data Separator or the Length of Tag property.
  • Tagged Encoded Length. This value indicates that all elements within the complex type are separated by a tag, and a length field follows each tag. There are no delimiters. The tag can be fixed length, as set by the Length of Tag property, or variable length delimited by the Tag Data Separator property. You must also set the Length Of Encoded Length property so that the parser knows the size of the length field, and set the Extra Chars in Encoded Length property. This property tells the parser what to subtract from the value in the Length Of Encoded Length property to get the actual length of the data that follows the length field.

    This method provides a more flexible way of handling ACORD AL3 standard messages than using the Fixed Length AL3 value, by allowing different parts of the messages to be at different versions of the ACORD AL3 standard.

  • All Elements Delimited. This value indicates that all elements within the complex type are separated by a delimiter. You must set a value in the Delimiter property.
  • Variable Length Elements Delimited. This value indicates that some of the elements within the complex type might be of variable length. Variable length elements must be delimited by the value specified in the Delimiter property.
  • Use Data Pattern. This value indicates that the parser determines the elements by matching the data with the regular expression that is set in the Data Pattern property of the element or type member. See Message Sets: Message definition file properties.
  • Fixed Length. This value indicates that all elements within the complex type are fixed length. The next data element is accessed by adding the value of the Length property to the offset. See Message Sets: Global element TDS properties. If you set the Data Element Separation property of a complex type to Fixed Length, you must also set the Data Element Separation property of all complex children of this type to Fixed Length. Each child element must have a Length or Length Reference property assigned to it.
  • Fixed Length AL3. This value has a similar meaning to the separation type Fixed Length, but also indicates to the parser that a number of predefined rules regarding missing optional elements, encoded lengths, and versioning, must be applied. If you set the Data Element Separation property of a complex type to Fixed Length AL3, you must also set the Data Element Separation property of all complex children of this type to Fixed Length AL3.
  • Undefined. This value is set automatically if you set the Type Composition property of a complex type to Message, and you cannot change it to any other value.

    Do not set the Type Composition property to Empty, Choice, Unordered Set, Ordered Set, Sequence, or Simple Unordered Set. If you do, you cannot check in the type.

Group Indicator String Specify the value of a special character, or string, that precedes the data that belongs to a group, or a complex type, within the bit stream.
Group Terminator String Specify the value of a special character, or string, that terminates the data that belongs to a group, or a complex type, within the bit stream.
Delimiter String Specify the value of a special character, or string, that specifies the delimiter that is used between data elements.

This property applies only to the delimited Data Element Separation methods (Tagged Delimited, All Elements Delimited, and Variable Length Elements Delimited).

Suppress Absent Element Delimiters Enumerated type Use this property to select whether you want delimiters to be suppressed for elements that are missing within a message.
Select from:
  • End Of Type. Use this option to suppress the delimiter when an element is missing. For example, if the model has been defined to have up to three elements and only two are present, the last delimiter can be omitted from the message.
  • Never. Use this option to ensure that even if optional elements are not present, all delimiters are written out. Use this option when the same delimiter is used to delimit parent and child objects. For example, if an optional child element is missing, message processing applications cannot tell where the child elements in a message end and the next parent element starts, if the delimiters are all the same.
Observe Element Length Check box This property is applicable when Data Element Separation is All Elements Delimited or Tagged Delimited. Select this check box if the Length property of child simple elements is significant when parsing and writing.
  • During parsing, an exception is thrown if the length of the extracted data exceeds the specified length. Otherwise, the data is trimmed according to the Justification and Padding Character properties of the child element.
  • During writing, an exception is thrown if the data to write exceeds the specified length. Otherwise, the data is padded according to the Justification and Padding Character properties of the child element.

Clear this check box to ignore the Length property when parsing and writing.

The default value depends on the setting of the Messaging Standard property (at the message set level) and the Data Element Separation property.
  • If Data Element Separation is All Elements Delimited and the Messaging Standard is TLOG, the check box is selected.
  • If Data Element Separation is All Elements Delimited and the Messaging Standard is other than TLOG, the check box is cleared.
  • If Data Element Separation is Tagged Delimited, the check box is cleared.
For all other data element separation methods, the check box is disabled and does not influence the behavior of the TDS parser.
Tag Data Separator Button and String Specify the value of a special character or string that separates the Tag from the data. The Tag Data Separator and Length of Tag properties are mutually exclusive.

If you set the property Tag Data Separator, it overrides Length of Tag.

This property applies only to the tagged Data Element Separation methods (Tagged Delimited, Tagged Fixed Length, and Tagged Encoded Length).

Length of Tag Button and Integer Specify the length of a tag value. When the message is parsed, this property allows tags to be extracted from the bit stream if the Tag Data Separator property is not set.

The Tag Data Separator and Length of Tag properties are mutually exclusive. If you set the property Tag Data Separator, it overrides this value.

This property applies only to the tagged Data Element Separation methods (Tagged Delimited, Tagged Fixed Length, and Tagged Encoded Length).

Length of Encoded Length Integer Specifies the number of characters (not bytes) after a tag that are used for the length field. Enter a value from 0 to 2147483647.

You must set this property if you have set the Data Element Separation property to Tagged Encoded Length; it is not valid otherwise.

The actual number of data characters that are parsed depends on the value of the Extra Chars in Encoded Length property.

Extra Chars in Encoded Length Integer (Only valid if the Data Element Separation method is set to Tagged Encoded Length.) Specifies the number of extra characters included in the value found in the length field. (For example, the value in the length might include the size of the length field itself as well as the size of the data field, or it might be the total size of the tag, length, and data fields.)

Enter a value from 0 to 2147483647. The parser subtracts this number from the number found in the length field to get the number of data characters that follow the length field.

You must set this property if you have set the Data Element Separation property to Tagged Encoded Length, and the actual number of data characters is less than the value found in the length field.