
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-xmlWorking 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 figuresWrite JATS in Node¶
TODO!
Copyright © 2025 Koch & Cockett. This is an open-access article distributed under the terms of the Creative Commons Attribution 4.0 International license, which enables reusers to distribute, remix, adapt, and build upon the material in any medium or format, so long as attribution is given to the creators.
- JATS
- Journal Article Tags Schema
- NISO
- National Information Standards Organization