You can use several advanced schema structures in graphical data maps.
The head element and any mapped substitutions are shown by default in the Graphical Data Mapping editor. The mapped substitutions are listed beneath the head element.
You create mappings to or from members of substitution groups in the same way as you map other elements.
You can use wildcards to create open content models. You can define xsd:any and xsd:anyAttribute wildcards.
For more information, see Mapping xsd:any on an input or output message.
A derived type is a data type that is related to another data type known as the base type or super type.
In a message map, you can cast a base type to a derived type or extension type. You can define transformations between subtypes of a data type.
You can use xs:list to define a simple type element as a list of values of a specified data type. For example:
<xs:simpleType name='CustomerName'>
<xs:list itemType='string'/>
</xs:simpleType>
You can use xs:union to define a simple type as a collection of values from specified simple data types. It allows a value to conform to any one of several different simple types. For example:
<xs:element name="zipUnion">
<xs:simpleType>
<xs:union memberTypes="USStateName StateID"/>
</xs:simpleType>
</xs:element>
<xs:element name="USStateName">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="100"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="StateID">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="100"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
BIP3949E: An error occurred during the processing of a message.
To
prevent this error, you can explicitly define the type of the element by using the
xs:string() function:
xs:string($zipUnion) != ''
For more information, see Cast type (xs:type).