NLM Journal Publishing DTD
Date: 2003-05
NLM Journal Publishing DTD From: http://dtd.nlm.nih.gov/publishing/tag-library/n-mni0.html See: http://xml.coverpages.org/NLM-JournalDTDs.html http://dtd.nlm.nih.gov/
NLM Journal Publishing DTD
--------------------------------------------------------------------------------
<!-- ============================================================= --> <!-- MODULE: Journal Publishing DTD --> <!-- VERSION: 1.0 --> <!-- DATE: February 2003 --> <!-- --> <!-- ============================================================= -->
<!-- ============================================================= -->
<!-- PUBLIC DOCUMENT TYPE DEFINITION -->
<!-- TYPICAL INVOCATION -->
<!--
"-//NLM//DTD Journal Publishing DTD v1.0 20030210//EN"
Delivered as file "journalpublishing.dtd" -->
<!-- ============================================================= -->
<!-- ============================================================= --> <!-- SYSTEM: Journal Publishing DTD of the --> <!-- Archiving and Interchange DTD Suite --> <!-- --> <!-- PURPOSE: DTD for creation of new journal articles --> <!-- --> <!-- This subset of the Journal Archiving and --> <!-- Interchange DTD is optimized for the authoring --> <!-- (or initial XML tagging) of journal articles and --> <!-- some non-article material such as product and --> <!-- book reviews. It describes both the metadata for --> <!-- a journal article and the full content of the --> <!-- article. --> <!-- This DTD was constructed using the modules in the --> <!-- Archiving and Interchange DTD Suite. --> <!-- --> <!-- CONTAINS: 1) Invoke module of modules (%modules.ent;) --> <!-- (Archiving and Interchange Suite module that --> <!-- names all potential modules) --> <!-- 2) Invoke Customization Module --> <!-- (%journalpubcustomize.ent;) --> <!-- (DTD-specific module that defines the classes, --> <!-- mixes, and other Parameter Entities to be --> <!-- used in this DTD) --> <!-- 3) Invoke the Common Element Module (from Suite) --> <!-- 4) Invoke all the Class Modules (from Suite) --> <!-- 5) Parameter Entities for attribute values used --> <!-- in this module (DTD-specific definitions) --> <!-- 6) Define document element (Article <article>) --> <!-- 7) Define Front Matter <front> --> <!-- 8) Define Body Matter <body> --> <!-- 9) Define Back Matter <back> --> <!-- --> <!-- CREATED FOR: --> <!-- Digital Archive of Journal Articles --> <!-- National Center for Biotechnology Information --> <!-- (NCBI) --> <!-- National Library of Medicine (NLM) --> <!-- --> <!-- ORIGINAL CREATION DATE: --> <!-- February 2003 --> <!-- --> <!-- CREATED BY: Jeff Beck (NCBI) --> <!-- B. Tommie Usdin (Mulberry Technologies, Inc.) --> <!-- --> <!-- The Journal Publishing DTD is built from the --> <!-- Archiving and Interchange DTD Suite. --> <!-- --> <!-- Suggestions for refinements and enhancements to --> <!-- this DTD should be sent in email to: --> <!-- publishing-dtd@ncbi.nlm.nih.gov --> <!-- ============================================================= -->
<!-- ============================================================= --> <!-- DTD VERSION\CHANGE HISTORY --> <!-- ============================================================= --> <!--
=============================================================
Version Reason/Occasion (who) vx.x (yyyy-mm-dd)
-->
<!-- ============================================================= --> <!-- DESIGN CONSIDERATIONS --> <!-- ============================================================= -->
<!-- MODULAR DTD LIBRARY
A set of journal archiving and interchange
DTD modules was written as the basis for
publishing, interchange, and repository
DTDs, with the intention that DTDs for
specific purposes, such as this Publishing
DTD, would be developed based on them.
This publishing DTD has been optimized for
the creation of new journal articles. This
means that it is far smaller (fewer elements,
and fewer choices in many contexts) than was
the interchange DTD. Where in the interchange
DTD there may have been several ways to
express the same information, only one is
provided for authoring. It was not the
intention to limit the expressive power
licensed by the DTD, but rather to limit the
meaningless choices needed in a full
archiving and interchange DTD that make
conversion from a wide variety of formats as
easy as possible.
This Publishing DTD has been developed from
the Archiving and Interchange DTD Suite
modules, in the approved manner, making
changes to the declarations in those modules
by overriding Parameter Entity contents
using the
%journalpubcustomize.ent;
module, which is called from this DTD file.
No changes to any of the original Archiving
and Interchange Suite modules are required
in order to use this DTD. -->
<!-- ============================================================= --> <!-- VERSION 1.0 DESIGN CONSIDERATIONS --> <!-- ============================================================= -->
<!-- THE MANY ROADS NOT TAKEN
In the interest of getting a version of this
DTD into production as quickly as practical,
several structures and functions that might
be appropriately included have been delayed
until a future version of this DTD. Such
components include:
- Questions and Answers (These may be
modeled with the current DTDs by using
paragraphs and lists)
- Continuing Medical Education material
(which frequently contains questions
and answers)
- Forms and fill-in-the-blank
- Conflict of Interest statements and
Financial Disclosure (May be modeled
as paragraphs or footnotes)
- Electronic and Digital Rights Management
- Advertising included in the journal:
+ Job ads
+ Classified advertising
+ Display advertising
- Calendars, meeting schedules, and
announcements. (These can be handled
as ordinary articles or sections within
articles)
- About the Journal material such as Author
Guidelines, Policy and Scope statements,
Editorial or advisory boards, detailed
indicia, etc.
-->
<!-- ============================================================= --> <!-- MODULE OF MODULES INVOKED --> <!-- ============================================================= -->
<!-- MODULE TO NAME THE MODULES -->
<!-- Names all the external modules (except
itself and the Customization Module) that
are part of the modular Journal Archiving
and Interchange DTD Suite library.
This DTD then selects from those
modules by referencing the external
Parameter Entities defined in the Module of
Modules. To include a set of elements (such
as all the lists or the MathML elements) this
DTD references the external Parameter Entity
of the module that contains the declarations.
-->
<!ENTITY % modules.ent PUBLIC
"-//NLM//DTD Archiving and Interchange DTD Suite Module of Modules v1.0 20021201//EN"
"modules.ent" >
%modules.ent;
<!-- ============================================================= --> <!-- CUSTOMIZATION MODULE INVOKED --> <!-- ============================================================= -->
<!-- CUSTOMIZATION (DEFINE CLASSES) MODULE -->
<!-- Set up the Parameter Entities and element
class definitions that will be used to
establish the content models and attribute
lists for the Publishing DTD.
Note: must be called after the Module of
Modules but before any other module. -->
<!ENTITY % journalpubcustomize.ent PUBLIC
"-//NLM//DTD Journal Publishing DTD Customization Module v1.0 20030324//EN"
"journalpubcustomize.ent" >
%journalpubcustomize.ent;
<!-- ============================================================= --> <!-- COMMON (SHARED) ELEMENTS MODULE INVOKED --> <!-- ============================================================= -->
<!-- COMMON (SHARED) DECLARATIONS -->
<!-- Declarations for elements, attributes,
entities, and Notations that are shared by
more than one class module. Note: Must be
called before any of the class modules. -->
%common.ent;
<!-- ============================================================= --> <!-- JOURNAL ARTICLE CLASS ELEMENTS (alpha) --> <!-- ============================================================= -->
<!-- ARTICLE METADATA ELEMENTS --> %articlemeta.ent;
<!-- BACK MATTER ELEMENTS --> %backmatter.ent;
<!-- DISPLAY (GRAPHICAL) ELEMENTS --> %display.ent;
<!-- FORMATTING ELEMENT CLASSES --> <!-- Elements that change rendition/display. --> %format.ent;
<!-- JOURNAL METADATA ELEMENTS --> %journalmeta.ent;
<!-- LINK CLASS ELEMENTS --> %link.ent;
<!-- LIST CLASS ELEMENTS --> %list.ent;
<!-- MATH ELEMENTS --> %math.ent;
<!-- PARAGRAPH-LEVEL ELEMENTS --> %para.ent;
<!-- PHRASE-LEVEL ELEMENTS --> %phrase.ent;
<!-- BIBLIOGRAPHIC REFERENCE (CITATION)
CLASS ELEMENTS -->
%references.ent;
<!-- SECTION ELEMENTS --> %section.ent;
<!-- ============================================================= --> <!-- THE REST OF THE EXTERNAL MODULES INVOKED --> <!-- ============================================================= -->
<!-- MATHML SETUP MODULE --> <!-- Invoke the MathML modules --> %mathmlsetup.ent;
<!-- XHTML TABLE SETUP MODULE -->
<!-- Set up the necessary Parameter Entity values
and then invoke XHTML (HTML 4.0) table
module -->
%XHTMLtablesetup.ent;
<!-- SPECIAL CHARACTERS DECLARATIONS -->
<!-- Standard XML special character entities
used in this DTD -->
%xmlspecchars.ent;
<!-- CUSTOM SPECIAL CHARACTERS DECLARATIONS -->
<!-- Custom special character entities created
specifically for use in this DTD Suite -->
%chars.ent;
<!-- NOTATION DECLARATIONS MODULE --> %notat.ent;
<!-- ============================================================= --> <!-- PARAMETER ENTITIES FOR ATTRIBUTE VALUES --> <!-- ============================================================= -->
<!-- ARTICLE TYPES -->
<!-- What kind of article is this? All articles
should have types assigned if possible.
-->
<!ENTITY % article-types
"article-commentary | abstract | addendum |
announcement | book-review |
books-received | brief-report | calendar |
case-report | correction | discussion |
editorial | in-brief | introduction |
letter | meeting-report | news | obituary |
oration | other | product-review |
research-article | retraction | reply |
review-article" >
<!-- ============================================================= --> <!-- PARAMETER ENTITIES FOR ATTRIBUTE LISTS --> <!-- ============================================================= -->
<!-- DTD VERSION -->
<!-- What version of this DTD was used to make
the document instance under consideration.
Note that this is a fixed value that should
change every time the DTD changes versions or
revisions. -->
<!ENTITY % dtd-version
"dtd-version
CDATA #FIXED '1.0'" >
<!-- ARTICLE ATTRIBUTES -->
<!-- Attributes for the top-level element
<article> -->
<!ENTITY % article-atts
"article-type
(%article-types;) #IMPLIED
%dtd-version;
xml:lang NMTOKEN 'EN'
%XLINK.xmlns.attrib;
%MATHML.xmlns.attrib;" >
<!-- RESPONSE ATTRIBUTES -->
<!-- Attributes for the <response> element -->
<!ENTITY % response-atts
"response-type
CDATA #IMPLIED
xml:lang NMTOKEN 'EN'" >
<!-- ============================================================= --> <!-- JOURNAL ARTICLE ELEMENTS --> <!-- ============================================================= -->
<!-- ARTICLE MODEL (LIMITED) -->
<!ENTITY % article-short-model
"front, body?, back?" >
<!-- ARTICLE MODEL WITH SUBARTICLE OR RESPONSE -->
<!ENTITY % article-full-model
"front, body?, back?,
(sub-article* | response*)" >
<!-- ARTICLE -->
<!-- The complete content of a journal article.
An article is potentially divided into
four (more typically three) parts: 1) the
Front Matter (article metadata or header),
the body of the article (main content), any
ancillary information such as a glossary or
appendix, and (the least common) a
response, that is a commentary on the
article itself. -->
<!ELEMENT article (%article-full-model;) >
<!-- article-type
What kind of article is this?
Note: When the article is a commentary on
another article, for example a correction or
addendum, this attribute is metadata for the
commentary itself, it does NOT define the
kind of article that is being corrected or
amended.
Authoring Note: All articles
should have types assigned if possible.
abstract The article itself is an
abstract (of a paper or
presentation), usually that
has been presented or published
separately.
addendum A published item that adds
additional information or
clarification to another item
Similar value "correction"
corrects an error in previously
published material
announcement
Material announced in the
publication (may or may not be
directly related to the pub)
article-commentary
An item whose subject or focus
is another article or articles;
this article comments on the
other article(s) (For example,
for a controversial article, the
editors of the publication
might invite an author of the
opposing opinion to comment on
the first article, and publish
the two together.)
book-review
Review or analysis of one or more
printed or online books (Note
that product reviews are a
separate type.)
books-received
Notification of items such as
books that have been received
by the publication for review
or other consideration
brief-report
A short and/or rapid announcement
of research results
calendar A list of events
case-report
Case study, case report, or other
description of a case
correction A modification, or
correction of previously
published material (sometimes
called "errata") Similar value
"addendum" merely adds to
previously published material
discussion Invited discussion related to a
specific article or issue
editorial Opinion piece, policy statement,
or general commentary, typically
written by staff of the
publication. Note: similar value
"article-commentary" is reserved
for a commentary on a specific
article or articles.
in-brief Summary of items in the current
issue
introduction
An introduction to the
publication, a series of articles
within the publication, etc.,
typically for a special section
or issue
letter Letter to the publication,
typically commenting upon a
published item
meeting-report
Report of a conference,
symposium, or meeting
news News item
obituary Announcement of a death or
appreciation of a colleague
who has recently died
oration Reprint of a speech or oral
presentation
other Not any of the article types
explicitly named in this list
product-review
Description, analysis, or review
of a product or service, for
example a software package (note
that book review is a separate
type)
reply Reply to a letter or commentary,
typically by the original
author commenting upon the
comments
research-article
Research article
retraction Retraction of previously
published material
review-article
Review or state-of-the-art
summary article
dtd-version
Which version of the DTD does this article
use? The value is a #FIXED attribute, so
the entire attribute definition is defined
in a Parameter Entity, so the next version
of the DTD can use a different #FIXED value.
xml:lang The language in which the value of the
element is expressed. Recommended best
practice is to use values as defined in
RFC 1766, typically 2-letter language
codes such as "FR" (French), "EN" (English),
and "DE" (German). These values are NOT
case sensitive, so "EN" = "en". The values
may include hyphenated differentiators such
as "EN-AU" (Australian English) and "EN-US"
(United States English).
Processing and Conversion Note: All other
xml:lang attributes within the article
inherit the value set on <article> unless
explicitly set themselves with their own
"xml:lang" attribute.
xmlns Set up the pseudo-attributes for the
namespaces for any namespaces used in this
DTD. Xlink and MathML are set up in the
MathML modules. These xmlns are called
here because certain older tools will not
work properly with namespaces unless they
are declared on the top level element.
The PEs are defined in the MathML modules. -->
<!ATTLIST article
%article-atts; >
<!-- ============================================================= --> <!-- FRONT MATTER ELEMENTS --> <!-- ============================================================= -->
<!-- FRONT MATTER MODEL --> <!ENTITY % front-model "journal-meta, article-meta" >
<!-- FRONT MATTER -->
<!-- The metadata concerning an article, such as
the name and issue of the journal in which it
appears and the name and author(s) of the
article.
In some journal DTDs this is called the
header information, and it includes metadata
concerning the journal <journal-meta> and
metadata concerning the issue of the journal
and the individual article <article-meta>. -->
<!ELEMENT front (%front-model;) >
<!-- ============================================================= --> <!-- BODY ELEMENTS --> <!-- ============================================================= -->
<!-- BODY MODEL -->
<!-- Content model for the Body (main textual
content) of a journal article. -->
<!ENTITY % body-model "(%para-level;)*, (%sec-level;)*" >
<!-- BODY OF THE ARTICLE -->
<!-- The main textual portion of the article that
conveys the content. -->
<!ELEMENT body (%body-model;) >
<!-- ============================================================= --> <!-- BACK MATTER ELEMENTS --> <!-- ============================================================= -->
<!-- BACK MATTER MODEL -->
<!-- Content model for the Back Matter (ancillary
material such as appendices) of a journal
article. -->
<!ENTITY % back-model "title*, (%doc-back-matter-elements;)*" >
<!-- BACK MATTER -->
<!-- Ancillary or supporting material not included
as part of the main textual content of a
journal article, for example appendices and
acknowledgments. -->
<!ELEMENT back (%back-model;) >
<!-- ============================================================= --> <!-- SUBARTICLE --> <!-- ============================================================= -->
<!-- SUBARTICLE -->
<!-- An article that is completely contained
inside another article. Both the article and
the subarticle have their own metadata. The
article has at very least journal and issue
information and start and end pages; it may
have a title, author, or other metadata.
The subarticle has its own, independent
metadata, such as authors, that it
may not share with the article that
encloses it.
Conversion Note: "Superarticles" that contain
other articles rarely contain much content of
their own, perhaps just a title and
introductory paragraph.
Authoring Note: This construction is NOT to
be used for an article and its response, or
for a series of responses, even if the
original article to which the responses are
replying is elsewhere. -->
<!ELEMENT sub-article (%article-full-model;) >
<!-- article-type
What kind of article is this?
Note: When the article is a commentary on
another article, for example a correction or
addendum, this attribute is metadata for the
commentary itself, it does NOT define the
kind of article that is being corrected or
amended.
Authoring Note: All articles
should have types assigned if possible.
abstract The article itself is an
abstract (of a paper or
presentation), usually that
has been presented or published
separately.
addendum A published item that adds
additional information or
clarification to another item
Similar value "correction"
corrects an error in previously
published material
announcement
Material announced in the
publication (may or may not be
directly related to the pub)
article-commentary
An item whose subject or focus
is another article or articles;
this article comments on the
other article(s) (For example,
for a controversial article, the
editors of the publication
might invite an author of the
opposing opinion to comment on
the first article, and publish
the two together.)
book-review
Review or analysis of one or more
printed or online books (Note
that product reviews are a
separate type.)
books-received
Notification of items such as
books that have been received
by the publication for review
or other consideration
brief-report
A short and/or rapid announcement
of research results
calendar A list of events
case-report
Case study, case report, or other
description of a case
correction A modification, or
correction of previously
published material (sometimes
called "errata") Similar value
"addendum" merely adds to
previously published material
discussion Invited discussion related to a
specific article or issue
editorial Opinion piece, policy statement,
or general commentary, typically
written by staff of the
publication. Note: similar value
"article-commentary" is reserved
for a commentary on a specific
article or articles.
in-brief Summary of items in the current
issue
introduction
An introduction to the
publication, a series of articles
within the publication, etc.,
typically for a special section
or issue
letter Letter to the publication,
typically commenting upon a
published item
meeting-report
Report of a conference,
symposium, or meeting
news News item
obituary Announcement of a death or
appreciation of a colleague
who has recently died
oration Reprint of a speech or oral
presentation
other Not any of the article types
explicitly named in this list
product-review
Description, analysis, or review
of a product or service, for
example a software package (note
that book review is a separate
type)
reply Reply to a letter or commentary,
typically by the original
author commenting upon the
comments
research-article
Research article
retraction Retraction of previously
published material
review-article
Review or state-of-the-art
summary article
xml:lang The language in which the value of the
element is expressed. Recommended best
practice is to use values as defined in
RFC 1766, typically 2-letter language
codes such as "FR" (French), "EN" (English),
and "DE" (German). These values are NOT
case sensitive, so "EN" = "en". The values
may include hyphenated differentiators such
as "EN-AU" (Australian English) and "EN-US"
(United States English).
Processing and Conversion Note: All other
xml:lang attributes within the article
inherit the value set on <article> unless
explicitly set themselves with their own
"xml:lang" attribute. -->
<!ATTLIST sub-article
article-type
(%article-types;) #IMPLIED
xml:lang NMTOKEN "EN" >
<!-- ============================================================= --> <!-- RESPONSE ELEMENTS --> <!-- ============================================================= -->
<!-- RESPONSE -->
<!-- Reply, response, or commentary concerning the
journal article. In the typical case, the
response is included in the same XML package
as the original article, and thus attached
at the end of the article proper.
Authoring Note: Frequently a reply or
response is an article in its own right, not
included as part of the original article.
Such an article could use the
<related-article> element in the article
metadata to record the metadata for the
original article.
Conversion Note: This construction can also
be used for the pathological case, rarely
seen, in which several responses to an
article are lumped together into a single
container which is not the original article,
merely a collection of responses. In one
example we examined, the first two responses
were to an original article which was else-
where and the third response was a response
to the first two responses. -->
<!ELEMENT response (%article-short-model;) >
<!-- response-type
What kind of response is this?
Note: This does NOT define the kind of
article on which the response is commenting,
it is metadata for the response itself.
Authoring Note: Use of this attribute is not
to be encouraged. It was added to allow for
observed cases of a series of articles
being chained together as an introduction,
an article, and several responses.
xml:lang The language in which the value of the
element is expressed. Recommended best
practice is to use values as defined in
RFC 1766, typically 2-letter language
codes such as "FR" (French), "EN" (English),
and "DE" (German). These values are NOT
case sensitive, so "EN" = "en". The values
may include hyphenated differentiators such
as "EN-AU" (Australian English) and "EN-US"
(United States English).
Processing and Conversion Note: All other
xml:lang attributes within the article
inherit the value set on <article> unless
explicitly set themselves with their own
"xml:lang" attribute. -->
<!ATTLIST response
response-type
CDATA #IMPLIED
xml:lang NMTOKEN "EN" >
<!-- ================== End Journal Publishing DTD =============== -->