[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]