<?xml version=“1.0” encoding=“UTF-8”?> <!– ============================================================= –> <!– MODULE: Common (Shared) Elements Module –> <!– VERSION: NISO 0.4 –> <!– DATE: January 2011 –> <!—-> <!– ============================================================= –> <!– ============================================================= –> <!– PUBLIC DOCUMENT TYPE DEFINITION –> <!– TYPICAL INVOCATION –> <!–

"-//NLM//DTD JATS (Z39.96) Archiving and Interchange DTD Suite Common (Shared) Elements Module v0.4 20110131//EN"
Delivered as file "JATS-common0.ent"

–> <!– ============================================================= –> <!– ============================================================= –> <!– SYSTEM: Archiving and Interchange DTD Suite –> <!—-> <!– PURPOSE: Defines the common parameter entities, calls the –> <!– shared modules (such as special characters and –> <!– notations) and provides declarations for elements –> <!– that do not properly fit into one class, since –> <!– they can be used at more than one structural level –> <!—-> <!– CONTAINS: 1) Default classes for elements defined in this –> <!– module. May be overridden by values in the –> <!– DTD's Customization Module –> <!– 2) Parameter Entities for attribute values –> <!– 3) Parameter Entities for content models –> <!– 4) Parameter Entities for attribute lists –> <!– 5) Elements used in many modules/classes –> <!– - Address elements –> <!– - Date elements –> <!– - Personal name elements –> <!– - Common metadata elements (shared by both –> <!– article metadata and bibliographic –> <!– reference metadata –> <!—-> <!– MODULES REQUIRED: –> <!– 1) Standard XML Special Characters Module –> <!– (%xmlspecchars.ent;) –> <!– 2) Custom XML Special Characters (%chars.ent;) –> <!– 3) Notation Declarations (%notat.ent;) –> <!—-> <!– CREATED FOR: –> <!– Digital archives and publishers who wish to –> <!– create a custom XML DTD for original markup of –> <!– journal literature, books, and related material, –> <!– or for archiving and transferring such material –> <!– between archives. –> <!—-> <!– This DTD is in the public domain. An organization –> <!– that wishes to create its own DTD from the suite –> <!– may do so without permission from NLM. –> <!—-> <!– The suite has been set up to be extended using a –> <!– new DTD file and a new DTD-specific customization –> <!– module to redefine the many Parameter Entities. –> <!– Do not modify the suite directly or redistribute –> <!– modified versions of the suite. –> <!—-> <!– In the interest of maintaining consistency and –> <!– clarity for potential users, NLM requests: –> <!—-> <!– 1. If you create a DTD from the Archiving and –> <!– Interchange DTD Suite and intend to stay –> <!– compatible with the suite, then please include –> <!– the following statement as a comment in all of –> <!– your DTD modules: –> <!– “Created from, and fully compatible with, –> <!– the NISO Z39.96 Journal Article Tag Suite –> <!– (JATS).” –> <!—-> <!– 2. If you alter one or more modules of the suite, –> <!– then please rename your version and all its –> <!– modules to avoid any confusion with the –> <!– original suite. Also, please include the –> <!– following statement as a comment in all your –> <!– DTD modules: –> <!– “Based in part on, but not fully compatible –> <!– with, the NISO Z39.96 Journal Article Tag –> <!– Suite.” –> <!—-> <!– ORIGINAL CREATION DATE: –> <!– December 2002 –> <!—-> <!– CREATED BY: Jeff Beck (NCBI) –> <!– Deborah Lapeyre (Mulberry Technologies, Inc.) –> <!– Bruce Rosenblum (Inera Inc.) –> <!– B. Tommie Usdin (Mulberry Technologies, Inc.) –> <!—-> <!– 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 NLM Version 1.0. The –> <!– Andrew W. Mellon Foundation provided support for –> <!– these important contributions. –> <!—-> <!– Suggestions for refinements and enhancements to –> <!– the DTD suite should be sent in email to: –> <!– jats@ncbi.nlm.nih.gov –> <!– important contributions. –> <!—-> <!– ============================================================= –> <!– ============================================================= –> <!– DTD VERSION/CHANGE HISTORY –> <!– ============================================================= –> <!–

Version  Reason/Occasion                   (who) vx.x (yyyy-mm-dd)
     =============================================================
     Version 0.4                       (DAL/BTU) v0.4 (2011-01-31)
     This Tag Set is in the process of becoming a NISO standard.
     The version numbers are starting over from 0.4", as a Trial
     Use Draft, to be made into "Version 1.0" when the Tag Suite 
     becomes a NISO standard. Thus, NLM "Version 3.1 Draft" has 
     been changed to NISO "Version 0.4". No model, attribute, or
     parameter entity changes were made as part of this renaming.
     Details on NISO Tial Use Draft Version 0.4 are available at
           http://jats.nlm.nih.gov/JATS-0.4.
 19. Updated the public identifier to "v0.4 20110131//EN", 
     modified the formal public identifier to include "JATS (Z39.96)",
     and the filename as delivered to include "JATS" and the
     new version number "0".
     =============================================================
     Version 3.1                       (DAL/BTU) v3.1 (2010-12-30)
     Version 3.1 typo fixes before NISO release.
 18. MIXED CITATION ATTS PE - Was defined twice, identically,
     deleted one of them.
     =============================================================
     Version 3.1                       (DAL/BTU) v3.1 (2010-04-30)
     Version 3.1 is fully compatible with Version 3.0, but the
     following change could break some customizations.
     Details on version 3.1 are available at
           http://jats.nlm.nih.gov/3.1.
 17. ACCESSIBILITY - Added @alt to <label> thru %label-atts;
 16. ALTERNATIVES ATTRIBUTES- Created a new parameter entity for
     attributes for <alternatives>; currently null
 15. @SPECIFIC-USE and @XML:LANG - Added the @specific-use and
     @xml:lang to the following elements:
       - anonymous through anonymous-atts (both) NEW PE
       - conf-acronym through conf-acronym-atts (both)
       - conf-date through conf-date-atts (both)
       - conf-loc through conf-loc-atts (both)
       - conf-name through conf-name-atts (both)
       - conf-num through conf-num-atts (both)
       - conf-sponsor through conf-sponsor-atts (both)
       - conf-theme through conf-theme-atts (both)
       - day through day-atts (@specific-use)
       - degrees through degrees-atts (both)
       - element-citation through citation-atts (both)
       - etal through etal-atts (both) NEW PE
       - ext-link through ext-link-atts (@xml:lang; @specific-use
           already)
       - institution through institution-atts (both)
       - issue-part through issue-part (both + content-type) NEW PE
       - isbn through isbn-atts (both) NEW PE
       - label through label-atts (both) NEW PE
       - mixed-citation through citation-atts (both)
       - name through name-atts (@xml:lang; @specific-use already)
       - notes through notes-atts (both)
       - prefix through prefix-atts (both)
       - publisher-loc through publisher-loc-atts (both)
       - publisher-name through publisher-name-atts (both)
       - string-name through string-name-atts (both and
            content-type and name-style) NEW PE
       - suffix through suffix-atts (both)
       - textual-form through textual-form-atts (both)
       - trans-subtitle through trans-subtitle-atts
          (@xml:lang only) NEW PE
       - x-name through x-name-atts (both)
 14. AFFILIATION ALTERNATIVES - Created new the element
     <aff-alternatives> to hold multiple <aff>s that are
     representations of a single affiliation, for example, the
     name of an institution in two languages or two scripts.
     New PE; New attribute PE (currently null)
 13. RELATED-ARTICLE-ATTS - Removed the dependency that tied
     %related-article-atts to journal-id-atts and added all
     the journal-id attributes to related-article-atts explicitly.
 12. TITLE ELEMENTS - Removed the dependency which had both
     <subtitle> and <alt-title> modeled with the same parameter
     entity %title-elements;. Created new PEs for each element
     but set them (as the default) to %title-elements so that no
     customization would break. Models changed:
       - alt-title      %alt-title-elements;
       - subtitle       %subtitle-elements; (defined in
                                article-meta3.ent;)
       - trans-title    %trans-title-elements;
       - trans-subtitle %trans-subtitle-elements;
 11. TEXTUAL FORM MODEL - Changed the textual-form-elements
     parameter entity to begin with an OR bar, since it names
     elements to be mixed with #PCDATA.
     *****Customization Alert: New parameter entity could break some
     customizations. Check your %textual-form-elements parameter
     entity. *****
 10. PUBLISHER - Allowed <publisher-name> and <publisher-loc> to
     repeat (as an unnamed-parenthetical) inside <publisher>.
     This will allow co-publishers and publisher names and locations
     in more than one language. Added to facilitate multiple
     languages. Also added @specific-use and @xml-lang to
     both publisher-name and publisher-loc.
  9. ATTLIST PARAMETER ENTITIES - Changed the attribute lists
     from using the same parameter entity (%day-atts;) to using:
       - day    %day-atts;   (no change)
       - month  %month-atts;
       - season %season-atts;
  8. ISBN - Added "isbn" as value in predefined list for
     @pub-id-type (%pub-id-types;)
  7. TEXTUAL FORM - Added the following attributes: (new)
       - @specific-use
       - @xml:lang
  6. NAME ALTERNATIVES - Created a new wrapper element for more
     than one version of a personal name, for example, the name in
     Japanese kana characters and a transliterated form of the name
     in Latin alphabet, or a regular name and a search version
     that transliterates umlauts to unaccented characters.
      - new element <name-alternatives>
      - new PE name-alternatives-model
      - new PE name-alternatives-atts (currently null)
  5. STRING NAME - Added the following attributes: (new)
       - @content-type
       - @specific-use
       - @name-style
       - @xml:lang
  4. PERSON'S NAME STYLE
       - Added the value "given-only" to the @namestyle on <name>
  3. PER SON'S NAME - Allowed <given-names> as an alternative
     to <surname, given-names?) to accommodate the Indian
     names that are only a given name.
  2. Updated public identifier to "v3.1 20100830//EN"
     =============================================================
     Version 3.0                       (DAL/BTU) v3.0 (2007-10-31)
     Version 3.0 is the first non-backward-compatible release.
     In addition to the usual incremental changes, some
     elements and attributes have been renamed and/or remodeled
     to better meet user needs and to increase tag set consistency.
     All module change histories are available through the Tag Suite
     web site at http://dtd.nlm.nih.gov.
     Details on version 3.0 are available at
           http://jats.nlm.nih.gov/3.0.
  1. Updated public identifier to "v3.0 20080202//EN"

–> <!– ============================================================= –> <!– PARAMETER ENTITIES FOR ATTRIBUTE VALUES –> <!– ============================================================= –> <!– ARTICLE/PUBLICATION IDENTIFIER TYPES –> <!–

The "pub-id-type" attribute names the
type of identifier, or the organization or
system that defined this identifier for the
identifier of the journal article or a
cited publication.

–> <!– ============================================================= –> <!– PARAMETER ENTITIES FOR FULL CONTENT MODELS –> <!– ============================================================= –> <!– DATE ELEMENTS MODEL –> <!–

The content models for elements that describe
dates, such as Publication Date <pub-date>
and History Dates <date>.

–> <grammar xmlns:a=“relaxng.org/ns/compatibility/annotations/1.0” xmlns:xlink=“www.w3.org/1999/xlink” xmlns=“relaxng.org/ns/structure/1.0” datatypeLibrary=“www.w3.org/2001/XMLSchema-datatypes”>

<define name="date-model">
  <optional>
    <choice>
      <group>
        <optional>
          <ref name="day"/>
        </optional>
        <optional>
          <ref name="month"/>
        </optional>
      </group>
      <ref name="season"/>
    </choice>
  </optional>
  <optional>
    <ref name="year"/>
  </optional>
  <optional>
    <ref name="string-date"/>
  </optional>
</define>
<!-- CONTENT MODEL FOR A STRUCTURAL SECTION -->
<!--
  The model for a section that requires that a
  section title be present, used for elements
  such as Section and Appendix.
