Authoring Tag Set 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 XHTML-inspired table model or the MathML Tag Set) 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> and <article-title>.
- WORD STANDARDIZATION — Abbreviations may be used when words are used in combination. When a word stands alone as a name, it is not abbreviated. Thus, the element <conference> uses the full word “conference”, but the conference combinations (such as <conf-theme> and <conf-num>) use the abbreviation “conf”. Abbreviations are standardized so that, for example, “figure” is always used as “fig” and group is not abbreviated (as in the elements <title-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.)
|x (no hyphen)
|f (no hyphen; <fpage>)
|l (no hyphen; <lpage>)
|sub (rather than “inferior”)
|sup (rather than “superior”)
File Naming Conventions
This Tag Library describes the components for the Article Authoring Tag Set. This Tag Set is described in a DTD, an XSD schema, and a RELAX NG schema. For the DTD, the base DTD module (delivered as the file JATS-articleauthoring1.dtd) calls in all the other DTD fragment modules as external parameter entities. Each module specific to this Tag Set (therefore, not part of the Suite) takes the prefix “JATS-articleauthcustom-”. The same prefix has been followed in the other two constraint languages/schemas.
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 Authoring DTD, the individual DTD-fragment modules of the DTD and the 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 Article Authoring Tag Set top level, JATS-articleauthoring1.dtd, 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-modified 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, for example, JATS-articleauthoring1.xsd.
A RELAX NG schema module, for example, JATS-articleauthoring1.rng and JATS-articlemeta1.ent.rng.
All NISO JATS versions reflect the major version number in the file name. For example, a module whose name in early versions of the NLM Tag Set was list.ent is now named JATS-list1.ent (to indicate that it is part of the NISO JATS 1.2 release). (Note: The parameter entity that references the file is still called &list.ent;, but it now references a file with the JATS- prefix and the version number embedded, namely JATS-list1.ent.)
The current plan is that future dot releases (1.1, 1.2, etc.) will not be reflected in the filename (not JATS-list1-1.ent, JATS-list1-2.ent, etc.) but will remain named with a single digit (“1”) as JATS-list1.ent), which will not change until the next major release. The next major release 2.0 will be JATS-list2.ent.
While this Tag Set cannot dictate graphic file names, the comments do suggest that best practice for naming graphic files in documents tagged according to this Suite would be to limit the names and path names to these characters: letters (both upper and lower case), numbers, underscore, hyphen, and period. All such names will be assumed to be case sensitive. DOS-style file extensions may be used.