The critical difference between Version 3.0 and all prior versions of the Tag Sets is in the area of
compatibility. All prior versions have been document-backward compatible, meaning that
even when the previous versions were modified, any document that was valid to a version of the Tag
Sets was valid in any newer versions (with the insignificant exception of the version flag attribute). In Version 3.0, for
the first time, changes have been made that
render documents that are valid to a prior Tag Set version invalid in 3.0. This invalidity is caused by, for
example, element name changes (where the semantics and content remain the same and only the name has been changed) and the
addition of new container elements surrounding elements
that were previously allowed as direct children.
This section lists two kinds of changes:
- Those made to all the appropriate
modules in each of the Tag Sets (such as element name changes), and
- Changes made to the
base Suite modules (the Suite default). Base modules establish the defaults that are used
for all the Tag Sets unless overridden explicitly in a customization module.
For the first time, the module filenames reflect the version number, for example, a
module whose name in previous versions was %list.ent; is now named
list3.ent. The current plan is that future dot releases (3.1, 3.2, etc.) will not be reflected in the filename (not list3-1.ent,
list3-2.ent, etc.) but will remain named with a single digit “3” (list3.ent), which will not change until the next major release, 4.0 will be list4.ent.
The new file names are:
- Catalog Files
- catalog-v3.xml (Note: The OASIS SOCAT version of the catalog has not been renamed and remains catalog.ent)
- Authoring Tag-Set-specific Modules
- articleauthoring3.dtd
- articleauthcustom-modules3.ent
- articleauthcustom-classes3.ent
- articleauthcustom-mixes3.ent>
- articleauthcustom-models3.ent
- Base Suite Modules
- modules3.ent
- common3.ent
- articlemeta3.ent
- backmatter3.ent
- chars3.ent
- display3.ent
- format3.ent
- funding3.ent
- journalmeta3.ent
- link3.ent
- list3.ent
- math3.ent
- mathmlsetup3.ent
- nlmcitation3.ent (currently deprecated)
- notat3.ent
- para3.ent
- phrase3.ent
- references3.ent
- related-object3.ent (New module)
- section3.ent
- XHTMLtablesetup3.ent
- xmlspecchars3.ent
The following elements have been renamed, in both the default modules and in all
tag-set-specific overrides, to keep the Tag Set naming more consistent.
The name changes described below came as a result of making more formal the meaning and
connotation of the suffixes “-group ”and “-wrap ” (which was
unified, being formerly both “wrap” and “wrapper”). A
“group” is defined as a container element for multiple examples of the same
type of object or multiple examples of similar objects, e.g., groups of tables, figures,
keywords, etc. In contrast, a “wrap”, is a container element that
“wraps up” up all the parts of one object, e.g., a table and its caption and notes.
- Chemical Structure Wrapper —
chem-struct-wrapper was renamed to
<chem-struct-wrap> for Tag Set consistency.
- That change was made in the following modules:
- archivecustom-models3.ent
- articleauthcustom-classes3.ent
- articleauthcustom-models3.ent
- bookcustom-classes3.ent
- default-classes3.ent
- display3.ent
- The <chem-struct-wrap> parameter entities have been renamed to
match, therefore:
- Citation — The element citation was
renamed to <mixed-citation> as part of the change that added a new
all-element citation model. The “mixed” indicates that the element
formerly known as citation has a mixed-content model with both
text and interspersed elements. The change was made in the following modules:
- archivecustom-classes3.ent
- archivecustom-models3.ent
- archive-oasiscustom-classes3.ent
- articleauthcustom-classes3.ent
- articleauthcustom-models3.ent
- articlemeta3.ent
- bookcustom-models3.ent
- common3.ent
- default-classes3.ent
- link3.ent
- references3.ent
- Glossary Group — The element
gloss-group was deleted and <glossary> made
recursive, which amounts to a renaming.
The following changes were made to the element classes defined in
default-classes3.ent:
- Addresses inside Paragraphs — Added
<address> to the %block-display.class; (and therefore
to %block-display-noalt.class;) which adds <address> to
the models of:
- Address Line — Created a new class
%address-line.class; to hold all the elements of
%address.class; that can be used inside
<addr-line>.
- Appearance Class — Removed
font from the %appearance.class;, as the element has
been deleted.
- Contrib Group and Title — The class
other-meta.class contained <contrib-group> and
<title> and was used only in <supplement>. So
the class was deleted and the same elements added to <supplement>
through the two new classes, the %contrib-group.class; (which contains
<contrib>) and the %title.class; (which contains
<title>). The %contrib-group.class; was then used to
add <contrib-group> to <collab> in the Suite
default.
- Copyright — Deleted the element
<copyright-statement> from the
%display-back-matter.class;, to require that
<copyright-statement> be used only inside
<permissions>, not loose inside figures and tables, etc.
- Font — Deleted the element
font from the Tag Sets by removing font from
the %appearance.class;.
- Funding Information
- Contract Grant Class — Deleted the old
contract-grant.class which contained:
contract-num | contract-sponsor | grant-num | grant-sponsor
- Funding Class — Created a new funding class
(equivalent to contract-grant.class) named
%funding.class;, which contains:
award-id | funding-source | open-access
- Naming Classes — Created two new naming
classes for use with funding information:
- Keywords, Compound — Added new element
<compound-kwd> to the %kwd.class;.
- License Paragraph — Defined a new class
(%license-p.class;) to hold <license-p>, a special
paragraph for restricted use inside <license>.
- Named/Styled Content — Added the new element
<styled-content> (the equivalent of
<named-content> without the semantic implications) to the
%phrase.class;. Also created a new class
%phrase-content.class; to hold a subset of the elements of
%phrase.class; (<named-content> and
<styled-content>).
-
References Class — The %references.class;
elements are used in the models of <mixed-citation>,
<element-citation>, <product>,
<related-article>, and <related-object>.
In default-classes3.ent, in %references.class;, added the
elements:
Also deleted the following elements from %references.class;:
The current default references class (used by all Tag Sets) is now:
annotation | article-title | chapter-title |
collab | comment | conf-date | conf-loc |
conf-name | conf-sponsor | date |
date-in-citation | day | edition | email |
elocation-id | etal | ext-link | fpage |
gov | institution | isbn | issn |
issue | issue-id | issue-part | issue-title |
lpage | month | name | object-id |
page-range | part-title |
patent | person-group | pub-id |
publisher-loc | publisher-name | role |
season | series | size | source | std |
string-name | supplement |
trans-source | trans-title | uri |
volume | volume-id | volume-series | year
- Roman Emphasis — Added new element
<roman> to the %emphasis.class;.
- Size Class — Was deleted as it was not being used.
The <size> element is now a part of the regular
%references.class;.
The previous models for funding (grant, sponsor, et
al.) were not robust enough to record the funding metadata that many sources are requiring, for example:
- the requirement by Wellcome Trust of a funding statement that mentions its name on reports of all research it funded,
- a grant sponsor requiring the name of the principal investigator, or
- the ability to
record which open access model was used or who paid for the insertion of an article into a journal
So, in Version 3.0, an
all new funding model has been created that completely replaces all the previous funding/sponsor elements.
New Module — As part of the Tag Set, a new module funding3.ent was
created to hold the new funding elements. The module was formally defined in
modules3.ent and a call to the module was added to each of the following DTDs:
- archivearticle3.dtd
- archive-oasis-article3.dtd"
- articleauthoring3.dtd
- journalpublishing3.dtd
The XSD and RELAX NG versions of the Tag Sets are produced programmatically from the DTD modules, so the new funding metadata
has been added to all Tag Sets.
New Elements — The newly defined funding elements
include:
- <funding-group> (container element for funding metadata)
- <award-group> (container element for metadata for one grant, award, contract, etc), with the attributes:
- @id (an ID attribute, so the award can be
referenced)
- @rid (an IDREFS attribute)
- @award-type (a textual description or categorization of the
award)
- and the usual optional attributes for linking
- <funding-statement>. This is a mixed-content model patterned
after the <copyright-statement>. In the Suite default, which this Tag Set uses, the content includes the text, potentially mixed with
emphasis elements, subscript and superscript, the phrase-level elements such as
<named-content>, and a few links.
This element has the following attributes:
- @rid (an IDREFS attribute)
- <open-access>
- <funding-source> (the name of the sponsor, grantor, award source, etc. This element replaces the previous elements
contract-sponsor and grant-sponsor), with
the attributes:
- @country (so that the country in which the funding originated
can be recognized. Best practice is to use the ISO 31660-1 2-letter alphabetic
country codes.)
- @id (an ID attribute, so the award can be
referenced)
- @rid (an IDREFS attribute)
- @source-type (a textual description or categorization of the
funding-source)
- and the usual optional attributes for linking
- <award-id> (the number or other identifier of the award, grant, contract, etc. This element replaces contract-num and
grant-num as well as being general enough to contain any other
named or numbered award identifier).
This element has the following attributes:
- @rid (an optional IDREFS attribute)
- <principal-award-recipient>
- <principal-investigator>
Deletions — To make way for the new model, the
following elements have been deleted from common3.ent:
The following PEs (used by the deleted elements) were also removed:
- contract-elements,
- contract-sponsor-elements,
- contract-atts,
- grant-elements, and
- grant-sponsor-elements.
Class Changes — In default-classes3.ent,
the following changes have also been made in the classing structure:
- Contract Grant Class — Deleted the old
contract-grant.class which contained:
- contract-num
- contract-sponsor
- grant-num
- grant-sponsor
- Funding Class — Created a new funding class
(equivalent to contract-grant.class) named %funding.class;
which contains:
- New Naming Classes — Created two new personal
name classes for use with funding information
Model Changes — In addition, the new funding models
required the following changes:
- Article Metadata Model — In the module
articlemeta3.ent, the following element grouping was replaced by
funding-group*:
contract-num*, contract-sponsor*, grant-num*, grant-sponsor*
- Paragraph Elements — In common3.ent,
changed the model for Paragraph <p> by replacing
contract-grant.class (old grant and sponsor elements) with
%funding.class; (new funding and award elements <award-id>, <funding-source>, <open-access>) using
%p-elements;.
The parameter entity %p-elements; was also moved
from para3.ent to common3.ent.
The new default %article-meta-model; after all changes, which is not used
since Authoring overrides it, is:
(article-id*, article-categories?,
title-group?, (contrib-group | aff)*,
author-notes?, pub-date*,
volume?, volume-id*, volume-series?,
issue?, issue-id*, issue-title*,
issue-sponsor*, issue-part?, isbn*,
supplement?,
( (fpage, lpage?, page-range?) |
elocation-id )?,
(%address-link.class; | product |
supplementary-material)*,
history?, permissions?, self-uri*,
related-article*, abstract*,
trans-abstract*, kwd-group*, funding-group*,
conference*, counts?, custom-meta-group?)
The actual Authoring model for article metadata is:
(title-group?, contrib-group,
(product | supplementary-material)*,
permissions?, self-uri*, related-article*,
abstract+, kwd-group?, funding-group*,
conference*)
In the module articlemeta3.ent, the following changes have been made to the
<article-meta> (using %article-meta-model;):
- Article Title — In common3.ent,
modified the model for <article-title>, to use a new parameter entity
%article-title-elements; instead of %title-elements;,
because the content of all structural titles was expanded, but the content for
<article-title> should not do so. The content for
<article-title> is:
%simple-phrase; | %break.class;
- Copyrights and Permissions
- Loose Copyright — Moved
<copyright-statement>, <copyright-year>,
and <license>, which used to be allowed both inside
<permissions> (inside <article-meta>) and
also directly within <article-meta> to only inside
<permissions>. The element <article-meta>
was changed (using %article-meta-model;) from:
history?, copyright-statement?, copyright-year?, license?,
permissions?, self-uri*,
to:
history?, permissions?, self-uri*,
- License Paragraph— In
common3.ent, created a new element for a license-specific paragraph
<license-p> (using %license-model;) defined as a
paragraph that can include additional elements such as <price>.
The content of <license> (using %license-p.class;)
is now:
- Funding Information — Replaced the following
element grouping with “funding-group*”:
contract-num*, contract-sponsor*, grant-num*, grant-sponsor*,
- ISBN— Added <isbn> (optional,
repeatable) as part of the potential issue information inside
<article-meta>.
- Named and Styled Content — Added
<named-content> and <styled-content> to the
following elements (using %phrase-content.class;):
- Volume Series — In articlemeta3.ent,
added <volume-series> to <article-meta> to hold
the series number, in those odd cases where, for example, a Journal has started
reissuing with number one and has added a series number to its volume numbers:
volume?, volume-id*, volume-series?,
In common3.ent, added the attribute @content-type to
<volume-series>
/> (using %volume-series-atts;).
Other article metadata elements have changed as well:
- Address Line — In common3.ent,
changed the model for <addr-line> to include all the elements in
the new %address-line.class; (<country>,
<fax>, <institution>,
<phone>).
- Collab — In common3.ent, enhanced
the model of <collab> (using %collab-elements;) to
allow additional elements inside <collab>, to make it more like a
contributor. The original model for <collab> included the following
elements:
"%simple-text; | %address-link.class; | %simple-link.class;"
- Added the elements of the %contrib-info.class; to this
OR mix. That adds the following elements to
<collab>:
address | aff | author-comment | bio |
email | etal | ext-link | on-behalf-of |
role | uri | xref
- Also added <contrib-group> to
<collab>
- Also added %address.class;, which added the elements:
addr-line | country | fax | institution | phone
The new model for <collab> includes the following elements:
"%simple-text; | %address.class; | %contrib-group.class; |
%contrib-info.class; | %fn-link.class;"
(Implementor’s Note: When %contrib-info.class; was added to
<collab>, the result was some duplication errors, since DTDs do not allow an element in a PE to be repeated. It was necessary to remove
address-link.class"/> (which, in all Tag Sets, includes the elements
<email>, <ext-link>, and
<uri>), since these address links were already in
%contrib-info.class;. Also removed %simple-link.class;
(which contains the elements <fn>, <target>, and
<xref>), since <xref> was also already in
%contrib-info.class;. Then added
%fn-link.class; wherever %simple-link.class; had been used, in order to get <fn> back.)
- Compound Keywords — In
articlemeta3.ent, added a new element <compound-kwd>
to hold those keywords which have internal structure. Compound keywords contain one or
more <compound-kwd-part>s. In turn,
<compound-kwd-part>s are mixed-content elements that may contain the %just-rendition; elements.
New <compound-kwd> has the same attributes as
<kwd>:
id ID #IMPLIED
content-type CDATA #IMPLIED
New <compound-kwd-part> also takes a @content-type
attribute.
- Country — Changed the model of
<country> from #PCDATA-only to a potentially
mixed-content model. Therefore, added the parameter entity
%country-elements;.
- ISBN — Changed the model of
<isbn> from #PCDATA-only to a potentially
mixed-content model. Therefore, added the parameter entity
%isbn-elements;.
- ISSN — Changed the model of
<issn>, to correct an obvious error and add an
“* ” to a mixed-content model.
- Issue Title — In articlemeta3.ent,
added all the face markup to <issue-title> by adding
%just-rendition; (using %issue-title-elements;).
- Keyword Group — In articlemeta3.ent,
the model statement of <kwd-group> (using
%kwd-group-model;) has not changed, but the content of
<kwd-group> now includes a new type of keyword
<compound-kwd> as an alternative to <kwd>,
that has been added by adding <compound-kwd> to
%kwd.class;.
- License Paragraph—
- New content for License — In
common3.ent, changed the content of <license>
from being a series of paragraphs (p+ using
%just-para.class; inside %license-model;), to being a
series of special license-specific paragraphs called
<license-p>. The new model is:
((%license-p.class;)+).
- License Paragraph — In
common3.ent, created the new element <license-p>
that can contain additional elements such as <price> which
are not found in regular paragraphs. The <license-p> element
is a mixed-content model defined (using %license-p-elements;) to
be:
(#PCDATA | %p-elements; | %price.class;)*
- Named/Styled Content — Expanded the locations in
which <named-content> and the new element
<styled-content> may be used by using the new parameter entity
%phrase-content.class; to add the elements to:
- Just Rendition Mix — In
default-mixes3.ent, to the OR group inside
%just-rendition;.
<!ENTITY % just-rendition
"| %emphasis.class; | %subsup.class; |
%phrase-content;" >
- Rendition Plus Mix — In
default-mixes3.ent, to the OR group inside
%rendition-plus;.
<!ENTITY % rendition-plus
"| %emphasis.class; | %subsup.class; |
%phrase-content;" >
- Permissions— In common3.ent, inside
<permissions>, made all the copyright and license elements
repeatable (inside %permissions-model;), so the model for
<permissions> becomes:
(copyright-statement*, copyright-year*,
copyright-holder*, license*)
- Size — Changed the model of
<size> from #PCDATA-only to a potentially
mixed-content model. Therefore, added the parameter entity
%size-elements;.
- Time Stamp — Changed the model of
<time-stamp>, to correct an obvious error and add an
“* ” to the mixed-content model. (Note: In Version 3.0, the <time-stamp> element is now used only within the deprecated <nlm-citation> and not within any of the other citation elements.
- Copyright Statement — In common3.ent,
added <named-content> and <styled-content> to the
<copyright-statement> using %phrase-content.class;
inside %copyright-statement-elements;.
- Biography — In common3.ent, changed
the model of <bio> from merely a title and paragraphs (title?,
(para+)) to a full, untitled section model:
%sec-opt-title-model;
- Related Object —
- Added a new element called
<related-object> to contains links to and possibly
descriptions of related material such as books, spreadsheets, and datasets. It is
very like <related-article> but aimed more broadly than a
journal article.
- The new parameter entity %related-object-atts; contains its
attributes; the new parameter entity %related-object-elements; names
the elements to be mixed with #PCDATA inside its content.
- <related-object> is a mixed-content model with the following elements
allowed to mix with the text (using the new parameter entity
%related-object-elements;):
%emphasis.class; | phrase-content.class; |
%references.class; | %subsup.class;
- <related-object> was given the following attributes (using
the new parameter entity %related-object-atts;):
id ID #IMPLIED
link-type CDATA #IMPLIED
source-id CDATA #IMPLIED
source-id-type CDATA #IMPLIED
source-type CDATA #IMPLIED
document-id CDATA #IMPLIED
document-id-type CDATA #IMPLIED
document-type CDATA #IMPLIED
object-id CDATA #IMPLIED
object-id-type CDATA #IMPLIED
object-type CDATA #IMPLIED
content-type CDATA #IMPLIED
- Added a new module related-object3.ent defined in
modules3.ent. The module’s formal public identifier is:
"-//NLM//DTD Archiving and Interchange DTD Suite Related Object Element v3.0 20080202//EN"
Added calls to the new module to:
- archivearticle3.dtd
- articleauthoring3.dtd
- journalpublishing3.dtd
- Allowed <related-object> to be almost anywhere
<related-article> is used by adding
<related-object> to the following classes (in
default-classes3.ent):
Although it was not the intent when the Tag Sets were written, most Tag Set users
have been treating <chem-struct> as an inline and
<chem-struct-wrap> as a block structure. This greatly simplifies all
processing with the two and seems quite flexible, so steps were taken to regularize this usage:
- As an inline object, <chem-struct> should be able to be used
anywhere that <inline-formula> is used; therefore,
<chem-struct> has been added to
%inline-math.class; (in default-classes3.ent as well as in
the Authoring override).
- As an inline object, <chem-struct> should not be used as a block-level object, so it has been removed from
%block-display.class; (in the default and in the Authoring override). [Backward incompatible]
- As an inline object, <chem-struct> must be inside
<chem-struct-wrap> (using
%chem-struct-wrap-model;) (in the default and in the Authoring
override).
- As a block object, <chem-struct-wrap> needs to be everywhere
block display objects are used, so it needs to be part of
%block-display.class;, which
it already was in both the previous base Suite and the previous Authoring override.
- As a block object, <chem-struct-wrap> should be allowed inside
figures (using %fig-model;), which it already was in the previous base Suite and the previous Authoring override.
- Inside a table, only the block-level element should be permitted, so changed the OR group allowed inside a <table-wrap> (using
%inside-table-wrap;) to allow <chem-struct-wrap>
instead of <chem-struct>. [Backward incompatible]
The element <chem-struct-wrap> has also been removed from some
elements, where it was allowed in previous versions. Thus the only remaining inline
chemical element is <chem-struct>. This backward-incompatible change removes <chem-struct-wrap> from the following elements:
The inline element <chem-struct> has been removed from within the following
elements, where it has been allowed in previous versions, allowing only the block
<chem-struct-wrap> to be used. [Backward incompatible]
Made the model of <glossary> recursive (as reference lists have
been recursive) instead of using the artificial gloss-group
structure. For all Tag Sets except Authoring (which has its own override), in
backmatter3.ent:
- Glossary — Changed the model of
<glossary> to be recursive, deleting the element
gloss-group. The parameter entity %glossary-model;
was changed from:
(title?, (%para-level;)*, gloss-group*)
to the following recursive model:
(title?, (%para-level;)*, glossary*)
The recursive <glossary> element allows a glossary list to be
divided into subgroups of terms, usually titled subgroups. The para-level content
following the title allows for those glossaries that have one or more paragraphs of
explanation followed by a <def-list> that contains the terms and
definitions. Because glossaries that are bulleted lists or just a series of paragraphs
have also been seen in the wild, this model is deliberately loose.
- Glossary Group
- Deleted the element gloss-group
- Deleted the parameter entities gloss-group-model and
gloss-group-atts
- New Citation Element — In
common3.ent, added a new citation element
<element-citation>, making three citation elements in all:
<mixed-citation>
|
(the element citation renamed) is still defined in
common3.ent). A #PCDATA bucket that may also
contain any the reference elements such as <source> and
<article-title>. This bucket contains all punctuation and spacing in the display version of the
citation.
|
<element-citation>
|
(new) An all-element-content element that may contain any of the reference
elements such as <source> and
<article-title>, in any order as many times as necessary.
This new element is designed to contain none of the punctuation and
spacing in the display version of the citation. This element has been given
the same attributes as the existing citation types (see Attribute
Changes).
|
<nlm-citation>
|
(deprecated) An older model, previously used by PubMed Central, whose
usage is now discouraged in favor of the new
<element-citation>. Because it is now deprecated, the
model for <nlm-citation> has not been updated to add any of
the new citation elements nor to delete any of the elements already within it,
even if those elements were otherwise deleted. Therefore, the
<nlm-citation> is the only current element that may
contain the elements <access-date> and
<time-stamp>, which have been replaced by
<date-in-citation>.
|
- Citation Class Change — In
default-classes3.ent, added the new element
<element-citation> to the %citation.class;, allowing
<element-citation> to be used anywhere
<mixed-citation> is used by adding
<element-citation> to the following elements:
- New Elements in Citations — In
references3.ent, defined several new elements:
In default-classes3.ent, added the following elements to
%references.class;, which all Tag Sets now use (all overrides in
customization modules have been deleted):
The addition of these elements to the references class led to some element
duplication where the class was used, so in articlemeta3.ent, removed
<size> (which used size.class) from
<product> (using %product-elements;).
- Dates Deleted from Citations — In
default-classes3.ent, deleted the following elements from
%references.class;, which all Tag Sets now use (all customization
overrides have been deleted). These elements should be replaced by the new
<date-in-citation>.
- Size Versus Page Count — In
default-classes3.ent, now that the <size> element
exists within <product>, <mixed-citation>,
<element-citation>, <related-article>, and
<related-object> (through %references.class;), there
is no need to carry the EMPTY
<page-count> element as well, so <page-count>
can be reserved for metadata uses. Therefore, removed <page-count>
from the parameter entity %references.class;.
- Person Group — In references3.ent,
added <string-name> to <person-group> (using
%name.class; inside %person-group-model;) to allow a
second way for the punctuation and spacing to be preserved with names.
- Parameter Entity Modification — Implementor’s
Note: In previous Tag Set versions, the parameter entity %citation-elements;
was only used to create mixed-content, so by convention it started with an
"|" bar. Now that it may be used mixed with #PCDATA or used
as an entire element-only model, so the initial “|” bar has been removed.
Tag set implementors requested a structure to hold multiple forms or processing versions of a
single object. Typically, the Tag Set end-user is not aware of these groupings; they are for purposes of
processing and for use by production personnel or by software. The new element
<alternatives> has been defined to contain multiple, logically equivalent
(substitutable) versions of the same information object. The typical use for
<alternatives> is a graphic which is shipped with an article in
multiple versions (such as a tif, jpeg, and SVG image) or an inline equation that is
available as a tif image, tagged in MathML XML tags, and as a TeX equation. The <alternatives> element is
neither a block object nor an inline object; those are the properties of the element that
contains the alternatives.
The following modifications added this capability:
- New Class — In
default-classes3.ent, created a new class
%alternatives-display.class; to name the display elements that can be
alternatives to each other inside an <alternatives> element. The
class names:
"array | chem-struct | graphic |
inline-graphic |
inline-supplementary-material |
media | textual-form | preformat | private-char |
supplementary-material | table"
- New Alternatives Element — In
common3.ent, added new element <alternatives> to
contain alternative versions of an object, modeled as a required repeatable
OR group of all the %alternatives-display.class; element <mml:math>, using the new parameter entity:
<!ENTITY % alternatives-model
"(%alternatives-display.class; |
%math.class;)+" >
Here is a tagged example, using figure (<fig>):
<fig>
<caption><title>Big Dogs</title><p>
are really very cool.</p></caption>
<alternatives>
<graphic.../>
<graphic .../>
<media .../>
<preformat...>...</preformat>
</alternatives>
<permissions>...</permission>
</fig>
- Adding Alternatives — The new
<alternatives> element can be used everywhere that
<graphic> can be used. For example, in
default-classes3.ent, added <alternatives> to:
- %block-display.class; — thereby adding the element to
<abstract>, <ack>,
<app-group>, <app>,
<bio>, <body>,
<boxed-text>, <disp-quote>, <glossary>,
<p>, <ref-list>,
<sec>, and <styled-content>.
- %inline-display.class; — thereby adding the element to
<conf-sponsor>, <addr-line>, <article-title>,
<attrib>, <award-id>,
<bold>, <mixed-citation>,
<collab>, <comment>,
<conf-acronym>, <conf-loc>,
<conf-name>, <conf-num>,
<conf-theme>, <def-head>,
<element-citation>, <funding-source>,
<inline-formula>, <italic>,
<kwd>, <label>,
<monospace>, <overline>,
<product>, <roman>, <sc>,
<subtitle>, <sup>,
<supplement>, <term-head>,
<term>, <title>, <trans-title>,
<underline>, and <verse-line>.
- %inside-chem-struct-wrap.class; — thereby adding the element to
<chem-struct-wrap>.
- %simple-display.class; — thereby adding the element to
<chem-struct>, <disp-formula>,
<fig>, <td>, and
<th>.
- %simple-intable-display.class; — thereby adding the element to
<table-wrap>.
- New Textual Form Element — In elements that
contain mixed rather than element content (such as <disp-formula>
and <chem-struct>), there is the possibility that one or more of
the alternatives may contain just text such as letters, numbers, and special
characters, for example:
This text could easily be an alternative to the same equation expressed in TeX,
in MathML, and as a graphic. To hold such textual alternatives, a new element
<textual-form> was created in common3.ent. The new
<textual-form> is defined as a mixed-content element that holds
text and elements such as face markup.
The typical use for <textual-content> is inside a display equation
<disp-formula>, where (using <alternatives>)
the formula is present as a MathML encoded equation, a plain text alternative which
uses ASCII characters and superscripts, and a jpg <graphic>. The
text alternative would be coded as a <textual-form> element.
The <textual-form> element is mixed-content group that mixes all the
%emphasis.class; elements, <inline-graphic> ,
<private-char>, <mml:math>,
<named-content>, and <styled-content>, as well as superscripts and subscripts with the
text.
- Deleted Alternate Form of Attribute — The
previous (only particularly successful) attempt to provide alternate version
functionality consisted of the alternative-form-of attribute. As part of
adding <alternatives>, this attribute was removed from the
following elements: [Backward incompatible]
- In common3.ent, the attribute alternative-form-of was removed from:
- In display3.ent, the attribute alternative-form-of was removed from:
- In link3.ent, the attribute alternative-form-of was removed from:
- In math3.ent, the attribute alternative-form-of was removed from:
- In XHTMLtablesetup3.ent, the attribute alternative-form-of was
removed from:
- In oasis-tablesetup3.ent, removed the alternative-form-of
attribute from table (using %pe-tbl.table.att;).
- In mathmlsetup3.ent, removed the override attribute list for the PE %math.qname; which contained the alternative-form-of
attribute and also removed the attribute list declaration for <mml:math>.
- In display3.ent, also removed the attribute alt-version from
<graphic> (using %graphic-atts;).
In math3.ent, added new element <disp-formula-group> to
hold groups of equations that must be displayed together. Equations within such groups may
be given a single (group) number, numbered individually, or both. Created new PEs
%disp-formula-group-model; and %disp-formula-group-atts; to
define this element and its attributes. The model for
<disp-formula-group> is:
((%caption.class;)?, (%access.class; | %address-link.class;)*,
(%block-math.class;)* )
The group has the following attributes:
id ID #IMPLIED
content-type CDATA #IMPLIED
specific-use CDATA #IMPLIED
The new <disp-formula-group> element was added to the Parameter
Entity %block-math.class;, which adds the element everywhere that
<disp-formula> can be used:
- Inside table cells [<td> and <th> (XHTML) and
entry (OASIS CALS Exchange)]
- Mixed with other paragraph-level objects where they can be used, for example,
inside a <sec>
- Inside <named-content> and
<styled-content>
- Inside a paragraph <p>
- Inside a <term>
- In the OR group that follows the metadata (such as the caption) inside a figure (<fig>).
- Boxed Text — In display3.ent, changed
<boxed-text> from including a <title> to
including a <caption> (which in turn has <title>
within it.). [Backward incompatible]
The use of parameter entities made this change slightly
complicated. The content model for <boxed-text> previously used the
section model ( using %sec-opt-title-model;). Instead of continuing to
reference the section model, <boxed-text> now replicates the section
model, thereby permitting the change to use <caption>. The model for
<boxed-text> was changed to the following (using
%boxed-text-model;):
((%id.class;)*, sec-meta?, caption?,
(%para-level;)*, (%sec-level;)*,
(%sec-back-matter-mix;)*,
(%display-back-matter.class;)* )
- Chemical Structure — In display3.ent,
added <named-content> and <styled-content> to
<chem-struct> (using %phrase-content.class; inside
%chem-struct-elements;).
- Display Formula — In math3.ent, added
<named-content> and <styled-content> to the
<disp-formula> (using %phrase-content.class; inside
%disp-formula-elements;).
- Table Wrap Foot —
- Citations in Structural Titles — In
common3.ent, added the citation elements to the
<title> element (using %struct-title-elements;). This
permits the use of the various types of citations (which are named using named in
%citation.class;) inside structural titles in the Suite. (Note: Citation class defaults to <mixed-citation> and
<element-citation>, but all the
Tag Sets have added <nlm-citation> to the citation class via override.)
Annotation Content — In MathML, the
elem-mml:annotation element is intended for documentation. In order not to
limit the content, the default MathML element has a content model of ANY. In the usage of these Tag Sets,
this allows any element in either the MathML Suite or the NLM Tag Set to be used
inside elem-mml:annotation. Since the elem-mml:annotation structure was clearly intended merely to
document the math, these Tag Sets have redefined elem-mml:annotation to be
(p+), in mathmlsetup3.ent by redefining
%Annotation-xml.content;.
- Fonts and Styles — In format3.ent,
deleted the element font, which has been replaced by a new element
<styled-content>. The new <styled-content> marks text that is typographically
distinct, but for which a semantic reason cannot be inferred, so
<named-content> would not be not an appropriate way to tag the material. (Note: The new element is available in all the Tag Sets. The following
changes were made as part of removingfont and instituting <styled-content>:
- New Styled Content — In
phrase3.ent, created a new element
<styled-content> that is a mixed-content model with the same
content as <named-content>.
The element <styled-content> has the attributes:
- Deleted Font —
- Removed the element declaration for font and the
parameter entities %font-elements; (formerly mixed with
#PCDATA inside font) and
%font-atts; (the attributes for
font). [Backward incompatible]
- In default-classes3.ent, removed font
from the %appearance.class;, leaving only the horizontal rule
<hr> in that class. The appearance class element(s) are
used in the Suite default only within table cells. [Backward incompatible]
- Inline Supplementary Material — In
link3.ent, added <named-content> and
<styled-content> to
<inline-supplementary-material> (using
%phrase-content.class; inside
%inline-supplementary-material-elements;).
- Inline Formula — In math3.ent, added
<named-content> and <styled-content> to
<inline-formula> (using %phrase-content.class; inside
%inline-formula-elements;).
- Roman — In format3.ent, added new
element <roman>, another emphasis element modeled and used like
<bold>.
- Citation Types — The previous values for the
citation-type attribute, which was used on
all previous citation elements, were confusing, mixing together values such as
“book” and “thesis” that described the type of
publication with “gov” that described the publisher as well as with media types.
Since only one citation-type value was allowed, there was no way to say that something was a
government-published book.
Therefore, in common3.ent, the attribute citation-type
was deleted from %citation-atts; (which names the attributes used by all
three types of citations (<mixed-citation>,
<element-citation>, and <nlm-citation>) and the
following attributes were added in place of the deleted citation-type: [Backward incompatible]
- @publication-type — The type of object (journal, book, patent)
that contains the cited material. While the values are not constrained, typical
values include: journal, book, patent, report, thesis, standard, website,
book-part (a chapter or an article from a book where the entire book is not being
cited), conf-proc (conference proceeding), working paper, list (list serve), blog,
online-ref (an online reference source such as Wikipedia or an online dictionary),
court-case, database, communc (a personal communication such as a conversation,
letter, or personal email), or discussion (implies group communication, usually
face to face, as opposed to an online list discussion). This is the most important
of the new attributes and best practice is to use it whenever possible, as downstream
processing many require the information.
- @publisher-type — The type of organization that publishes the
cited material. While the values are not constrained, typical values include: gov
(government), std-body (standards body), personal (personal imprint), society,
non-profit, ngo, etc. Unless it is important that the cited material is of a
particular type, this attribute need not be used. For example, while it may be
true that a cited journal article was published by a commercial publisher (value
“commercial”), that fact will probably be recorded rarely. Best
practice is to use this attribute to preserve information about the publisher
where an existing citation being converted has already recorded this material.
- @publication-format — What format of the reference is being cited,
for example, print, online, video, audio, etc. This attribute should be
used when known for non-print sources.
- @content-type — Provides a way to preserve or add semantic
distinctions.
- The parameter entity %citation-atts; is overridden in Authoring
(articleauthcustom-models3.ent) so the change was made in each of
these as well.
- Content Type
- Date Types— In common3.ent,
- Changed the values of the @date-type attribute from a small
specific list to CDATA (using %date-atts;).
- Removed the small list of explicit date types (date-types
listed as accepted, received, rev-request, and rev-recd).
- Glyph Data — In chars3.ent, added the
following attributes to <glyph-data> : @fontchar,
@fontname, @xml:space
- ISBN Attribute List — Moved %isbn-atts; from references3.ent into
common3.ent, since <isbn> is now used in both article
metadata and references.
- Linking — In common3.ent, added all
the external linking attributes (optionally) to <conference> (by
adding %might-link-atts; to %conference-atts;).
- List Identifiers — In list3.ent, fixed
an ancient typo by changing the Declared Value of the @id
attribute from CDATA to type ID for the elements
<def-list>, <list>, and
<list-item>. This was a copy mistake in Version 1.0 that had not been
able to be fixed for reasons of backward compatibility.
- List, Continued — In list3.ent, added
the new attribute @continued-from to <list> and
<def-list>, to be used to mark a list as continued from a previous
list (using%list-atts;). This attribute indicates a semantic
“superlist” that has paragraph or other block-level interruptions. The
documentation stresses that this attribute is semantic and should not be used to
generate numbering. The <label> element should be used to number the
items of any non-contiguous list.
- Orientation — In display3.ent, added
new attribute @Orientation, which takes the values “portrait” and
“landscape”.
The new @Orientation attribute was added to
%display-atts;, which added it to <boxed-text>,
<chem-struct-wrap>, <fig>, <graphic>,
<media>, <preformat>,
<supplementary-material>, and <table-wrap>.
- Related Article — In common3.ent,
added the @elocation-id and @specific-use attributes to
<related-article> (using %related-article-atts;). Also
deleted the attribute alternative-form-of from <related-article> (using
%related-article-atts;).
- Target Identifier and Pointers — In
link3.ent, changed the Declared Values and Default
Values of the attributes of <target> from an optional
@id and a required @target-type by reversing the values to
require the @id attribute and make the @target-type attribute
optional.
- Identifying Languages
- For prior version of these Tag Sets and Suite, best practice recommendations for the values for the attribute @xml:lang was to use the RFC 1766 language codes, typically 2-letter language codes such as "FR" (French), "EN" (English), and "DE"
(German). The recommendation has been updated to use the new W3C recommendations concerning language code. Instead of ISO
or RFC language code tables, the values should be taken from the online IANA Language Subtag Registry (http://www.iana.org/assignments/language-subtag-registry).
The new language codes are all lower case, for example "fr" (French), "en" (English), and "de" (German), and all samples and
text in the Tag Libraries have been changed to match.
The new element <styled-content> is used to record stylistic or usage
distinctions in much the way the <named-content> element is used to
record semantic distinctions (which may or may not have styling or usage consequences). The
element <styled-content> takes a @specific-use attribute
that records usage, audience, or stylistic distinctions, for example, “web
only”, “print only”, “voice
only”, “for teachers”, “for
patients”, etc. This new attribute has been added to many elements.
- In articlemeta3.ent, added @specific-use to
- In backmatter3.ent, added @specific-use to
- In commmon3.ent, added @specific-use to
- In display3.ent, added @specific-use to
- In list3.ent, added @specific-use to
- In math3.ent, added @specific-use to
- In para3.ent, added @specific-use to
- In phrase3.ent, added @specific-use to
- In references3.ent, added @specific-use to
- In section3.ent, added @specific-use to
- Paragraph Elements — Moved
%p-elements; from para3.ent to common3.ent.
because the PE is now used both in the definitions of paragraph (<p>)
and in the definition of <license> though
%license-p-elements;, which is defined in common3.ent.
- Price Elements — In common3.ent,
crated a new PE %price-elements; to hold the elements that can be included
along with #PCDATA inside <price>.