<!-- ============================================================= -->
<!-- ============================================================= 
This DTD is a modification of the orignal TaxPub DTD extension to the 
NLM Journal Publishing DTD version 3.0 created in September 2008.

This is version 1.0. 

This version was released on February 3, 2023. 

Terry Catapano with the assitance of Jeff Beck, Donat Agosti, Lyubomir Penev, Bob 
Morris, Scott Federhen, Laura Kelly.

-->

<!-- ============================================================= -->
<!--                    PUBLIC DOCUMENT TYPE DEFINITION            -->
<!--                        TYPICAL INVOCATION                     -->
<!--
"-//TaxPub//DTD Taxonomic Treatment Publishing DTD v1.0 20230203//EN"
     Delivered as file "tax-treatment.dtd"                     -->
<!-- ============================================================= -->



<!-- ============================================================= -->
<!--                    MODULES OF MODULES INVOKED                 -->
<!-- ============================================================= -->


<!--                    MODULE TO NAME DTD-SPECIFIC MODULES        -->
<!--                    Names all DTD-specific external modules    -->
<!-- 
<!ENTITY % journalpubcustom-modules.ent
                        PUBLIC
"-//NLM//DTD JATS (Z39.96) Journal Publishing DTD-Specific Modules v1.3 20210610//EN"
"JATS-journalpubcustom-modules1-3.ent"                             >
%journalpubcustom-modules.ent;
-->

<!ENTITY % taxpubcustom-modules.ent 
                        PUBLIC  
"//TaxPub//DTD Taxonomic Treatment DTD-Specific Modules v1.0 20230203//EN"
"taxpubcustom-modules-NS0-v1.ent"                                      >
%taxpubcustom-modules.ent;


<!--                    MODULE TO NAME THE MATHML 3.0 MODULES      -->
<!--                    Names all DTD-specific external modules    -->
<!ENTITY % mathml3-modules.ent
                        PUBLIC
"-//NLM//DTD JATS (Z39.96) JATS MathML 3.0 Modules v1.3 20210610//EN"
"JATS-mathml3-modules1-3.ent"                                      >
%mathml3-modules.ent;


<!--                    MODULE TO NAME THE MODULES                 -->
<!--                    Declares all the external modules that are
                        part of the modular Journal Archiving and
                        Interchange DTD Suite library. Thus it does
                        NOT declare itself; the DTD-specific
                        module-of-modules; or the DTD-specific class,
                        mix, or model over-ride modules. Those are
                        declared in the DTD-specific module of modules.
                           Since this module declares but does not
                        invoke modules, this DTD invokes any modules
                        it uses by referencing the external
                        Parameter Entities defined in the Module of
                        Modules. To include a set of elements (such
                        as all the lists or the table elements) this
                        module defines the external Parameter Entity
                        for the module(s) that contains the table
                        declarations and the DTD references that
                        entity.                                    -->
<!ENTITY % modules.ent  PUBLIC
"-//NLM//DTD JATS (Z39.96) JATS DTD Suite Module of Modules v1.3 20210610//EN"
"JATS-modules1-3.ent"                                              >
%modules.ent;

<!-- ============================================================= -->
<!--                    NISO ALI NAMESPACE SETUP                   -->
<!-- ============================================================= -->


<!--                    DEFINE ALI NAMESPACE ATTRIBUTE AND PREFIX  -->
<!--                    Names the module defines the NISO Access and 
                        Indicators Exchange Model namespace, prefix, 
                        and pseudo-attribute @xmlns.               -->
%JATS-ali-namespace.ent;
                                                            

<!-- ============================================================= -->
<!--                    SET UP COMMON (ALL ELEMENT) ATTRIBUTES     -->
<!-- ============================================================= -->


<!--                    COMMON ATTRIBUTES MODULE                   -->
<!--                    Set up the common attributes, those used on
                        nearly all elements.
                        Must be called before the custom models
                        module.                                    -->
%JATS-common-atts.ent;


<!-- ============================================================= -->
<!--                    CUSTOMIZATION MODULES INVOKED              -->
<!--                    Note: These modules must be called after   -->
<!--                    all Module of Modules but before any other -->
<!--                    modules. Unlike any other grouping, order  -->
<!--                    of these modules matters.                  -->
<!-- ============================================================= -->


<!--                    DTD-SPECIFIC CLASS CUSTOMIZATIONS MODULE   -->
<!--                    Names the module that holds the DTD-specific
                        class definitions for the Journal Publishing
                        DTD that will over-ride classes in the Suite.
                        (Defined in %journalpubcustom-modules.ent;)-->
<!--   %journalpubcustom-classes.ent; -->
%taxpubcustom-classes.ent; 


