NCBI Book DTD Content and Attribute Over-ride Module


<!-- ============================================================= -->
<!--  MODULE:    NCBI Book Content and Attribute Module            -->
<!--  VERSION:   2.3                                               -->
<!--  DATE:      February 2007                                     -->
<!--                                                               -->
<!-- ============================================================= -->

<!-- ============================================================= -->
<!--                    PUBLIC DOCUMENT TYPE DEFINITION            -->
<!--                        TYPICAL INVOCATION                     -->
<!--
"-//NLM//DTD NCBI Book DTD Content and Attribute Over-ride Module v2.3 20070202//EN"
Delivered as file "bookcustom-models.ent"                          -->
<!-- ============================================================= -->


<!-- ============================================================= -->
<!-- SYSTEM:     NCBI Book DTD of the                              -->
<!--             Archiving and Interchange DTD Suite               -->
<!--                                                               -->
<!-- PURPOSE:    To declare the Parameter Entities (PEs) used to   -->
<!--             over-ride content models or parts of content      -->
<!--             models when making a new DTD from the modules of  -->
<!--             the Archiving and Interchange DTD Suite.          -->
<!--                                                               -->
<!--             Or-groups within models should use mixes or       -->
<!--             classes rather than name elements directly.       -->
<!--                                                               -->
<!--             Note: Since PEs must be declared before they      -->
<!--             are used, this module must be called before the   -->
<!--             content modules that declare elements.            -->
<!--                                                               -->
<!-- CONTAINS:   1) PEs that define OR lists of elements to be     -->
<!--                mixed with #PCDATA in element content models   -->
<!--                (all PEs are named "yyy-elements", where "yyy" -->
<!--                is the name of the primary element whose       -->
<!--                content model will use the declared PE.)       -->
<!--             2) PEs that define complete content models.       -->
<!--                (names ending in the suffix "-model")          -->
<!--             3) PEs that define attribute list or attribute    -->
<!--                value over-rides                               -->
<!--                                                               -->
<!-- CREATED FOR:                                                  -->
<!--             Digital Archive of Journal Articles               -->
<!--             National Center for Biotechnology Information     -->
<!--                (NCBI)                                         -->
<!--             National Library of Medicine (NLM)                -->
<!--                                                               -->
<!-- ORIGINAL CREATION DATE:                                       -->
<!--             October 2004                                      -->
<!--                                                               -->
<!-- CREATED BY: Bart Trawick    (NCBI)                            -->
<!--             Jeff Beck       (NCBI)                            -->
<!--             Deborah Lapeyre (Mulberry Technologies, Inc.)     -->
<!--             B. Tommie Usdin (Mulberry Technologies, Inc.)     -->
<!--                                                               -->
<!--             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)

     =============================================================
     Version 2.3                       (DAL/BTU) v2.3 (2007-02-02)
     
     Enhancement Release (2.3) following the Working Group meetings 
     of Oct-Nov/2006-Jan/2007. No backward-incompatible changes.
     Archiving loosened even more. New structures for all the DTDs. 
     
 16. BOOK META MODEL -  Moved to this module from the Book DTD 
     module because the Collection DTD also needed to use it.
     
 15. TITLE ATTRIBUTES
      
     a) Removed the attribute list for <title>. Now that the Suite 
        also have an -%title-atts; it can be redefined in this module 
        without being declared in this module.
        
     b) Added "content-type" attribute.
     
     c) Added "id attribute
     
 14. CONTENT TYPE - The attribute "content-type" added to the
     following elements to preserve/add semantic distinctions:
      - graphic (through graphic-atts)
      - issn (through issn-atts)\
      - title (through title-atts)
     
 13. GRAPHIC ATTS - In the parameter entity -%graphic-atts;
     made the following changes:
     a) Unfixed the "mimetype" attribute from
           mimetype  CDATA   #FIXED 'image'
        into this:
           mimetype  CDATA   #IMPLIED
      
     b) Made the "mime-subtype" attribute into a CDATA rather 
        than a list of values
        
     c) Added "content-type" attribute to preserve or add semantic
        distinctions.
     
 12. SECTION METADATA - Deleted the parameter entity 
     -%sec-meta-model because the default Suite model was 
     changed to be the same, and Book need no longer redefine
     section metadata.

 11. REF-MODEL - Changed content (but not intent or value) by
     replacing <citation> with -%citation.class; and
     <note> with -%note.class;

 10. NLM CITATION - Added <nlm-citation> as an alternative to
     unstructured <citation>s by adding <nlm-citation>
     to %citation.class;. This changed the models for:
      - <ref>, which uses -%citation.class; inside %ref-model;
  
  9. Updated public identifier to "v2.3 20070202//EN"          

     =============================================================
     Version 2.2                       (DAL/BTU) v2.2 (2006-10-13)
     
     Updated base Suite to latest version (2.2) Other minor
     modifications for processing.
     
  8. Added "tax" and "pubchem" as suggested values for 
     "ext-link-type" attribute
     
  7. Added %sec-meta-model; to over-ride the PE in %common.ent; 
     for book section metadata to include <kwd-group> and 
     <permissions>
               
  6. Updated public identifier to "v2.3 20070202".

     =============================================================
     Version 2.1                       (DAL/BTU) v2.1 (2005-06-30)
          
     Changed to MathML 2.0 and MathML 2.0 Character Sets
     Added new material requested by the online list     

  5. DATE-TYPEs - Deleted the parameter entity that named these,
     since the "date-type" attribute has been set to CDATA. The
     suggested values are retained as part of the documentation.
          
  4. REFERENCE-TYPES - Book needed the same new reference types
     which Historical already had, so moved the ref-type
     over-ride to this module from the Historical override
     module. Book will uses these. The Historical DTD first 
     calls bookcustom-models then historical-models, so it will
     use them as well.
          
  3. TRANS-SUBTITLE - Added optional <trans-subtitle> element to
     to <book-meta> model through -%book-title-group-model;
     also added to %title-group; for book parts.
                
  2. Updated public identifier to "v2.3 20070202" 

     =============================================================
     Version 2.0                    (DAL/BTU/TRG) v2.0 (2005-01-25)
     
  1. Comments for this module were cleaned up as part of the delivery 
     of the NCBI Historical DTD. Since only comments were changed,
     this was not even considered to be a dot release and the
     formal public identifier remained unchanged.                  -->


