Format Class Elements



<!-- ============================================================= -->
<!--  MODULE:    Formatting Element Classes                        -->
<!--  VERSION:   1.0                                               -->
<!--  DATE:      December 2002                                     -->
<!--                                                               -->
<!-- ============================================================= -->

<!-- ============================================================= -->
<!--                    PUBLIC DOCUMENT TYPE DEFINITION            -->
<!--                        TYPICAL INVOCATION                     -->
<!--
 "-//NLM//DTD Archiving and Interchange DTD Suite Formatting Element Classes v1.0 20021201//EN"
  Delivered as file "format.ent"                                   -->
<!-- ============================================================= -->

<!-- ============================================================= -->
<!-- SYSTEM:     NLM Archiving and Interchange DTD Suite           -->
<!--                                                               -->
<!--                                                               -->
<!-- PURPOSE:    Elements concerned with rendition of output, for  -->
<!--             example printing on a page or display on a screen -->
<!--                                                               -->
<!-- CONTAINS:   1) Default definitions of format classes          -->
<!--             2) Appearance class elements                      -->
<!--             3) Break class elements                           -->
<!--             4) Typographic emphasis elements                  -->
<!--             5) Advanced overline and underline elements       -->
<!--                                                               -->
<!-- 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. However,   -->
<!--             NLM requests that the following statement be      -->
<!--             included as a comment in all derivative DTDs or   -->
<!--             DTD modules:                                      -->
<!--             "Created using the NLM Archiving and Interchange  -->
<!--             DTD suite."                                       -->
<!--                                                               -->
<!--             Suggestions for refinements and enhancements to   -->
<!--             the DTD suite should be sent in email to:         -->
<!--                 pmc@ncbi.nlm.nih.gov                          -->
<!--             The suite has been set up to be extended using a  -->
<!--             new DTD and a customization module to redefine    -->
<!--             the many Parameter Entities. Do not modify the    -->
<!--             suite directly or redistribute modified versions  -->
<!--             of the suite.                                     -->
<!--                                                               -->
<!-- ORIGINAL CREATION DATE:                                       -->
<!--             December 2002                                     -->
<!--                                                               -->
<!-- CREATED BY: Jeff Beck       (NCBI)                            -->
<!--             Deborah Lapeyre (Mulberry Technologies, Inc.)     -->
<!--             Bruce Rosenblum (Inera Inc.)                      -->
<!--                                                               -->
<!--             NLM thanks the Mellon Foundation's e-Journal      -->
<!--             Archiving Program and Harvard University          -->
<!--             Libraries for their contribution to Version 1.0   -->
<!--             of the suite: first, for proposing that a draft   -->
<!--             archiving NLM DTD for life sciences journals be   -->
<!--             extended to accommodate journals in all           -->
<!--             disciplines, and then for funding Bruce           -->
<!--             Rosenblum's collaboration with other DTD authors  -->
<!--             in completing Version 1.0.                        -->
<!--                                                               -->
<!-- ============================================================= -->


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

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


                                                                   -->


<!-- ============================================================= -->
<!--                    PARAMETER ENTITY DEPENDENCIES
                        Requires the following parameter entities
                        be defined before calling this module,
                        usually accomplished in the Customization
                        Module for the specific DTD:
                        %emphasized-text; - what elements can be
                                             inside an emphasis
                                             element               -->
<!-- ============================================================= -->


<!-- ============================================================= -->
<!--                    DEFAULT DEFINITION OF THE FORMAT CLASSES   -->
<!-- ============================================================= -->


