Start with a mapping contract
Treat the source format and the XML shape as a contract, not as two files that happen to look similar. Record the delimiter and header behavior for CSV, the worksheet and header row for Excel, the array or object root for JSON, and the line or delimiter rule for text. Then name the XML root element, repeated record element, field paths, attributes, encoding, and namespace URI/prefix pairs.
Inspect before merging
Use xml-path-extractor on the first conversion result. Test the root path, a repeated record path, and several known values. A namespace-qualified document needs a deliberate prefix binding; an empty XPath result is a signal to correct the context or namespace. Before xml-merger, compare the root and namespaces of every input and write down what happens to duplicate identifiers, missing fields, and conflicting values.
Export and read back
Use xml-to-csv or xml-to-json only after the structure is understood. Pay attention to repeated nodes, attributes, empty values, and flattening because a readable export can still lose meaning. Convert or inspect a representative output again, compare record counts and key values with the mapping contract, and keep any loss or coercion in the delivery notes.
Treat sitemaps as a checked XML artifact
For the sitemap branch, start with the approved canonical URL list. Generate the sitemap with sitemap-generator, then inspect its namespace, loc values, and URL count. This proves that the artifact matches the supplied list; it does not prove that every URL is reachable or indexed.