<!--                    DEFAULT ELEMENT CLASSES MODULE             -->
<!--                    Names the module that holds the standard
                        class definitions for the JATS DTD Suite.  -->
%default-classes.ent;


<!--                    DTD-SPECIFIC MIX CUSTOMIZATIONS MODULE     -->
<!--                    Set up the Parameter Entities and element
                        class definitions that will be used to
                        over-ride some element mixes in this DTD.
                        (Defined in %journalpubcustom-modules.ent;)-->
<!-- %journalpubcustom-mixes.ent; -->
%taxpubcustom-mixes.ent;


<!--                    DEFAULT MIX CUSTOMIZATIONS MODULE          -->
<!--                    Names the module that holds the standard
                        mix definitions for the JATS DTD Suite.    -->
%default-mixes.ent;


<!--                    DTD-SPECIFIC MODELS/ATTRIBUTES CUSTOMIZATIONS
                        MODULE                                     -->
<!--                    Names the module that holds the over-rides
                        of content models, attribute lists, elements
                        lists to be used in content models, and
                        attribute values. These are DTD-specific.
                        (Defined in %journalpubcustom-modules.ent;)-->
<!-- %journalpubcustom-models.ent; -->
%taxpubcustom-models.ent;



<!-- ============================================================= -->
<!--                    COMMON (SHARED) ELEMENTS MODULE INVOKED    -->
<!-- ============================================================= -->


<!--                    COMMON (SHARED) DECLARATIONS               -->
<!--                    Declarations for elements, attributes,
                        entities, and Notations that are shared by
                        more than one class module. Note: Must be
                        called before any of the class modules.    -->

%common.ent;


<!-- ============================================================= -->
<!--                    JOURNAL ARTICLE CLASS ELEMENTS (alpha)     -->
<!-- ============================================================= -->

<!--                    TAXONOMIC TREATMENT ELEMENTS                  -->
%taxpubcustom-elements.ent;


<!--                    ARTICLE METADATA ELEMENTS                  -->
%articlemeta.ent;


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


<!--                    DISPLAY (GRAPHICAL) ELEMENTS               -->
%display.ent;


<!--                    FORMATTING ELEMENT CLASSES                 -->
<!--                    Elements that change rendition/display.    -->
%format.ent;


<!--                    FUNDING ELEMENTS                           -->
<!--                    Elements that describe the sponsorship or
                        open access                                -->
%funding.ent;


<!--                    JOURNAL METADATA ELEMENTS                  -->
%journalmeta.ent;


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


<!--                    LIST CLASS ELEMENTS                        -->
%list.ent;


<!--                    MATH ELEMENTS                              -->
%math.ent;


<!--                    NLM CITATION ELEMENT                       -->
%nlmcitation.ent;


<!--                    PARAGRAPH-LEVEL ELEMENTS                   -->
%para.ent;


<!--                    PHRASE-LEVEL ELEMENTS                      -->
%phrase.ent;


<!--                    BIBLIOGRAPHIC REFERENCE (CITATION)
                        CLASS ELEMENTS                             -->
%references.ent;


<!--                    RELATED OBJECT ELEMENT                     -->
<!--                    Defines the <related-object> element to
                        describe a related object such as a
                        related book or a dataset.                 -->
%related-object.ent;


<!--                    SECTION ELEMENTS                           -->
%section.ent;


<!-- ============================================================= -->
<!--                    THE REST OF THE EXTERNAL MODULES INVOKED   -->
<!-- ============================================================= -->


<!--                    BITS EMBEDDED INDEX ELEMENTS MODULE        -->
<!--                    Element declarations the index elements
                        which are embedded in the article 
                        narrative.                                 -->
%index-term.ent;


