Message Sets: Complex type logical properties

The logical properties of a complex type include properties that describe content and substitution settings.

Property Type Meaning
Name String Specify a name for the object when you create it.

Names can consist of alphanumeric characters, including the letters A through Z, a through z, and the digits 0 through 9.

They might also include the following punctuation characters;
  • - the hyphen
  • _ the underscore
  • . the period

Names can start only with a letter or the underscore character, and not with a number, hyphen, or period.

Names that begin with xml, or any variant of these characters (for example XmL), are reserved by the XML standards specification.

Further details of naming conventions and allowable characters can be found in the Extensible Markup Language (XML) specification that can be found on the World Wide Web Consortium (W3C) Web site.

Base Type Enumerated type You can use this property to select a type (simple or complex) that is used as the starting point to define a new complex type that is derived by restriction or extension.
Derived By Enumerated type If this property is active, select one of the following options:
  • restriction. If a complex type is derived by restriction, the content model of the complex type is a subset of the base type.
  • extension. If the complex type is derived by extension, the content model of the complex type is the content model of the base type plus the content model specified in the type derivation.

Derivation by list or union is not supported.

Content

The following table shows the valid settings for Composition and Content Validation. These properties are located on the group which defines the content of this type. They can be edited only if the Local group button is selected. If the Global group button is selected, these properties are taken from the global group identified by the Group name field.

Valid children in a complex type that depend on both Composition and Content Validation are shown in MRM content validation.

Property Type Meaning
Local Group Button Select this property if the content of your complex type is a local group.
Composition Enumerated type

Define the order, and the number of occurrences, of the elements and groups in your messages. Composition does not affect the attributes in a complex type.

Select one of the following options:

  • Empty
  • sequence. If you select this option, you can define members that are elements or groups. These members, if present, must appear in the specified order in the message. They can repeat, and the same element or group can appear more than once.
  • choice. If you select this option, you can define members that are elements or groups. Exactly one of the defined members must be present in the message, and can repeat.

    Use this option if you want to model C unions and COBOL REDEFINES in a Custom Wire Format, or an XML DTD element that uses choice in an XML Wire Format, or a SWIFT field that has more than one option.

  • all. If you select this option, you can define members that are elements; groups are not allowed. The elements in an all group can appear in any order. Each element can appear once, or not at all. An all group can be used only at the top level of a complex type; it cannot be a member of another group within a type.
  • unorderedSet.

    This option is supported only by the MRM domain.

    If you select this option, you can define members that are elements. The elements can repeat, but the same element cannot appear twice in the list of members. The elements can appear in any order in the message.
  • orderedSet.

    This option is supported only by the MRM domain.

    If you select this option, you can define members that are elements. The elements can repeat, but the same element cannot appear twice in the list of members. The elements must appear in the specified order in the message.
  • message.

    This option is supported only by the MRM domain.

    If you select this option, you can define only messages as members. Each member can repeat, but the same message cannot appear twice in the list of members. Like choice, only one of the defined members can be present in a message.

    Unlike choice, when writing a message, if the complex type or group has more than one member, the bit stream is not padded to the length of the longest member.

    Use this option to model multipart messages, which are used in some industry standards; for example, SWIFT. For more information, see the section on multipart messages in Message Sets: Multipart messages.

Content Validation Enumerated type

Content Validation is used only by the MRM domain. If validation is enabled in your message flow, Content Validation specifies the strictness of the MRM validation for members of a complex type or group. See MRM content validation for further details.

Select from the following options:
  • Closed. The complex type can only contain the child elements that you have added to it.
  • Open Defined. The complex type can contain any valid element defined within the message set.
  • Open. The complex type can contain any valid element, not just those that you have added to this complex type.

See Message Sets: Combinations of Composition and Content Validation for further details of these options.

Group Reference Button Select this option if the content of your complex type is a reference to a group object
Group Name Enumerated type The Group Name is the name of the group that this complex type refers to. The groups available to be referenced can be selected from the drop down list.
Min Occurs Integer Specify the minimum number of times that the object can repeat. The default value is 1.

If the value is set to 0, the object is optional.

With the exception of Max Occurs being set to -1, if a value is set for Min Occurs, it must be less than or equal to the value in Max Occurs.

Max Occurs Integer Specify the maximum number of times that the object can repeat. The default value is 1.

If this property is not set, the object cannot occur more than once.

If this property is set to 0, it is interpreted as if the object does not exist in the message.

It can also be set to -1, to indicate that the limit is unbounded and there is no maximum to the number of occurrences.

Mixed Check box Select this option when the complex type has mixed content, and contains character data and sub-elements.

Substitution settings

Property Type Meaning
Final Multiple selection enumerated type The final attribute on a complex type controls whether other types can be derived from it. Valid values are extension/restriction/all. You can select from one or more of the following values:
  • Empty
  • restriction. Prohibit type substitution by elements whose types are restrictions of the head element's type.
  • extension. Prohibit type substitution by elements whose types are extensions of the head element's type.
  • #all. Prohibit substitution by any method.

To select more than one, you must type the selection into the property field.

Block Multiple selection enumerated type The block attribute on a complex type restricts the types of substitutions which are allowed for elements based on that type. In the IBM® Integration Bus its effect is the same as if the block attribute were copied from the complex type onto every element based on the complex type. You can select from one or more of the following values:
  • Empty
  • restriction. Prohibit type substitution by elements whose types are restrictions of the head element's type.
  • extension. Prohibit type substitution by elements whose types are extensions of the head element's type.
  • #all. Prohibit substitution by any method.

To select more than one, you must type the selection into the property field.

Abstract Check box If selected, no elements based on this type can appear in the message.