Journal Archiving and Interchange DTD Customize Classes Module



<!-- ============================================================= -->
<!--  MODULE:    Journal Archiving and Interchange DTD Customize   -->
<!--             Classes Module                                    -->
<!--  VERSION:   1.0                                               -->
<!--  DATE:      December 2002                                     -->
<!--                                                               -->
<!-- ============================================================= -->

<!-- ============================================================= -->
<!--                    PUBLIC DOCUMENT TYPE DEFINITION            -->
<!--                        TYPICAL INVOCATION                     -->
<!--
"-//NLM//DTD Journal Archiving and Interchange DTD Customize Classes Module v1.0 20021201//EN"
Delivered as file "archivecustomize.ent"                           -->
<!-- ============================================================= -->


<!-- ============================================================= -->
<!-- SYSTEM:     Journal Archiving and Interchange DTD of the      -->
<!--             Archiving and Interchange DTD Suite               -->
<!--                                                               -->
<!-- PURPOSE:    To declare the values for all the element class   -->
<!--             Parameter Entities (PEs), variable content model  -->
<!--             PEs, attribute value PEs, etc. for the Journal    -->
<!--             Archiving and Interchange DTD developed from      -->
<!--             the Archiving and Interchange DTD Suite.          -->
<!--                                                               -->
<!--             Note: Since PEs must be declared before they      -->
<!--             are used, this module must be called first in     -->
<!--             the DTD, following only the Module of Modules.    -->
<!--                                                               -->
<!-- CONTAINS:   1) PEs that define the element classes (such as   -->
<!--                all lists, all links, all bibliographic        -->
<!--                reference elements, etc.)                      -->
<!--             2) PEs that define the element mixes. Mixes are   -->
<!--                combinations of classes that are used to build -->
<!--                content models.  The typical "mix" defines a   -->
<!--                set of circumstances, such as all the elements -->
<!--                at the same structural level as a paragraph    -->
<!--                (paragraph-level elements) or phrase-level     -->
<!--                elements.                                      -->
<!--             3) PEs for complete content models                -->
<!--             4) PEs for attribute values and lists             -->
<!--                                                               -->
<!-- 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.)                      -->
<!--                                                               -->
<!--             The Journal Archiving and Interchange DTD is      -->
<!--             built from the Archiving and Interchange DTD      -->
<!--             Suite                                             -->
<!--                                                               -->
<!--             NLM thanks the Harvard University Libraries, both -->
<!--             for proposing that a draft archiving NLM DTD for  -->
<!--             life sciences journals be extended to accommodate -->
<!--             journals in all disciplines and for sponsoring    -->
<!--             Bruce Rosenblum's collaboration with other DTD    -->
<!--             authors in completing Version 1.0. The Andrew W.  -->
<!--             Mellon Foundation provided support for these      -->
<!--             important contributions.                          -->
<!--             contributions.                                    -->
<!--                                                               -->
<!--             Suggestions for refinements and enhancements to   -->
<!--             this DTD should be sent in email to:              -->
<!--                 archive-dtd@ncbi.nlm.nih.gov                  -->
<!-- ============================================================= -->


<!-- ============================================================= -->
<!--                    DTD VERSION\CHANGE HISTORY                 -->
<!-- ============================================================= -->
<!--

Version  Reason/Occasion                   (who) vx.x (yyyy-mm-dd)

                                                                   -->

<!-- ============================================================= -->
<!--                    DUPLICATE PARAMETER ENTITIES               -->
<!-- ============================================================= -->
<!--                    Parameter entities that are replicated
                        in this file, not because the are
                        overrides to the versions in the module
                        set but because they are needed here so
                        that they will have been declared before
                        they are used in this file.                -->



<!--                    APPEARANCE ELEMENTS                        -->
<!ENTITY % appearance.class
                        "font | hr"                                  >


<!--                    DISPLAY CLASS ELEMENTS                     -->
<!--                    Graphical or other image-related elements.
                        The display elements may occur within
                        the text of a table cell or paragraph
                        although they are typically at the same
                        hierarchical level as a paragraph.         -->
