Version 2.3 was an enhancement release that made changes requested by the Working Group based on operational concerns. All
changes to content models and attribute lists have been made backward compatible. As an example, a new XHTML “style” attribute
was added to all the elements inside <table> and the “content-type” attribute was distributed widely to add or preserve semantic
information.
In addition to the full Suite changes listed in Section 2. Changes to the Entire Suite, the following changes were made to the Publishing DTD and its DTD-specific modules. Each changed module had its formal public
identifier and comment date changed, which was reflected in the two catalog files and the module calls in the DTD. Modules
changed include:
- journalpublishing.dtd
- journalpubcustom-classes.ent
- journalpubcustom-mixes.ent
- journalpubcustom-models.ent
- journalpubcustom-modules.ent
- Anonymous — In %journalpubcustom-models.ent;, over-rode model (%anonymous-model;) for new element <anonymous> to create EMPTY element. (The new element <anonymous> is defined in %common.ent;.)
- Article / Subarticle / Response — Created a new element <floats-wrap>, which can be used to contain all the floating objects (such as graphics, figures, tables, boxed text, etc.) used within
the body and back matter of an article. Some publishers prefer to collect all the floating objects at the end of the article
rather than at their place of reference, and <floats-wrap> was created outside the narrative flow to contain these objects . The new element is defined in %section.ent;. In journalpublishing.dtd, added an optional <floats-wrap> at the same level as <body> to the element <article> (by changing the PE %article-full-model;, the element <subarticle> (by changing the PE %subarticle-model;, and the element <response> (by changing the PE %article-short-model;.
- Article Metadata — In %journalpubcustom-models.ent;, added <grant-num> and <grant-sponsor> to the model for <article-meta>. (This is considered a temporary addition; a more structured model for grant material and sponsorship is anticipated in a
future release.)
- Citation / Product / Related Article — In %journalpubcustom-classes.ent;, over-rode %references.class; to include <conf-sponsor> and <institution>. This change impacts the models for <citation>, <product>, and <related-article>.
- Contributor / Person Group — In %journalpubcustom-classes.ent;, added the new element <anonymous> to over-ride PE %name.class;. This change will impact the models for <contrib> and <person-group>.
- Figure — In %journalpubcustom-models.ent;, added the new PE %chem-struct-wrap.class; to %fig-model;, thereby adding <chem-struct-wrapper> to the model for <fig>.
- Journal Metadata — In %journalpubcustom-models.ent;, added <trans-title> and <trans-subtitle> (both optional and repeatable) to the model for <journal-meta>. (This is considered a temporary addition; a more structured model for translated titles and subtitles is anticipated in
a future release.)
- NLM Citation — In %journalpubcustom-classes.ent;, redefined class %citation.class; to add the element <nlm-citation> so that its more structured model can be used anywhere the <citation> element may be used, including inside the XHTML table elements <td> and <td>. (The element <nlm-citation> was already used in the Publishing DTD; the redefinition of the new %citation.class; merely expands its use.)
- Reference — In %journalpubcustom-models.ent;, changed the reference model (%ref-model;) to include %citation.class; to permit the use of <nlm-citation> inside a <ref> element. (The element <nlm-citation> was already used in the Publishing DTD; the use of the new %citation.class; to allow more model flexibility.)
- Section and Appendix — In %journalpubcustom-models.ent;, redefined %sec-model;) to require at minimum either a <label> or <title> element, with the option that when <label> is used, there may also be a <title>. This change impacts the models for <sec> and <app>.
- Baseline Shift — In %journalpubcustom-models.ent;, added a new attribute “baseline-shift” to the over-ride PE %inline-graphic-atts; (for the element <inline-graphic>). This attribute will indicate the position of an inline graphic vis-a-vis the text baseline.
- Content Type — In %journalpubcustom-models.ent;, added the attribute “content-type” to the attribute list for the elements <graphic> (by way of %graphic-atts;) and <inline-graphic> (by way of %inline-graphic-atts;).
- DTD Version — In journalpublishing.dtd, changed the fixed value for the attribute “dtd-version” to “2.3” (by way of the PE %dtd-version;).
- Mimetype — In %journalpubcustom-models.ent;, the “mimetype” attribute is now a CDATA type with no fixed default value for <graphic> (via %graphic-atts;) and for <inline-graphic> (via %inline-graphic-atts;).
- Mime Subtype — In %journalpubcustom-models.ent;, the “mime-subtype” attribute is now a CDATA type (rather than an enumerated list of values) with no default value for <graphic> (via %graphic-atts;) and for <inline-graphic> (via %inline-graphic-atts;).
- Person Group Attributes — In %journalpubcustom-models.ent;, added the attribute “id” (with an attribute type of ID) to the attribute list for the element <person-group> (by way of %person-group-atts;).
- Reference — In %journalpubcustom-models.ent;, changed the reference model (%ref-model;) to include %note.class; (which contains <note>) rather than naming the element <note> explicitly.
The version number for virtually all Suite modules was set to “v2.3 20070202”. This change was made in the initial comments
for a module, in the formal public identifier in the module, in the Suite Module of Modules or the DTDs themselves where the
modules were called, and in the XML and SOCAT catalogs.
The only modules whose version number was not changed to “v2.3 20070202” are those publicly available and being used as part
of the NLM Suite, as these modules are not under NLM’s control:
- xhtml-table-1.mod (replacing htmltable.dtd)
- xhtml-inlstyle-1.mod (XHTML inline style module)
- mathml2.dtd (and related MathML modules mathml2-qname-1.mod, mmlalias.ent, and mmlextra.ent )
the OASIS Exchange CALS table modules
The table model being used by all DTDs in the NLM Suite, htmltable.dtd, has been replaced with a later version, XHTML version 1.1 (xhtml-table-1.mod). This later version permits greater modularity, but changes NO content models for table elements. In addition, a new table module %xhmtl-inlstyle-1.mod; has been added to the Suite in order to use a “style” attribute with table elements. The new table model and “style” module are declared in %modules.ent; and invoked in %xhtmltablesetup.ent;. This information is also recorded in the catalogs accompanying the NLM Suite.
- Anonymous — In %common.ent;, created new element <anonymous> with two new PEs, %anonymous-model; and %anonymous-elements;. The default model contains character data with basic face markup, i.e., %anonymous-elements;.
- Article Metadata — In %articlemeta.ent;, added <grant-num> and <grant-sponsor> to the model for <article-meta>. (This is considered a temporary addition; a more structured model for grant material and sponsorship is anticipated in a
future release.)
- Citation / Product / Related Article — In %default-classes.ent;, changed %references.class; to include <conf-sponsor> and <institution>. This change impacts the models for <citation>, <product>, and <related-article>.
- Contributor / Person Group — Added the new element <anonymous> to <contrib> and <person-group>.
- Figure — In %display.ent;, added the new PE %chem-struct-wrap.class; to %fig-model;, thereby adding <chem-struct-wrapper> to the model for <fig>.
- Floats Wrapper — In %section.ent;, created a new element <floats-wrap> to contain (at the same level as the body of an article) all the floating objects in the body and back matter for publishers
who prefer to collect all graphics, figures, tables, boxed text, etc.) at the end of an article. This element’s model uses
the new PE %floats-wrap-model;.
- Grant Information — In %common.ent;, separated grant information from contract information by creating two new elements and related PEs:
- <grant-num>
- <grant-sponsor>
- %grant-elements;
- %grant-sponsor-elements;
- Journal Metadata — In %journalmeta.ent;, added <trans-title> and <trans-subtitle> to the model for <journal-meta>. (This is considered a temporary addition; a more structured model for grant material and sponsorship is anticipated in a
future release.)
- Milestones — In %phrase.ent;, created two new elements <milestone-start> and <milestone-end> for those instances in which the proper Ordered Hierarchy of Content Objects (OCHO) does not exist.
- Paragraph — In %para.ent;, changed %p-elements; to include the new class %contract-grant.class; thereby adding the potential of contract or grant information within paragraphs.
- Product — In %articlemeta.ent;, modified %product-elements; to include the new element <size> (by way of the new %size.class;) inside <product>.
- Related Article — In %common.ent;, added the new class %journal-id.class; to %related-article-elements;, thereby adding <journal-id> to the model for <related-article>.
- Sans-Serif — In %format.ent;, created the new element <sans-serif>. Added the new element to %emphasis.class;.
- Section Metadata — In %common.ent;, changed the model (%sec-meta-model;) to include the elements <permissions> and <kwd-group>.
- Size — In %common.ent;, created new element <size> to indicate the length of a video, page range of a book or article, etc.
- Speaker and String Name — In %default-classes.ent;, the element <degrees> was added to %person-name.class;, thereby adding to <speaker> (by way of %speaker-elements;) and <string-name> (by way of %string-name-elements;).
- Supplement — In %articlemeta.ent;, the PE %supplement-elements; has been modified to include the new elements <contrib-group> and <title>, using the new entity %other-meta.class;; %supplement-elements; is used in the model for <supplement>.
- Table Cells — In %default-mixes.ent;, changed %inside-cell; to include <chem-struct-wrapper> (by way of new PE %chem-struct-wrap.class;)
- Term — In %list.ent;, added the new PE %chem-struct-wrap.class; to %term-elements;, thereby adding <chem-struct-wrapper> to the model for <term>.
- Baseline Shift — In %display.ent;, added a new attribute “baseline-shift” to the PE %inline-graphic-atts; (for the element <inline-graphic>). This attribute will indicate the position of an inline graphic vis-a-vis the text baseline.
- Country — In %common.ent;, the element <country> has a new attribute “country” (by way of a new PE %country-atts;); this provides a way to regularize metadata while preserving content unchanged, i.e., “US” as the attribute value while
the element content is “USA”.
- Currency — In %common.ent;, the element <price> has a new attribute “currency” to indicate the type of currency for a price.
- Identifier — Added the attribute “id” (with an attribute type of ID) to the attribute list for the following elements:
- <abstract> (%abstract-atts; in %articlemeta.ent;)
- <app-group> (%app-group-atts; in %backmatter.ent;)
- <article-title> (%article-title-atts; in %common.ent;)
- <attrib> (%attrib-atts; in %common.ent;)
- <author-comment> (%author-comment-atts; in %articlemeta.ent;)
- <contrib-group> (%contrib-group-atts; in %articlemeta.ent;)
- <custom-meta> (%custom-meta-atts; in %common.ent;)
- <fn-group> (%fn-group-atts; in %backmatter.ent;)
- <gloss-group> (%gloss-group-atts; in %backmatter.ent;)
- <kwd> (%kwd-atts; in %articlemeta.ent;)
- <person-group> (%person-group-atts; in %references.ent;)
- <product> (%product-atts; in %articlemeta.ent;)
- <ref-list> (%ref-list-atts; in %references.ent;)
- <sig-block> (%sig-block-atts; in %common.ent;)
- <title> (%title-atts; in %common.ent;)
- <trans-abstract> (%abstract-atts; in %articlemeta.ent;)
- <trans-title> (%trans-title-atts; in %common.ent;)
- <trans-subtitle> (%trans-title-atts; in %common.ent;)
- Mimetype — In %display.ent;, the “mimetype” attribute is now a CDATA type with no fixed default value for <graphic> (via %graphic-atts;) and for <inline-graphic> (via %inline-graphic-atts;).
- Mime Subtype — In %display.ent;, the “mime-subtype” attribute is now a CDATA type (rather than an enumerated list of values) with no default value for <graphic> (via %graphic-atts;).
- Patent Country — In %references.ent;, the element <patent> has a new attribute “country” (by way of a new PE %patent-atts;) to indicate the country that has issued a patent, the value of which should be a ISO 31660-1 2-letter alphabet code where
possible.
- Rationale — Created two new elements <milestone-start> and <milestone-end> for those instances where the regular hierarchy is not enough and added this attribute to <milestone-start> to say why the milestone.
- Sequence — In %common.ent;, the elements <volume> and <issue> have a new attribute “seq” to hold the sequence number for articles that are not numbered in one sequence for an entire issue or volume.
- Style — In %xhtmltablesetup.ent;, the new attribute “style” is added to the PE %Common.attrib; (by way of %Core.extra.attrib;). Consequently, this new attribute will be available with virtually all table elements. (The “style” attribute and the PE %Core.extra.attrib; are declared in the new module, %xhml-inlstyle-1.mod;, which has been added with version 1.1 of the XHTML table model in this release.)
- Units — In %common.ent;, the new element <size> uses an attribute “units” to indicate the units of measurement used.
- Content Type — Added the attribute “content-type” to the attribute list for the following elements:
- <abbrev> (%abbrev-atts; in %phrase.ent;)
- <access-date> (%access-date-atts; in %references.ent;)
- <addr-line> (%addr-line-atts; in %common.ent;)
- <address> (%address-atts; in %common.ent;)
- <aff> (%aff-atts; in %common.ent;)
- <alt-text> (%alt-text-atts; in %common.ent;)
- <annotation> (%annotation-atts; in %references.ent;)
- <app> (%app-atts; in %backmatter.ent;)
- <app-group> (%app-group-atts; in %backmatter.ent;)
- <author-comment> (%author-comment-atts; in %articlemeta.ent;)
- <comment> (%comment-atts; in %references.ent;)
- <conf-acronym> (%conf-acronym-atts; in %common.ent;)
- <conf-date> (%conf-date-atts; in %common.ent;)
- <conf-loc> (%conf-loc-atts; in %common.ent;)
- <conf-name> (%conf-name-atts; in %common.ent;)
- <conf-num> (%conf-num-atts; in %articlemeta.ent;)
- <conf-sponsor> (%conf-sponsor-atts; in %articlemeta.ent;)
- <conf-theme> (%conf-theme-atts; in %articlemeta.ent;)
- <conference> (%conference-atts; in %common.ent;)
- <contract-num> (%contract-atts; in %common.ent;)
- <contract-sponsor> (%contract-atts; in %common.ent;)
- <contrib-group> (%contrib-group-atts; in %articlemeta.ent;)
- <copyright-holder> (%copyright-holder-atts; in %common.ent;)
- <copyright-statement> (%copyright-statement-atts; in %common.ent;)
- <copyright-year> (%copyright-year-atts; in %common.ent;)
- <corresp> (%corresp-atts; in %articlemeta.ent;)
- <country> (%country-atts; in %common.ent;)
- <day> (%day-atts; in %common.ent;)
- <def-list> (%def-list-atts; in %list.ent;)
- <degrees> (%degrees-atts; in %articlemeta.ent;)
- <disp-formula> (%disp-formula-atts; in %math.ent;)
- <disp-quote> (%disp-quote-atts; in %para.ent;)
- <edition> (%edition-atts; in %references.ent;)
- <elocation-id> (%elocation-id-atts; in %common.ent;)
- <email> (%email-atts; in %common.ent;)
- <fax> (%fax-atts; in %common.ent;)
- <fig-group> (%fig-group-atts; in %display.ent;)
- <fn-group> (%fn-group-atts; in %backmatter.ent;)
- <fpage> (%fpage-atts; in %common.ent;)
- <glossary> (%glossary-atts; in %backmatter.ent;)
- <gloss-group> (%gloss-group-atts; in %backmatter.ent;)
- <gov> (%gov-atts; in %references.ent;)
- <grant-num> (%contract-atts; in %common.ent;)
- <grant-sponsor> (%contract-atts; in %common.ent;)
- <graphic> (%graphic-atts; in %display.ent;)
- <inline-formula> (%inline-formula-atts; in %math.ent;)
- <inline-graphic> (%inline-graphic-atts; in %display.ent;)
- <inline-supplementary-material> (%inline-supplementary-material-atts; in %link.ent;)
- <institution> (%institution-atts; in %common.ent;)
- <isbn> (%isbn-atts; in %references.ent;)
- <issue> (%issue-atts; in %common.ent;)
- <issue-id> (%issue-id-atts; in %common.ent;)
- <issue-title> (%issue-title-atts; in %common.ent;)
- <journal-subtitle> (%journal-subtitle-atts; in %journalmeta.ent;)
- <journal-title> (%journal-title-atts; in %journalmeta.ent;)
- <lpage> (%lpage-atts; in %common.ent;)
- <long-desc> (%long-desc-atts; in %common.ent;)
- <media> (%media-atts; in %display.ent;)
- <month> (%month-atts; in %common.ent;)
- <name> (%name-atts; in %common.ent;)
- <note> (%note-atts; in %references.ent;)
- <object-id> (%object-id-atts; in %common.ent;)
- <page-range> (%page-range-atts; in %common.ent;)
- <patent> (%patent-atts; in %references.ent;)
- <phone> (%phone-atts; in %common.ent;)
- <price> (%price-atts; in %common.ent;)
- <publisher> (%publisher-atts; in %common.ent;)
- <ref> (%ref-atts; in %references.ent;)
- <ref-list> (%ref-list-atts; in %references.ent;)
- <role> (%role-atts; in %common.ent;)
- <season> (%season-atts; in %common.ent;)
- <self-uri> (%self-uri-atts; in %articlemeta.ent;)
- <series> (%series-atts; in %references.ent;)
- <series-text> (%series-text-atts; in %articlemeta.ent;)
- <series-title> (%series-title-atts; in %articlemeta.ent;)
- <sig> (%sig-atts; in %common.ent;)
- <sig-block> (%sig-block-atts; in %common.ent;)
- <source> (%source-atts; in %references.ent;)
- <speaker> (%speaker-atts; in %para.ent;)
- <speech> (%speech-atts; in %para.ent;)
- <statement> (%statement-atts; in %para.ent;)
- <std> (%std-atts; in %references.ent;)
- <string-date> (%string-date-atts; in %common.ent;)
- <subject> (%subject-atts; in %articlemeta.ent;)
- <subtitle> (%subtitle-atts; in %articlemeta.ent;)
- <suffix> (%suffix-atts; in %common.ent;)
- <supplementary-material> (%supplementary-material-atts; in %display.ent;)
- <table-wrap-group> (%table-wrap-group-atts; in %display.ent;)
- <tex-math> (%tex-math-atts; in %math.ent;)
- <time-stamp> (%time-stamp-atts; in %references.ent;)
- <title> (%title-atts; in %common.ent;)
- <trans-source> (%source-atts; in %references.ent;)
- <trans-title> (%trans-title-atts; in %common.ent;)
- <trans-subtitle> (%trans-subtitle-atts; in %common.ent;)
- <uri> (%uri-atts; in %common.ent;)
- <verse-group> (%verse-group-atts; in %para.ent;)
- <verse-line> (%verse-line-atts; in %para.ent;)
- <volume> (%volume-atts; in %common.ent;)
- <volume-id> (%volume-id-atts; in %common.ent;)
- <year> (%year-atts; in %common.ent;)
- <x> (%x-atts; in %common.ent;)
The following class changes were made in the suite, and are applicable to the Publishing DTD as they have not been over-ridden
in any of the Publishing customization modules. In the module %default-classes.ent;:
- Chemical Structure Wrapper Class — Created a new class %chem-struct-wrap.class; to contain the element <chem-struct-wrapper>.
- Contract/Grant Class — Created a new class %contract-grant.class; to hold the elements <contract-num>, <contract-sponsor>, <grant-num> and <grant-sponsor>.
- Floating Display Class — Created a new class %floats-display.class; for block display elements that can take a “position” attribute and thus not be tied to a specific narrative place inside an article. This class is used inside the new PE %floats-wrap-model;.
- Inline Math Class — Added <chem-struct> to the class %inline-math.class; so it may be used anywhere the element <inline-formula> may be used.
- Journal ID Class — Created a new class %journal-id.class; to hold the element <journal-id>.
- Name Class — Added the new element <anonymous> to %name.class;.
- Note Class — Created a new class %note.class; (which contains <note>).
- Other Metadata Class — Created a new class %other-meta.class; to provide article-like metadata about objects such as supplements; this class contains <contrib-group> and <title>.
- Person Group Information Class — In %default-classes.ent;, created a new class %person-group-info.class; to hold the elements <aff> and <etal>. This class is used as part of the model for the element <person-group>.
- Person Name Class — Added the element <degrees> to %person-name.class;, thereby adding to <speaker> (by way of %speaker-elements;) and <string-name> (by way of %string-name-elements;).
- Phrase Class — Added the new elements <milestone-start> and <milestone-end> were added to the class %phrase.class;.
- Size Class — Created a new class %size.class; to contain the new element <size>.