-->
<!-- CONTENT MODEL FOR A SECTION METADATA -->
<!--
  In some works, each section has a different
  author or some sections are authored by
  different contributors from the enclosing
  article. This wrapper element for
  section-level metadata is used to capture
  information such as those contributors.
-->
<define name="sec-meta-model">
  <zeroOrMore>
    <ref name="contrib-group.class"/>
  </zeroOrMore>
  <zeroOrMore>
    <ref name="kwd-group"/>
  </zeroOrMore>
  <optional>
    <ref name="permissions"/>
  </optional>
</define>
<!-- CONTENT MODEL FOR AN UNTITLED SECTION -->
<!--
  The model for a section-like structure that
  may or may not have an initial title
-->
<!-- ============================================================= -->
<!-- PARAMETER ENTITIES FOR MIXED CONTENT -->
<!-- ============================================================= -->
<!-- LINK ELEMENTS -->
<!--
  Elements for use in the linking elements
  such as <xref>, <target>, and <ext-link>
-->
<!-- PARAGRAPH ELEMENTS -->
<!--
  The elements that can be included along with
  data characters inside the content model of
  a paragraph <p>.
  Design Note: There is a major overlap between
  this parameter entity and the mix for 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.
  Design Note: Inline mixes begin with an
  OR bar
-->
<!-- ============================================================= -->
<!-- PARAMETER ENTITIES FOR TITLES -->
<!-- ============================================================= -->
<!-- TITLE ELEMENTS -->
<!--
  The elements that can be included along with
  data characters inside the content model of
  a paragraph <title>.
  Design Note: All inline mixes begin with an
  OR bar, but since %simple-phrase; is an
  inline mix, the OR bar is already there.
-->
<!-- ALTERNATE TITLE ELEMENTS -->
<!--
  The elements that can be included along with
  data characters inside the content model of
  a paragraph <alt-title>.
  An earlier version of this tag set used the
  parameter entity %title-elements; for many
  title elements including <alt-title>.
-->
<define name="alt-title-elements">
  <ref name="title-elements"/>
</define>
<!-- TRANSLATED TITLE ELEMENTS -->
<!--
  The elements that can be included along with
  data characters inside the content model of
  a paragraph <trans-title>.
  An earlier version of this tag set used the
  parameter entity %title-elements; for many
  title elements including <trans-title>.
-->
<define name="trans-title-elements">
  <ref name="title-elements"/>
</define>
<!-- TRANSLATED SUBTITLE ELEMENTS -->
<!--
  The elements that can be included along with
  data characters inside the content model of
  a paragraph <subtitle>.
  An earlier version of this tag set used the
  parameter entity %title-elements; for many
  title elements including <trans-subtitle>.
-->
<define name="trans-subtitle-elements">
  <ref name="title-elements"/>
</define>
<!-- ============================================================= -->
<!-- PARAMETER ENTITIES FOR LINKING ATTRIBUTES -->
<!-- THE FOLLOWING FEW ARE SHARED ATTRIBUTES -->
<!-- ============================================================= -->
<!-- XLINK LINK ATTRIBUTES -->
<!--
  Used for elements that are a link by
  definition, such as the <xref> element.
-->
<define name="link-atts">
  <optional>
    <attribute name="xlink:type" a:defaultValue="simple">
      <value>simple</value>
    </attribute>
  </optional>
  <attribute name="xlink:href"/>
  <optional>
    <attribute name="xlink:role"/>
  </optional>
  <optional>
    <attribute name="xlink:title"/>
  </optional>
  <optional>
    <attribute name="xlink:show">
      <choice>
        <value>embed</value>
        <value>new</value>
        <value>none</value>
        <value>other</value>
        <value>replace</value>
      </choice>
    </attribute>
  </optional>
  <optional>
    <attribute name="xlink:actuate">
      <choice>
        <value>none</value>
        <value>onLoad</value>
        <value>onRequest</value>
        <value>other</value>
      </choice>
    </attribute>
  </optional>
</define>
<!-- MIGHT LINK XLINK ATTRIBUTES -->
<!--
  Used for elements which may need to link to
  external sources or other objects within
  the document, but may not necessarily act
  as a link at all.  The attribute
  "xlink:href" identifies the object to which
  the link points.
-->
<!-- CITATION ATTRIBUTES -->
<!--
  Attributes for all three kinds of citations:
  <element-citation> and <mixed-citation>
-->
<define name="citation-atts">
  <optional>
    <attribute name="id">
      <data type="ID"/>
    </attribute>
  </optional>
  <optional>
    <attribute name="publication-type"/>
  </optional>
  <optional>
    <attribute name="publisher-type"/>
  </optional>
  <optional>
    <attribute name="publication-format"/>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
  <ref name="might-link-atts"/>
</define>
<!-- ============================================================= -->
<!-- PARAMETER ENTITIES FOR ATTRIBUTES LISTS -->
<!-- (ALPHABETICAL ORDER) -->
<!-- ============================================================= -->
<!-- AFFILIATION ATTRIBUTES -->
<!-- Attributes for the <ack> element -->
<define name="ack-atts">
  <optional>
    <attribute name="id">
      <data type="ID"/>
    </attribute>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="content-type"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
</define>
<!-- ADDRESS ATTRIBUTES -->
<!-- Attributes for the <address> element -->
<define name="address-atts">
  <optional>
    <attribute name="id">
      <data type="ID"/>
    </attribute>
  </optional>
  <optional>
    <attribute name="content-type"/>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
</define>
<!-- ADDRESS LINE ATTRIBUTES -->
<!-- Attributes for the <addr-line> element -->
<define name="addr-line-atts">
  <optional>
    <attribute name="content-type"/>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
</define>
<!-- AFFILIATION ATTRIBUTES -->
<!--
  Attributes for the Affiliation <aff>
  element
-->
<define name="aff-atts">
  <optional>
    <attribute name="id">
      <data type="ID"/>
    </attribute>
  </optional>
  <optional>
    <attribute name="content-type"/>
  </optional>
  <optional>
    <attribute name="rid">
      <data type="IDREFS"/>
    </attribute>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
</define>
<!-- AFFILIATION ALTERNATIVES ATTRIBUTES -->
<!--
  Attributes for the <aff-alternatives>
  element
-->
<define name="aff-alternatives-atts">
  <optional>
    <attribute name="id">
      <data type="ID"/>
    </attribute>
  </optional>
</define>
<!-- ALTERNATE TEXT ATTRIBUTES -->
<!-- Attributes for the <alt-text> element -->
<define name="alt-text-atts">
  <optional>
    <attribute name="id">
      <data type="ID"/>
    </attribute>
  </optional>
  <optional>
    <attribute name="content-type"/>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
</define>
<!-- ALTERNATE TEXT ATTRIBUTES -->
<!-- Attributes for the <alt-text> element -->
<!-- ANONYMOUS ATTRIBUTES -->
<!-- Attributes for the <anonymous> element -->
<define name="anonymous-atts">
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
</define>
<!-- ALTERNATIVES ATTRIBUTES -->
<!-- Attributes for the <alternatives> element -->
<define name="alternatives-atts">
  <empty/>
</define>
<!-- ARTICLE TITLE ATTRIBUTES -->
<!-- Attributes for the <article-title> element -->
<define name="article-title-atts">
  <optional>
    <attribute name="id">
      <data type="ID"/>
    </attribute>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
</define>
<!-- ATTRIBUTION ATTRIBUTES -->
<!-- Attributes for the <attrib> element -->
<define name="attrib-atts">
  <optional>
    <attribute name="id">
      <data type="ID"/>
    </attribute>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
</define>
<!-- BIOGRAPHY ATTRIBUTES -->
<!-- Attributes for <bio> element -->
<define name="bio-atts">
  <optional>
    <attribute name="id">
      <data type="ID"/>
    </attribute>
  </optional>
  <optional>
    <attribute name="rid">
      <data type="IDREFS"/>
    </attribute>
  </optional>
  <optional>
    <attribute name="content-type"/>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
  <ref name="might-link-atts"/>
</define>
<!-- COLLABORATION ATTRIBUTES -->
<!-- Attributes for <collab> -->
<define name="collab-atts">
  <optional>
    <attribute name="collab-type"/>
  </optional>
  <optional>
    <attribute name="id">
      <data type="ID"/>
    </attribute>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
  <ref name="might-link-atts"/>
</define>
<!-- CONFERENCE DATE ATTRIBUTES -->
<!-- Attributes for the <conf-date> element -->
<define name="conf-date-atts">
  <optional>
    <attribute name="content-type"/>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
</define>
<!-- CONFERENCE LOCATION ATTRIBUTES -->
<!-- Attributes for the <conf-loc> element -->
<define name="conf-loc-atts">
  <optional>
    <attribute name="content-type"/>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
</define>
<!-- CONFERENCE NAME ATTRIBUTES -->
<!-- Attributes for the <conf-name> element -->
<define name="conf-name-atts">
  <optional>
    <attribute name="content-type"/>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
</define>
<!-- CONFERENCE SPONSOR ATTRIBUTES -->
<!-- Attributes for the <conf-sponsor> element -->
<define name="conf-sponsor-atts">
  <optional>
    <attribute name="content-type"/>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
</define>
<!-- COPYRIGHT HOLDER ATTRIBUTES -->
<!--
  Attributes for the <copyright-holder>
  element
-->
<define name="copyright-holder-atts">
  <optional>
    <attribute name="content-type"/>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
</define>
<!-- COPYRIGHT STATEMENT ATTRIBUTES -->
<!--
  Attributes for the <copyright-statement>
  element
-->
<define name="copyright-statement-atts">
  <optional>
    <attribute name="content-type"/>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
</define>
<!-- COPYRIGHT YEAR ATTRIBUTES -->
<!--
  Attributes for the <copyright-year>
  element
-->
<define name="copyright-year-atts">
  <optional>
    <attribute name="content-type"/>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
</define>
<!-- COUNTRY ATTRIBUTES -->
<!-- Attributes for the <country> element -->
<define name="country-atts">
  <optional>
    <attribute name="content-type"/>
  </optional>
  <optional>
    <attribute name="country"/>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
</define>
<!-- CUSTOM METADATA ATTRIBUTES -->
<!-- Attributes for the <custom-meta> element -->
<define name="custom-meta-atts">
  <optional>
    <attribute name="id">
      <data type="ID"/>
    </attribute>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
  <ref name="might-link-atts"/>
</define>
<!-- DATE (HISTORICAL) ATTRIBUTES -->
<!-- Attributes for the <date> element -->
<!-- DAY ATTRIBUTES -->
<!-- Attributes for the <day> element -->
<define name="day-atts">
  <optional>
    <attribute name="content-type"/>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
</define>
<!-- DEFINITION LIST: DEFINITION ATTRIBUTES -->
<!-- Attribute list for the <def> element -->
<define name="def-atts">
  <optional>
    <attribute name="rid">
      <data type="IDREFS"/>
    </attribute>
  </optional>
  <optional>
    <attribute name="id">
      <data type="ID"/>
    </attribute>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
</define>
<!-- ELEMENT CITATION ATTRIBUTES -->
<!--
  Attributes for <element-citation> and
  <nlm-citation>)
-->
<define name="element-citation-atts">
  <ref name="citation-atts"/>
</define>
<!--
  ELECTRONIC LOCATION IDENTIFIER ATTRIBUTES
  Attribute list for the <elocation-id>
  element
-->
<define name="elocation-id-atts">
  <optional>
    <attribute name="content-type"/>
  </optional>
  <optional>
    <attribute name="seq"/>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
</define>
<!-- EMAIL ATTRIBUTES -->
<!-- Attribute list for the <email> element -->
<define name="email-atts">
  <optional>
    <attribute name="content-type"/>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
  <ref name="might-link-atts"/>
</define>
<!-- ET AL. ATTRIBUTES -->
<!-- Attribute list for the <etal> element -->
<define name="etal-atts">
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
</define>
<!-- EXTERNAL LINK ATTRIBUTES -->
<!--
  Attribute list for external links, such as
  <ext-link>
