What is JATS?¶
JATS is a NISO standard for Journal Article Tags Schema, which is a way to define the XML structure of a scientific article semantically. This includes the front
-matter (authors, funding, title, abstract, etc.), the body
of the article (sections, figures, equations, tables, etc.), and back
-matter (references, footnotes, etc.). The JATS can also contain sub-articles
.
The standard documents are hosted by the NIH https://
Note that most publishers do not provide the XML as a first class output - they should, it is an important part of open-science to have the content programmatically accessible and interoperable. It is only FAIR 😉.
Installation¶
Package is available as an NPM package:
npm install jats-xml
Working in Typescript¶
All tags are accessible as types/enums. There is also documentation from each node-type
import { Tags } from 'jats-xml';
Tags.journalId;
Reading JATS in Node¶
import 'fs' from 'fs';
import { Inventory, toDate } from 'jats-xml';
import { select, selectAll } from 'unist-util-select';
const data = fs.readFileSync('article.jats').toString();
const jats = new JATS(data);
// Easy access to properties
jats.doi
jats.body // A tree of the body (or front/back)
toDate(jats.publicationDate) // as a Javascript Date object
select('[id=fig1]', jats.body) // select a figure by an ID
selectAll('fig', jats.body) // Or selectAll figures
Write JATS in Node¶
TODO!