> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fexco.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Validate an XML file before submission

> Validate your Boarding File Upload XML file against the XSD schema before uploading it to Fexco.

Every Boarding File Upload XML file must be valid against Fexco's XSD (XML Schema Definition) schema before you
submit it to Fexco via Secure File Transfer Protocol
([SFTP](https://docs.fexco.com/dcc/guides/getting-started/security-setup.md#secure-file-transfer-sftp)). If the file is
not valid, the entire file is rejected and none of the merchants in
it are processed. Validating locally catches structural and data
errors before they reach Fexco, saving you a round trip.

## Before you start

You need a completed Boarding File Upload XML file ready for validation. See
[Board merchants via XML](https://docs.fexco.com/dcc/guides/merchant-boarding/board-xml.md)
for how to build one.

## Structural errors versus data errors

The Boarding File Upload utility handles two categories of errors differently.

| Error type | What happens | Example |
| :- | :- | :- |
| Structural or syntactical error | The entire file is rejected. No merchants are processed. | A missing closing tag, an element in the wrong order, or a field that exceeds its maximum length. |
| Data error on an individual merchant | The file is accepted. The valid merchants are processed, and the invalid ones are reported in the response file. | An unknown file group ID or a duplicate merchant originator tag. |

Validation against the XSD catches structural and syntactical errors
before submission. Data errors (such as an unrecognized `fileGroupId`
or `rateMarginGroupName`) are only detected during server-side
processing and appear in the
[response file](https://docs.fexco.com/dcc/guides/merchant-boarding/board-xml.md#check-the-response-file).

## Reference the XSD in your XML file

Your XML file must reference the Boarding File Upload XSD in the root element. If the
`xsi:schemaLocation` attribute is missing, the file is rejected.

```xml theme={null}
<?xml version="1.0" encoding="UTF-8"?>
<merchantBulkUpload
  xmlns="http://www.fexco.com"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.fexco.com
    https://reporting.fexcodcc.com/dais/schema/VanillaMBU_V26.1.xsd">

  <!-- merchant data here -->

</merchantBulkUpload>
```

> [!WARNING]
>
> Omitting the `xsi:schemaLocation` attribute causes the file to be
> rejected without any per-merchant error detail.

## Validate with the online validator

Paste your XML or upload a file to check it against the Boarding File Upload XSD
schema rules. Results appear instantly with no software installation
required.

### Boarding File Upload XML Validator

Validates against Boarding File Upload XSD schema rules

Upload file

> [!NOTE]
>
> You can also validate your file using any XML validator that
> supports XSD schema validation. If you do not have the XSD file, contact your Fexco
> project manager or email [FMSservicedesk@fexco.com](mailto:FMSservicedesk@fexco.com).

## Next steps

* [Board merchants via XML](https://docs.fexco.com/dcc/guides/merchant-boarding/board-xml.md):
  return to the full XML boarding guide to submit your validated
  file.
* [Troubleshoot merchant boarding](https://docs.fexco.com/dcc/guides/merchant-boarding/troubleshoot.md):
  resolve per-merchant data errors that appear in the response file
  after submission.
* [XML Boarding File Upload format](https://docs.fexco.com/dcc/developer-resources/file-formats/xml-boarding-file-upload.md):
  look up the full XSD schema source and field specifications.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.