Article Information


An oXygen framework for JATS


Abstract

Describing the components of a framework for JATS customization of oXygen XML Editor, the industy-leading XML IDE (integrated development environment).


As the NLM/NISO JATS (Journal article tag suite) matures and standard practices and tools associated with it are better formalized, it becomes possible for users to develop and share customizations without fear of rapid obsolescence. This document describes such a framework, its contents, and strategies for customizing it further for local application and development.

Users should expect this framework to be useful as it stands for lightweight application of the JATS and for evaluation purposes (of JATS and/or of oXygen when using it). It can also (and should) be developed further to use local customizations of the JATS DTD, extensions such as Schematron validation to enforce local policies and business rules, and more and better stylesheets for editing and production.

DTDs

Normalized, "reduced" versions of the JATS DTDs have been produced for this distribution. In addition to being flattened for better performance, these are populated with comments derived from the public documentation in order to provide oXygen with legible, informative popups (tool tips) in its content completion. There are seven DTDs in total: the Authoring or "orange" DTD plus two forms, with and without OASIS tables, of the Publishing ("blue"), Archiving ("green") and book (BITS) DTDs. They come from the following sources:

Catalog file

A catalog file has been provided for the framework, which resolves references to each of the seven possible DTDs, via their formal public identifiers, to the optimized form of that DTD.

CSS stylesheets for oXygen Author

Stylesheets developed at Mulberry Technologies, Inc., and generously shared with the community, provide two views: a "clean" view and a "labeled" view. They are largely identical, the only difference being that many elements in the labeled view are provided with (yes) identifying labels.

The stylesheets have been extended to cover elements in the new BITS 0.2 DTD, and should also work tolerably well with both Publishing (blue) and Authoring (orange) documents. There may be gaps in its coverage of obscure elements, especially in Archiving (green) model.

Preview stylesheets and transformations

Preview stylesheets capable of rendering Publishing (blue) and Authoring (orange) articles are included from https://github.com/NCBITools/JATSPreviewStylesheets. They are designed for local customization and extension, and include many options, as described in their documentation.

Transformations generating HTML

HTML files resulting from running these scenarios will point to a CSS file here (distributed with the XSLT):

${frameworks}/jats/jats-preview-xslt/jats-preview.css
For local use, you may prefer a different CSS; copy and edit the oXygen scenario generating HTML and modify the runtime parameter setting.

Transformations generating PDF

The Preview stylesheets also include XSL-FO stylesheets for generating PDF. These require a capable XSL-FO formatting engine (they were tested with AntennaHouse). So they are left for local users to set up.

Document templates

Document templates are provided for each of the main document types: Authoring, Archiving, Publishing and BITS 0.2, without OASIS tables.

Extending the framework

Local developers may wish to do any or all of the following:

  • Rewrite the parameter setting in the HTML Transformation Scenario to point to a local (customized) CSS.

  • Provide transformation scenarios for any of the JATS Preview transformations or production pipelines given in the package, or for customized transformations.

  • Provide templates using the JATS DTDs supporting OASIS tables instead of or in addition to the templates here.

In addition, there are many enhancements possible to this framework, including (but not limited to)

  • More and better CSS.

  • Custom actions, tools and buttons in oXygen for operations useful in writing and editing JATS documents, such as graphics, list and table support.

If you make such extensions, please consider sharing them with the community!