XML Validation against an XSD Subset
XSD sequence subset required attributes basic lexical types/enums order/occurrence checks. buildSchemaContext/validateElement implement only sequence/simple-type subset; unknown types become strings. Must report unsupported XSD constructs instead of implying complete validation.
Scope of this tool: buildSchemaContext/validateElement implement only sequence/simple-type subset; unknown types become strings. Must report unsupported XSD constructs instead of implying complete validation.
How to use
Use it in seconds:
- Paste XML into the XML box.
- Paste your schema into the XSD box.
- Choose options (strict order / allow extra elements).
- Click Validate to see PASS/FAIL and details.
Note: This is a lightweight browser validator for common XSD patterns, not a full XSD 1.0/1.1 engine.
FAQ
Does this tool upload my XML or XSD?
No. Validation runs locally in your browser; the tool does not send your content over the network.
Is this a full XSD 1.0/1.1 validator?
No. It validates a common subset (elements, sequences, min/maxOccurs, required attributes, basic simple types, and enumerations).
Why does it say the XSD has no global element for my root?
Your XSD must define a top-level xs:element matching the XML root name (for example <xs:element name="root">).
Does it validate namespaces?
It compares element names using localName (ignores prefixes). If your schema relies on namespace-qualified matching, use a full validator.
What types are checked?
Basic types are supported: string, int/integer, decimal, boolean, date (YYYY-MM-DD), dateTime (ISO 8601), and enumerations.
How do I allow optional or repeated elements?
Use minOccurs and maxOccurs in your XSD element definitions; the tool checks the counts.
Why do I get “Unexpected element” errors?
By default, extra elements not listed in the schema sequence are rejected; enable “Allow extra elements” if you want to ignore unknown tags.
Continue your workflow
Browse related tools by task. Use the improved core tools for a consistent workspace with file import, downloads and clear validation errors.
XSD subset · required attributes · enum/count checks
Additional controls for this task, preserved from the original implementation. Inputs stay inside this mode.