-->
<define name="ext-link-atts">
  <optional>
    <attribute name="id">
      <data type="ID"/>
    </attribute>
  </optional>
  <optional>
    <attribute name="ext-link-type"/>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
  <ref name="might-link-atts"/>
</define>
<!-- FAX ATTRIBUTES -->
<!-- Attribute list for the <fax> element -->
<define name="fax-atts">
  <optional>
    <attribute name="content-type"/>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
</define>
<!-- FIRST PAGE ATTRIBUTES -->
<!-- Attribute list for the <fpage> element -->
<define name="fpage-atts">
  <optional>
    <attribute name="content-type"/>
  </optional>
  <optional>
    <attribute name="seq"/>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
</define>
<!-- GIVEN NAMES ATTRIBUTES -->
<!-- Attribute list for the <given-names> element -->
<define name="given-names-atts">
  <optional>
    <attribute name="initials"/>
  </optional>
</define>
<!-- INSTITUTION ATTRIBUTES -->
<!-- Attribute list for <institution> -->
<define name="institution-atts">
  <optional>
    <attribute name="id">
      <data type="ID"/>
    </attribute>
  </optional>
  <optional>
    <attribute name="content-type"/>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
  <ref name="might-link-atts"/>
</define>
<!-- ISBN ATTRIBUTES -->
<!-- Attributes for the <isbn> element -->
<define name="isbn-atts">
  <optional>
    <attribute name="content-type"/>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
</define>
<!-- ISSN ATTRIBUTES -->
<!--
  Attribute list for <issn> (and <isbn> in
  Book)
-->
<define name="issn-atts">
  <optional>
    <attribute name="pub-type"/>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
</define>
<!-- ISSUE ATTRIBUTES -->
<!-- Attribute list for the <issue> element -->
<define name="issue-atts">
  <optional>
    <attribute name="content-type"/>
  </optional>
  <optional>
    <attribute name="seq"/>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
</define>
<!-- ISSUE IDENTIFIER ATTRIBUTES -->
<!-- Attributes for the <issue-id> element -->
<define name="issue-id-atts">
  <optional>
    <attribute name="pub-id-type"/>
  </optional>
  <optional>
    <attribute name="content-type"/>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
</define>
<!-- ISSUE PART ATTRIBUTES -->
<!-- Attribute list for <issue-part> element -->
<define name="issue-part-atts">
  <optional>
    <attribute name="content-type"/>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
</define>
<!-- ISSUE SPONSOR ATTRIBUTES -->
<!-- Attribute list for <issue-sponsor> element -->
<define name="issue-sponsor-atts">
  <optional>
    <attribute name="content-type"/>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
</define>
<!-- ISSUE TITLE ATTRIBUTES -->
<!-- Attribute list for <issue-title> element -->
<define name="issue-title-atts">
  <optional>
    <attribute name="content-type"/>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
</define>
<!-- JOURNAL IDENTIFIER ATTRIBUTES -->
<!--
  Attribute list for journal identifier
  <journal-id> element
-->
<define name="journal-id-atts">
  <optional>
    <attribute name="journal-id-type"/>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
</define>
<!-- LABEL ATTRIBUTES -->
<!-- Attributes for the <label> element -->
<define name="label-atts">
  <optional>
    <attribute name="alt"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
</define>
<!-- LICENSE ATTRIBUTES -->
<!-- Attributes for the <license> element -->
<define name="license-atts">
  <optional>
    <attribute name="license-type"/>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
  <ref name="might-link-atts"/>
</define>
<!-- LICENSE PARAGRAPH ATTRIBUTES -->
<!-- Attributes for the <license> element -->
<define name="license-p-atts">
  <optional>
    <attribute name="specific-use"/>
  </optional>
</define>
<!-- LONG DESCRIPTION ATTRIBUTES -->
<!-- Attributes for the <long-desc> element -->
<define name="long-desc-atts">
  <optional>
    <attribute name="id">
      <data type="ID"/>
    </attribute>
  </optional>
  <optional>
    <attribute name="content-type"/>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
</define>
<!-- LPAGE ATTRIBUTES -->
<!-- Attributes for the <lpage> element -->
<define name="lpage-atts">
  <optional>
    <attribute name="content-type"/>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
</define>
<!-- METADATA NAME (CUSTOM) ATTRIBUTES -->
<!-- Attributes for <meta-name> element -->
<define name="meta-name-atts">
  <empty/>
</define>
<!-- METADATA VALUE (CUSTOM) ATTRIBUTES -->
<!-- Attributes for <meta-value> element -->
<define name="meta-value-atts">
  <empty/>
</define>
<!-- MIXED CITATION ATTRIBUTES -->
<!-- Attributes for <mixed-citation> element -->
<define name="mixed-citation-atts">
  <ref name="citation-atts"/>
</define>
<!-- MONTH ATTRIBUTES -->
<!-- Attributes for the <month> element -->
<define name="month-atts">
  <optional>
    <attribute name="content-type"/>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
</define>
<!-- NAME ATTRIBUTES -->
<!-- Attribute list for the <name> element -->
<define name="name-atts">
  <optional>
    <attribute name="content-type"/>
  </optional>
  <optional>
    <attribute name="name-style" a:defaultValue="western">
      <choice>
        <value>western</value>
        <value>eastern</value>
        <value>islensk</value>
        <value>given-only</value>
      </choice>
    </attribute>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
</define>
<!-- NAME ALTERNATIVES ATTRIBUTES -->
<!--
  Attributes for the <name-alternatives>
  element
-->
<define name="name-alternatives-atts">
  <empty/>
</define>
<!-- NOTES ATTRIBUTES -->
<!-- Attribute list for the <note> element -->
<define name="notes-atts">
  <optional>
    <attribute name="id">
      <data type="ID"/>
    </attribute>
  </optional>
  <optional>
    <attribute name="notes-type"/>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
</define>
<!-- OBJECT IDENTIFIER ATTRIBUTES -->
<!-- Attributes for the <object-id> element -->
<define name="object-id-atts">
  <optional>
    <attribute name="pub-id-type"/>
  </optional>
  <optional>
    <attribute name="content-type"/>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
</define>
<!-- PAGE RANGE ATTRIBUTES -->
<!-- Attributes for the <page-range> element -->
<define name="page-range-atts">
  <optional>
    <attribute name="content-type"/>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
</define>
<!-- PHONE ATTRIBUTES -->
<!-- Attributes for the <phone> element -->
<define name="phone-atts">
  <optional>
    <attribute name="content-type"/>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
</define>
<!-- PREFIX ATTRIBUTES -->
<!-- Attributes for the <prefix> element -->
<define name="prefix-atts">
  <optional>
    <attribute name="content-type"/>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
</define>
<!-- PRICE ATTRIBUTES -->
<!-- Attributes for the <price> element -->
<define name="price-atts">
  <optional>
    <attribute name="currency"/>
  </optional>
  <optional>
    <attribute name="content-type"/>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
</define>
<!-- PUBLISHER ATTRIBUTES -->
<!-- Attributes for the <publisher> element -->
<define name="publisher-atts">
  <optional>
    <attribute name="content-type"/>
  </optional>
</define>
<!-- PUBLISHER LOCATION ATTRIBUTES -->
<!-- Attributes for the <publisher-loc> element -->
<define name="publisher-loc-atts">
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
</define>
<!-- PUBLISHER NAME ATTRIBUTES -->
<!--                     Attributes for the <publisher-name> element -->
<define name="publisher-name-atts">
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
</define>
<!-- RELATED ARTICLE ATTRIBUTES -->
<!-- Attributes for <related-article> -->
<define name="related-article-atts">
  <optional>
    <attribute name="id">
      <data type="ID"/>
    </attribute>
  </optional>
  <attribute name="related-article-type"/>
  <optional>
    <attribute name="ext-link-type"/>
  </optional>
  <optional>
    <attribute name="vol"/>
  </optional>
  <optional>
    <attribute name="page"/>
  </optional>
  <optional>
    <attribute name="issue"/>
  </optional>
  <optional>
    <attribute name="elocation-id"/>
  </optional>
  <optional>
    <attribute name="journal-id"/>
  </optional>
  <optional>
    <attribute name="journal-id-type"/>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
  <ref name="might-link-atts"/>
</define>
<!-- ROLE ATTRIBUTES -->
<!-- Attributes for the <role> element -->
<define name="role-atts">
  <optional>
    <attribute name="content-type"/>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
</define>
<!-- SEASON ATTRIBUTES -->
<!-- Attributes for the <season> element -->
<define name="season-atts">
  <optional>
    <attribute name="content-type"/>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
</define>
<!-- SIGNATURE ATTRIBUTES -->
<!-- Attributes for the <sig> element -->
<define name="sig-atts">
  <optional>
    <attribute name="id">
      <data type="ID"/>
    </attribute>
  </optional>
  <optional>
    <attribute name="rid">
      <data type="IDREFS"/>
    </attribute>
  </optional>
  <optional>
    <attribute name="content-type"/>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
</define>
<!-- SIGNATURE BLOCK ATTRIBUTES -->
<!-- Attributes for the <sig-block> element -->
<define name="sig-block-atts">
  <optional>
    <attribute name="id">
      <data type="ID"/>
    </attribute>
  </optional>
  <optional>
    <attribute name="rid">
      <data type="IDREFS"/>
    </attribute>
  </optional>
  <optional>
    <attribute name="content-type"/>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
</define>
<!-- SIZE ATTRIBUTES -->
<!-- Attribute list for the <size> element -->
<define name="size-atts">
  <attribute name="units"/>
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
</define>
<!-- STRING DATE ATTRIBUTES -->
<!-- Attributes for the <string-date> element -->
<define name="string-date-atts">
  <optional>
    <attribute name="content-type"/>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
</define>
<!-- STRING NAME ATTRIBUTES -->
<!-- Attribute list for the <string-name> element -->
<define name="string-name-atts">
  <optional>
    <attribute name="content-type"/>
  </optional>
  <optional>
    <attribute name="name-style" a:defaultValue="western">
      <choice>
        <value>western</value>
        <value>eastern</value>
        <value>islensk</value>
        <value>given-only</value>
      </choice>
    </attribute>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
</define>
<!-- SUFFIX ATTRIBUTES -->
<!-- Attributes for the <suffix> element -->
<define name="suffix-atts">
  <optional>
    <attribute name="content-type"/>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
</define>
<!-- SURNAME ATTRIBUTES -->
<!-- Attribute list for the <surname> element -->
<define name="surname-atts">
  <optional>
    <attribute name="initials"/>
  </optional>
</define>
<!-- TEXTUAL FORM ATTRIBUTES -->
<!-- Attributes for the <textual-form> element -->
<define name="textual-form-atts">
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
</define>
<!-- TITLE ATTRIBUTES -->
<!-- Attributes for the <title> element -->
<define name="title-atts">
  <optional>
    <attribute name="id">
      <data type="ID"/>
    </attribute>
  </optional>
  <optional>
    <attribute name="content-type"/>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
</define>
<!-- TRANSLATED SUBTITLE ATTRIBUTES -->
<!--
  Attributes for the <trans-subtitle>
  element
-->
<define name="trans-subtitle-atts">
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
</define>
<!-- TRANSLATED TITLE ATTRIBUTES -->
<!-- Attribute list for the <trans-title> -->
<define name="trans-title-atts">
  <optional>
    <attribute name="id">
      <data type="ID"/>
    </attribute>
  </optional>
  <optional>
    <attribute name="content-type"/>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
</define>
<!-- TRANSLATED TITLE GROUP ATTRIBUTES -->
<!-- Attribute list for the <trans-title-group> -->
<!-- URI ATTRIBUTES -->
<!-- Attributes for the <uri> element -->
<define name="uri-atts">
  <optional>
    <attribute name="content-type"/>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
  <ref name="might-link-atts"/>
</define>
<!-- VOLUME NUMBER ATTRIBUTES -->
<!-- Attribute list for the <volume> element -->
<define name="volume-atts">
  <optional>
    <attribute name="seq"/>
  </optional>
  <optional>
    <attribute name="content-type"/>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
