1.0.15 • Published 7 months ago

jats-xml v1.0.15

Weekly downloads
-
License
MIT
Repository
github
Last release
7 months ago

jats-xml

jats-xml on npm MIT License CI

Types and utilities for working with JATS XML documents in Node and Typescript.

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://jats.nlm.nih.gov/. There are three flavours, this library currently uses in most cases the most prescriptive tag set (for article authoring). Another helpful resource is https://jats4r.org/, which provides other examples and recommendations for JATS.

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

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 { toText } from 'myst-common';
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!


As of v1.0.0 this package is ESM only.


1.0.11

8 months ago

1.0.10

8 months ago

1.0.15

7 months ago

1.0.14

7 months ago

1.0.13

7 months ago

1.0.12

8 months ago

1.0.9

2 years ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago

1.0.3

2 years ago

0.1.0

2 years ago

0.0.15

2 years ago

0.0.16

2 years ago

0.0.17

2 years ago

0.0.14

2 years ago

0.0.13

2 years ago

0.0.12

2 years ago

0.0.11

2 years ago

0.0.10

2 years ago

0.0.9

2 years ago

0.0.8

3 years ago

0.0.7

3 years ago

0.0.6

3 years ago

0.0.5

3 years ago

0.0.4

3 years ago

0.0.3

3 years ago

0.0.2

3 years ago

0.0.1

3 years ago