The intermediate schema serves, among others, these purposes:
-
It should assists clients in generating OpenURLs.
-
It should assists clients in generating citation formats.
-
It should provide an intermediary between data sources and export formats. Instead of implementing m x n transformations for m data sources and n export formats, it reduces the effort to m + n.
-
It can serve as a catch-all format, leveling out peculiarities of input data formats.
The default serialization is JSON. Documents can be validated against a JSON schema (draft 4). The schema is versioned.
Minor updates shall not break clients. Major updates may break clients.
- Languages can refer to the language of the article or the abstract. Articles and abstracts both might use more than one language. The ISO639-3 language codes are used.
The is-<version>.json
file contains the JSON schema.
Versioned examples can be found under the fixtures
directory.
To run validation against a schema, use one of the many validators available. Here's one in python:
$ jsonschema -i fixtures/0.9/jats.is is-0.9.json
To validate the schema itself, use e.g. http://jsonschemalint.com.
Check all fixtures for conformance to a given version:
(export VERSION=0.9; for f in $(find fixtures/$VERSION/*); do jsonschema -i $f is-$VERSION.json; done)