Q: Does the formatter preserve comments?
Yes by default. Toggle “Strip comments” when you want to drop them — useful when shipping XML to a system that complains about <!-- --> blocks (older SOAP middleware sometimes does), or when the comments contain internal debugging notes you don't want exposed.
Q: Is my XML uploaded to your server?
No. Parsing and serialization run entirely in your browser via the native DOMParser. You can verify by opening DevTools and watching the Network tab while formatting — no outbound requests for the formatting itself. Safe to paste SOAP payloads with PII or internal config.
Q: Does it validate well-formedness?
Yes. Malformed XML produces a clear error with the underlying DOMParser message (which varies slightly between Chrome, Firefox, and Safari). For strict well-formedness reporting, also use the XML Validator tool. For XSD schema validation, run xmllint --schema locally after the formatter passes.
Q: What does Minify do?
Minify removes all inter-tag whitespace and collapses repeated spaces inside text — producing the most compact valid XML form for transport or embedding. The output is semantically identical to the input but tiny. Useful when wrapping XML inside a JSON string field (each saved byte avoids one more layer of escaping) or in shell scripts.
Q: Are CDATA sections preserved?
Yes. CDATA, comments, and processing instructions round-trip intact. The formatter treats CDATA as opaque — whitespace inside <![CDATA[...]]> is never touched, even in minify mode. This matters when CDATA contains code or markup that depends on exact whitespace.
Q: How does it handle xml:space="preserve"?
Elements that explicitly set xml:space="preserve" are left alone — every space and newline inside them is treated as significant. The surrounding context still gets reformatted normally. This matches the XML 1.0 spec and matters for mixed documents like XHTML inside SOAP.