Modular DTD Design
This Suite has been written as a series of XML DTD modules that can be combined into a number of different tag sets. The modules are separate physical files that, taken together, define all element structures (such as standards document metadata, tables, math, chemistry, paragraphs, sections, figures, footnotes, and reference elements), as well as attributes and entities in the Suite.
Modules in the Suite are primarily intended to group elements for maintenance. There are several kinds of modules. A module may:
- Be a building block for a base Tag Set (such as the module “NISO-STS-modules.ent”).
- Define the elements inside a particular structure. For example, the “JATS-references.ent” module names all the potential components of bibliographic reference lists, taken directly from JATS.
- Name the members of a “class” of elements, where a class is a named grouping of elements that share a similar usage or potential location. For example, the “JATS-phrase.ent” module defines small floating elements that may occur within text, such as inside a paragraph or a title, or that describe textual content, for example, an abbreviation (<abbrev>) or specially-styled content (<styled-content>).
- Be a module of “editorial convenience”. For example, the modules “JATS-common.ent” and “NISO-STS-common-metadata.ent” declare elements and attributes that are used in the content models of other elements.
The major disadvantage of a modular system is the longer learning curve, since it may not be immediately obvious where within the system to find a particular element or attribute cluster. An editor that allows a user to search inside files is invaluable in this task.
There are many advantages to a modular approach. The smaller units are written once, maintained in one place, and used in many different tag sets. This makes it much easier to keep lower level structures consistent across document types, while allowing for any real differences that analysis identifies. A tag set for a new function (such as an authoring tag set) or a new publication type (non-normative guides) can be built quickly, since most of the necessary components will already be defined in the Suite. Editorial and production personnel can bring the experience gained on one tagging project directly to the next with very little loss or retraining. Customized software (including authoring, typesetting, and electronic display tools) can be written once, shared among projects, and modified only for real distinctions.