</define>
<!-- VOLUME IDENTIFIER ATTRIBUTES -->
<!-- Attributes for the <volume-id> element -->
<define name="volume-id-atts">
  <optional>
    <attribute name="pub-id-type"/>
  </optional>
  <optional>
    <attribute name="content-type"/>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
</define>
<!-- VOLUME SERIES ATTRIBUTES -->
<!--
  Attribute list for the <volume-series>
  element
-->
<define name="volume-series-atts">
  <optional>
    <attribute name="content-type"/>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
</define>
<!-- YEAR ATTRIBUTES -->
<!-- Attributes for the <year> element -->
<define name="year-atts">
  <optional>
    <attribute name="content-type"/>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
</define>
<!-- ============================================================= -->
<!-- METADATA USED BY MORE THAN ONE CLASS -->
<!-- ============================================================= -->
<!-- ============================================================= -->
<!-- COMMON COPYRIGHT/PERMISSION ELEMENTS -->
<!-- ============================================================= -->
<!-- COPYRIGHT HOLDER ELEMENTS -->
<!--
  Elements to be mixed with data characters
  inside the content model for the
  <copyright-holder> element.
-->
<!-- COPYRIGHT HOLDER -->
<!--
  Name of the organizational or personal
  entity that holds the copyright.
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=copyright-holder
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=copyright-holder
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=copyright-holder
-->
<define name="copyright-holder">
  <element name="copyright-holder">
    <ref name="copyright-holder-attlist"/>
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="copyright-holder-elements"/>
      </choice>
    </zeroOrMore>
  </element>
</define>
<define name="copyright-holder-attlist" combine="interleave">
  <ref name="copyright-holder-atts"/>
</define>
<!-- COPYRIGHT STATEMENT ELEMENTS -->
<!-- Content model for <copyright-statement> -->
<!-- COPYRIGHT STATEMENT -->
<!--
  Copyright notice or statement, suitable for
  printing or display. Within the statement the
  copyright year should be identified, if
  expected to be displayed.
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=copyright-statement
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=copyright-statement
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=copyright-statement
-->
<define name="copyright-statement">
  <element name="copyright-statement">
    <ref name="copyright-statement-attlist"/>
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="copyright-statement-elements"/>
      </choice>
    </zeroOrMore>
  </element>
</define>
<define name="copyright-statement-attlist" combine="interleave">
  <ref name="copyright-statement-atts"/>
</define>
<!-- COPYRIGHT YEAR -->
<!--
  Year of the copyright. Need not be used, if,
  for example, having the year as part of the
  copyright statement is sufficient.
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=copyright-year
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=copyright-year
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=copyright-year
-->
<define name="copyright-year">
  <element name="copyright-year">
    <ref name="copyright-year-attlist"/>
    <text/>
  </element>
</define>
<define name="copyright-year-attlist" combine="interleave">
  <ref name="copyright-year-atts"/>
</define>
<!-- LICENSE MODEL -->
<!-- Content model for an <license> element -->
<define name="license-model">
  <oneOrMore>
    <ref name="license-p.class"/>
  </oneOrMore>
</define>
<!-- LICENSE INFORMATION -->
<!--
  The set of conditions under which people are
  allowed to use this article or other
  license-related information or restrictions.
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=license
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=license
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=license
-->
<define name="license">
  <element name="license">
    <ref name="license-attlist"/>
    <ref name="license-model"/>
  </element>
</define>
<define name="license-attlist" combine="interleave">
  <ref name="license-atts"/>
</define>
<!-- LICENSE PARAGRAPH ELEMENTS -->
<!--
  Elements that can be included with the text
  inside a <license-p> element.
  Design Note: All inline mixes begin with an
  OR bar, but since %p-elements; is an
  inline mix, the OR bar is already there.
-->
<define name="license-p-elements">
  <choice>
    <ref name="p-elements"/>
    <ref name="price.class"/>
  </choice>
</define>
<!-- LICENSE PARAGRAPH -->
<!--
  Paragraphs of text within the description of
  a <license>. Not defined as an ordinary
  paragraph, so that it can have special
  content.
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=license-p
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=license-p
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=license-p
-->
<define name="license-p">
  <element name="license-p">
    <ref name="license-p-attlist"/>
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="license-p-elements"/>
      </choice>
    </zeroOrMore>
  </element>
</define>
<define name="license-p-attlist" combine="interleave">
  <ref name="license-p-atts"/>
</define>
<!-- PERMISSIONS MODEL -->
<!-- Model for <permissions> wrapper element -->
<define name="permissions-model">
  <zeroOrMore>
    <ref name="copyright-statement"/>
  </zeroOrMore>
  <zeroOrMore>
    <ref name="copyright-year"/>
  </zeroOrMore>
  <zeroOrMore>
    <ref name="copyright-holder"/>
  </zeroOrMore>
  <zeroOrMore>
    <ref name="license"/>
  </zeroOrMore>
</define>
<!-- PERMISSIONS -->
<!--
  Wrapper element to hold the copyright
  information, license material, and any
  future similar metadata.
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=permissions
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=permissions
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=permissions
-->
<define name="permissions">
  <element name="permissions">
    <ref name="permissions-attlist"/>
    <ref name="permissions-model"/>
  </element>
</define>
<define name="permissions-attlist" combine="interleave">
  <empty/>
</define>
<!-- ============================================================= -->
<!-- COMMON METADATA/BIBLIOGRAPHIC ELEMENTS -->
<!-- ============================================================= -->
<!-- ARTICLE TITLE ELEMENTS -->
<!--
  Elements that can be included with the text
  inside an <article-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.
-->
<!-- ARTICLE TITLE -->
<!--
  The title of the article in the language
  in which the article was originally
  published
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=article-title
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=article-title
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=article-title
-->
<define name="article-title">
  <element name="article-title">
    <ref name="article-title-attlist"/>
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="article-title-elements"/>
      </choice>
    </zeroOrMore>
  </element>
</define>
<define name="article-title-attlist" combine="interleave">
  <ref name="article-title-atts"/>
</define>
<!-- AFFILIATION ELEMENTS -->
<!-- Elements for use in the <aff> element -->
<!-- AFFILIATION -->
<!--
  Name of a institution or organization such as
  a university or corporation.
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=aff
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=aff
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=aff
-->
<define name="aff">
  <element name="aff">
    <ref name="aff-attlist"/>
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="aff-elements"/>
      </choice>
    </zeroOrMore>
  </element>
</define>
<define name="aff-attlist" combine="interleave">
  <ref name="aff-atts"/>
</define>
<!-- AFFILIATION ALTERNATIVES MODEL -->
<!--
  Content model for the element
  <aff-alternatives>
-->
<define name="aff-alternatives-model">
  <oneOrMore>
    <ref name="aff"/>
  </oneOrMore>
</define>
<!-- AFFILIATION ALTERNATIVES -->
<!--
  Container element to hold one or more
  representations of a single affiliation, for
  example the name of an institution in two
  languages or two scripts.
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=aff-alternatives
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=aff-alternatives
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=aff-alternatives
-->
<define name="aff-alternatives">
  <element name="aff-alternatives">
    <ref name="aff-alternatives-attlist"/>
    <ref name="aff-alternatives-model"/>
  </element>
</define>
<define name="aff-alternatives-attlist" combine="interleave">
  <ref name="aff-alternatives-atts"/>
</define>
<!-- COLLABORATIVE (GROUP) AUTHOR ELEMENTS -->
<!--
  Elements for use in the <collab> element
  Design Note: All inline mixes begin with an
  OR bar, but since %simple-text; is an inline
  mix, the OR bar is already there.
-->
<!-- COLLABORATIVE (GROUP) AUTHOR -->
<!--
  Used for groups of authors credited under
  one name, either as a collaboration in the
  strictest sense, or when an organization,
  institution, or corporation is the group.
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=collab
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=collab
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=collab
-->
<define name="collab">
  <element name="collab">
    <ref name="collab-attlist"/>
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="collab-elements"/>
      </choice>
    </zeroOrMore>
  </element>
</define>
<define name="collab-attlist" combine="interleave">
  <ref name="collab-atts"/>
</define>
<!-- CONFERENCE DATE ELEMENTS -->
<!--                     Elements for use in the <conf-date> element -->
<!-- CONFERENCE DATE -->
<!--
  The date(s) on which the conference was held.
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=conf-date
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=conf-date
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=conf-date
-->
<define name="conf-date">
  <element name="conf-date">
    <ref name="conf-date-attlist"/>
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="conf-date-elements"/>
      </choice>
    </zeroOrMore>
  </element>
</define>
<define name="conf-date-attlist" combine="interleave">
  <ref name="conf-date-atts"/>
</define>
<!-- CONFERENCE LOCATION ELEMENTS -->
<!--
  Elements for use in the <conf-loc> element
  Design Note: All inline mixes begin with an
  OR bar, but since %simple-text; is an inline
  mix, the OR bar is already there.
-->
<define name="conf-loc-elements">
  <ref name="simple-text"/>
</define>
<!-- CONFERENCE LOCATION -->
<!--
  The physical location(s) of the conference.
  This may include a city, a country, or a
  campus or organization location if that is
  the only location available.
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=conf-loc
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=conf-loc
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=conf-loc
-->
<define name="conf-loc">
  <element name="conf-loc">
    <ref name="conf-loc-attlist"/>
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="conf-loc-elements"/>
      </choice>
    </zeroOrMore>
  </element>
</define>
<define name="conf-loc-attlist" combine="interleave">
  <ref name="conf-loc-atts"/>
</define>
<!-- CONFERENCE NAME ELEMENTS -->
<!--
  Elements for use in the <conf-name> element.
  Design Note: All inline mixes begin with an
  OR bar, but since %simple-text; is an inline
  mix, the OR bar is already there.
-->
<define name="conf-name-elements">
  <ref name="simple-text"/>
</define>
<!-- CONFERENCE NAME -->
<!--
  The full name of the conference, including any
  qualifiers such as "43rd Annual".
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=conf-name
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=conf-name
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=conf-name
-->
<define name="conf-name">
  <element name="conf-name">
    <ref name="conf-name-attlist"/>
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="conf-name-elements"/>
      </choice>
    </zeroOrMore>
  </element>
</define>
<define name="conf-name-attlist" combine="interleave">
  <ref name="conf-name-atts"/>
</define>
<!-- OBJECT IDENTIFIER -->
<!--
  Used to record an identifier such as a DOI
  for an interior element such as an <abstract>
  or <figure>.
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=object-id
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=object-id
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=object-id
-->
<define name="object-id">
  <element name="object-id">
    <ref name="object-id-attlist"/>
    <text/>
  </element>
</define>
<define name="object-id-attlist" combine="interleave">
  <ref name="object-id-atts"/>
</define>
<!-- ISBN ELEMENTS -->
<!--
  Elements for use with data characters inside
  the model for the <isbn> element
-->
<!-- ISBN -->
<!--
  International Standard Book Number
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=isbn
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=isbn
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=isbn
-->
<define name="isbn">
  <element name="isbn">
    <ref name="isbn-attlist"/>
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="isbn-elements"/>
      </choice>
    </zeroOrMore>
  </element>
</define>
<define name="isbn-attlist" combine="interleave">
  <ref name="isbn-atts"/>
</define>
<!-- ISSN ELEMENTS -->
<!--
  Elements for use with data characters inside
  the model for the <issue> element
-->
<!-- ISSN -->
<!--
  International Standard Serial Number
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=issn
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=issn
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=issn
-->
<define name="issn">
  <element name="issn">
    <ref name="issn-attlist"/>
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="issn-elements"/>
      </choice>
    </zeroOrMore>
  </element>
</define>
<define name="issn-attlist" combine="interleave">
  <ref name="issn-atts"/>
</define>
<!-- ISSUE ELEMENTS -->
<!--
  Elements for use with data characters inside
  the model for the <issue> element
-->
<define name="issue-elements">
  <ref name="just-rendition"/>