<!--                    BITS QUESTION AND ANSWER MODULE            -->
<!--                    Element declarations for BITS questions
                        and answers (not complete tests, but used
                        to put build quizzes and tests.            -->
%question-answer.ent;


<!-- ============================================================= -->
<!--                    THE REST OF THE EXTERNAL MODULES INVOKED   -->
<!-- ============================================================= -->


<!--                    MATHML SETUP MODULE                        -->
<!--                    Invoke the MathML modules                  -->
%mathml3-mathmlsetup.ent;



<!--                    XHTML TABLE SETUP MODULE                   -->
<!--                    Set up the necessary Parameter Entity values
                        and then invoke XHTML (HTML 4.0) table
                        module                                     -->
%XHTMLtablesetup.ent;


<!--                    SPECIAL CHARACTERS DECLARATIONS            -->
<!--                    Standard XML special character entities
                        used in this DTD                           -->
%xmlspecchars.ent;


<!--                    CUSTOM SPECIAL CHARACTERS DECLARATIONS     -->
<!--                    Custom special character entities created
                        specifically for use in this DTD Suite     -->
%chars.ent;


<!--                    NOTATION DECLARATIONS MODULE               -->
%notat.ent;


<!-- ============================================================= -->
<!--                    PARAMETER ENTITIES FOR ATTRIBUTE LISTS     -->
<!-- ============================================================= -->


<!--                    DTD VERSION                                -->
<!--                    What version of this DTD was used to make
                        the document instance under consideration. -->
<!ENTITY % dtd-version
            "dtd-version
                        (3.0 | 0.4 | 1.0 | 1.1d1 | 1.1d2 | 1.1d3 | 
                         1.1 | 1.2d1 | 1.2d2 | 1.2 | 1.3d1 | 1.3d2 |
                         1.3)
                                                          #IMPLIED"  >


<!--                    ARTICLE ATTRIBUTES                         -->
<!--                    Attributes for the top-level element
                        <article>                                  -->
<!ENTITY % article-atts
            "%jats-common-atts;                                       
             article-type
                        CDATA                             #IMPLIED
             specific-use
                        CDATA                             #IMPLIED
             %dtd-version;
             xml:lang   NMTOKEN                           'en'
             %XLINK.xmlns.attrib;
             %MATHML.xmlns.attrib;
             %ali.xmlns.attrib;
             %Schema.xmlns.attrib;
             %taxpub-namespace-att;
             %Schema.prefix;:noNamespaceSchemaLocation   
                        CDATA          #IMPLIED"                     
                                           >


<!--                    BACK ATTRIBUTES                            -->
<!--                    Attributes for the <back> element          -->
<!ENTITY % back-atts
            "%jats-common-atts;"                                     >


<!--                    BODY ATTRIBUTES                            -->
<!--                    Attributes for the <body> element          -->
<!ENTITY % body-atts
            "%jats-common-atts;                                       
             specific-use
                        CDATA                             #IMPLIED"  >


<!--                    FRONT ATTRIBUTES                           -->
<!--                    Attributes for the <front> element         -->
<!ENTITY % front-atts
            "%jats-common-atts;"                                     >


<!--                    FRONT STUB ATTRIBUTES                      -->
<!--                    Attributes for the <front-stub> element    -->
<!ENTITY % front-stub-atts
            "%jats-common-atts;"                                     >


<!--                    SUB-ARTICLE ATTRIBUTES                     -->
<!--                    Attributes for the <sub-article> element   -->
<!ENTITY % sub-article-atts
            "%jats-common-atts;                                       
             article-type
                        CDATA                             #IMPLIED
             specific-use
                        CDATA                             #IMPLIED
             xml:lang   NMTOKEN                           #IMPLIED"  >


<!--                    RESPONSE ATTRIBUTES                        -->
<!--                    Attributes for the <response> element      -->
<!ENTITY % response-atts
            "%jats-common-atts;                                       
             response-type
                        CDATA                             #IMPLIED
             specific-use
                        CDATA                             #IMPLIED
             xml:lang   NMTOKEN                           #IMPLIED"  >


<!-- ============================================================= -->
<!--                    JOURNAL ARTICLE ELEMENTS                   -->
<!-- ============================================================= -->


<!--                    ARTICLE MODEL (LIMITED)                    -->
<!--                    Article-like model used for, for example,
                        a short sub-article such as a news brief that
                        is contained in side a journal article.
                                                                   -->
<!ENTITY % article-short-model
                        "(processing-meta?, (front | front-stub),
                          body?, back?, floats-group?)"              >


<!--                    ARTICLE MODEL WITH SUB-ARTICLE OR RESPONSE -->
<!--                    Typical journal article model, which may
                        contain extended components, such as
                        sub-articles or responses, but which usually
                        contains neither.
                                                                   -->
<!ENTITY % article-full-model
                        "(processing-meta?, front, 
                          body?, back?, floats-group?,
                          (sub-article* | response*) )"              >


<!--                    ARTICLE                                    -->
<!--                    The complete content of a journal article.
                        Details at:
                        http://jats.nlm.nih.gov/publishing/tag-library/1.3/index.html?elem=article
                                                                   -->
<!ELEMENT  article      %article-full-model;                         >
<!ATTLIST  article
             %article-atts;                                          >


<!-- ============================================================= -->
<!--                    FRONT MATTER ELEMENTS                      -->
<!-- ============================================================= -->


<!--                    FRONT MATTER MODEL                         -->
<!--                    Model for the <front> matter (the header
                        metadata) of a journal article)            -->
