> This page is for Docs.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://zuora.ferndocs.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://zuora.ferndocs.com/_mcp/server.

# Logic: XML Transform

> This reference describes the Logic: XML Transform task.

This reference describes the Logic: XML Transform task.

The XML transform task transforms an XML file in the data payload into a different XML structure, or converts the file to a JSON object. The output data will be appended to the data payload.

> **Note**
>
> The XML transform task only supports UTF-8 as the character encoding for the input and output XML files, and does not support character encoding conversion in the task.

## Task settings

When creating an XML transform task, you need to specify an object (an XML file) as the input and select a transformation mode. Optionally, you can enter a filename for the output file.

![XML Transform configuration](/_fern-img/d89c735338b221e2f1d697117452eb42da5429c6cee9f6164374aa8d4703f6f1.webp)

There are two modes available.

* **XML Transform**: Transforms the specified XML file to a different structure. A new XML file will be added to the Files object in the data payload.
* **Convert to JSON**: Converts the specified XML file to a JSON object. The output JSON object is placed in the XMLTransform object. The object name (Data in the example below) is the name of the outermost tag in the XML file.

  ![XML Transform payload](/_fern-img/f14875c8bb81ebf23d89f02607a11bf8d14dfb2ca7debf86147ce214e6d22257.webp)

If the XML Transform mode is selected, you need to enter XSLT code to transform the XML data, and XSD code to validate the output XML.

![XML Transform code example](/_fern-img/01c27a14721d3501bf0d9531f7c21d8786ca81df4146ba1dc52f05f3b4be1a33.webp)

**Concurrency Mode**: Controls whether Workflow processes tasks in a single or multi-threaded manner for this task type. Select **Sequential** to single-thread, or **Parallel** to allow multi-threaded processing.

If you select **Parallel**, the **Max Concurrency** setting controls the maximum number of threads for this task type that can be utilized. You can specify a value from 1 up to the allowed maximum for this task type. A value of 1 behaves the same as Sequential processing.

## Examples

For an example of using the XML transform task, see the template **Billing** > **Invoice to XML Document - XSLT Transform**. The template is explained in [Retrieve and format tax data for bulk upload](/docs/platform/extensibility/workflow/create-and-manage-workflow-definitions/workflow-use-cases/retrieve-and-format-tax-data-for-bulk-upload).