Modules in the Journal Archiving Tag Set and JATS DTD Suite
The Suite was created to allow a multiplicity of Tag Sets, based on the needs of the
intended use, for example, an authoring Tag Set versus an archiving tag set for a
repository. The Journal Archiving Tag Set (JATS-archivearticle1.dtd) and its specific customization modules (%archivecustom-classes.ent;, %archivecustom-mixes.ent;, %archivecustom-models.ent;, and %archivecustom-modules.ent;) define an archival and
interchange focused Tag Set. The following modules are critical for the customization
process that creates that Tag Set:
Journal Archiving and Interchange DTD | (File name JATS-archivearticle1.dtd) The top-level
Journal Archiving Tag Set Module that declares the document element
(<article>) and the other
top-level elements that define a journal article (front matter, back matter, and
sub-articles or responses). All elements but these few are declared in the modules
of the Suite. The DTD invokes all the other modules it uses, by reference, as
external parameter entities: first the Archiving Tag-Set-specific Module of
Modules is called to name all Archive-specific customized modules, then the Suite
Module of Modules is called to name all the potential modules from the Suite, then
customized and default modules are called (for parameter entities naming element
classes, mixes, and models), then the Common Module for shared elements and
attribute lists is called, and finally all the other modules are called as needed. |
---|---|
Archiving Tag-Set-specific Module to Name Modules | (parameter entity %archivecustom-modules.ent;) Defines all the external modules that are specific to the
Archiving Tag Set (except itself, which must be both named and called inside the
DTD). A Tag Set selects from these modules by referencing the module names through
external parameter entities. The entities are declared in the Archiving
Tag-Set-specific Module of Modules (%archivecustom-modules.ent;), but referenced (or not)
in the DTD proper. To include a set of elements (such as all the lists or all the
MathML elements), a DTD references the external parameter entity of the module
that contains these declarations. Implementor’s Note: The Archiving Tag-Set-specific Module of Modules and the Suite Module to
Name the Modules (along with the MathML 3 modules, if used) need to be the among the first three external modules called by the Archiving
DTD. Customization modules for classes, mixes, and models will typically be called
following the Archiving Tag-Set-specific modules and the Module of Modules. |
Archiving Tag-Set-specific Class Customizations Module | (parameter entity %archivecustom-classes.ent;) Sets up parameter entities that will be used to override
default classes prescribed by the %default-classes.ent; module. Implementor’s Note: This module must
be called after the Archiving Tag-Set-specific Module of Modules
(%archivecustom-modules.ent;) and the
Suite Module to Name the Modules (%modules.ent;) but before any other module, including specifically the
%default-classes.ent; module (which this
module overrides) and the %archivecustom-mixes.ent; and %archivecustom-models.ent; modules (which build on this module). |
Archiving Tag-Set-specific Mix Customizations Module | (parameter entity %archivecustom-mixes.ent;) Sets up parameter entities that will be used to override
default mixes (groupings made of “classes”) prescribed by the
%default-mixes.ent; module. Implementor’s Note: This module must be called after the Archiving Customize Classes Module
(%archivecustom-classes.ent;) and the
Default Classes Module (%default-classes.ent;) but before any other module, including specifically the %default-mixes.ent; module (which this module
overrides) and the %archivecustom-models.ent; module (which builds on this module). |
Archiving Tag-Set-specific Models/Attributes Customizations Module | (parameter entity %archivecustom-models.ent;) Sets up parameter entities that will be used to override
default content model parameter entities set elsewhere in the Suite. Also defines
customizable attribute Declared Values and attribute lists for the Tag Set being
defined. Implementor’s Note: This module must be called after the Archiving Tag Set Customize Mixes
Module (%archivecustom-mixes.ent;) and
Default Mixes Module (%default-mixes.ent;)
but before any “base” module of the interchange Suite. |
The NISO JATS common modules, which are overridden by the customizations, include the
following:
Suite Module to Name the Modules | (parameter entity %modules.ent;)
Defines all the external modules that are part of the modular NISO JATS DTD Suite (except the module
itself, which must be both named and called inside a DTD).
A Tag Set selects from the Suite modules by referencing the module names through
external parameter entities. The entities are declared in the Module to Name the
Modules (%modules.ent;), but referenced (or
not) in the DTD proper. To include a set of elements (such as all the article
metadata or all the display elements) a DTD references the external parameter
entity of the module that contains these declarations. Implementor’s Note: The
Archiving Tag-Set-specific Module of Modules and the Suite Module
to Name the Modules (along with the MathML 3 modules, if used) need to be the among the first three external
modules called by the Archiving DTD. Customization modules for
classes, mixes, and models will typically be called next, following
these two. |
---|---|
ALI Namespace Module | (parameter entity %JATS-ali-namespace.ent;) Namespace setup for the NISO Access License and
Indicators elements (prefix “ali:”). The
elements are defined in the JATS Common
module (described below). |
Common (Shared) Attributes Module | (parameter entity %JATS-common-atts.ent;) Defines attributes intended to be used on
ALL elements defined in the NISO JATS,
including table elements for both the
XHTML-inspired and OASIS-inspired table
models, with the exception of <mml:math>
whose namespaces JATS does not control. Must be called after all module-of-modules
modules and any namespacing modules, but
before all customization (over-ride) modules. |
Suite Default Element Classes Module | (parameter entity %default-classes.ent;) Sets up the parameter entities that name the element members of each class
that will be used to establish the content models. Implementor’s Note: This module must be called before the Archiving Customize Mixes Module
(%archivecustom-mixes.ent;) and the
Default Element Mixes Module (%default-mixes.ent;), as well as the Archiving Customize Models Module, %archivecustom-models.ent; (which builds on those
modules). |
Suite Default Element Mixes Module | (parameter entity %default-mixes.ent;)
Sets up the parameter entities that name mixes (groupings made of
“classes”) that will be used to establish the content models. Implementor’s Note: This module must be called before the Archiving Customize Models Module
(%archivecustom-models.ent;) or any
“base” module of the interchange Suite. |
Common (Shared) Elements Module | (parameter entity %common.ent;)
Declarations for elements, attributes, entities, and notations that are shared by
more than one class module. Implementor’s Note: This module must be called before any of the modules comprising the
interchange Suite. |
The modules that define the elements and attributes that make up the Suite are defined
by the following modules. These too may be overridden by the customization modules of the Archiving DTD.
Article Metadata Elements Module | (parameter entity %articlemeta.ent;)
Declares the metadata elements (issue elements and article header elements) used
to describe a journal article. Design Note: Metadata elements that describe the journal are in the Journal Metadata
Module, %journalmeta.ent;. |
---|---|
Back Matter Elements Module | (parameter entity %backmatter.ent;)
Declares elements that are not part of the main textual flow of a work, but are
considered to be ancillary material such as appendices, glossaries, and
bibliographic reference lists. |
Display Class Elements Module | (parameter entity %display.ent;)
Declares the display-related elements, such as figures, graphics, math, chemical
expressions and structures, tables, etc. |
Format Class Elements Module | (parameter entity %format.ent;)
Declares elements concerned with rendition of output, for example, printing on a
page or display on a screen. This module includes the elements in the Appearance
Class, the Break Class, and the Emphasis Class. |
Funding Elements Module | (parameter entity %funding.ent;)
Declares elements that model open access, grant, sponsorship, or other funding
information, for example, the grant number (<award-id>) and the grant holder (<principal-award-recipient>). |
Journal Metadata Elements Module | (parameter entity %journalmeta.ent;)
Declares the elements used to describe the journal in which a journal article is
published. Design Note: The issue and article metadata is defined in the Article Metadata
module, %articlemeta.ent;. |
Link Class Elements Module | (parameter entity %link.ent;) Declares
elements that are links (internal or external) by definition, such as URLs
(<uri>) and internal cross
references (<xref>). |
List Class Elements Module | (parameter entity %list.ent;) Declares
the elements in the List Class; these are all lists except the lists of
bibliographic references (citations). Lists are considered to be composed of
items. |
Math Class Elements Module | (parameter entity %math.ent;) Declares
the elements in the math classes such as display equations. |
NLM Citation Module | (parameter entity %nlmcitation.ent;)
Adds the model for the NLM structured bibliographic citation element
(<nlm-citation>). This element is
now obsolete and should be replaced by either an <element-citation> element or a <mixed-citation> element. |
Paragraph-Like Elements Module | (parameter entity %para.ent;) Declares
structural, non-display elements that may appear in the same places as a
paragraph. These elements are named in the various paragraph class parameter
entities. |
Subject Phrase Class Elements Module | (parameter entity %phrase.ent;)
Declares the Phrase Class elements, that is, names the inline, subject-specific
elements. |
Bibliographic Reference (Citation) Class Elements Module | (parameter entity %references.ent;)
Declares the bibliographic reference elements. |
Related Object Elements Module | (parameter entity %related-object.ent;)
Defines the container element <related-object>, which is used as a container for text links and description of
an external object such as a spreadsheet or a book that is related to the current
work. |
Section Class Elements Module | (parameter entity %section.ent;)
Declares the elements of the Section Class, that is, declares all section-level
elements in the Journal Archiving Tag Set. |
XML Special Characters Module | (parameter entity %xmlspecchars.ent;)
Standard ISO XML special character entities used in this Tag Set. |
Custom Special Characters Module | (parameter entity %chars.ent;) Custom
special character entities created specifically for use in this Tag Set. |
Notation Declarations Module | (parameter entity %notat.ent;)
Container module for the Notation Declarations to be used with this Suite. These
notations have been placed in their own module for easy expansion or replacement. |
The modules that define the MathML 2.0 AND MathML 3.0 elements and attributes:
MathML 2.0 Setup Module | (parameter entity %mathmlsetup.ent;)
Invokes the MathML 2.0 modules. Implementor’s Note:: To include the MathML 2.0
elements, a DTD must reference this module. This module sets up all parameter entities needed to use
the MathML 2.0 Tag Set and references (invokes) the MathML 2.0 Tag Set Module, which, in turn,
invokes all the other MathML 2.0 modules. Warning: MathML 2.0 and MathML 3.0 may not be used
together, a Tag Set must choose one or the other. |
---|---|
MathML 3.0 Setup Module | (parameter entity %mathml3-mathmlsetup.ent;)
Invokes the MathML 3.0 modules. Implementor’s Note:: To include the MathML 3.0
elements, a DTD must reference this module. This module sets up all parameter entities needed to use
the MathML 3.0 Tag Set and references (invokes) the MathML 3.0 Tag Set Module, which, in turn,
invokes all the other MathML 3.0 modules. Warning: MathML 2.0 and MathML 3.0 may not be used
together, a Tag Set must choose one or the other. |
MathML 3.0 Modules | (parameter entity %mathml3-modules.ent;)
Names the modules needed for MathML 3.0. |
MathML DTD | (parameter entity %mathml.dtd;)
Used for either the Mathematical Markup Language (MathML) 2.0 or the MathML 3.0, an XML application for describing
mathematical notation and capturing both its structure and content. |
MathML Qualified Names 1.0 | (parameter entity %mathml-qname.mod;)
Declares parameter entities to support namespace-qualified names, namespace
declarations, and name prefixing for MathML, as well as declares the parameter
entities used to provide namespace-qualified names for all MathML element types. Used for either
MathML 2.0 or MathML 3.0. |
Extra Entities for MathML | (parameter entity %ent-mmlextra;) Used
for MathML processing. Used for either
MathML 2.0 or MathML 3.0. |
Aliases for MathML | (parameter entity %ent-mmlalias;) Used
for MathML processing. Used for either
MathML 2.0 or MathML 3.0. |
The modules that define the NISO JATS XHTML-inspired table model are:
NISO JATS XHTML-inspired Table Setup Module | (parameter entity %XHTMLtablesetup.ent;) Sets all parameter entities needed by the NISO JATS XHTML-inspired Table Module, and then invokes
the module containing that model. To include the NISO JATS XHTML-inspired table model in a tag set, a DTD
must reference this module. This module sets up all parameter entities needed to
use the XHTML-inspired Table Module and references (invokes) the NISO JATS XHTML-inspired Table Module.
(See next item.) |
---|---|
NISO JATS XHTML-inspired Table Module | (parameter entity %xhtml-table-1.mod;)
The public XML DTD version of the XHTML-inspired Table Module. This module is invoked from
the module %XHTMLtablesetup.ent;. (See
previous item.) This is the default table model for this Tag Set. |
NISO JATS XHTML-inspired Table Style Module | (parameter entity %xhtml-inlstyle-1.mod;) Declares the @style attribute,
which supports inline style markup for elements such as <td> and <tr> within XHTML-inspired Table. |
The modules that may be used to define a version of the Archiving DTD that uses the OASIS XML
Exchange (CALS) table model include the following. Several of these modules (such as the DTD itself
and the class customization module) are replacements for the default Archiving DTD and customization
modules.
Journal Archiving and Interchange DTD with OASIS Tables (JATS-archive-oasis-article1.dtd)
| Complete Archiving (Green) DTD for the creation of new journal articles. This extension of the
Journal Archiving and Interchange DTD replaces the Archiving DTD module and invokes both the XHTML
table and the CALS OASIS XML Exchange Table models. |
---|---|
Journal Archiving and Interchange DTD with OASIS Tables DTD-Specific Modules
(JATS-archive-oasis-custom-modules1.ent) | The DTD-specific modules for the new Journal Archiving and
Interchange DTD that includes OASIS Tables. |
Journal Archiving and Interchange DTD with OASIS Tables Customize Classes Module
(JATS-archive-oasis-custom-classes1.ent) | The class overrides for this new DTD. These repeat all
the class overrides of the regular Archiving DTD, with the table and alternative
classes modified to use the OASIS XML Exchange (CALS) table elements. There is no equivalent mix
override module because this DTD uses the ordinary Archiving mix overrides. |
JATS OASIS Table Namespace Module (JATS-oasis-namespace1.ent) | This modules establishes
the prefix for the OASIS
Exchange (CALS) table model, by default “oasis”
(“<oasis:table>”). |
JATS Namespaced OASIS XML Table Setup Module (JATS-oasis-tablesetup1.ent)
| (parameter entity %oasis-tablesetup.ent;) Implementor’s Note: Not used in the current Archiving Tag Set. Sets all parameter entities
needed by the OASIS XML Exchange (CALS) table model, and then invokes the module
containing that model. To include the OASIS XML Exchange (CALS) table model, a DTD must reference
this module. This module sets up all parameter entities needed to use the OASIS
table model and references (invokes) the OASIS XML Exchange (CALS) Table Model Module.
This module has been modified to use a namespace
prefix of “oasis” for all table elements, to permit both the OASIS
Exchange (CALS) table models and XHTML-inspired table models to be used
in one tag set. There is a separate Tag
Library (https://jats.nlm.nih.gov/options/OASIS/tag-library/19990315/index.html) describing the OASIS elements, attributes, and parameter entities. |
OASIS XML Exchange (CALS) Table Model Module (oasis-exchange.ent) | This is the OASIS XML Exchange (CALS) table model DTD fragment, modified to use the OASIS namespace and
the “oasis” prefix. This module is invoked from the JATS OASIS XML Exchange
(CALS) setup module. |
The modules that define character entities and notations (all optional):
XML Special Characters Module | (parameter entity %xmlspecchars.ent;) Standard ISO XML special character entities used in this Tag Set. |
---|---|
Custom Special Characters Module | (parameter entity %chars.ent;) Custom special character entities created specifically for use in this Tag Set. |
Notation Declarations Module | (parameter entity %notat.ent;) Container module for the Notation Declarations to be used with this Suite. These notations have been placed in their own module for easy expansion or replacement. |