Skip to content
/ xema Public

Xema is a schema validator for Elixir inspired by JSON Schema.

License

Notifications You must be signed in to change notification settings

hrzndhrn/xema

Repository files navigation

Xema

Hex.pm: version GitHub: CI status Coveralls: coverage License: MIT

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.

Installation

First, add :xema to your mix.exs dependencies:

def deps do
  [{:xema, "~> 0.14"}]
end

Then, update your dependencies:

$ mix deps.get

Docs

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.

Tests

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.

References

The home of JSON Schema: http://json-schema.org/

Specification:

Understanding JSON Schema a great tutorial for JSON Schema authors and a template for the description of Xema.