What does this validator actually check?
Well-formedness, as defined by the W3C XML 1.0 specification: every opening tag has a matching closing tag, elements are properly nested, attribute values are quoted, the five reserved characters (& < > " ') are escaped where required, and the document has exactly one root element. It does not check semantic correctness against a DTD or XSD schema — that is a separate concept covered below.
What is the difference between well-formedness and schema validity?
Well-formed = the document parses cleanly as XML. Schema-valid = the document also conforms to a DTD, XSD, or RELAX NG schema, meaning the right elements appear in the right order with the right attribute types. Most documents need both, but they are checked separately. This tool covers well-formedness; for XSD validation use xmllint, Saxon, or your application's built-in schema validator.
What are the most common errors the validator catches?
Five recurring issues. (1) Mismatched tags — opening <Order> with closing </order> or no close at all. (2) Unescaped ampersands — & must be written as & in element text and attribute values. (3) Improperly quoted attributes — value missing quotes, or mixing single and double quotes. (4) Multiple root elements — XML allows exactly one document element. (5) Invalid characters — control codes, non-XML Unicode codepoints.
How do I escape special characters in XML?
Five characters need escaping: & becomes &, < becomes <, > becomes > (in CDATA-ending contexts), " becomes " (inside double-quoted attribute values), and ' becomes ' (inside single-quoted attribute values). Alternatively, wrap large blocks of literal content in <![CDATA[ ... ]]> to bypass escaping entirely.
Why does my SOAP envelope fail validation when the server accepts it?
Two common reasons. First, copy/paste from logs sometimes mangles the XML declaration or strips the trailing close tag. Paste the full envelope including the <?xml ... ?> line. Second, BOM characters at the start of the document — invisible bytes that some editors insert. Re-save the file as UTF-8 without BOM and validate again.
Does the validator check XML namespaces?
It checks namespace syntax — that prefixed elements (soap:Body) have a corresponding xmlns:soap declaration somewhere up the tree, and that xmlns attribute values look like URIs. It does not check that the namespace URI matches a real schema; that is schema validation, which requires the schema definitions.
Can I validate XML against a DTD or XSD here?
No — DTD and XSD validation are deliberately out of scope. They require the schema definitions (often hundreds of KB of XSD), they enforce semantic rules specific to one document type (a Pod, a Compose service, an Atom feed), and they are best done in your build pipeline. Use xmllint --schema or your XML library's schema validator. This tool covers the universal first step: well-formedness.
Is my XML uploaded to your servers?
No. Validation runs entirely in JavaScript in your browser using the native DOMParser. SOAP envelopes with credentials, signed payloads, or sensitive business data never leave the device. Open DevTools → Network and confirm: clicking Validate produces zero network traffic.