Tag Suite Naming Conventions
Element and Attribute Naming Rules
- CASE — All XML names originating in this Tag Set or in the Suite are to be in lower case. Such names include element names, attribute names, parameter entity names, notation names, and IDs. The casing and interior punctuation of element-type names, attribute names, and parameter entity names inherited from PUBLIC models (such as the NISO JATS XHTML-inspired table model, the MathML Tag Set, or the OASIS XML Exchange (CALS) table model) are unchanged. That means that they occur in the case in which they were found in the original module, and so may be in mixed case or upper case (e.g., %Flow.mix;).
- MULTI-WORD NAMES — When two or more words are concatenated into an element name, attribute name, or parameter entity name, a hyphen is placed between the words, for example, <verse-group>, <main-title-wrap>, <word-count>.
- WORD STANDARDIZATION — Abbreviations may be used when words are used in combination. When a word stands alone as a name, it may not be abbreviated. Abbreviations are standardized so that, for example, “figure” is always used as “fig” (as in the element <fig-group>) and group is not abbreviated (as in the elements <fig-group>, <kwd-group>, and <fn-group>).
- EMPHASIS — The typographic emphasis elements are usually spelled out in full, for example, <bold> (rather than “<b>”), <italic>, and <underline> instead of being differentiated using attribute values on an element such as <emphasis>. Superscript and subscript are not considered to be purely typographic, and each is a separate element: <sub> and <sup>.
The following table contains a growing list of abbreviations/names to be used in combined tag names (element type names), attribute names, and parameter entity names. (Words in the list below that are not abbreviated are displayed in italics.)
|cross||x (no hyphen)|
|first||f (no hyphen; <fpage>)|
|last||l (no hyphen; <lpage>)|
|subscript||sub (rather than “inferior”)|
|superscript||sup (rather than “superior”)|
JATS File Naming Conventions
This Tag Library describes the components for the Journal Publishing Tag Set. These naming conventions carry over to NISO STS. Each JATS-based Tag Set is described in a DTD, an XSD schema, and a RELAX NG schema.
- For the JATS DTD, the base DTD module (delivered as the file JATS-journalpublishing1.dtd) calls in all the other DTD fragment modules as external parameter entities. Each module specific to this JATS Tag Set (therefore, not part of the Suite) takes the prefix “journalpubcustom-”.
- The JATS Suite modules take the prefix “JATS-”
- For the NISO STS Interchange DTDs, the base DTD modules (delivered as the file NISO-STS-interchange-1-mathml2.dtd and NISO-STS-interchange-1-mathml3.dtd) call in all the other DTD fragment modules as external parameter entities.
- For the NISO STS Extended DTDs, the base DTD modules (delivered as the file NISO-STS-extended-1-mathml2.dtd and NISO-STS-extended-1-mathml3.dtd) call in all the other DTD fragment modules as external parameter entities.
- For the BITS DTDs, there is no base DTD module, but BITS modules used take the prefix “BITS-”
Each DTD and DTD fragment module has been assigned a unique formal public identifier (fpi). File names are never referenced directly in the DTD; the file is referred to by the name of an external parameter entity, which names the fpi and a system name for the file. The external parameter entity name has been set to the initial delivery filename, that is the version number is not part of the name.
The four NISO STS DTDs, the JATS Publishing DTD, the individual DTD-fragment modules of the NISO Tag Set and the JATS Suite, the XSD schema modules, and the RELAX NG schema modules have been given DOS/Windows 3-digit suffixes indicating their type:
A module that can be used as the top level of an XML hierarchy. Used for the four top-level NISO STS DTDs Journal Publishing Tag Set top level, but also taken unchanged for public tag set modules that have been included in this Tag Set such as the MathML Tag Set and the NISO JATS XHTML-inspired Table Module.
A DTD fragment for incorporation into a full DTD. May contain element declarations, entity declarations, etc., for example, JATS-articlemeta1.ent.
A DTD fragment for incorporation into a full DTD. May contain element declarations, entity declarations, etc. This extension has the same meaning as *.ent and is only used to maintain the extension names dictated by the inclusion of PUBLIC tag set and/or schema fragments, for example, mathml2-qname-1.mod.
A W3C XML Schema (XSD) schema module, for example, NISO-STS-interchange-1-mathml2.xsd.
A RELAX NG schema module, for example, NISO-STS-interchange-1-mathml2.rng and JATS-articlemeta1.ent.rng.
Version Numbers in Filenames
All NISO STS, JATS, and BITS versions reflect the major version number of the standard in the file name. For example, a module whose name without a version number would be NISO-STS-classes.ent is named NISO-STS-classes1.ent (to indicate that it is part of the NISO STS 1.0 release). (Note: The parameter entity that references the file is called NISO-STS-classes.ent without the version number embedded, but it calls the file NISO-STS-classes1.ent.) that contains a version number.
The current plan is that future dot releases (1.1, 1.2, 1.3, etc.) will not be reflected in the filename (not NISO-STS-classes1-1.ent) but will remain named with a single digit (“1”) as NISO-STS-classes1.ent), which will not change until the next major release. The next major release 2.0 will be NISO-STS-classes2.ent.