Skip to main content
The XML Group connector processes collections of related XML records, grouping them by columns for efficient data management and analysis.

Key Capabilities

  • Hierarchical XML record grouping and aggregation with key-based grouping and multiple grouping keys
  • Aggregate function support (MIN, MAX, SUM, AVG, COUNT, and CONCATENATE) with XPath-based identification
  • Preserves original record structure while adding summary and grouping elements

Overview

The XML Group connector processes collections of related XML records by aggregating, validating, and transforming structured data for seamless integration with various systems. It enables efficient handling of hierarchical XML data, ensuring consistency and interoperability across applications such as data exchange, reporting, and automated workflows.

Connector Configuration

This section contains all of the configurable connector properties.

Group Config Tab

Settings related to configuring the group.

Sample File

Use the Sample File toggle to specify a sample file that allows the connector to provide more context about the document. See Using Sample Files for more information.
SettingDescription
Sample FileSelect an existing sample file, or upload a new one.

Loop Settings

Settings related to the XPath the connector should use to represent a single record in the input document, as well as the XML element to use to hold each group of related records.
SettingDescription
Element NameThe name of the XML element to use for the grouping in the output file.
Record XPathWhich XPath from the input should represent a single record.

Group Settings

Settings that define which elements in each record to use to determine the key for each group. See Using Group Settings for more information.
SettingDescription
Element NameTells the connector what to name the XML element to use for grouping in the output file. This is usually the same name as the element in the input file that the Key XPath points to, but you can use a different name.
Key XPathThe XPath from the input file of the element to use as the key (what you want to group by). The Key XPath is relative to the Record XPath.
Add Key XPathClick this button to define additional keys.

Summary Settings

Use the Summary Settings toggle to see the settings that define how to summarize the records in each group. See Using Summary Settings for more information.
SettingDescription
Element NameThe name of the XPath to use to summarize the records.
FunctionThe function to use as the aggregate. Choose from MIN, MAX, SUM, AVG, COUNT, and CONCATENATE.
XPathThe relative XPath to the element to aggregate.
Add Aggregate XPathClick this button to add more aggregate XPaths.

Order By Settings

Use the Order By toggle to see the settings that define how to sort the records in each group.
SettingDescription
XPathThe relative XPath to the element to sort by.
Order ByWhether to sort in ascending or descending order.
Add Order By XPathClick this button to add more XPaths to sort by.

Settings Tab

Configuration

Settings related to establishing the connection.

Automation Tab

Automation Settings

Settings related to the automatic processing of files by the connector.
SettingDescription
SendCheck this to have the connector automatically send groups when they are ready.

Performance

Alerts Tab

SLAs Tab

Advanced Tab

Logging

Other Settings

SettingDescription
Processing DelayThe amount of time (in seconds) by which the processing of files placed in the Transactions tab is delayed. This is a legacy setting. Best practice is to use a File connector to manage local file systems instead of this setting.

Miscellaneous

Using Sample Files

Toggle Sample File on to upload a sample input XML that mimics the XML input that is going to be passed into the connector. When enabled, it provides XPath helpers for each of the XPath fields in the UI, so it becomes easier to see the document structure and select the correct XPath. You can only click eligible XML elements, based on what the XPath is representing for the connector. For example, in Loop Settings, you can only select parent elements because expects that those elements are what represent a record. Then, in Group Settings, the visible elements are the child elements of the Loop Settings parent element because expects the key element to be a child of the parent record.

Using Group Settings

Group settings define the elements in each record to use to determine the key for each group. The key is usually an Id value such as CustomerID or InvoiceID. You can have multiple keys, which appear as children of the element name and xpath set in Loop Settings.
  • Element Name tells the connector what to name the XML element to use for grouping in the output file. This is usually the same name as the element in the input file that the Key XPath points to, but you can use a different name.
  • Key XPath is the XPath from the input file of the element to use as the key (what you want to group by). The Key XPath is relative to the Record XPath.