<!--                    APPEARANCE CLASS ELEMENTS                  -->
<!--                    Names those elements (inherited from the
                        XHTML table DTD that are only concerned with
                        appearance, not with structure or content.
                        Use of these elements is to be discouraged.-->
<!ENTITY % appearance.class
                        "font | hr"                                  >


<!--                    FORCED BREAK FORMATTING CLASS ELEMENTS     -->
<!--                    Element to force a formatting break such as
                        a line break                               -->
<!ENTITY % break.class  "break"                                      >


<!--                    EMPHASIS/RENDITION ELEMENTS                -->
<!--                    Elements concerning with marking the location
                        of typographical emphasis (highlighting)
                        DTD Design Note: There are no emphasis
                        elements for <fractur>, <openface> (black
                        board), <script>, etc. because this DTD
                        recommends the use of the STIX extensions
                        to accomplish this, as soon as they are
                        available.                                  -->
<!ENTITY % emphasis.class
                        "bold | italic | monospace |
                         overline | overline-start | overline-end |
                         sc | strike | sub | sup | underline |
                         underline-start | underline-end "           >


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


<!--                    UNDERLINE ATTRIBUTES                       -->
<!--                    Attributes for the <underline> element     -->
<!ENTITY % underline-atts
            "underline-style
                        CDATA                              #IMPLIED" >


<!-- ============================================================= -->
<!--                    APPEARANCE CLASS ELEMENTS                  -->
<!-- ============================================================= -->


<!--                    FONT                                       -->
<!--                    Defined to allow the user to specify an
                        explicit (non stylesheet-generated) font.
                        This element is restricted to use inside
                        table cells <td> and <th> and was inherited
                        from the XHTML table DTD.
                        Authoring Note: Usage is discouraged.      -->
<!ELEMENT  font         (#PCDATA %rendition-plus;)*                  >
<!ATTLIST  font
             color      CDATA                             #IMPLIED   >


<!--                    HORIZONTAL RULE                            -->
<!--                    Defined to allow the user to specify an
                        explicit (non machine-generated) rule.
                        This element is restricted to use inside
                        table cells <td> and <th> and was inherited
                        from the XHTML table DTD.
                        Authoring Note: Usage is discouraged.      -->
<!ELEMENT  hr           EMPTY                                        >


<!-- ============================================================= -->
<!--                    BREAK CLASS ELEMENTS                       -->
<!-- ============================================================= -->


<!--                    LINE BREAK                                 -->
<!--                    Defined to allow the user to specify an
                        explicit (non machine-generated) linebreak.
                        This element is restricted to a very few
                        contexts, for example inside <title>s
                        and inside table cells <td> and <th>.
                        Authoring Note: Usage is discouraged.      -->
<!ELEMENT  break        EMPTY                                        >


<!-- ============================================================= -->
<!--                    EMPHASIS/RENDITION CLASS ELEMENTS          -->
<!-- ============================================================= -->


<!--                    BOLD                                       -->
<!--                    Used to mark text that should appear in bold
                        face type for print or display             -->
<!ELEMENT  bold         (#PCDATA | %emphasized-text;)*               >


<!--                    ITALIC                                     -->
<!--                    Used to mark text that should appear in
                        italic type on output.                     -->
<!ELEMENT  italic       (#PCDATA | %emphasized-text;)*               >


<!--                    MONOSPACE TEXT (TYPEWRITER TEXT)           -->
<!--                    Used to mark text that should appear in
                        a non-proportional font, such as courier
                        for display or print.  This is common for
                        computer code examples, man-machine
                        dialogues, etc.                            -->
<!ELEMENT  monospace    (#PCDATA | %emphasized-text;)*               >



<!--                    SMALL CAPS                                 -->
<!--                    Used to mark text that should appear in a
                        font which creates smaller capital letters
                        on output.                                 -->
<!ELEMENT  sc           (#PCDATA | %emphasized-text;)*               >


<!--                    OVERLINE                                   -->
<!--                    Used to mark text that should appear with a
                        horizontal line above each character in
                        display or print                           -->
<!ELEMENT  overline     (#PCDATA | %emphasized-text;)*               >


<!--                    STRIKE THROUGH                             -->
<!--                    Used to mark text that should appear with
                        a line through it so as to appear "struck out"
                        on display or print                        -->
<!ELEMENT  strike       (#PCDATA | %emphasized-text;)*               >


<!--                    SUBSCRIPT                                  -->
<!--                    A number or expression that is set lower
                        than the baseline and slightly smaller,
                        to act as an inferior or subscript         -->
<!ELEMENT  sub          (#PCDATA | %emphasized-text;)*               >

<!--         arrange    Used to indicate whether multiple subscripts
                        or superscripts that apply to the same
                        character should stack, i.e., be placed
                        one above the other, or stagger, i.e., be
                        stretched out in a line.                   -->
<!ATTLIST  sub
             arrange    (stack | stagger)                  #IMPLIED  >


<!--                    SUPERSCRIPT                                -->
<!--                    A number or expression that is set higher
                        than the baseline and slightly smaller,
                        to act as a superior or superscript        -->
<!ELEMENT  sup          (#PCDATA | %emphasized-text;)*               >

<!--         arrange    Used to indicate whether multiple subscripts
                        or superscripts that apply to the same
                        character should stack, i.e., be placed
                        one above the other as compactly as
                        possible, or stagger, i.e., be stretched
                        out in a line.                             -->
<!ATTLIST  sup
             arrange    (stack | stagger)                  #IMPLIED  >


<!--                    UNDERLINE                                  -->
<!--                    Used to mark text that should appear with
                        a horizontal line beneath it for display
                        or print                                   -->
<!ELEMENT  underline    (#PCDATA | %emphasized-text;)*               >
<!ATTLIST  underline
             %underline-atts;                                        >


<!-- ============================================================= -->
<!--                    ADVANCED UNDERLINE AND OVERLINE ELEMENTS
                        (From the Elsevier DTD, used mostly within
                        mathematics, when ordinary MathML underline
                        and overline functions are inadequate. The
                        elements act as milestone tags marking the
                        start and end of over or underlining that
                        may extend across element boundaries.)     -->
<!-- ============================================================= -->


<!--                    OVERLINE START                             -->
<!--                    The start of a milestone-created overline, the
                        end of ornament will be marked by an
                        Overline End element.
                        Remarks:
                        The <overline-start> and <overline-end>
                        elements enable creation of overlines in
                        content, most commonly in mathematical
                        content, where an normal overline tag
                        <overline> would break the XML
                        well-formedness rule that no two elements
                        may overlap.  The overline created using
                        these two elements can have arbitrary start
                        and end points because the start and end
                        elements are paired through the use of the
                        unique IDs, not as the start and end of a
                        single element.
                        For example, in the text "ABCD", if the text
                        "ABC" is the be overlined and the text "CD"
                        is to be underlined, ordinary overlining with
                        <overline> would create invalid tag overlap.
                        The text could be correctly tagged, using the
                        Overline Start and Overline End elements
                        as:
                          <overline-start id="ovl4"/>AB
                          <underline-start id="ul1"/>C
                          </overline-end rid="ov14"/>D
                          <underline-end rid="ul1"/>
                                                                   -->
<!ELEMENT  overline-start
                        EMPTY                                        >
<!--         id         Unique identifier so the element may be
                        referenced                                 -->
<!ATTLIST  overline-start
             id         ID                                 #REQUIRED >


<!--                    OVERLINE END                               -->
<!--                    The end of a milestone-created overline, the
                        start of ornament will be marked by an
                        Overline Start element.                    -->
<!ELEMENT  overline-end EMPTY                                        >
<!--         rid        Points to the identifier of a definition,
                        so that a term and definition may be linked
                                                                   -->
<!ATTLIST  overline-end
             rid        IDREF                              #REQUIRED >


<!--                    UNDERLINE START                            -->
<!--                    The start of a milestone-created underline,
                        the end of ornament will be marked by an
                        Underline End element.
                        Remarks: The <underline-start> and
                        <underline-end> elements enable creation of
                        underlines in content, most commonly in
                        mathematical content, where an normal
                        underline tag <underline> would break the
                        XML well-formedness rule that no two elements
                        may overlap.  The underline created using
                        these two elements can have arbitrary start
                        and end points because the start and end
                        elements are paired through the use of the
                        unique IDs, not as the start and end of a
                        single element.
                        For example, in the text "ABCD", if the text
                        "ABC" is the be overlined and the text "CD"
                        is to be underlined, ordinary overlining with
                        <overline> would create invalid tag overlap.
                        The text could be correctly tagged, using the
                        Overline Start and Overline End elements
                        as:
                          <overline-start id="ovl"/>AB
                          <underline-start id="ul1"/>C
                          </overline-end rid="ov1"/>D
                          <underline-end rid="ul1"/>
                                                                   -->
<!ELEMENT  underline-start
                        EMPTY                                        >
<!--         id         Unique identifier so the element may be
                        referenced                                 -->
<!ATTLIST  underline-start
             id         ID                                 #REQUIRED >


<!--                    UNDERLINE END                              -->
<!--                    The end of a milestone-created underline, the
                        start of ornament will be marked by an
                        Underline Start element.                    -->
<!ELEMENT  underline-end
                        EMPTY                                         >
<!--         rid        Points to the identifier of a definition,
                        so that a term and definition may be linked
                                                                    -->
<!ATTLIST  underline-end
             rid        IDREF                               #REQUIRED >


<!-- ================== End Format Class Module =================== -->