</define>
<!-- ISSUE NUMBER -->
<!--
  The issue number, issue name, or other
  identifier of an issue of a journal that
  is displayed or printed with the issue.
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=issue
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=issue
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=issue
-->
<define name="issue">
  <element name="issue">
    <ref name="issue-attlist"/>
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="issue-elements"/>
      </choice>
    </zeroOrMore>
  </element>
</define>
<define name="issue-attlist" combine="interleave">
  <ref name="issue-atts"/>
</define>
<!-- ISSUE IDENTIFIER -->
<!--
  Used to record an identifier such as a DOI
  that describes an entire issue of a
  journal
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=issue-id
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=issue-id
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=issue-id
-->
<define name="issue-id">
  <element name="issue-id">
    <ref name="issue-id-attlist"/>
    <text/>
  </element>
</define>
<define name="issue-id-attlist" combine="interleave">
  <ref name="issue-id-atts"/>
</define>
<!-- ISSUE PART ELEMENTS -->
<!--
  Elements that can be added to the text
  within the element <issue-part>
-->
<define name="issue-part-elements">
  <ref name="just-rendition"/>
</define>
<!-- ISSUE PART -->
<!--
  A publisher may split an issue into two or
  more separately bound or separately issued
  parts. This element holds the identifiers
  (titles, part numbers, etc.) for those
  publishing components.
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=issue-part
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=issue-part
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=issue-part
-->
<define name="issue-part">
  <element name="issue-part">
    <ref name="issue-part-attlist"/>
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="issue-part-elements"/>
      </choice>
    </zeroOrMore>
  </element>
</define>
<define name="issue-part-attlist" combine="interleave">
  <ref name="issue-part-atts"/>
</define>
<!-- ISSUE SPONSOR ELEMENTS -->
<!--
  Elements for use in the <issue-sponsor>
  element
-->
<define name="issue-sponsor-elements">
  <ref name="just-rendition"/>
</define>
<!-- ISSUE TITLE -->
<!--
  Used to record the sponsor for an issue of
  the journal
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=issue-sponsor
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=issue-sponsor
-->
<define name="issue-sponsor">
  <element name="issue-sponsor">
    <ref name="issue-sponsor-attlist"/>
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="issue-sponsor-elements"/>
      </choice>
    </zeroOrMore>
  </element>
</define>
<define name="issue-sponsor-attlist" combine="interleave">
  <ref name="issue-sponsor-atts"/>
</define>
<!-- ISSUE TITLE ELEMENTS -->
<!-- Elements for use in the <issue-title> element -->
<!-- ISSUE TITLE -->
<!--
  Used to record the theme or special issue
  title for an issue of the journal
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=issue-title
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=issue-title
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=issue-title
-->
<define name="issue-title">
  <element name="issue-title">
    <ref name="issue-title-attlist"/>
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="issue-title-elements"/>
      </choice>
    </zeroOrMore>
  </element>
</define>
<define name="issue-title-attlist" combine="interleave">
  <ref name="issue-title-atts"/>
</define>
<!-- JOURNAL IDENTIFIER -->
<!--
  Short code that represents the journal; used
  as an alternative to or short form of the
  journal title; used for identification of
  the journal domain.
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=journal-id
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=journal-id
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=journal-id
-->
<define name="journal-id">
  <element name="journal-id">
    <ref name="journal-id-attlist"/>
    <text/>
  </element>
</define>
<define name="journal-id-attlist" combine="interleave">
  <ref name="journal-id-atts"/>
</define>
<!-- ROLE ELEMENTS -->
<!--
  The elements that can be included along with
  data characters inside the content model of
  a <role>
  Design Note: All inline mixes begin with an
  OR bar; since %rendition-plus; is an
  inline mix, the OR bar is already there.
-->
<!-- ROLE OR FUNCTION TITLE OF CONTRIBUTOR -->
<!--
  A title or the role of a contributor
  (such as an author) in this work. For example,
  Editor-in-Chief, Contributor, Chief
  Scientist, Photographer, Research Associate,
  etc.
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=role
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=role
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=role
-->
<define name="role">
  <element name="role">
    <ref name="role-attlist"/>
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="role-elements"/>
      </choice>
    </zeroOrMore>
  </element>
</define>
<define name="role-attlist" combine="interleave">
  <ref name="role-atts"/>
</define>
<!-- TRANSLATED TITLE GROUP MODEL -->
<!--
  Content model for the element
  <trans-title-group>
-->
<define name="trans-title-group-model">
  <ref name="trans-title"/>
  <zeroOrMore>
    <ref name="trans-subtitle"/>
  </zeroOrMore>
</define>
<!-- TRANSLATED TITLE GROUP -->
<!--
  Container element for all translated, and
  transliterated journal titles.
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=trans-title-group
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=trans-title-group
-->
<define name="trans-title-group">
  <element name="trans-title-group">
    <ref name="trans-title-group-attlist"/>
    <ref name="trans-title-group-model"/>
  </element>
</define>
<define name="trans-title-group-attlist" combine="interleave">
  <ref name="trans-title-group-atts"/>
</define>
<!-- TRANSLATED SUBTITLE -->
<!--
  An alternate version of an article subtitle
  that has been translated out of the original
  language of the article subtitle <subtitle>
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=trans-subtitle
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=trans-subtitle
-->
<define name="trans-subtitle">
  <element name="trans-subtitle">
    <ref name="trans-subtitle-attlist"/>
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="trans-subtitle-elements"/>
      </choice>
    </zeroOrMore>
  </element>
</define>
<define name="trans-subtitle-attlist" combine="interleave">
  <ref name="trans-subtitle-atts"/>
</define>
<!-- TRANSLATED TITLE -->
<!--
  An alternate version of the title that has
  been translated into a language other than
  that of the original article title
  <article-title>
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=trans-title
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=trans-title
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=trans-title
-->
<define name="trans-title">
  <element name="trans-title">
    <ref name="trans-title-attlist"/>
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="trans-title-elements"/>
      </choice>
    </zeroOrMore>
  </element>
</define>
<define name="trans-title-attlist" combine="interleave">
  <ref name="trans-title-atts"/>
</define>
<!-- VOLUME NUMBER ELEMENTS -->
<!--
  The elements that can be included along with
  data characters inside the content model of
  a <volume>
-->
<define name="volume-elements">
  <ref name="just-rendition"/>
</define>
<!-- VOLUME NUMBER -->
<!--
  NEW DEFINITION FOR RELEASE 2.0:
  The volume number, volume name, or other
  identifier of an volume of a journal that
  is displayed or printed with the volume.
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=volume
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=volume
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=volume
-->
<define name="volume">
  <element name="volume">
    <ref name="volume-attlist"/>
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="volume-elements"/>
      </choice>
    </zeroOrMore>
  </element>
</define>
<define name="volume-attlist" combine="interleave">
  <ref name="volume-atts"/>
</define>
<!-- VOLUME IDENTIFIER ELEMENTS -->
<!--
  The elements that can be included along with
  data characters inside the content model of
  a <volume-id>
-->
<define name="volume-id-elements">
  <ref name="just-rendition"/>
</define>
<!-- VOLUME IDENTIFIER -->
<!--
  Used to record an identifier such as a DOI
  that describes an entire volume of a
  journal.
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=volume-id
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=volume-id
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=volume-id
-->
<define name="volume-id">
  <element name="volume-id">
    <ref name="volume-id-attlist"/>
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="volume-id-elements"/>
      </choice>
    </zeroOrMore>
  </element>
</define>
<define name="volume-id-attlist" combine="interleave">
  <ref name="volume-id-atts"/>
</define>
<!-- VOLUME SERIES ELEMENTS -->
<!--
  The elements that can be included along with
  data characters inside the content model of
  a <volume>
-->
<define name="volume-series-elements">
  <ref name="just-rendition"/>
</define>
<!-- VOLUME SERIES -->
<!--
  This is a rare metadata element, intended to
  hold the series number, in those odd cases
  where, for example, a Publisher has reissued
  a journal, restarting the volume numbers
  with "1", so duplicate volume numbers
  would exist and need to be differentiated.
  Such a publisher typically adds a series
  series number to their volume numbers, and
  this element has been created to hold such
  a series number.
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=volume-series
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=volume-series
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=volume-series
-->
<define name="volume-series">
  <element name="volume-series">
    <ref name="volume-series-attlist"/>
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="volume-series-elements"/>
      </choice>
    </zeroOrMore>
  </element>
</define>
<define name="volume-series-attlist" combine="interleave">
  <ref name="volume-series-atts"/>
</define>
<!-- ============================================================= -->
<!-- COMMON ARTICLE METADATA/BIBLIOGRAPHIC -->
<!-- CONTRIBUTOR IDENTIFICATION ELEMENTS -->
<!-- ============================================================= -->
<!-- ANONYMOUS ELEMENTS -->
<!--
  The elements that can be included along with
  data characters inside the content model of
  an <anonymous> element
-->
<!-- ANONYMOUS CONTENT MODEL -->
<!-- The content model for the <etal> element -->
<define name="anonymous-model">
  <zeroOrMore>
    <choice>
      <text/>
      <ref name="anonymous-elements"/>
    </choice>
  </zeroOrMore>
</define>
<!-- ANONYMOUS -->
<!--
  Place holder for the name of a contributor
  whose name is unknown or not disclosed.
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=anonymous
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=anonymous
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=anonymous
-->
<define name="anonymous">
  <element name="anonymous">
    <ref name="anonymous-attlist"/>
    <ref name="anonymous-model"/>
  </element>
</define>
<define name="anonymous-attlist" combine="interleave">
  <ref name="anonymous-atts"/>
</define>
<!-- ET AL ELEMENTS -->
<!--
  The elements that can be included along with
  data characters inside the content model of
  an <etal> element
-->
<!-- ET AL CONTENT MODEL -->
<!-- The content model for the <etal> element -->
<define name="etal-model">
  <zeroOrMore>
    <choice>
      <text/>
      <ref name="etal-elements"/>
    </choice>
  </zeroOrMore>