<!ENTITY % block-display.class
                        "array | boxed-text | chem-struct |
                         chem-struct-wrapper |
                         fig | fig-group | graphic | preformat |
                         supplementary-material | table-wrap |
                         table-wrap-group"                           >



<!--                    FORCED BREAK FORMATTING CLASS ELEMENTS     -->
<!ENTITY % break.class  "break"                                      >


<!--                    CITATION CLASS ELEMENTS                    -->
<!--                    Reference to an external document, as used
                        within, for example, the text of a
                        paragraph                                  -->
<!ENTITY % citation.class
                        "citation"                                   >


<!--                    ADDRESS ELEMENTS INSIDE A PARAGRAPH        -->
<!--                    Address elements that are allowed loose inside
                        a paragraph                                -->
<!ENTITY % inpara-address
                        "email"                                      >

<!--                    IN TABLE PARAGRAPH CLASS                   -->
<!--                    The simpler of the paragraph-level elements
                        that might be found inside a table, as an
                        alternative to a table tag.
                        Remarks: Although in theory all tables are
                        rows and columns, some journals allow a
                        "table" element to contain a definition list,
                        a paragraph, a bulleted list, etc. instead
                        of rows and columns.                       -->
<!ENTITY % intable-para.class
                        "speech | disp-quote | statement |
                         verse-group"                                >


<!--                    SECTION CLASS ELEMENTS                     -->
<!--                    Information for the reader that is at the
                        same structural level as a Section, which is
                        a headed structure full of smaller elements
                        such as paragraphs.
                        Note: Overrides the definition in the
                        Section Class Module %section.ent;         -->
<!ENTITY % sec.class    "sec"                                        >


<!--                    SIMPLE DISPLAY ELEMENTS                    -->
<!--                    The simplest and most basic of the Display
                        Class elements, which may be allowed in many
                        places, for example, inside other Display
                        Class elements or inside the cell of a
                        Table                                      -->
<!ENTITY % simple-display.class
                        "array | chem-struct | graphic | preformat"  >


<!-- ============================================================= -->
<!--                    FORMATTING CLASS ELEMENTS (format.ent)     -->
<!-- ============================================================= -->


<!--                    UP/DOWN RENDITION ELEMENTS                 -->
<!ENTITY % subsup.class "sub | sup"                                  >


<!--                    EMPHASIS RENDITION ELEMENTS                -->
<!ENTITY % emphasis.class
                        "bold | italic | monospace |
                         overline | overline-start | overline-end |
                         sc | strike | underline |
                         underline-start |  underline-end "          >


<!-- ============================================================= -->
<!--                    DISPLAY ELEMENT CLASSES                    -->
<!-- ============================================================= -->


<!--                    INLINE DISPLAY CLASS ELEMENTS              -->
<!--                    Non-block display elements that set or
                        display inline with the text               -->
<!ENTITY % inline-display.class
                        "inline-graphic | private-char"              >


<!--                    SIMPLE TABLE DISPLAY ELEMENTS              -->
<!--                    Very similar to the simple-display.class, but
                        Table Wrappers <table-wrap> should contain
                        <table>s, <oasis:table>s, etc., not
                        arrays.                                    -->
<!ENTITY % simple-intable-display.class
                        "chem-struct | graphic | preformat"          >


<!--                    TABLE CLASS ELEMENTS                       -->
<!--                    Elements that will be used to contain the
                        rows and columns inside the Table Wrapper
                        element <table-wrap>.  The following elements
                        can be set up for inclusion:
                          XHTML Table Model    table               -->
<!ENTITY % table.class  "table"                                      >


<!-- ============================================================= -->
<!--                    LINK CLASS ELEMENTS  (%link.ent;)          -->
<!-- ============================================================= -->


<!--                    EXTERNAL LINKS CLASS                       -->
<!--                    Just the external link element, for the
                        first round                                -->
<!ENTITY % ext-links.class
                        "ext-link"                                   >


<!--                    LINKS/CROSS-REFERENCES CLASS ELEMENTS      -->
<!--                    Elements that act as one end of a link or
                        cross-reference, either internal or external
                                                                   -->
<!ENTITY % link.class   "ext-link | fn |
                         inline-supplementary-material |
                         related-article | target | xref"            >


