<!-- ============================================================= -->
<!--  MODULE:    Default Element Mixes Module                      -->
<!--  VERSION:   2.0                                               -->
<!--  DATE:      August 2004                                       -->
<!--                                                               -->
<!-- ============================================================= -->

<!-- ============================================================= -->
<!--                    PUBLIC DOCUMENT TYPE DEFINITION            -->
<!--                        TYPICAL INVOCATION                     -->
<!--
"-//NLM//DTD Default Element Mixes Module v2.0 20040830//EN"
Delivered as file "default-mixes.ent"                              -->
<!-- ============================================================= -->


<!-- ============================================================= -->
<!-- SYSTEM:     Journal Archiving and Interchange DTD of the      -->
<!--             Archiving and Interchange DTD Suite               -->
<!--                                                               -->
<!-- PURPOSE:    Declares default values for all the element mixes -->
<!--             used in the content models of the DTD Suite       -->
<!--                                                               -->
<!--             Mixes are Or-groups of classes, used in many      -->
<!--             different content models. Mixes should not use    -->
<!--             element names directly, only through classes.     -->
<!--                                                               -->
<!--             Note: Since PEs must be declared before they      -->
<!--             are used, this module must be called after the    -->
<!--             customize mixes module (if any).                  -->
<!--                                                               -->
<!-- CONTAINS:   1) PEs that define the element mixes (such as     -->
<!--                phrase-level elements, para-level elements,    -->
<!--                inside-a-table-cell elements)                  -->
<!--                                                               -->
<!-- CREATED FOR:                                                  -->
<!--             Digital Archive of Journal Articles               -->
<!--             National Center for Biotechnology Information     -->
<!--                (NCBI)                                         -->
<!--             National Library of Medicine (NLM)                -->
<!--                                                               -->
<!-- ORIGINAL CREATION DATE:                                       -->
<!--             August 2004                                       -->
<!--                                                               -->
<!-- CREATED BY: 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.0                       (DAL/BTU) v2.0 (2004-07-30)
     
     
     Major requirement changes led to the new release, producing
     DTD version "2.0":
       a) The splitting of the Archival and Interchange Tag Set 
          DTDs into three DTDs from two: an authoring DTD, an
          archive regularization and interchange DTD (the
          current Blue Publishing DTD), and a preservationist 
          archive DTD (the current Green Archiving and Interchange 
          DTD).
       b) AIT Working Group suggestions from the June 04 meeting 
          and June/July 2004 followup discussions
       c) Suite remodularization to meet new (and newly articulated)
          modularization requirements
       d) New or renamed classes and mixes to make modifications
          easier and more consistent

  3. INLINE MATH CLASS - Added to everywhere %inline-display; was 
     including:
      - %simple-text; (via %all-phrase;)
      - %emphasized-text; (via %all-phrase;)
      
  2. PARAMETER ENTITY CLEANUP AND REGULARIZATION

     a. RENAME EXISTING CLASSES
        ### Customization Alert ###
        Some classes did not have the ".class" suffix. Changed the 
        names to add the class suffix:
        - %block-math.class; used in 
           - %para-level;
           - %inside-cell; 
           - %inside-para; [now renamed -%p-elements;] 
        - %inline-math.class; used in 
           - %emphasized-text;
           - %inside-cell; 
           - %simple-phrase; and
           - %inside-para; [now renamed -%p-elements;])
 
     b. MODIFY PARA-LEVEL MIX
        ### Customization Alert ###
        New Parameter Entities in %para-level; (No model change.)
        - %para.class; is replaced by the combination of:
           - %just-para.class; and
           - %rest-of-para.class;

     c. LINK CLASSES
        - Replaced %link.class; with the following classes (no DTD 
          change):
           - %address-link.class;  (external links in addresses)
           - %article-link.class;  (links for journal article)
           - %simple-link.class;   (the internal links)
          in the following Parameter Entities:
            - %emphasized-text;
            - %inside-cell;
            - %p-elements;
            - %simple-phrase;
        - Deleted -%inpara-address; from -%inside-para;
          (which has been modified and renamed -%p-elements;) 
          (No DTD change, -%address-link.class; covers it.)

     d. INLINE PARAMETER MIXES
         ### Customization Alert ###
        Changed the inline-mix Parameter Entities to use the 
        OR-bar-first mechanism. This requires changing not
        only the Parameter Entity, but all content models that
        use the entity.
        - %emphasized-text; (used in most of the format
            elements)

     e. -ELEMENT AND -MODEL SUFFIXES
         ### Customization Alert ###
         RENAME ELEMENT MIXES NOT TO END IN "-elements", since that
         suffix is reserved for mixes that are added to #PCDATA for
         a particular element
         - %doc-back-matter-elements; ==> -%doc-back-matter-mix;
         - %sec-back-matter-elements; ==> -%sec-back-matter-mix;
         - Deleted the element mix "inside-para" and replaced it
           with "%p-elements;"
                
  1. Created this module as version "v2.0 20040830"                -->
                          
                        
