Table of Contents

Search

  1. Preface
  2. Introduction to Data Transformation
  3. Data Processor Transformation
  4. Wizard Input and Output Formats
  5. Relational Input and Output
  6. Using the IntelliScript Editor
  7. XMap
  8. Libraries
  9. Schema Object
  10. Command Line Interface
  11. Scripts
  12. Parsers
  13. Script Ports
  14. Document Processors
  15. Formats
  16. Data Holders
  17. Anchors
  18. Transformers
  19. Actions
  20. Serializers
  21. Mappers
  22. Locators, Keys, and Indexing
  23. Streamers
  24. Validators, Notifications, and Failure Handling
  25. Validation Rules
  26. Custom Script Components

StructureDefinition

StructureDefinition

The
StructureDefinition
anchor processes well-structured input, such as text messages conforming to industry-standard messaging protocols. The output of
StructureDefinition
is an XML representation of the data.
The input data has delimited records. You organize the input records in predefined ways. For example, a record of type A precedes a record of type B, followed by one to three records of type C. Each record contains an organized set of fields.
The following table describes the properties of the
StructureDefinition
anchor:
Property
Description
disabled
Determines whether the Script ignores the component and all of the child components. Use this property to test, debug, and modify a Script. You can choose one of the following options:
  • Selected. The Script ignores the component.
  • Cleared. The Script applies the component.
The default is cleared.
format_definition
Defines a list of anchors and actions that identify and extract the records. The list must contain an
ExtractRecord
anchor.
name
A descriptive label for the component. This label appears in the log file and the
Events
view. Use the
name
property to identify the component that caused the event.
notifications
A list of
NotificationHandler
components that handle notifications from nested components. For more information, see Notifications.
phase
Determines when the Script processes the component. You can choose one of the following options:
  • initial. The Script processes the component during the initial phase.
  • main. The Script processes the component during the main phase.
  • final. The Script processes the component during the final phase.
For more information, see How a Parser Searches for Anchors.
Default is main.
remark
A user-defined comment that describes the purpose or action of the component.
target
Defines a data holder where the component stores its output.
A
StructureDefinition
has the following parts:
  • format_definition
    property. Extracts the records and identifies their types.
  • A hierarchy of child components. Each child component parses records of a particular type.
The
format_definition
can contain a
RepeatingGroup
that finds the records. Within the
RepeatingGroup
, one or more
Content
anchors retrieve the record-type identifiers. The
RepeatingGroup
contains an
ExtractRecord
anchor that passes the record to the subelements list.
When a Library transformation has a
StructureDefinition
with a
format_definition
that contains a
RepeatingGroup
, the transformation overwrites the repeating element instead of iterating the element.
The subelements hierarchy reflects the required organization of the records. You can configure sequences, choices, loops of records, and required or optional records.
The subelements receive the records from
ExtractRecord
. The system matches each record to a subelement according to the following criteria:
  • The
    $id
    and
    $qualifier
    identifiers of the record must match the values specified in the subelement.
  • The record location in the input must match the subelement location in the hierarchy.
The matching subelement parses the record.
If there is no matching subelement, the
StructureDefinition
triggers a notification. You can insert
NotificationHandler
components that process the notification. The transformation uses the
StructureDefinition
anchor to find and diagnose input errors. Usually the
StructureDefinition
anchor can continue to parse the remainder of the input.


Updated March 18, 2021