SK SKYVVA Documentation

2. Creating MessageTypes from XML file payloads

Introduction

Skyvva's metadata engine supports integration scenarios where systems exchange data through structured XML payloads. Unlike CSV, XML does not require column definitions or separators — the system reads the XML tag names directly as field names and detects the data structure from the payload hierarchy.

When an XML file is uploaded via the Open Editor, the engine automatically parses the tag structure and generates MessageTypes and Field Entries. This works for both flat XML (repeating records with no nesting) and hierarchical XML (nested parent-child elements such as Orders containing OrderItems).

While XML is a widely used format across many integration scenarios in Skyvva, this guide focuses specifically on XML file payloads uploaded through the Open Editor. Use cases such as API-based integrations or external system calls that also rely on XML are not covered here.

This guide covers two key scenarios: uploading a flat XML payload and uploading a hierarchical XML payload. In the hierarchical case, Skyvva automatically detects the parent-child relationships from the XML nesting — no manual tree assignment is required.

image

Scenario 1 : Upload XML — Flat Structure

This scenario covers uploading an XML file that contains repeating flat records, where each record contains only a single level of fields with no nested child objects. The system reads the XML tags and automatically generates one MessageType with corresponding Field Entries.

Although the XML may contain a root wrapper element (e.g., OrdersMessage) and repeating child nodes (e.g., Order), the structure remains flat as long as no nested child elements exist within each record.

Step 1 – Upload Payload

Upload an XML file containing flat repeating records (e.g., multiple Orders with no nested child objects):

<?xml version="1.0" encoding="UTF-8"?>
<OrdersMessage>
    <Order>
        <OrderNumber>ORD-2026-1001</OrderNumber>
        <EffectiveDate>2026-05-08</EffectiveDate>
        <Status>Draft</Status>
        <CurrencyIsoCode>EUR</CurrencyIsoCode>
        <TotalAmount>2450.00</TotalAmount>
    </Order>
    <Order>
        <OrderNumber>ORD-2026-1002</OrderNumber>
        <EffectiveDate>2026-05-08</EffectiveDate>
        <Status>Draft</Status>
        <CurrencyIsoCode>EUR</CurrencyIsoCode>
        <TotalAmount>2460.00</TotalAmount>
    </Order>
</OrdersMessage>
Note: Unlike CSV, XML does not require an intermediate configuration step. After pasting the payload, click Save directly — the system reads the tag structure and generates MessageTypes automatically.

Step 2 – Metadata Generation Result

Once saved, the page refreshes and the generated MessageTypes appear in the Repository list. The system identifies:

image

The following Field Entries are automatically generated from the Order node, each with a sequential sequence number:

image
Note: The generated MessageTypes and Field Entries are now ready to be used in the next step of the Interface configuration.

Scenario 2: Upload XML — Hierarchical (Parent-Child) Structure

This scenario applies when the XML contains nested elements representing two or more related objects — for example, an Order (parent) containing OrderItems (children). The system detects the nested structure and automatically generates a parent MessageType and one or more child MessageTypes to represent the relationship.

Key difference from CSV: After the XML payload is uploaded, Skyvva automatically generates the MessageType structure, including the full parent-child hierarchy, based on the payload structure. No manual tree assignment is required.

Step 1 – Upload Payload

Upload an XML file containing hierarchical data (e.g., Order with nested Account, BillingAddress, and OrderItems):

<?xml version="1.0" encoding="UTF-8"?>
<OrdersMessage>
    <Order>
        <OrderNumber>ORD-2026-1001</OrderNumber>
        <Account>
            <ExternalCustomerId>CUST-10045</ExternalCustomerId>
            <Name>Berlin Tech Solutions GmbH</Name>
        </Account>
        <EffectiveDate>2026-05-08</EffectiveDate>
        <Status>Draft</Status>
        <CurrencyIsoCode>EUR</CurrencyIsoCode>
        <BillingAddress>
            <Street>Alexanderplatz 12</Street>
            <City>Berlin</City>
            <Country>Germany</Country>
        </BillingAddress>
        <TotalAmount>2450.00</TotalAmount>
        <OrderItems>
            <OrderItem>
                <LineNumber>1</LineNumber>
                <ProductCode>LAPTOP-PRO-15</ProductCode>
                <Quantity>2</Quantity>
                <UnitPrice>950.00</UnitPrice>
                <TotalPrice>1900.00</TotalPrice>
            </OrderItem>
        </OrderItems>
    </Order>
</OrdersMessage>

Step 2 – Metadata Generation Result

Once saved, the page refreshes and Skyvva automatically analyzes the XML hierarchy, detects nested nodes, and generates the full parent-child MessageType structure. The Repository list displays:

image
Note: Nested wrapper elements such as Account, BillingAddress, and OrderItems are recognized based on hierarchy. Their child elements (e.g., ExternalCustomerId, Street, LineNumber) are automatically generated and assigned under the corresponding parent node.

Navigate to the Order MessageType to review its Field Entries, then navigate to OrderItem to inspect its Field Entries — each assigned sequential sequence numbers.

image image
Note: Once all Field Entries are verified, they are ready to be used in the next step of the Interface configuration.

Summary

Open this article in the interactive viewer →