<!-- ============================================================= -->
<!--                    INLINE MIXES TO OVER-RIDE CONTENT MODELS   -->
<!--                    (ELEMENTS TO BE ADDED TO #PCDATA IN MODELS)-->
<!-- ============================================================= -->


<!--                    STRUCTURAL TITLE ELEMENTS                  -->
<!--                    The elements that can be included along with
                        data characters inside the content model of
                        the <title> element  
                        Design Note: All inline mixes begin with an
                        OR bar, but since %simple-phrase; is an 
                        inline mix, the OR bar is already there.   -->
<!ENTITY % struct-title-elements 
                        "%simple-phrase; | %break.class; | 
                         %citation.class;"                           > 


<!--                    TITLE ELEMENTS                             -->
<!--                    Elements for use in all the title elements
                        such as <title>, <subtitle>, <trans-title>,
                        etc.                       
                        Design Note: All inline mixes begin with an
                        OR bar, but since %simple-phrase; is an 
                        inline mix, the OR bar is already there.   -->
<!ENTITY % title-elements   
                        "%simple-phrase; | %break.class; | 
                         %citation.class;"                           >  


<!-- ============================================================= -->
<!--                    COMPLETE CONTENT MODEL OVER-RIDES          -->
<!-- ============================================================= -->


<!--                    BOOK METADATA OVER-RIDE                    -->
<!--                    Content model for the Book Metadata 
                        <book-meta> element                        -->
<!ENTITY % book-meta-model
                        "(book-id+, book-title-group,  
                         volume?, volume-id*, edition?, series*,  
                         (contrib-group | aff | author-notes)*, 
                         publisher*, isbn*, 
                         pub-date*, history?, copyright-statement?, 
                         copyright-year?,  permissions?, 
                         self-uri*, alternate-form*, 
                         abstract*, trans-abstract*, kwd-group*, 
                         counts?,
                         (%address-link.class; | %custom-meta.class; |
                          %front-back.class;)* )"                    >                      


<!--                    BODY MODEL OVER-RIDE                       -->
<!--                    Defines the body of both a <book> and a
                        <book-part> such as a chapter              -->