For example, in the following XML, the <MaterialCode> element is the key. This lets you group all occurrences of ALPHA, BRAVO and CHARLIE together in the output, instead of having multiples of each.
<Items>
    <Invoice>
        <InvoiceDetail>
            <MaterialCode>ALPHA</MaterialCode>
            <MaterialCodeDescription>Alpha Materials</MaterialCodeDescription>
            <NetAmount>1000.00</NetAmount>
        </InvoiceDetail>
        <InvoiceDetail>
            <MaterialCode>ALPHA</MaterialCode>
            <MaterialCodeDescription>Alpha Materials</MaterialCodeDescription>
            <NetAmount>2000.00</NetAmount>
        </InvoiceDetail>
        <InvoiceDetail>
            <MaterialCode>BRAVO</MaterialCode>
            <MaterialCodeDescription>Bravo Materials</MaterialCodeDescription>
            <NetAmount>100.00</NetAmount>
        </InvoiceDetail>
        <InvoiceDetail>
            <MaterialCode>CHARLIE</MaterialCode>
            <MaterialCodeDescription>Charlie Materials</MaterialCodeDescription>
            <NetAmount>500.00</NetAmount>
        </InvoiceDetail>
        <InvoiceDetail>
            <MaterialCode>CHARLIE</MaterialCode>
            <MaterialCodeDescription>Charlie Materials</MaterialCodeDescription>
            <NetAmount>100.00</NetAmount>
        </InvoiceDetail>
    </Invoice>
</Items>

Using Summary Settings

Summary settings control how the connector should aggregate data. You can define an XPath containing a value that you want to perform an action operator on (MIN, MAX, SUM, AVG, COUNT, CONCATENATE), and the connector then performs that operator on all records in a group. A common example is to SUM the price of each record. The following example uses the Loop Settings and Group Settings described in the previous images, along with the following Summary Settings: Using the XML in the previous section results in an output XML with a InvoiceDetailGroup for each key element (the MaterialCode). Inside each InvoiceDetailGroup is the MaterialCode key from the Group Settings, and the calculated NetAmountSUM from the Summary Settings. Finally, the original InvoiceDetail elements and their children are included:
<Items>
  <Invoice>
    <InvoiceDetailGroup>
      <MaterialCode>ALPHA</MaterialCode>
      <NetAmountSUM>3000</NetAmountSUM>
      <InvoiceDetail>
        <MaterialCode>ALPHA</MaterialCode>
        <MaterialCodeDescription>Alpha Materials</MaterialCodeDescription>
        <NetAmount>1000.00</NetAmount>
      </InvoiceDetail>
      <InvoiceDetail>
        <MaterialCode>ALPHA</MaterialCode>
        <MaterialCodeDescription>Alpha Materials</MaterialCodeDescription>
        <NetAmount>2000.00</NetAmount>
      </InvoiceDetail>
    </InvoiceDetailGroup>
    <InvoiceDetailGroup>
      <MaterialCode>BRAVO</MaterialCode>
      <NetAmountSUM>100.00</NetAmountSUM>
      <InvoiceDetail>
        <MaterialCode>BRAVO</MaterialCode>
        <MaterialCodeDescription>Bravo Materials</MaterialCodeDescription>
        <NetAmount>100.00</NetAmount>
      </InvoiceDetail>
    </InvoiceDetailGroup>
    <InvoiceDetailGroup>
      <MaterialCode>CHARLIE</MaterialCode>
      <NetAmountSUM>600</NetAmountSUM>
      <InvoiceDetail>
        <MaterialCode>CHARLIE</MaterialCode>
        <MaterialCodeDescription>Charlie Materials</MaterialCodeDescription>
        <NetAmount>500.00</NetAmount>
      </InvoiceDetail>
      <InvoiceDetail>
        <MaterialCode>CHARLIE</MaterialCode>
        <MaterialCodeDescription>Charlie Materials</MaterialCodeDescription>
        <NetAmount>100.00</NetAmount>
      </InvoiceDetail>
    </InvoiceDetailGroup>
  </Invoice>
</Items>
Because you already have the associated records as nested children of the key, instead of in a flat structure, this XML is easier to work with when it goes to an XML Map connector.

Macros

Examples