MHonArc v2.5.0b2 -->
dita message
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
| [List Home]
Subject: DTD Formatting: Sample (partial) Module
<!-- ============================================================= -->
<!-- MODULE: Journal Archiving and Interchange DTD -->
<!-- VERSION: 2.0 -->
<!-- DATE: July 2004 -->
<!-- -->
<!-- ============================================================= -->
<!-- ============================================================= -->
<!-- PUBLIC DOCUMENT TYPE DEFINITION -->
<!-- TYPICAL INVOCATION -->
<!--
"-//NLM//DTD Journal Archiving and Interchange DTD v2.0 20040730//EN"
Delivered as file "archivearticle.dtd" -->
<!-- ============================================================= -->
<!-- ============================================================= -->
<!-- SYSTEM: Journal Archiving and Interchange DTD of the -->
<!-- Archiving and Interchange DTD Suite -->
<!-- -->
<!-- PURPOSE: The Journal Archiving and Interchange DTD -->
<!-- describes journal articles and some non-article -->
<!-- material such as product and book reviews for -->
<!-- repository or interchange purposes. It describes -->
<!-- both the metadata for a journal article and the -->
<!-- full content of the article. -->
<!-- -->
<!-- CONTAINS: 1) Invoke module of modules (%modules.ent;) -->
<!-- (Archiving and Interchange Suite module that -->
<!-- names all potential modules) -->
<!-- 2) Invoke Customization Module -->
<!-- (%archivecustomize.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: -->
<!-- December 2002 -->
<!-- -->
<!-- CREATED BY: Jeff Beck (NCBI) -->
<!-- Deborah Lapeyre (Mulberry Technologies, Inc.) -->
<!-- Bruce Rosenblum (Inera Inc.) -->
<!-- ============================================================= -->
<!-- ============================================================= -->
<!-- DTD VERSION\CHANGE HISTORY -->
<!-- ============================================================= -->
<!--
=============================================================
Version Reason/Occasion (who) vx.x (yyyy-mm-dd)
=============================================================
Version 2.0 (DAL/BTU) v2.0 (2004-07-30)
The splitting of the Archival and Interchange Tag Set DTDs
into three made for a new version "2.0". Additional AIT
Working Group changes were also made as part of this division.
9. Article-types - removed Parameter Entity definition for
%article-types: since it was not being used at all! The
attribute is a CDATA values.
8. Updated public identifier to "v2.0 20040730"
<!-- ============================================================= -->
<!-- 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 Archiving and Interchange DTD.
Note: must be called after the Module of
Modules but before any other module. -->
<!ENTITY % archivecustomize.ent
PUBLIC
"-//NLM//DTD Journal Archiving and Interchange DTD Customize Classes
Module v2.0 20040730//EN"
"archivecustomize.ent" >
%archivecustomize.ent;
<!-- ============================================================= -->
<!-- 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 '2.0'" >
<!-- ARTICLE ATTRIBUTES -->
<!-- Attributes for the top-level element
<article> -->
<!ENTITY % article-atts
"article-type
CDATA #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 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.
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).
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,
(%list.class; | %front-back.class;)*" >
<!-- 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;) >
<!-- ============================================================= -->
<!-- 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. -->
<!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-atts; >
<!-- ================== End Journal Archiving and Interchange DTD -->
--
======================================================================
Deborah Aleyne Lapeyre mailto:dalapeyre@mulberrytech.com
Mulberry Technologies, Inc. http://www.mulberrytech.com
17 West Jefferson Street Direct Phone: 301/315-9633
Suite 207 Phone: 301/315-9631
Rockville, MD 20850 Fax: 301/315-8285
----------------------------------------------------------------------
Mulberry Technologies: A Consultancy Specializing in XML and SGML
======================================================================
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
| [List Home]