Skip to content

Latest commit

 

History

History
45 lines (26 loc) · 1.49 KB

README.md

File metadata and controls

45 lines (26 loc) · 1.49 KB

Intermediate Schema Specification

The intermediate schema serves, among others, these purposes:

  1. It should assists clients in generating OpenURLs.

  2. It should assists clients in generating citation formats.

  3. 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.

  4. 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.

Notes

  • 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)