<!--                    SIMPLE LINKS/CROSS-REFERENCES CLASS        -->
<!--                    The smaller and simpler linking elements
                        that might be inside, for example, a
                        Keyword <kwd>                              -->
<!ENTITY % simple-link.class
                        "fn | target | xref"                         >



<!-- ============================================================= -->
<!--                    LIST CLASS ELEMENTS                        -->
<!-- ============================================================= -->


<!--                    LIST CLASS ELEMENTS                        -->
<!--                    All the types of lists that may occur
                        as part of the text, therefore excluding
                        Bibliographic Reference Lists <ref-list>    -->
<!ENTITY % list.class   "def-list | list"                             >


<!-- ============================================================= -->
<!--                    MATHEMATICS CLASSES                        -->
<!-- ============================================================= -->


<!--                    MATHEMATICAL EXPRESSIONS AND FORMULAE MIX  -->
<!ENTITY % block-math   "disp-formula"                               >


<!--                    INLINE MATHEMATICAL EXPRESSIONS MIX        -->
<!ENTITY % inline-math  "inline-formula"                             >


<!--                    MATHEMATICAL EXPRESSIONS                   -->
<!ENTITY % math.class   "tex-math | mml:math"                        >



<!-- ============================================================= -->
<!--                    PARAGRAPH-LIKE ELEMENTS                    -->
<!-- ============================================================= -->


<!--                    REST OF PARAGRAPH CLASS (MINUS PARAGRAPH)  -->
<!--                    Full paragraph class, minus the paragraph
                        element itself, so this PE can be used inside
                        the content model of a paragraph.          -->
<!ENTITY % rest-of-para.class
                        "ack | disp-quote | speech  | statement |
                         verse-group"                                >


<!--                    PARAGRAPH CLASS                            -->
<!--                    Information for the reader that is at the
                        same structural level as a Paragraph       -->
<!ENTITY % para.class   "related-article | p |
                         %rest-of-para.class;"                       >


<!-- ============================================================= -->
<!--                    PHRASE-LEVEL CONTENT ELEMENTS              -->
<!-- ============================================================= -->


<!--                    PHRASE CLASS ELEMENTS                      -->
<!--                    Small inline elements, that surround a word
                        or phrase in the text because the subject
                        (content) should be identified. For example,
                        a <named-content> element could be used to
                        identify a drug name, genus/species, product,
                        etc.                                       -->
<!ENTITY % phrase.class "named-content"                              >


<!-- ============================================================= -->
<!--                    REFERENCE ELEMENTS (BIBLIOGRAPHIC CITATION)-->
<!-- ============================================================= -->