</define>
<!-- ET AL -->
<!--
  Most journals model this as an EMPTY element,
  typically used to generate the text "et al."
  from a stylesheet. However, a few journal
  DTDs (Blackwell's, for example) expect
  content for this element, with such text as
  "Associates, coworkers, and colleagues".
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=etal
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=etal
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=etal
-->
<define name="etal">
  <element name="etal">
    <ref name="etal-attlist"/>
    <ref name="etal-model"/>
  </element>
</define>
<define name="etal-attlist" combine="interleave">
  <ref name="etal-atts"/>
</define>
<!-- ============================================================= -->
<!-- COMMON ARTICLE METADATA/BIBLIOGRAPHIC -->
<!-- PUBLISHER IDENTIFICATION ELEMENTS -->
<!-- ============================================================= -->
<!-- PUBLISHER CONTENT MODEL -->
<!--
  The content model for the <publisher>
  element
-->
<define name="publisher-model">
  <oneOrMore>
    <ref name="publisher-name"/>
    <optional>
      <ref name="publisher-loc"/>
    </optional>
  </oneOrMore>
</define>
<!-- PUBLISHER -->
<!--
  Who published the work
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=publisher
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=publisher
-->
<define name="publisher">
  <element name="publisher">
    <ref name="publisher-attlist"/>
    <ref name="publisher-model"/>
  </element>
</define>
<define name="publisher-attlist" combine="interleave">
  <ref name="publisher-atts"/>
</define>
<!-- PUBLISHER'S NAME ELEMENTS -->
<!--
  The elements that can be included along with
  data characters inside the content model of
  a <publisher-name>
  Design Note: All inline mixes begin with an
  OR bar; since %just-rendition; is an
  inline mix, the OR bar is already there
-->
<define name="publisher-name-elements">
  <ref name="just-rendition"/>
</define>
<!-- PUBLISHER'S NAME -->
<!--
  Name of the publisher of the work
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=publisher-name
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=publisher-name
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=publisher-name
-->
<define name="publisher-name">
  <element name="publisher-name">
    <ref name="publisher-name-attlist"/>
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="publisher-name-elements"/>
      </choice>
    </zeroOrMore>
  </element>
</define>
<define name="publisher-name-attlist" combine="interleave">
  <ref name="publisher-name-atts"/>
</define>
<!-- PUBLISHER'S LOCATION ELEMENTS -->
<!--
  Elements for use in the Publisher Location
  <publisher-loc> element
-->
<!-- PUBLISHER'S LOCATION -->
<!--
  Place of publication, usually a city such
  as New York or London
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=publisher-loc
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=publisher-loc
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=publisher-loc
-->
<define name="publisher-loc">
  <element name="publisher-loc">
    <ref name="publisher-loc-attlist"/>
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="publisher-loc-elements"/>
      </choice>
    </zeroOrMore>
  </element>
</define>
<define name="publisher-loc-attlist" combine="interleave">
  <ref name="publisher-loc-atts"/>
</define>
<!-- ============================================================= -->
<!-- COMMON METADATA ELEMENTS CONTINUED -->
<!-- PAGE NUMBERING (SIZE) ELEMENTS -->
<!-- ============================================================= -->
<!-- FIRST PAGE -->
<!--
  The page number on which the article starts,
  for print journals that have page numbers
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=fpage
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=fpage
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=fpage
-->
<define name="fpage">
  <element name="fpage">
    <ref name="fpage-attlist"/>
    <text/>
  </element>
</define>
<define name="fpage-attlist" combine="interleave">
  <ref name="fpage-atts"/>
</define>
<!-- LAST PAGE -->
<!--
  The page number on which the article ends,
  for print journals that have page numbers
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=lpage
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=lpage
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=lpage
-->
<define name="lpage">
  <element name="lpage">
    <ref name="lpage-attlist"/>
    <text/>
  </element>
</define>
<define name="lpage-attlist" combine="interleave">
  <ref name="lpage-atts"/>
</define>
<!-- PAGE RANGES -->
<!--
  A container element for additional page
  information (TO BE USED TO SUPPLEMENT AND
  NOT TO REPLACE <fpage> and <lpage>) to record
  discontinuous pages ranges such as
      "8-11, 14-19, 40"
  meaning that the article begins on page
  8, runs 8 through 11, skips to pages 14
  through 19, and concludes on page 40.
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=page-range
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=page-range
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=page-range
-->
<define name="page-range">
  <element name="page-range">
    <ref name="page-range-attlist"/>
    <text/>
  </element>
</define>
<define name="page-range-attlist" combine="interleave">
  <ref name="page-range-atts"/>
</define>
<!-- SIZE ELEMENTS -->
<!--
  The elements that can be included along with
  data characters inside the content model of
  the size element.
-->
<!-- SIZE -->
<!--
  The size (such as running time, page count,
  or physical measurements) of the object being
  described, usually by a <product> element.
  The "units" attribute must be used to name
  the unit of measure (pages, minutes, hours,
  linear feet, etc.).
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=size
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=size
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=size
-->
<define name="size">
  <element name="size">
    <ref name="size-attlist"/>
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="size-elements"/>
      </choice>
    </zeroOrMore>
  </element>
</define>
<define name="size-attlist" combine="interleave">
  <ref name="size-atts"/>
</define>
<!-- ELECTRONIC LOCATION IDENTIFIER -->
<!--
  Used to identify an article that
  does not have traditional page numbers.
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=elocation-id
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=elocation-id
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=elocation-id
-->
<define name="elocation-id">
  <element name="elocation-id">
    <ref name="elocation-id-attlist"/>
    <text/>
  </element>
</define>
<define name="elocation-id-attlist" combine="interleave">
  <ref name="elocation-id-atts"/>
</define>
<!-- ============================================================= -->
<!-- CITATIONS (BIBLIOGRAPHIC REFERENCE) -->
<!-- ============================================================= -->
<!-- CITATION ELEMENTS -->
<!--
  Content for both types of citation. These
  elements may be mixed with #PCDATA in the
  <mixed-citation> element (in which all
  punctuation and spacing are left intact), and
  they also constitute the choices that can be
  used to form the all-element-content of the
  <element-citation> element (in which
  punctuation and spacing are removed).
  Design Note: All inline mixes begin with an
  OR bar.
-->
<!-- MIXED CITATION -->
<!--
  A citation is a description of a work, such
  as a journal article, book, or personal
  communication, that is cited in the text of
  the article. This citation element is
  completely loose, with text, punctuation,
  spacing, and any of the citation elements
  in any order.
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=mixed-citation
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=mixed-citation
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=mixed-citation
-->
<define name="mixed-citation">
  <element name="mixed-citation">
    <ref name="mixed-citation-attlist"/>
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="citation-elements"/>
      </choice>
    </zeroOrMore>
  </element>
</define>
<define name="mixed-citation-attlist" combine="interleave">
  <ref name="mixed-citation-atts"/>
</define>
<!-- ELEMENT CITATION -->
<!--
  A citation is a description of a work, such
  as a journal article, book, or personal
  communication, that is cited in the text of
  the article. This citation model contains
  element-only content, with elements in
  any order as many times as needed. This
  citation is intended for use in capturing
  a publisher's specific element order.
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=element-citation
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=element-citation
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=element-citation
-->
<define name="element-citation">
  <element name="element-citation">
    <ref name="element-citation-attlist"/>
    <oneOrMore>
      <ref name="citation-elements"/>
    </oneOrMore>
  </element>
</define>
<define name="element-citation-attlist" combine="interleave">
  <ref name="element-citation-atts"/>
</define>
<!-- ============================================================= -->
<!-- ADDRESS ELEMENTS (BIBLIOGRAPHIC) -->
<!-- ============================================================= -->
<!-- ADDRESS MODEL -->
<!-- Content model for the <address> element -->
<!-- ADDRESS/CONTACT INFORMATION -->
<!--
  Wrapper element for contact information such
  as address, phone, fax, email, url, country,
  etc.
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=address
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=address
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=address
-->
<define name="address">
  <element name="address">
    <ref name="address-attlist"/>
    <ref name="address-model"/>
  </element>
</define>
<define name="address-attlist" combine="interleave">
  <ref name="address-atts"/>
</define>
<!-- ADDRESS LINE ELEMENTS -->
<!--                     Elements for use in the <addr-line> element -->
<define name="addr-line-elements">
  <choice>
    <ref name="simple-text"/>
    <ref name="address-line.class"/>
  </choice>
</define>
<!-- ADDRESS LINE -->
<!-- One line in an address -->
<!--
  Conversion Note: If the address is
  undifferentiated data characters, the entire
  address may be inside one of these elements.
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=addr-line
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=addr-line
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=addr-line
-->
<define name="addr-line">
  <element name="addr-line">
    <ref name="addr-line-attlist"/>
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="addr-line-elements"/>
      </choice>
    </zeroOrMore>
  </element>
</define>
<define name="addr-line-attlist" combine="interleave">
  <ref name="addr-line-atts"/>
</define>
<!-- COUNTRY ELEMENTS -->
<!--
  The elements that can be included along with
  data characters inside the content model of
  the country element.
-->
<!-- COUNTRY: IN AN ADDRESS -->
<!--
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=country
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=country
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=country
-->
<define name="country">
  <element name="country">
    <ref name="country-attlist"/>
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="country-elements"/>
      </choice>
    </zeroOrMore>
  </element>
</define>
<define name="country-attlist" combine="interleave">
  <ref name="country-atts"/>
</define>
<!-- EMAIL ADDRESS ELEMENTS -->
<!--
  Elements to be mixed with #PCDATA inside the
  <email> element
-->
<!-- EMAIL ADDRESS -->
<!--
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=email
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=email
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=email
-->
<define name="email">
  <element name="email">
    <ref name="email-attlist"/>
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="email-elements"/>
      </choice>
    </zeroOrMore>
  </element>
</define>
<define name="email-attlist" combine="interleave">
  <ref name="email-atts"/>
</define>
<!-- FAX NUMBER ELEMENTS -->
<!--
  The elements that can be included along with
  data characters inside the content model of
  a <fax>
-->
<define name="fax-elements">
  <ref name="just-rendition"/>
</define>
<!-- FAX NUMBER: IN AN ADDRESS -->
<!--
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=fax
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=fax
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=fax
-->
<define name="fax">
  <element name="fax">
    <ref name="fax-attlist"/>
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="fax-elements"/>
      </choice>
    </zeroOrMore>
  </element>
</define>
<define name="fax-attlist" combine="interleave">
  <ref name="fax-atts"/>
</define>
<!-- INSTITUTION NAME ELEMENTS -->
<!--
  Elements for use in the <institution>
  element
-->
<!-- INSTITUTION NAME: IN AN ADDRESS -->
<!--
  Name of a institution or organization such as
  a university or corporation used in an
  address or within a citation (such as a
  <mixed-citation> or an <element-citation>
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=institution
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=institution
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=institution
-->
<define name="institution">
  <element name="institution">
    <ref name="institution-attlist"/>
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="institution-elements"/>
      </choice>
    </zeroOrMore>
  </element>
</define>
<define name="institution-attlist" combine="interleave">
  <ref name="institution-atts"/>
</define>
<!-- PHONE NUMBER ELEMENTS -->
<!--
  The elements that can be included along with
  data characters inside the content model of
  a <phone number>
  Design Note: All inline mixes begin with an
  OR bar, but since %just-rendition; is an
  inline mix, the OR bar is already there.
-->
<define name="phone-elements">
  <ref name="just-rendition"/>
</define>
<!-- PHONE NUMBER: IN AN ADDRESS -->
<!--
  A callable phone number in some telephone or
  wireless system somewhere in the world.
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=phone
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=phone
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=phone
-->
<define name="phone">
  <element name="phone">
    <ref name="phone-attlist"/>
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="phone-elements"/>
      </choice>
    </zeroOrMore>
  </element>
</define>
<define name="phone-attlist" combine="interleave">
  <ref name="phone-atts"/>
</define>
<!-- URI ELEMENTS -->
<!--
  The elements that can be included along with
  data characters inside the content model of
  a <uri>
  Design Note: This PE begins with an OR
  bar because %just-rendition; begins with an
  OR bar.
-->
<define name="uri-elements">
  <ref name="just-rendition"/>
</define>
<!-- URI -->
<!--
  URI such as a URL that may be used as a
  live link, typically naming a website, such
  as:
     <url>http://www.mulberrytech.com</url>
  Alternatively the element content may name
  the URL, e.g., "Mulberry's Website" and the
  "xlink:href" attribute may hold the real
  URL.
     <url xlink:href="http://www.mulberrytech.
     com">Mulberry's Website</url>
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=uri
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=uri
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=uri
-->
<define name="uri">
  <element name="uri">
    <ref name="uri-attlist"/>
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="uri-elements"/>
      </choice>
    </zeroOrMore>
  </element>
</define>
<define name="uri-attlist" combine="interleave">
  <ref name="uri-atts"/>
</define>
<!-- ============================================================= -->
<!-- DATE ELEMENTS (PUBLICATION HISTORY) -->
<!-- ============================================================= -->
<!-- DATE -->
<!--
  The elements <day>, <month>, and <year> should
  ALWAYS be numeric values. The date may be
  represented as a string in <string-date>, but
  the numeric values should be present whenever
  possible.
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=date
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=date
-->
<define name="date">
  <element name="date">
    <ref name="date-attlist"/>
    <ref name="date-model"/>
  </element>
</define>
<define name="date-attlist" combine="interleave">
  <ref name="date-atts"/>
</define>
<!-- DAY -->
<!--
  The numeric value of a day of the month, used
  in both article metadata and inside a citation,
  in two digits as it would be stated in the "DD"
  in an international date format YYYY-MM-DD, for
  example "03", "25".
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=day
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=day
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=day
-->
<define name="day">
  <element name="day">
    <ref name="day-attlist"/>
    <text/>
  </element>
</define>
<define name="day-attlist" combine="interleave">
  <ref name="day-atts"/>
</define>
<!-- MONTH -->
<!--
  Names one of the months of the year. Used in
  both article metadata and inside a citation,
  this element may contain a full month
  "December", an abbreviation "Dec", or,
  preferably, a numeric month such as "12".
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=month
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=month
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=month
-->
<define name="month">
  <element name="month">
    <ref name="month-attlist"/>
    <text/>
  </element>
</define>
<define name="month-attlist" combine="interleave">
  <ref name="month-atts"/>
</define>
<!-- SEASON -->
<!--
  Season of publication, such as "Spring".
  Used in both article metadata and inside a
  citation (such as a <mixed-citation> or an
  <element-citation>
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=season
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=season
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=season
-->
<define name="season">
  <element name="season">
    <ref name="season-attlist"/>
    <text/>
  </element>
</define>
<define name="season-attlist" combine="interleave">
  <ref name="season-atts"/>
</define>
<!-- YEAR -->
<!--
  Year of publication, which should be expressed
  as a 4-digit number: "1776" or "1924"
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=year
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=year
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=year
-->
<define name="year">
  <element name="year">
    <ref name="year-attlist"/>
    <text/>
  </element>
</define>
<define name="year-attlist" combine="interleave">
  <ref name="year-atts"/>
</define>
<!-- STRING DATE ELEMENTS -->
<!--
  The elements that can be included along with
  data characters inside the content model of
  the <string-date> element
-->
<!-- DATE AS A STRING -->
<!--
  This is a representation of the date as a
  string; usually used for dates for which
  months and years are not given, but may be
  used for any date as a string (i.e., "January,
  2001" "Fall 2001" "March 11, 2001".
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=string-date
-->
<define name="string-date">
  <element name="string-date">
    <ref name="string-date-attlist"/>
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="string-date-elements"/>
      </choice>
    </zeroOrMore>
  </element>
</define>
<define name="string-date-attlist" combine="interleave">
  <ref name="string-date-atts"/>
</define>
<!-- ============================================================= -->
<!-- PERSON'S NAME ELEMENTS (BIBLIOGRAPHIC) -->
<!-- ============================================================= -->
<!-- NAME ALTERNATIVES MODEL -->
<!--
  Content model for the <name-alternatives>
  element
-->
<define name="name-alternatives-model">
  <oneOrMore>
    <ref name="name-alternatives.class"/>
  </oneOrMore>
</define>
<!-- NAME ALTERNATIVES -->
<!--
  Wrapper element for more than one version of
  a personal name, for eaxmple, the name in
  Japanese kana characters and a transliterated
  form of the name in Latin alphabet.
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=name-alternatives
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=name-alternatives
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=name-alternatives
-->
<define name="name-alternatives">
  <element name="name-alternatives">
    <ref name="name-alternatives-attlist"/>
    <ref name="name-alternatives-model"/>
  </element>
</define>
<define name="name-alternatives-attlist" combine="interleave">
  <ref name="name-alternatives-atts"/>
</define>
<!-- NAME OF PERSON (STRUCTURED) -->
<!--
  Wrapper element for personal names.
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=name
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=name
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=name
-->
<define name="name">
  <element name="name">
    <ref name="name-attlist"/>
    <choice>
      <group>
        <ref name="surname"/>
        <optional>
          <ref name="given-names"/>
        </optional>
      </group>
      <ref name="given-names"/>
    </choice>
    <optional>
      <ref name="prefix"/>
    </optional>
    <optional>
      <ref name="suffix"/>
    </optional>
  </element>
</define>
<define name="name-attlist" combine="interleave">
  <ref name="name-atts"/>
</define>
<!-- STRING NAME ELEMENTS -->
<!--
  The elements that can be included along with
  data characters inside the content model of
  the <string-name> element
-->
<!-- NAME OF PERSON (UNSTRUCTURED) -->
<!--
  Wrapper element for personal names where the
  stricter format of the <name> element cannot
  be followed. This is a very loose element,
  allowing data characters, generated text,
  and any or all of the naming elements.
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=string-name
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=string-name
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=string-name
-->
<define name="string-name">
  <element name="string-name">
    <ref name="string-name-attlist"/>
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="string-name-elements"/>
      </choice>
    </zeroOrMore>
  </element>
</define>
<define name="string-name-attlist" combine="interleave">
  <ref name="string-name-atts"/>
</define>
<!-- ============================================================= -->
<!-- PARTS OF A PERSON'S NAME ELEMENTS -->
<!-- ============================================================= -->
<!-- GIVEN (FIRST) NAMES ELEMENTS -->
<!--
  The elements that can be included along with
  data characters inside the content model of
  a <given-names>
-->
<define name="given-names-elements">
  <ref name="just-rendition"/>
</define>
<!-- GIVEN (FIRST) NAMES -->
<!--
  Includes all given names for a person, such
  as the first name, middle names, maiden
  name if used as part of the married name,
  etc.)
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=given-names
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=given-names
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=given-names
-->
<define name="given-names">
  <element name="given-names">
    <ref name="given-names-attlist"/>
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="given-names-elements"/>
      </choice>
    </zeroOrMore>
  </element>
</define>
<define name="given-names-attlist" combine="interleave">
  <ref name="given-names-atts"/>
</define>
<!-- SURNAME ELEMENTS -->
<!--
  The elements that can be included along with
  data characters inside the content model of
  a <surname>
  Design Note: This PE begins with an OR
  bar because %just-rendition; begins with an
  OR bar.
-->
<define name="surname-elements">
  <ref name="just-rendition"/>
</define>
<!-- SURNAME -->
<!--
  The surname (family name) of an individual.
  or the single name if there is only one
  name, for example, "Cher" or "Pele".
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=surname
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=surname
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=surname
-->
<define name="surname">
  <element name="surname">
    <ref name="surname-attlist"/>
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="surname-elements"/>
      </choice>
    </zeroOrMore>
  </element>
</define>
<define name="surname-attlist" combine="interleave">
  <ref name="surname-atts"/>
</define>
<!-- PREFIX ELEMENTS -->
<!--
  The elements that can be included along with
  data characters inside the content model of
  a <prefix>
  Design Note: This PE begins with an OR
  bar because %just-rendition; begins with an
  OR bar.
-->
<define name="prefix-elements">
  <ref name="just-rendition"/>
</define>
<!-- PREFIX -->
<!--
  Honorifics or other qualifiers that usually
  precede the surname, for example,  Professor,
  Rev., President, Senator, Dr., Sir, The
  Honorable, et al.
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=prefix
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=prefix
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=prefix
-->
<define name="prefix">
  <element name="prefix">
    <ref name="prefix-attlist"/>
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="prefix-elements"/>
      </choice>
    </zeroOrMore>
  </element>
</define>
<define name="prefix-attlist" combine="interleave">
  <ref name="prefix-atts"/>
</define>
<!-- SUFFIX ELEMENTS -->
<!--
  The elements that can be included along with
  data characters inside the content model of
  a <suffix>
  Design Note: This PE begins with an OR bar,
  it is inside %just-rendition;
-->
<define name="suffix-elements">
  <ref name="just-rendition"/>
</define>
<!-- SUFFIX -->
<!--
  Text used as a suffix to a person's name, for
  example: Sr. Jr. III, 3rd
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=suffix
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=suffix
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=suffix
-->
<define name="suffix">
  <element name="suffix">
    <ref name="suffix-attlist"/>
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="suffix-elements"/>
      </choice>
    </zeroOrMore>
  </element>
</define>
<define name="suffix-attlist" combine="interleave">
  <ref name="suffix-atts"/>
</define>
<!-- ============================================================= -->
<!-- EXTERNAL LINK ELEMENTS -->
<!-- ============================================================= -->
<!-- EXTERNAL LINK ELEMENTS -->
<!--
  The elements that can be included along with
  data characters inside the content model of
  an <ext-link>
  Design Note: All inline mixes begin with an
  OR bar, but since %link-elements; is an inline
  mix, the OR bar is already there.
-->
<!-- EXTERNAL LINK -->
<!--
  Link to an external file, such as Medline,
  Genbank, etc.  Linking may be accomplished
  using the XLink linking attributes.
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=ext-link
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=ext-link
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=ext-link
-->
<define name="ext-link">
  <element name="ext-link">
    <ref name="ext-link-attlist"/>
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="ext-link-elements"/>
      </choice>
    </zeroOrMore>
  </element>
</define>
<define name="ext-link-attlist" combine="interleave">
  <ref name="ext-link-atts"/>
</define>
<!-- ============================================================= -->
<!-- SHARED STRUCTURAL ELEMENTS -->
<!-- ============================================================= -->
<!-- ATTRIBUTION ELEMENTS -->
<!--
  The elements that can be included along with
  data characters inside the content model of
  an attribution
  Design Note: All inline mixes begin with an
  OR bar, but since %simple-phrase; is an
  inline mix, the OR bar is already there.
-->
<define name="attrib-elements">
  <ref name="emphasized-text"/>
</define>
<!-- ATTRIBUTION -->
<!--
  Source, author, formal thanks, or other
  information (other than copyright material)
  concerning the origins of an extract, a poem
  <verse-group> or similar element.
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=attrib
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=attrib
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=attrib
-->
<define name="attrib">
  <element name="attrib">
    <ref name="attrib-attlist"/>
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="attrib-elements"/>
      </choice>
    </zeroOrMore>
  </element>
</define>
<define name="attrib-attlist" combine="interleave">
  <ref name="attrib-atts"/>
</define>
<!-- DEFINITION LIST: DEFINITION MODEL -->
<!--
  Content model for the <def> element, which
  is used in contexts outside of <def-list>s
-->
<define name="def-model">
  <oneOrMore>
    <ref name="just-para.class"/>
  </oneOrMore>
</define>
<!-- DEFINITION LIST: DEFINITION -->
<!--
  Used in two senses:
  1) The definition, description, or other
  explanation of the word, phrase, or picture
  of a 2-part or definition list
  2) The definition or expansion of an
  abbreviation or acronym <abbrev>
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=def
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=def
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=def
-->
<define name="def">
  <element name="def">
    <ref name="def-attlist"/>
    <ref name="def-model"/>
  </element>
</define>
<define name="def-attlist" combine="interleave">
  <ref name="def-atts"/>
</define>
<!-- LABEL ELEMENTS -->
<!--
  The elements that can be included along with
  data characters inside the content model of
  the <label> element
-->
<!-- LABEL OF A FIGURE, REFERENCE, ETC. -->
<!--
  The number and any prefix word that comes
  before, for example, the caption of a Figure,
  such as "Figure 3." or "Exhibit 2.".
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=label
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=label
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=label
-->
<define name="label">
  <element name="label">
    <ref name="label-attlist"/>
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="label-elements"/>
      </choice>
    </zeroOrMore>
  </element>
</define>
<define name="label-attlist" combine="interleave">
  <ref name="label-atts"/>
</define>
<!-- PRICE ELEMENTS -->
<!--
  The elements that can be included along with
  data characters inside the content model of
  the <price> element
-->
<define name="price-elements">
  <ref name="emphasis.class"/>
</define>
<!-- PRICE -->
<!--
  Sale price of a work, typically a book or
  software package that is being reviewed
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=price
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=price
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=price
-->
<define name="price">
  <element name="price">
    <ref name="price-attlist"/>
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="price-elements"/>
      </choice>
    </zeroOrMore>
  </element>
</define>
<define name="price-attlist" combine="interleave">
  <ref name="price-atts"/>
</define>
<!-- 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.
-->
<!-- TITLE -->
<!--
  Heading or title for a structural element
  such as a Section, Figure, Boxed Text, etc.
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=title
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=title
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=title
-->
<define name="title">
  <element name="title">
    <ref name="title-attlist"/>
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="struct-title-elements"/>
      </choice>
    </zeroOrMore>
  </element>
</define>
<define name="title-attlist" combine="interleave">
  <ref name="title-atts"/>
</define>
<!-- ============================================================= -->
<!-- RELATED ARTICLE ELEMENTS -->
<!-- (METADATA AND STRUCTURAL) -->
<!-- ============================================================= -->
<!-- RELATED ARTICLE ELEMENTS -->
<!-- Elements allowed inside <related-article> -->
<!-- RELATED ARTICLE INFORMATION -->
<!--
  Wrapper element, used as a container for
  text links to a related article, possibly
  accompanied by a very brief description
  such as "errata (correction)".
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=related-article
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=related-article
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=related-article
-->
<define name="related-article">
  <element name="related-article">
    <ref name="related-article-attlist"/>
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="related-article-elements"/>
      </choice>
    </zeroOrMore>
  </element>
</define>
<define name="related-article-attlist" combine="interleave">
  <ref name="related-article-atts"/>
</define>
<!-- ============================================================= -->
<!-- SIGNATURE BLOCK ELEMENTS -->
<!-- ============================================================= -->
<!-- SIGNATURE BLOCK ELEMENTS -->
<!--
  Elements to be mixed with data characters
  inside the content model for the
  <sig-block> element.
-->
<!-- SIGNATURE BLOCK -->
<!--
  An area of text and graphic material placed
  at the end of an article or section to hold
  the graphical signature or other description
  of the person responsible for or attesting
  to the content.
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=sig-block
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=sig-block
-->
<define name="sig-block">
  <element name="sig-block">
    <ref name="sig-block-attlist"/>
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="sig-block-elements"/>
      </choice>
    </zeroOrMore>
  </element>
</define>
<define name="sig-block-attlist" combine="interleave">
  <ref name="sig-block-atts"/>
</define>
<!-- SIGNATURE ELEMENTS -->
<!--
  Elements to be mixed with data characters
  inside the content model for the
  <sig> element.
-->
<!-- SIGNATURE -->
<!--
  One contributor signature and associated
  material (such as a text restatement of the
  affiliation) inside a signature block.
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=sig
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=sig
-->
<define name="sig">
  <element name="sig">
    <ref name="sig-attlist"/>
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="sig-elements"/>
      </choice>
    </zeroOrMore>
  </element>
</define>
<define name="sig-attlist" combine="interleave">
  <ref name="sig-atts"/>
</define>
<!-- ============================================================= -->
<!-- FRONT MATTER/BACK MATTER ELEMENTS -->
<!-- ============================================================= -->
<!-- ACKNOWLEDGMENTS MODEL -->
<!-- Content model for the <ack> element -->
<define name="ack-model">
  <ref name="sec-opt-title-model"/>
</define>
<!-- ACKNOWLEDGMENTS -->
<!--
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=ack
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=ack
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=ack
-->
<define name="ack">
  <element name="ack">
    <ref name="ack-attlist"/>
    <ref name="ack-model"/>
  </element>
</define>
<define name="ack-attlist" combine="interleave">
  <ref name="ack-atts"/>
</define>
<!-- BIOGRAPHY MODEL -->
<!-- Content model for the <bio> element -->
<define name="bio-model">
  <ref name="sec-opt-title-model"/>
</define>
<!-- BIOGRAPHY -->
<!--
  Short biography of a person, usually the
  author
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=bio
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=bio
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=bio
-->
<define name="bio">
  <element name="bio">
    <ref name="bio-attlist"/>
    <ref name="bio-model"/>
  </element>
</define>
<define name="bio-attlist" combine="interleave">
  <ref name="bio-atts"/>
</define>
<!-- NOTES MODEL -->
<!-- Content model for the <notes> element -->
<define name="notes-model">
  <ref name="sec-opt-title-model"/>
</define>
<!-- NOTES -->
<!--
  A container element for the notes that may
  appear at the end of an Article or at the
  end of a Table, for example, a typical
  end-of-article note is a "Note in Proof".
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=notes
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=notes
-->
<define name="notes">
  <element name="notes">
    <ref name="notes-attlist"/>
    <ref name="notes-model"/>
  </element>
</define>
<define name="notes-attlist" combine="interleave">
  <ref name="notes-atts"/>
</define>
<!-- ============================================================= -->
<!-- ACCESSIBILITY ELEMENTS -->
<!-- ============================================================= -->
<!-- ALTERNATE TITLE TEXT FOR A FIGURE, ETC. -->
<!--
  Short phrase used to display or pronounce
  as an alternative to providing the full
  graphic for accessibility display or
  graphic-limited websites or devices. For
  example, <alt-text> may be used to display
  "behind" a figure or graphic.
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=alt-text
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=alt-text
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=alt-text
-->
<define name="alt-text">
  <element name="alt-text">
    <ref name="alt-text-attlist"/>
    <text/>
  </element>
</define>
<define name="alt-text-attlist" combine="interleave">
  <ref name="alt-text-atts"/>
</define>
<!-- LONG DESCRIPTION ELEMENTS -->
<!--
  Elements to be mixed with data characters
  inside the <long-desc> element
-->
<!-- LONG DESCRIPTION -->
<!--
  Description or summary of the content of a
  graphical object, table, or textual object
  such as a text box, used by some systems to
  make the object accessible, even to people
  or systems that cannot read/see/display the
  object.
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=long-desc
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=long-desc
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=long-desc
-->
<define name="long-desc">
  <element name="long-desc">
    <ref name="long-desc-attlist"/>
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="long-desc-elements"/>
      </choice>
    </zeroOrMore>
  </element>
</define>
<define name="long-desc-attlist" combine="interleave">
  <ref name="long-desc-atts"/>
</define>
<!-- ============================================================= -->
<!-- CUSTOM METADATA ELEMENTS -->
<!-- ============================================================= -->
<!-- CUSTOM METADATA GROUP MODEL -->
<!--
  Content model for the <custom-meta-group>
  element
-->
<define name="custom-meta-group-model">
  <oneOrMore>
    <ref name="custom-meta"/>
  </oneOrMore>
</define>
<!-- CUSTOM METADATA GROUP -->
<!--
  Some DTDs and schemas allow for metadata
  above and beyond that which can be specified
  by this DTD. This element is a grouping
  element used to contain all these additional
  metadata elements.
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=custom-meta-group
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=custom-meta-group
-->
<define name="custom-meta-group">
  <element name="custom-meta-group">
    <ref name="custom-meta-group-attlist"/>
    <ref name="custom-meta-group-model"/>
  </element>
</define>
<define name="custom-meta-group-attlist" combine="interleave">
  <empty/>
</define>
<!-- CUSTOM METADATA MODEL -->
<!--                     Content model for the <custom-meta> element -->
<define name="custom-meta-model">
  <ref name="meta-name"/>
  <ref name="meta-value"/>
</define>
<!-- CUSTOM METADATA -->
<!--
  Some DTDs and schemas allow for metadata
  above and beyond that which can be specified
  by this DTD. This element is used to capture
  metadata elements that have not been defined
  explicitly in the models for this DTD, so
  that the intellectual content will not be lost.
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=custom-meta
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=custom-meta
-->
<define name="custom-meta">
  <element name="custom-meta">
    <ref name="custom-meta-attlist"/>
    <ref name="custom-meta-model"/>
  </element>
</define>
<define name="custom-meta-attlist" combine="interleave">
  <ref name="custom-meta-atts"/>
</define>
<!-- METADATA DATA NAME ELEMENTS -->
<!--
  Elements that may be used, along with data
  characters, inside the <meta-name> 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.
-->
<!-- METADATA DATA NAME FOR CUSTOM METADATA -->
<!--
  The <custom-meta> element
  allows for an infinite number of name/value
  pairs, with few constraints on the length or
  content of the value. This element contains
  the name of the metadata field.
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=meta-name
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=meta-name
-->
<define name="meta-name">
  <element name="meta-name">
    <ref name="meta-name-attlist"/>
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="meta-name-elements"/>
      </choice>
    </zeroOrMore>
  </element>
</define>
<define name="meta-name-attlist" combine="interleave">
  <ref name="meta-name-atts"/>
</define>
<!-- METADATA DATA VALUE ELEMENTS -->
<!--
  Elements that may be used, along with data
  characters, inside the <meta-value> 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.
-->
<!-- METADATA DATA VALUE FOR CUSTOM METADATA -->
<!--
  The <custom-meta> element
  allows for an infinite number of name/value
  pairs, with few constraints on the length or
  content of the value. This element contains
  the value of the metadata field that is named
  by the <meta-name> element.
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=meta-value
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=meta-value
-->
<define name="meta-value">
  <element name="meta-value">
    <ref name="meta-value-attlist"/>
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="meta-value-elements"/>
      </choice>
    </zeroOrMore>
  </element>
</define>
<define name="meta-value-attlist" combine="interleave">
  <ref name="meta-value-atts"/>
</define>
<!-- ============================================================= -->
<!-- PROCESSING ALTERNATIVES ELEMENTS -->
<!-- ============================================================= -->
<!-- ALTERNATIVES MODEL -->
<!--
  Model for the <alternatives> processing
  alternatives element
-->
<define name="alternatives-model">
  <oneOrMore>
    <choice>
      <ref name="alternatives-display.class"/>
      <ref name="math.class"/>
    </choice>
  </oneOrMore>
</define>
<!-- ALTERNATIVES FOR PROCESSING -->
<!--
  Container element used to hold a group of
  processing alternatives, for example, a
  single logical <graphic> that ships in
  different formats (tif, gif, jpeg) or
  different resolutions. This element is a
  physical grouping to contain multiple
  logically equivalent (substitutable) versions
  of the same information object.
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=alternatives
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=alternatives
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=alternatives
-->
<define name="alternatives">
  <element name="alternatives">
    <ref name="alternatives-attlist"/>
    <ref name="alternatives-model"/>
  </element>
</define>
<define name="alternatives-attlist" combine="interleave">
  <ref name="alternatives-atts"/>
</define>
<!-- TEXTUAL FORM ELEMENTS -->
<!-- Model for the <textual-form> element -->
<!-- TEXTUAL FORM -->
<!--
  Container element (for use only inside
  <alternatives>) that will hold text and
  mixed content objects that act as alternatives
  to, for example, graphics.
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=textual-form
  http://jats.nlm.nih.gov/publishing/tag-library/0.4/index.html?elem=textual-form
  http://jats.nlm.nih.gov/articleauthoring/tag-library/0.4/index.html?elem=textual-form
-->
<define name="textual-form">
  <element name="textual-form">
    <ref name="textual-form-attlist"/>
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="textual-form-elements"/>
      </choice>
    </zeroOrMore>
  </element>
</define>
<define name="textual-form-attlist" combine="interleave">
  <ref name="textual-form-atts"/>
</define>
<!-- ============================================================= -->
<!-- GENERATED TEXT OR PUNCTUATION -->
<!-- ============================================================= -->
<!-- X TEXT ATTRIBUTES -->
<!-- Attributes for the element <x> -->
<define name="x-atts">
  <optional>
    <attribute name="content-type"/>
  </optional>
  <optional>
    <attribute name="xml:space" a:defaultValue="preserve">
      <value>preserve</value>
    </attribute>
  </optional>
  <optional>
    <attribute name="specific-use"/>
  </optional>
  <optional>
    <attribute name="xml:lang">
      <data type="NMTOKEN"/>
    </attribute>
  </optional>
</define>
<!-- X ELEMENTS -->
<!-- Elements for use inside the <x> element -->
<!-- X - GENERATED TEXT AND PUNCTUATION -->
<!--
  A container element to hold punctuation or
  other generated text, typically when 1) an
  archive decides not to have any text
  generated and thus to pre-generate such
  things as commas or semicolons between
  keywords or 2) when an archive receives text
  with <x> tags embedded and wishes to retain
  them.
  Details at:
  http://jats.nlm.nih.gov/archiving/tag-library/0.4/index.html?elem=x
-->
<define name="x">
  <element name="x">
    <ref name="x-attlist"/>
    <zeroOrMore>
      <choice>
        <text/>
        <ref name="x-elements"/>
      </choice>
    </zeroOrMore>
  </element>
</define>
<define name="x-attlist" combine="interleave">
  <ref name="x-atts"/>
</define>

</grammar> <!– ================== End Common (Shared) Elements Module ====== –>