Packages
xema
0.5.0
0.17.9
0.17.8
0.17.7
0.17.6
0.17.5
0.17.4
0.17.3
0.17.2
0.17.1
0.17.0
0.16.1
0.16.0
0.15.0
0.14.3
0.14.2
0.14.1
0.14.0
0.13.10
0.13.9
0.13.8
0.13.7
0.13.6
0.13.5
0.13.4
0.13.3
0.13.1
0.13.0
0.12.0
0.11.4
0.11.3
0.11.2
0.11.1
0.11.0
0.10.0
0.9.3
0.9.2
0.9.1
0.9.0
0.8.1
0.8.0
0.7.0
0.6.3
0.6.2
0.6.1
0.6.0
0.5.0
0.4.0
0.3.0
0.2.0
0.1.1
A schema validator inspired by JSON Schema.
Current section
Files
Jump to
Current section
Files
README.md
# Xema
[](https://travis-ci.org/hrzndhrn/xema)
[](https://coveralls.io/github/hrzndhrn/xema?branch=master)
[](https://hex.pm/packages/xema)
[](https://opensource.org/licenses/MIT)
Xema is a schema validator inspired by [JSON Schema](http://json-schema.org).
For now, Xema supports the features documented in draft 04 of the JSON-Schema
specification.
Xema allows you to annotate and validate elixir data structures.
Xema is in early beta. If you try it and has an issue, report them.
## Installation
First, add Xema to your `mix.exs` dependencies:
```elixir
def deps do
[{:xema, "~> 0.5"}]
end
```
Then, update your dependencies:
```Shell
$ mix deps.get
```
## Changelog
Version 0.5.0 coming soon.
Since version 0.5.0 a [changelog](CHANGELOG.md) is available.
To update to version 0.5.0 some migrations steps are required, see
[changelog](CHANGELOG.md).
## Docs
The docs contains a [Usage](https://hexdocs.pm/xema/usage.html) page with a
short and compact description to use `Xema`.
Documentation can be generated with
[ExDoc](https://github.com/elixir-lang/ex_doc) by running `mix docs`. The
generate docs can be found at https://hexdocs.pm/xema .
## Tests
The test in the directory `xema/test/suite` are generated from the
[JSON-Schema-Test-Suite](https://github.com/json-schema-org/JSON-Schema-Test-Suite).
## References
The home of JSON Schema: http://json-schema.org/
Specification:
* Draft-04
* [JSON Schema core](http://json-schema.org/draft-04/json-schema-core.html)
defines the basic foundation of JSON Schema
* [JSON Schema Validation](http://json-schema.org/draft-04/json-schema-validation.html)
defines the validation keywords of JSON Schema
* Draft-06
* [JSON Schema core](http://json-schema.org/draft-06/json-schema-core.html)
* [JSON Schema Validation](http://json-schema.org/draft-06/json-schema-validation.html)
* [JSON Schema Release Notes](http://json-schema.org/draft-06/json-schema-release-notes.html)
contains informations to migrate schemas.
* Draft-07
* [JSON Schema core](http://json-schema.org/draft-07/json-schema-core.html)
* [JSON Schema Validation](http://json-schema.org/draft-07/json-schema-validation.html)
* [JSON Schema Release Notes](http://json-schema.org/draft-07/json-schema-release-notes.html)
[Understanding JSON Schema](https://spacetelescope.github.io/understanding-json-schema/index.html)
a great tutorial for JSON Schema authors and a template for the description of
Xema.