<!ENTITY % front-model  "(journal-meta, article-meta,
                          (%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.
                        Details at:
                        http://jats.nlm.nih.gov/publishing/tag-library/1.3/index.html?elem=front
                                                                   -->
<!ELEMENT  front        %front-model;                                >
<!ATTLIST  front
             %front-atts;                                            >


<!-- ============================================================= -->
<!--                    BODY ELEMENTS                              -->
<!-- ============================================================= -->


<!--                    BODY MODEL                                 -->
<!--                    Content model for the Body (main textual
                        content) of a journal article.             -->
<!ENTITY % body-model   "((%para-level;)*, (%sec-level;)*,
                          sig-block?)"                               >


<!--                    BODY OF THE ARTICLE                        -->
<!--                    The main textual portion of the article that
                        conveys the content.
                        Details at:
                        http://jats.nlm.nih.gov/publishing/tag-library/1.3/index.html?elem=body
                                                                   -->
<!ELEMENT  body         %body-model;                                 >
<!ATTLIST  body
             %body-atts;                                             >


<!-- ============================================================= -->
<!--                    BACK MATTER ELEMENTS                       -->
<!-- ============================================================= -->


<!--                    BACK MATTER MODEL                          -->
<!--                    Content model for the Back Matter (ancillary
                        material such as appendices) of a journal
                        article.                                   -->
<!ENTITY % back-model   "(label?, title*, (%doc-back-matter-mix;)* )">


<!--                    BACK MATTER                                -->
<!--                    Ancillary or supporting material not included
                        as part of the main textual content of a
                        journal article, for example appendices and
                        acknowledgments.
                        Details at:
                        http://jats.nlm.nih.gov/publishing/tag-library/1.3/index.html?elem=back
                                                                   -->
<!ELEMENT  back         %back-model;                                 >
<!ATTLIST  back
             %back-atts;                                             >


<!-- ============================================================= -->
<!--                    SUB-ARTICLE                                -->
<!-- ============================================================= -->


<!--                    SUB-ARTICLE MODEL                          -->
<!--                    Content model for the <sub-article> element
                                                                   -->
<!ENTITY % sub-article-model
                        "(processing-meta?, (front | front-stub), 
                          body?, back?, floats-group?,
                          (sub-article* | response*) )"              >

<!--                    SUB-ARTICLE                                -->
<!--                    An article that is completely contained
                        inside another article. Both the article and
                        the sub-article have their own metadata.
                        Details at:
                        http://jats.nlm.nih.gov/publishing/tag-library/1.3/index.html?elem=sub-article
                                                                   -->
<!ELEMENT  sub-article  %sub-article-model;                          >
<!ATTLIST  sub-article
             %sub-article-atts;                                      >


<!--                    FRONT MODEL STUB                           -->
<!--                    Content model for the <front-stub> element,
                        a reduced metadata set for use in
                        sub-articles and responses                 -->
<!ENTITY % front-stub-model
                       "(article-id*, (%article-version.class;)?,  
                         article-categories?,
                         title-group?,
                         ( %contrib-group.class; |
                           %aff-alternatives.class;)*,
                         author-notes?, ( (%pub-date.class;)* | 
                           pub-date-not-available?), 
                         volume*, volume-id*, volume-series?,
                         issue*, issue-id*, 
                         issue-title*, issue-title-group*,
                         issue-sponsor*, issue-part?, 
                         volume-issue-group*, isbn*,
                         supplement?,
                         ( (fpage, lpage?, page-range?) |
                            elocation-id)?,
                         ( %address-link.class; | product |
                           supplementary-material)*, 
                         history?, pub-history?, permissions?, 
                         self-uri*, (%related-article.class;)*, 
                         (%abstract.class;)*, trans-abstract*, 
                         (%kwd-group.class;)*,
                         funding-group*, support-group*,  
                         conference*, counts?,
                         custom-meta-group?)"                        >


<!--                    STUB FRONT METADATA                        -->
<!--                    A reduced metadata set for use in
                        sub-articles and responses, which will
                        inherit metadata not defined in the stub
                        from the enclosing article
                        Details at:
                        http://jats.nlm.nih.gov/publishing/tag-library/1.3/index.html?elem=front-stub
                                                                   -->
<!ELEMENT  front-stub   %front-stub-model;                           >
<!ATTLIST  front-stub 
             %front-stub-atts;                                       >


<!-- ============================================================= -->
<!--                    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.
                        Details at:
                        http://jats.nlm.nih.gov/publishing/tag-library/1.3/index.html?elem=response
                                                                   -->
<!ELEMENT  response     %article-short-model;                        >
<!ATTLIST  response
             %response-atts;                                         >


<!-- ================== End Journal Publishing DTD =============== -->