Validator

Paste an AODM 1.2 document in XML or JSON. It is checked in your browser — nothing is uploaded or stored.

Load an example:
Result
Waiting Paste a document and press Validate.

Errors are MUST-level violations — the document is not conformant. Warnings are SHOULD-level: valid, but worth fixing.

What gets checked

The validator implements the rules published in VALIDATION-RULES.md, including the semantic checks that neither XML Schema nor JSON Schema can express:

  • Referential integrity — relationship endpoints, about, rule conditions and conclusions, and derived-from must all resolve to real ids.
  • Derivation cycles — a fact must not derive from itself, directly or transitively.
  • Duplicate ids — ids must be unique across the whole document, regardless of element type.
  • Cardinality — at most one confidence and one value per element.
  • Measurement coherence — a number or a range, never both; min not greater than max; tolerance only on point values.
  • Temporal orderingvalid-to not earlier than valid-from; retrieval dates not in the future.
  • Hash format — digests must name their algorithm; bare hex digests from v1.1 are flagged with the migration.
  • Provenance quality — warnings for facts with no source and no confidence, and for unlabelled measurements.

This runs as JavaScript in your browser. Your document never leaves your machine, which means you can safely check proprietary or unpublished data here.

It also reads the HTML Embedding Profile: press Extract from this page above to pull the AODM out of the page you are reading. This page, like the rest of the site, is marked up with data-aodm attributes.