<!ENTITY % body-model   "( (%para-level;)*, (%sec-level;)*, 
                          (%book-part-level;)*, back? )"             >


<!--                    REFERENCE ITEM MODEL OVER-RIDE             -->
<!--                    Content model for the <ref> element        -->
<!ENTITY % ref-model    "(label?, 
                         (%citation.class; | %note.class;)+ )"       > 


<!--                    TITLE GROUP MODEL OVER-RIDE                -->
<!--                    Content model for the <title-group> element.
                        In the DTD suite, this contains the element
                        <article-title> and is used to hold all
                        the titles. In this DTD, it is used for
                        document parts, which contain titles, just
                        not <article-title>.                       -->
<!ENTITY % title-group-model   
                        "(title, subtitle*, 
                          (trans-title, trans-subtitle?)*,
                          alt-title*, fn-group?)"                    > 
              

<!-- ============================================================= -->
<!--                    DUPLICATE ATT-LISTS USED IN THE OVER-RIDES -->
<!--                    BELOW, THUS REPEATED HERE                  -->
<!-- ============================================================= -->


<!--                    DATE ATTRIBUTES FOR HISTORY                -->
<!--                    The <history> element contains one or more 
                        <date> elements that record events in the 
                        life of a publication. These are the 
                        attributes for the <date> elements.
          date-type     Attribute should only be used if the date
                        is one of the known types; otherwise omit
                        the attribute. 
                        This is a data content attribute, suggested 
                        values include:
                          accepted    - Date manuscript was 
                                        accepted
                          created     - original creation date of
                                        the work
                          received    - Date manuscript received
                          rev-request - Date revisions were 
                                        requested or manuscript 
                                        was returned
                          rev-recd    - Date revised manuscript 
                                        was received
                          updated     - most recent modification
                                        date for the work          -->
<!ENTITY % date-atts
            "date-type   CDATA                            #IMPLIED"  >
                         
                         
<!--                    DISPLAY ATTRIBUTES OPTIONAL ID             -->
<!--         position   Must this display object (figure, boxed text,
                        etc.) be anchored in its exact location
                        within the text or may it float, for example
                        to the top of the next page, next column, or
                        within a separate window?  Values are:
                          anchor      Object must remain in place
                          float       Object is not anchored and
                                      may be moved to a new column,
                                      a new window, etc.
                          margin      In print, item should be placed
                                      in the margin or gutter. 
                                      Online the item should 
                                      remain closely associated 
                                      with the text.               -->
<!ENTITY % display-atts
            "position   (anchor | float | margin)        'float'"    >


<!--                    ISSN ATTRIBUTES                            -->
<!--                    Attribute list for <issn>                  -->
<!--          pub-type  Used to record the type of publication, for
                        example a print-only publication versus
                        an electronic-only publication, in any of
                        several life stages.
                        Suggested values include:
                          epub        - Electronic publication
                          ppub        - Print publication
                          epub-ppub   - Published in both print and
                                        electronic form
                          epreprint   - Electronic preprint 
                                        dissemination    
                          ppreprint   - Print preprint dissemination
                          ecorrected  - Corrected in electronic    
                          pcorrected  - Corrected in print     
                          eretracted  - Retracted in electronic    
                          pretracted  - Retracted in print   
              primary   Is this the current or primary ISSN? (yes or
                        no) 
                        Typically used only in the negation
              content-type   
                        "content-type" attribute provides a way to 
                        preserve or add semantic distinctions, for 
                        multiple conference dates                  -->
<!ENTITY % issn-atts
            "pub-type   CDATA                            #IMPLIED
             primary    (yes | no)                       #IMPLIED
             content-type  
                        CDATA                            #IMPLIED"   > 


<!--                    XLINK LINK ATTRIBUTES                      -->
<!--                    Attributes for any element that must be a
                        link                                       -->
<!ENTITY % link-atts
            "xmlns:xlink CDATA                            #FIXED
                                     'http://www.w3.org/1999/xlink'
             xlink:type  (simple)                   #FIXED 'simple'
             xlink:href  CDATA                            #REQUIRED 
             xlink:role  CDATA                            #IMPLIED
             xlink:title CDATA                            #IMPLIED
             xlink:show  (embed | new | none | other | replace)
                                                          #IMPLIED
             xlink:actuate   
                         (none | onLoad | onRequest | other)          
                                                          #IMPLIED"  >


