Xema is a schema validator inspired by JSON Schema. For now, Xema supports the features documented in draft 04, 06, and 07 of the JSON-Schema specification.
Xema allows you to annotate and validate Elixir data structures.
If you search for a real JSON Schema validator give JsonXema a try.
Xema is in beta. If you try it and has an issue, report them.
First, add :xema
to your mix.exs
dependencies:
def deps do
[{:xema, "~> 0.14"}]
end
Then, update your dependencies:
$ mix deps.get
The docs contains a Usage page with a
short and compact description to use Xema
.
Documentation can be generated with
ExDoc by running mix docs
. The
generated docs can be found at
https://hexdocs.pm/xema.
The test in the directory xema/test/json_schema_test_suite
are generated from the
JSON-Schema-Test-Suite.
The test suite can be generated with mix gen.test_suite
. The mix task expected
the suite in the root directory in the folder JSON-Schema-Test-Suite
.
The home of JSON Schema: http://json-schema.org/
Specification:
- Draft-04
- JSON Schema core defines the basic foundation of JSON Schema
- JSON Schema Validation defines the validation keywords of JSON Schema
- Draft-06
- JSON Schema core
- JSON Schema Validation
- JSON Schema Release Notes contains informations to migrate schemas.
- Draft-07
Understanding JSON Schema a great tutorial for JSON Schema authors and a template for the description of Xema.