XML.com

What is NISO STS?

January 6, 2018

B. Tommie Usdin

B. Tommie Usdin, one of the developers of NISO STS, introduces us to the new standard for the XML interchange of standards

ANSI/NISO Z39.102-2017 Standards Tag Suite (STS) is a standard for the XML encoding of standards documents, with the goal of enabling interchange of tractable versions of standards documents. STS provides tags for Standards and Adoptions of Standards, Errata and Corrigenda, and other normative documents. STS was designed for current normative documents, but many standards development organizations have said that they will use it for back files (for example, old or historical standards) and for non-normative documents such as handbooks. STS is intended for use encoding International Standards, National Standards, Regional Standards, and standards developed by a wide variety of SDOs and consortia.

The standard is available at: http://groups.niso.org/apps/group_public/download.php/18492/Z39.102-2017.pdf. NISO STS, like many XML applications, is complex, and will be challenging to implement without information beyond what is in the standard. Non-normative supporting documentation is provided at http://www.niso-sts.org/ including:

  • A Tag Library
    • Descriptions of each element and attribute (identical to those in the standard).
    • Remarks on many of the elements and attributes, intended to help users distinguish between similar structures and use the structures correctly.
    • Examples showing most of the structures tagged in context.
    • Chapters describing, for example, how to use the tag library, the document elements provided in the standard, selecting the appropriate NISO STS Tag Set, and NISO STS common tagging practices such as options for encoding Terms and Definitions sections.
    • An index, to help users navigate this complex material.
    • Hierarchy diagrams, which provide graphical illustrations of the structure of the more complex elements in NISO STS.
    • A context table, showing where each element may be used.
  • DTD, XSD, and RNG schemas for each of the tag sets.
  • Examples of standards tagged using NISO STS will soon be available at niso-sts.org.

niso-sts-list is an open forum for the discussion of NISO STS. Information on the discussion list, including subscription information, is at: http://www.mulberrytech.com/STS/NISO-STS/index.html.

STS includes 2 tag sets: an Interchange Tag Set and an Extended Tag Set. The difference is that the only table model in the Interchange Tag Set is an XHTML-based model, while the Extended Tag Set also provides the OASIS/CALS table model. Grammars (in DTD, XSD, and RNG form) are provided for each of the Tag Sets incorporating either MathML2 or MathML3.

ANSI/NISO STS is based on ISO STS and is fully backwards-compatible with ISO STS 1.1. ANSI/NISO STS is based on ANSI/NISO JATS 1.1 (http://www.niso.org/publications/ansiniso-z3996-2015-jats-journal-article-tag-suite) and incorporates index and table of contents structures from BITS (Book Interchange Tag Set https://jats.nlm.nih.gov/extensions/bits/).

Terminology note: A tag suite is group of related tag sets. We call them tag sets, not schema for several reasons:

  1. The specification is a tagging specification; not a grammar specification. That is, it describes how documents should be tagged, not how the tagging should be validated.
  2. The standard, which is the normative description of the tag suite, does not include a machine-processable grammar (DTD, XSD, or RNG), it is a prose document.
  3. The documentation, schemas, samples, and community of practice that accompanies the standard are important to understanding how to use it; neither the standard nor a schema alone would be sufficient.
  4. STS, like all of the specifications in the JATS family, is designed to be customized. The specification describes how that should be done, and provides language to describe customizations that may be, or may not be, clean subsets of the normative tag set. Customizations that are subsets are likely to be supported with schemas that are not promulgated as part of STS, but the tagged documents built to them will conform to the specification. Supersets, that is customizations that are not simply subsets, are a valid use of the tag set.

Additional note: 'schema' (small-s) includes all schema languages used for XML, such as W3C Schema, RELAX NG, DTD, and Schematron.