<!--                    REFERENCE ELEMENTS (BIBLIOGRAPHIC CITATION -->
<!--                    The elements that may be included inside a
                        Citation (bibliographic reference)
                        Note: Overrides the definition in the
                        References Class Module %references.ent;   -->
<!ENTITY % references.class
                        "access-date | annotation | article-title |
                         collab | comment |
                         conf-date | conf-loc | conf-name |
                         day | edition | email | elocation-id |
                         etal | fpage |  gov | issn | isbn |
                         issue | lpage | month | name |
                         patent | person-group | pub-id |
                         publisher-loc | publisher-name | season |
                         series | source | std | supplement |
                         time-stamp | trans-source | trans-title |
                         volume | year"                              >


<!-- ============================================================= -->
<!--                    SECTION ELEMENTS                           -->
<!-- ============================================================= -->


<!--                    SECTION-LEVEL ELEMENTS                     -->
<!--                    Elements that may be used at the same
                        structural level as a Section for example
                        inside the Body <body>                     -->
<!ENTITY % sec-level    "%sec.class;"                                >


<!-- ============================================================= -->
<!--                    BACK MATTER ELEMENTS (%backmatter.ent;)    -->
<!-- ============================================================= -->


<!--                    DOCUMENT BACK MATTER ELEMENTS              -->
<!--                    Back Matter Elements used by a full document
                        such as a journal article                  -->
<!ENTITY % doc-back-matter-elements
                        "ack | app-group | bio | fn-group | glossary |
                         notes | ref-list | %sec-level;"             >


<!--                    SECTION BACK MATTER ELEMENTS               -->
<!--                    Back matter elements used inside smaller
                        structures, such as sections and sidebars  -->
<!ENTITY % sec-back-matter-elements
                        "glossary | fn-group | notes | ref-list"     >




<!-- ============================================================= -->
<!--                    ELEMENT CLASS MIXES FOR CONTENT MODELS     -->
<!-- ============================================================= -->


<!--                    EMPHASIS MIX ELEMENTS                      -->
<!--                    Elements that may be used inside most of the
                        emphasis class elements                    -->
<!ENTITY % emphasized-text
                        "%appearance.class; | %emphasis.class;  |
                         %inline-math; | %link.class; |
                         %math.class; | %phrase.class; |
                         %subsup.class;"                             >


<!--                    INSIDE A PARAGRAPH ELEMENTS                -->
<!--                    Elements that may be used within a paragraph
                        in a mixed content model with #PCDATA.
                        Note: There is a major overlap between this
                        parameter entity and that for the elements
                        that are at the same level as a paragraph.
                        Inline elements appear only inside a
                        paragraph, but block elements such as quotes
                        and lists may appear either within a
                        paragraph or at the same level as a
                        paragraph. This serves a requirement in a
                        repository DTD, since some incoming material
                        will have restricted such elements to only
                        inside a paragraph, some incoming material
                        will have restricted them to only outside a
                        paragraph and some may allow them in both
                        places. Thus the DTD must allow for them to
                        be in either or both.                      -->
<!ENTITY % inside-para  "%block-display.class; | %block-math; |
                         %citation.class; | %emphasis.class; |
                         %inline-display.class; |
                         %inline-math; |  %inpara-address; |
                         %link.class; | %list.class; |
                         %math.class; | %rest-of-para.class; |
                         %phrase.class; | %subsup.class;"            >


<!--                    JUST RENDITION                             -->
<!--                    Only the simplest of the typographic
                        emphasis elements, as well as subscript and
                        superscript.  Usually used in a model that
                        allows #PCDATA and this restricted mixture.
                        This mix may be stripped down to only
                        subscript and superscript by some, more
                        restrictive DTDs.
                        DTD Maintenance Note: This Parameter Entity
                        and the related PE "rendition-plus" have
                        been put in place to restrict the amount of
                        variability that a person modifying the DTD
                        through PE redefinition can achieve. Some
                        elements have been set #PCDATA plus one PE
                        and some have been set to #PCDATA plus the
                        other in an effort to allow designers to
                        modify entire groups of elements, but not
                        to change similar models individually .    -->
<!ENTITY % just-rendition
                        "| %emphasis.class;  | %subsup.class;"       >


<!--                    PARAGRAPH-LEVEL ELEMENTS                   -->
<!--                    Elements that may be used at the same
                        structural level as a paragraph, for
                        example inside a Section
                        Note: There a major overlap between this
                        parameter entity and that for the elements
                        that are at the same level as a paragraph.
                        Inline elements appear only inside a
                        paragraph, but block elements such as quotes
                        and lists may appear either within a
                        paragraph or at the same level as a
                        paragraph. This serves a requirement in a
                        repository DTD, since some incoming material
                        will have restricted such elements to only
                        inside a paragraph,  some incoming material
                        will have restricted them to only outside a
                        paragraph and some may allow them in both
                        places. Thus the DTD must allow for them to
                        be in either or both.                      -->
<!ENTITY % para-level   "%block-display.class; | %block-math; |
                         %list.class; | %math.class; |
                         %para.class;"                               >


<!--                    RENDITION MARKUP PLUS                      -->
<!--                    Only the simplest of the typographic
                        emphasis elements, as well as subscript and
                        superscript.  Usually used in a model that
                        allows #PCDATA and this restricted mixture.
                        This mix may be enhanced slightly in some
                        more permissive DTDs, and should always
                        contain at least typographic emphasis,
                        subscript, and superscript.
                        DTD Maintenance Note: This Parameter Entity
                        and the related PE "Just-rendition" have
                        been put in place to restrict the amount of
                        variability that a person modifying the DTD
                        through PE redefinition can achieve. Some
                        elements have been set #PCDATA plus one PE
                        and some have been set to #PCDATA plus the
                        other in an effort to allow designers to
                        modify entire groups of elements, but not
                        to individually change similar models.
                        modify entire groups of elements, but not
                        to change similar models individually .    -->
<!ENTITY % rendition-plus
                        "| %emphasis.class;  | %subsup.class;"         >


<!--                    SIMPLE PHRASE-LEVEL TEXTUAL ELEMENTS       -->
<!--                    Elements that may be used almost anywhere
                        text is used, for example, inside a title.
                        Simple text plus inline display and math
                        elements.                                  -->
<!ENTITY % simple-phrase
                        "%emphasis.class; | %inline-display.class; |
                         %inline-math; | %link.class; |
                         %math.class; | %phrase.class; |
                         %subsup.class;"                             >


<!--                    SIMPLE TEXTUAL CONTENT                     -->
<!--                    Elements that may be used inside elements
                        that are really expected to be #PCDATA and
                        not to contain any of these things.
                        Note that there is no math and no links.
                        Simpler even than %simple-phrase;          -->
<!ENTITY % simple-text  "%emphasis.class;  | %inline-display.class; |
                         %phrase.class; | %subsup.class; "           >


<!-- ============================================================= -->
<!--                    TABLE ELEMENT MIXES                        -->
<!-- ============================================================= -->


<!--                    INSIDE TABLE CELL ELEMENTS                 -->
<!--                    Mixed with #PCDATA inside a table cell, such
                        as a <td> or <th> element in the XHTML table
                        model, the <entry> element in the OASIS CALS
                        table model, etc.  This PE will be used as the
                        value of %FlowMix;, %paracon;, etc.        -->
<!ENTITY % inside-cell  "%appearance.class; | %block-math; |
                         %break.class; | %citation.class; |
                         %emphasis.class; | %inline-math; |
                         %link.class; | %list.class; |
                         %math.class; | %simple-display.class; |
                         %subsup.class;"                             >


<!--                    INSIDE TABLE WRAPPER ELEMENTS              -->
<!--                    Usually a Table Wrapper contains a table,
                        properly tagged with rows and columns, but
                        sometimes, a structure that is labeled as
                        a "table" is actually a list, or two
                        paragraphs.  This Parameter Entity names
                        all the alternatives to table that may
                        occur inside a table wrapper.              -->
<!ENTITY % inside-table-wrapper
                        "%intable-para.class; | %list.class; |
                         %simple-intable-display.class;  |
                         %table.class;"                              >


<!--                    TABLE WRAPPER ATTRIBUTES                   -->
<!--                    Attributes to be added to the regular NLM
                        table attributes, for example, when the
                        Elsevier or OASIS Exchange table models are
                        used.                                      -->
<!ENTITY % other-table-wrap-atts
             ""                                                      >



<!-- ============================================================= -->
<!--                    OVER RIDES OF CONTENT MODELS               -->
<!-- ============================================================= -->


<!--                    ARTICLE METADATA MODEL                     -->
<!--                    Full content model for the metadata that is
                        specific to the article.
                        Note: This includes both metadata that
                        directly describes the article (such as the
                        article title, abstract, or article ID) as
                        well as the metadata that many MAJOUR-style
                        DTDs (such DTDs split the metadata into three
                        categories: journal metadata, article
                        metadata, and issue metadata), call the issue
                        metadata.
                        Related Element: Metadata specific to the
                        journal is within the element <journal-meta>
                        Journal Metadata                           -->
<!ENTITY % article-meta-model
                        "article-id*, article-categories?,
                         title-group?, (contrib-group | aff)*,
                         author-notes?, pub-date*, volume?, issue?,
                         ((fpage, lpage?) | elocation-id)?,
                         (ext-link|product|supplementary-material)*,
                         history?, copyright-statement?,
                         copyright-year?,
                         self-uri*, related-article*, abstract*,
                         trans-abstract*, kwd-group*,
                         contract-num*, contract-sponsor*,
                         conference*, counts?"                       >


<!-- ================== End Journal Archiving Customization ====== -->