<!--                    MIGHT LINK XLINK ATTRIBUTES                -->
<!--                    Attributes for any element that may be a link
                        but need not be one                        -->
<!ENTITY % might-link-atts
            "xmlns:xlink CDATA                            #FIXED
                                     'http://www.w3.org/1999/xlink'
             xlink:type  (simple)                   #FIXED 'simple'
             xlink:href  CDATA                            #IMPLIED 
             xlink:role  CDATA                            #IMPLIED
             xlink:title CDATA                            #IMPLIED
             xlink:show  (embed | new | none | other | replace)
                                                          #IMPLIED
             xlink:actuate   
                         (none | onLoad | onRequest | other)          
                                                          #IMPLIED"  >


<!-- ============================================================= -->
<!--                    ATTRIBUTE LIST OVER-RIDES                  -->
<!-- ============================================================= -->


<!--                    EXTERNAL LINK ATTRIBUTE LIST               -->
<!--                    Replacing the attribute list for the element
                        <ext-link>. The link type is required and has
                        a longer list of values than in the base DTD.
                        two new attributes, "taxonomic-id" and 
                        "qualifier" have been added. Previous Book DTD
                        attribute "access" as been replaced by
                        "xlink:href"                               -->
<!--         id         Unique identifier so the element may be
                        referenced 
             ext-link-type 
                        Type of external link. Use this attribute
                        if the type of external link is one of the
                        ones below or another named type.
                        Suggested values include:
                            aoi         Astronomical Object Identifier
                            cdd         Conserved Domain Database
                            doi         Digital Object Identifier
                            ec          Enzyme nomenclature - see
                              http://www.chem.qmw.ac.uk/iubmb/enzyme/
                            email       An email message
                            entrez-gene Entrez Gene
                            ftp         File transfer protocol
                            gen         GenBank identifier
                            genpept     Translated Protein-encoding
                                        sequence Database
                            highwire    HighWire press intrajournal
                            hmh         Human-Mouse Homology Maps
                            mgi         Mouse Genome Informatics
                            omim        Online Mendelian Inheritance 
                                          in Man
                            pdb         Protein data bank. See 
                                        http://www.rcsb.org/pdb/
                            pgr         Plant gene register. See
                                        http://www.tarweed.com/pgr/
                            pir         Protein Information Resource
                                        see http://pir.georgetown.edu
                            pirdb       Protein Information Resource 
                                        see http://pir.georgetown.edu
                            pmc         PubMed Central identifier. 
                                        Used to link between articles
                                        in PubMed Central. Access is 
                                        PMID
                            pmid        PubMed identifier
                            pubchem     PubChem. Repository of information on 
                                        the biological activities of small 
                                        molecules and their chemical structures. 
                                        See http://pubchem.ncbi.nlm.nih.gov/  
                            sgd         Saacharomyces Genome Database
                            snp         Single Nucleotide Polymorphism
                            sprot       Swiss-Prot. See
                                    http://www.ebi.ac.uk/swissprot/
                            tax         Taxonomy database. See 
                http://http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=Taxonomy
                            uri         Website or web service
                            wbase       Wormbase
             taxonomic-id   
                        Taxonomic identifier, such as a genus name
             qualifier  Additional qualifier for the taxonomic
                        identification, for example, a locus, cell,
                        or cell-group
             xlink:href Provides an address or identifier of the
                        object to which the link points, for
                        example a URI, a filename, or a database
                                                                   -->
<!ENTITY % ext-link-atts
            "id         ID                                 #IMPLIED
             ext-link-type 
                        CDATA                             #REQUIRED
             taxonomic-id 
                        CDATA                              #IMPLIED
             qualifier  CDATA                              #IMPLIED
             %might-link-atts;"                                      >


<!--                    GRAPHIC ATTRIBUTES                         -->
<!--                    Attributes for the element <graphic>. This
                        list adds only one attribute to the base list
                        "graphic-type", but the entire list is
                        repeated here because some XML processors
                        do not handle multiple ATTLISTs as the XML
                        specification says they should. This is
                        safer, but puts a burden on the maintainer.
                                                                   
              graphic-type
                        Display or formatting type (style) for the
                        graphic. This is an artifact, a hold-over
                        from previous NLM DTDs, used so as not to 
                        disturb existing processing.
                           Values may be any text, but may include 
                        any of the following:
                          offset   Used for display formulae, to
                                   to be set off from text. Since
                                   all display formula are so
                                   offset in the new DTDs, this
                                   is effectively the default
                          intext   Used to display graphics in the 
                                   text. Such elements should be
                                   tagged as <inline-graphic>
                          inlinefig 
                                   Used to display graphics as inline 
                                   (not called out) figure. Such 
                                   elements should be tagged as 
                                   <inline-graphic>                -->
