Download AODM

Specification, schemas, validation rules, worked examples and conformance tests.

AODM 1.2 complete package

Specification, XML Schema, JSON Schema, validation rules, worked examples, conformance test suite, and the v1.1 HTML embedding profile.

aodm-1.2.zip · 42 KB

What’s in the package

FilePurpose
AODM-1.2-SPECIFICATION.mdThe authoritative specification
aodm-core-1.2.xsdXML Schema for the 1.2 core
aodm-core-1.2.schema.jsonJSON Schema equivalent
VALIDATION-RULES.mdRules a conformant processor must enforce beyond schema validation
AODM-1.2-HTML-PROFILE.mdThe HTML Embedding Profile — marking up web pages with data-aodm attributes
example-core-1.2.xml / .jsonWorked examples using every feature
conformance-check.pyTest suite verifying the schemas accept valid and reject invalid documents
reference/aodm-validator-1.2.js
reference/aodm-html-extract.js
Reference validator and HTML-profile extractor (JavaScript)
LICENSE, NOTICEApache License 2.0
legacy/The published v1.1 files, kept for reference with six defects corrected. legacy/README.md explains why they are superseded

Getting started

For standalone AODM documents (XML or JSON files):

  • Declare the namespace: xmlns:aodm="http://nesaraq.com/aodm/1.2", or use the JSON form with "aodm_version": "1.2".
  • Add elements — see the documentation for each one.
  • Validate against aodm-core-1.2.xsd or aodm-core-1.2.schema.json, then apply VALIDATION-RULES.md.

For marking up web pages, use the HTML Embedding Profile instead:

  • Add data-aodm attributes to the elements that display the content — see AODM-1.2-HTML-PROFILE.md.
  • Check your work with the online validator, which can extract embedded AODM straight from a page.
  • Questions? Email support@nesaraq.com.

Important for anyone using v1.1 markup on a live site. The v1.1 profile embedded data using xmlns:aodm and elements such as <aodm:data-block>. That approach cannot work on a page served as text/html: HTML5 has no XML namespaces, so the declaration is discarded and no namespace-aware tool can find the elements. As a result aodm-validator.js reports “all tags are valid” on any web page — because it inspected nothing, not because the markup is correct.

For that reason that validator is no longer distributed. If you have a copy deployed on your site, remove it: it cannot tell you anything true about a web page. Use the HTML Embedding Profile in this package instead, and the online validator to check your work. The remaining v1.1 files are included under legacy/, with six defects corrected — including a schema that never parsed at all, because its indentation contained non-breaking spaces.

License

AODM is released under the Apache License, Version 2.0. You are free to use, modify and distribute it, including commercially, and to build your own implementations of the specification.

Apache 2.0 was chosen deliberately over a simpler permissive licence: it includes an express patent grant, which is what lets an enterprise legal team approve a dependency on the format without a bespoke review. The full text ships as LICENSE in the download, alongside NOTICE.

Copyright © 2026 NESARAQ.