<!-- ============================================================= -->
<!--                    ELEMENT MIXES FOR USE IN CONTENT MODELS    -->
<!--                    (MIXES ARE COMPOSED USING CLASSES)         -->
<!-- ============================================================= -->


<!--                    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 ELEMENT MIXES(%backmatter.ent;)-->
<!-- ============================================================= -->


<!--                    DOCUMENT BACK MATTER ELEMENTS              -->
<!--                    Back Matter Elements used by a full document
                        such as a journal article. This is an element
                        grouping rather than a class. These 
                        elements may also appear in the content models 
                        of structural elements, such as back matter.
                        (Note: Technically this should have used
                        %sec.class;, but %sec-level; was used in an
                        earlier release and backwards compatibility
                        must be maintained.                        -->
<!ENTITY % doc-back-matter-mix
                        "%back.class; | %front-back.class; | 
                         %sec-level;"                                >


<!--                    SECTION BACK MATTER ELEMENTS               -->
<!--                    Back matter elements used inside smaller
                        structures, such as sections and sidebars  -->
<!ENTITY % sec-back-matter-mix
                        "%front-back.class; | %sec-back.class;"      >
                         

<!-- ============================================================= -->
<!--                    PARAGRAPH-LEVEL ELEMENT MIXES              -->
<!-- ============================================================= -->


<!--                    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.class; | 
                         %just-para.class; | %list.class; | 
                         %math.class; | %related-article.class; |
                         %rest-of-para.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 %Flow.mix;, %paracon;, etc.
                        ### Usage Alert ###
                        Design Note: Inside cell is an exception, an
                        inline mix that does not start with an OR
                        bar. This is because is used within the
                        PE -%Flow.mix;, which is an inline mix
                        defined in the course of the XHTML Table DTD,
                        a DTD not under control of this DTD Suite. -->
<!ENTITY % inside-cell  "%address-link.class; |  %appearance.class; |
                         %article-link.class; |
                         %block-math.class; | %break.class; | 
                         %citation.class; | %emphasis.class; | 
                         %inline-display.class; |
                         %inline-math.class; | 
                         %list.class; | %math.class; | 
                         %phrase.class; | %simple-display.class; | 
                         %simple-link.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;"                              >


<!-- ============================================================= -->
<!--                    INLINE ELEMENT MIXES                       -->
<!-- ============================================================= -->


<!--                    EMPHASIS MIX ELEMENTS                      -->
<!--                    Elements that may be used inside most of the
                        emphasis class elements                    
                        DESIGN NOTE: Inline mixes begin with an
                        OR bar                                     -->
<!ENTITY % emphasized-text  
                        "| %address-link.class; | 
                         %article-link.class; |  %emphasis.class;  | 
                         %inline-display.class; | 
                         %inline-math.class; |  
                         %math.class; |  %phrase.class; | 
                         %simple-link.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 .   
                        DESIGN NOTE: Inline mixes begin with an
                        OR bar                                     -->
<!ENTITY % just-rendition
                        "| %emphasis.class;  | %subsup.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 .     
                        DESIGN NOTE: Inline mixes begin with an
                        OR bar                                     -->
<!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.                                  
                        DESIGN NOTE: Inline mixes begin with an
                        OR bar                                     -->
<!ENTITY % simple-phrase
                        "| %address-link.class; |
                         %article-link.class; | 
                         %emphasis.class; | %inline-display.class; | 
                         %inline-math.class; | %math.class; | 
                         %phrase.class; | 
                         %simple-link.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;        
                        DESIGN NOTE: Inline mixes begin with an
                        OR bar                                     -->
<!ENTITY % simple-text  "| %emphasis.class; | %inline-display.class; |
                         %inline-math.class; | %phrase.class; | 
                         %subsup.class; "                            >


<!-- ================== End Archiving DTD Mixes Customization ==== -->