<!ENTITY % graphic-atts
            "graphic-type        
                        CDATA                              #IMPLIED
             alternate-form-of
                        IDREF                              #IMPLIED
             alt-version
                        (yes|no)                           'no'
             id         ID                                 #IMPLIED
             content-type  
                        CDATA                              #IMPLIED 
             mime-subtype  
                        CDATA                              #IMPLIED 
             mimetype   CDATA                              #IMPLIED 
             %display-atts;                                       
             %link-atts;"                                            >
                      


<!--                    ISBN ATTRIBUTE LIST                        -->
<!--                    Adding attributes to the <isbn> element,
                        which has no ATTLIST in the DTD Suite     
              pub-type  Used to record the type of publication, for
                        example a print-only publication versus
                        an electronic-only publication, in any of
                        several life stages.
                        Suggested values include:
                          epub        - Electronic publication
                          ppub        - Print publication
                          epub-ppub   - Published in both print and
                                        electronic form
                          epreprint   - Electronic preprint 
                                        dissemination    
                          ppreprint   - Print preprint dissemination
                          ecorrected  - Corrected in electronic    
                          pcorrected  - Corrected in print     
                          eretracted  - Retracted in electronic    
                          pretracted  - Retracted in print       
              primary   Is this the current or primary ISBN?
                        Typically used only in the negation
                          no  The number is not the primary number.
                          yes   The number is the primary number
              content-type   
                        "content-type" attribute provides a way to 
                        preserve or add semantic distinctions      -->
<!ENTITY % isbn-atts
            "%issn-atts;"                                            >                        


<!--                    DEFAULT TYPE OF CROSS(X)-REFERENCE         -->
<!--                    Used to say to what the reference is pointing.
                        May be used for type-specific processing or
                        validation. Values are, for example:
                        Affiliation "aff", Figure "fig", and
                        Bibliographic ref (to a Citation <citation> or
                        to a Reference Item <ref>) "bibr"
                        Added "glossary" and "bookpart"            -->
<!ENTITY % ref-types    "aff | app | author-notes | bibr | 
                         book-part | boxed-text | chem | contrib | 
                         corresp |  disp-formula | fig | fn | 
                         glossary | kwd | list | plate | scheme | 
                         sec | statement | supplementary-material | 
                         table | table-fn | 
                         other"                                      >


<!--                    SECTION ATTRIBUTES                         -->
<!--                    Attribute list for Section element. This
                        list adds only one attribute to the base list
                        "indexed", but the entire list is
                        repeated here because some XML processors
                        do not handle multiple ATTLISTs as the XML
                        specification says they should. This is
                        safer, but puts a burden on the maintainer.
                          The "sec-type" attribute can be used, for\
                        example, to mark a section as the 
                        equivalent of the old link group element.
                        "sec-type='multi-link'" indicates a section
                        used to contain groups of links, as the 
                        old link group used to do in the previous
                        DTD.                                       -->
<!ENTITY % sec-atts   
            "id         ID                                 #IMPLIED
             xml:lang   NMTOKEN                            #IMPLIED
             sec-type   CDATA                              #IMPLIED 
             disp-level CDATA                              #IMPLIED 
             indexed    (true | false)                     'true'"   >


<!--                    TITLE ATTRIBUTE LIST                       -->
<!--                    Adding attributes to the <title> element.  -->
<!--         id         Unique identifier so the element may be
                        referenced 
             content-type   
                        "content-type" attribute provides a way to 
                        preserve or add semantic distinctions.
             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).                   -->
<!ENTITY % title-atts   
             "id        ID                                 #IMPLIED
              content-type
                        CDATA                              #IMPLIED
              xml:lang   NMTOKEN                           #IMPLIED" > 


<!-- ================== End NCBI BOOK Content/Attribute Over-ride= -->