<!-- ============================================================= -->
<!-- MODULE:    Balisage Conference Paper DTD                      -->
<!-- VERSION:   1.5                                                -->
<!-- DATE:      October 12, 2020                                   -->
<!--                                                               -->
<!-- ============================================================= -->
     
<!-- ============================================================= -->
<!-- SYSTEM:    Balisage: The Markup Conference papers             -->
<!--                                                               -->
<!-- PURPOSE:   Created for validation of papers submitted         -->
<!--            for Balisage: The Markup Conference                -->
<!--                                                               -->
<!-- CREATED BY:                                                   -->
<!--            Mulberry Technologies, Inc. (MS/BTU)               -->
<!--            17 West Jefferson Street, Suite 207                -->
<!--            Rockville, MD  20850  USA                          -->
<!--            Phone:  +1 301/315-9631                            -->
<!--            Fax:    +1 301/315-8285                            -->
<!--            e-mail: info@mulberrytech.com                      -->
<!--            WWW:    http://www.mulberrytech.com                -->
<!--                                                               -->
<!-- ============================================================= -->

<!-- ============================================================= -->
<!--                    DESIGN CONSIDERATIONS                      -->
<!-- ============================================================= -->
<!-- 
     The goal of this DTD is to define a very small tag set that
     describes documents that are valid to DocBook (5.0CR7). 
     There was no intent to make this DTD or the associated XSD or
     RNG descriptions of the tag set subsets of DocBook; we simply 
     want the documents described to be valid to DocBook and thus 
     to be able to make use of presentation and authoring tools
     that have been created for use with DocBook.                  -->

<!-- ============================================================= -->
<!--                    OWNERSHIP AND LICENSES                     -->
<!-- ============================================================= -->
<!-- 

     This DTD/schema was developed by, and is copyright 2008 
     Mulberry Technologies, Inc. 
     
     DocBook, with which the structures in this DTD/schema are 
     intended to be compatible, carries the following license, 
     which is reproduced here because this DTD/schema could be 
     considered a modification of the DocBook schema:
     
     Copyright 1992-2007 HaL Computer Systems, Inc.,
     O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu 
     Software Corporation, Norman Walsh, Sun Microsystems, Inc., 
     and the Organization for the Advancement of Structured 
     Information Standards (OASIS).
    
     Release: $Id: docbook.rnc 7474 2007-09-28 18:50:07Z nwalsh $
    
     Permission to use, copy, modify and distribute the DocBook 
     schema and its accompanying documentation for any purpose 
     and without fee is hereby granted in perpetuity, provided 
     that the above copyright notice and this paragraph appear 
     in all copies. The copyright holders make no representation 
     about the suitability of the schema for any purpose. It is 
     provided "as is" without expressed or implied warranty.
    
     If you modify the DocBook schema in any way, label your 
     schema as a variant of DocBook. See the reference 
     documentation 
     (http://docbook.org/tdg5/en/html/ch05.html#s-notdocbook) 
     for more information.
    
     Please direct all questions, bug reports, or suggestions 
     for changes to the docbook@lists.oasis-open.org mailing 
     list. For more information, see 
     http://www.oasis-open.org/docbook/.
                                                                   -->

<!-- ============================================================= -->
<!--                    CHANGE HISTORY                             -->
<!-- ============================================================= -->
<!-- 
     Version  Reason/Occasion              (who) vx.x (yyyy-mm-dd)
     =============================================================
                                           (trg) v1.5 (2020-10-12)

32. Add "svg" as value to @format for IMAGEDATA

                                           (ndw) v1.5 (2020-07-13)

31. Added PHRASE as an alternative to EMPHASIS in BIBLIOMIXED,
    TITLE, SUBTITLE, LINK, PROGRAMLISTING, MATHPHRASE, TERM,
    CITATION, EMPHASIS, QUOTE, PHRASE, TH, and TD

30. Made TEXTOBJECT optional, but not repeatable, in media objects.

29. Replaced PARA+ in TEXTOBJECT with para.level+; it's perfectly
    reasonable to want a list in a long description. It's less
    obviously reasonable to want a figure and wanting a table lies
    somewhere in between. On balance, reuse the existing model
    rather than inventing an ad hoc replacement.

28. Removed PHRASE from the content model of TEXTOBJECT to reduce
    confusion/complexity in its relationship to alt.

27. Added the ALT element for short, alt-text descriptions of media
    objects.

26. Renamed to 1.5 to avoid confusion with any copies of 1.4 that
    might be floating around.
     
                                           (ndw) v1.4 (2020-06-20)

25. Added the language attribute to programlisting.

24. Made PHRASE more generally available, provided a ROLE attribute
    to allow authors to identify the reason for the phrase.

23. Renamed URI to uri (lowercase) for compatibility with DocBook.

                                           (trg) v1.4 (2020-04-17)

22.  Attribute changes <biblioid> to accommodate 
     ORCID information for bibliographic entries' authors:
       @class - new value "other"
       @otherclass - new optional attribute used when 
           @class="other"
           (@otherclass is limited to one value "orcid")

21.  Add <uri> element to the <author> content model to hold the
     ORCID identifier for the author. The new element will include 
     a @type attribute with a single permissible value "orcid".

20.  Added @summary attribute to the following elements to 
     provide accessibility content.  Use of @summary, ideally, 
     will be for shorter descriptions (similar to HTML <alt>); 
     <caption> (only present in <table>) can be used for longer 
     descriptions.     
       informaltable
       table

19.  Added new <textobject> element to the following:
       inlinemediaobject
       mediaobject

18.  Created modified form of DocBook accessibility element 
     <textobject>; <textobject> to contain as alternatives new 
     element <phrase> (similar to HMTL's <alt> for simple 
     descriptions) and <para> (for more complex descriptions, 
     thus similar to HTML's <longdesc>).     
     
17.  Updated DTD to version 1.4 and changed article/@version to 
     "5.0-subset Balisage-1.4".

                                           (wap) v1.3 (2010-10-15)
16.  Incremented article/@version to "5.0-subset Balisage-1.3"

15.  FURTHER TIGHTENING CROSS-REFERENCING

     In order to support cross-referencing more gracefully, or
     rather not to promise cross-referencing implicitly in
     places where it is underspecified, we remove xref
     targeting attributes (@xml:id and @xreflabel) from these
     elements:
       para
       informaltable
       mediaobject
       itemizedlist
       orderedlist
       listitem
       variablelist
       varlistentry
       programlisting
     
     In many cases, a cross-reference to one of these should
     be made by placing the object in a figure or table that
     can be cross-referenced. In others, an implicit cross-
     reference should be adequate.

                                           (wap) v1.2 (2010-04-06)
14.  ALLOWING PARA.LEVEL, NOT JUST PARA, INSIDE ARTICLE

     Oh dear, para-level items other than para have not been
     allowed outside sections. This leads to introducing a 
     para.level entity so we can treat this systematically.

                                           (wap) v1.2 (2010-03-03)
13.  MORE TWEAKS AND ADJUSTMENTS
     
     Added inline elements to citation
     
     Removed personname from attribution and added xref

     Changed declaration of table/@border to NMTOKEN for
     consistency with informaltable and Docbook (not HTML)
     
     Parameterized info element content model, to enable
     the next changes.
     
     Removed legalnotice and references to it. Instead, this
     element will be provided in production, to papers valid
     to the new Balisage-1-2-production.dtd.

     Removed confgroup element, which will be handled likewise.

     Redefined role attribute on keywordset to have value
     'author' #REQUIRED to fix the value to 'author' when
     using this DTD. Restricted the info content model
     to allow only one keywordset.
     
     Parameterized attribute declarations for layout
     attributes on figure and table, allowing these to
     be removed to the production DTD.

                                           (wap) v1.2 (2010-02-04)
13.  SYSTEMATIC CLEANUP OF FEATURES NOT BEING USED BY BALISAGE
     
     Changed (fixed) value of article/@version to
     5.0-subset Balisage-1.2.
     
     Modified element and attribute descriptions.

     Fixed up XLink declarations: unused attributes are removed 
     and attributes`we need to control from the top are #FIXED. 
     Tagging will now be more lightweight.
     
     Removed XLink attributes not needed in Balisage proceedings.

     footnoteref is removed; xref can be used instead.
     
     footnote, email and link removed from content model for link.
     
     Made imagedata/@format #IMPLIED. This info is either redundant
     or wrong, since the server will determine the MIME type based
     on the file name; the attribute is retained at all only
     for backward compatibility (and should be validated against
     the file name suffix going forward).
     
     Removed unused formatting specs from figure.
     
     Removed special formatting specs (not being used)
     from itemizedlist, orderedlist, programlisting.
          
     Fixed bug at tail of blockquote content model: citation
     was used where attribution was intended (and is required by
     Docbook).

     Removed @label throughout (these items will be autonumbered).

     Renamed db.common.attributes to xref.target.attributes and 
     removed it from elements to which Balisage does not support
     cross-referencing.

12.  Renamed table/@id to table/@xml:id for consistency and
     conformity with Docbook

                                           (wap) v1.1 (2010-02-01)
11.  Moved xlink declaration attribute to the top level

                                           (wap) v1.1 (2009-07-05)
10.  Added <biblioid> to <bibliomixed>. Its @class must be 'doi'

                                           (TRG) v1.1 (2008-01-21)
 9.  Deleted the following attributes from <imagedata> in favor 
     of a simplified sizing function via the "scale" attribute:
       - align
       - valign
       - width
       - contentwidth
       - scalefit
       - depth
       - contentdepth
       
 8.  Changed OR grouping in <appendix> to zero or more objects 
     instead of one or more.

 7.  Added <xref> to the following elements' content models:
       - <title>
       - <subtitle>
       - <para>
       - <term>
       - <emphasis>
       - <th>
       - <td>

 6.  Added <quote> to the following elements' content models:
       - <bibliomixed>
       - <title>
       - <subtitle>
       - <link>
       - <para>
       - <term>
       - <emphasis>
       - <th>
       - <td>

 5.  Created two new elements: <xref> and <quote>. The <xref>
     element has an associated attribute, "linkend", while the
     <quote> element uses the common label and identifier
     attributes.

 4.  Removed <footnoteref> from the content model for <link>.

 3.  Removed the "label" attribute from <footnoteref>.

 2.  Changed the content model of <article> to permit zero or
     more <para> rather than one or more <para>.

     =============================================================
                                           (BTU)  v1.0 (2008-01-18)
 1.  Added fixed version attribute to article, to identify that 
     the document is tagged to the Balisage 1 subset of DocBook 5.
                                                                   -->
<!-- ============================================================= -->
<!--                    INTERNAL PARAMETER ENTITIES                -->
<!-- ============================================================= -->


<!--                    XREF TARGET ATTRIBUTES                     -->
<!--                    Attributes used to identify and or label 
                        an element for purposes of internal cross-
                        referencing.                               -->
<!--         xml:id     Identifies the unique ID value of the 
                        element.
             xreflabel  Provides the text that is to be generated 
                        for a cross reference to the element.      -->
<!ENTITY % xref.target.attributes 
            "xml:id     ID                                #IMPLIED
             xreflabel  CDATA                             #IMPLIED"  >


<!--                    INFO ELEMENT CONTENT                       -->
<!--                    Content model for the info element.        -->
<!ENTITY % info.content "abstract, author+, keywordset?"             >


<!--                    PARA LEVEL CONTENT                         -->
<!--                    Most places a para may appear, so may a
                        nearly-arbitrary mix of other things.      -->
<!ENTITY % para.level   "blockquote | equation | figure |
                         informaltable | itemizedlist | 
                         mediaobject | note | orderedlist | para | 
                         programlisting | table | variablelist"      >


<!--                    PAGE LAYOUT ATTRIBUTES                     -->
<!--                    Attributes for specifying page layout.     -->
<!ENTITY % page.layout.attributes ""                                 >


<!--                    TABLE LAYOUT ATTRIBUTES                    -->
<!--                    Attributes for specifying table layout.    -->
<!ENTITY % table.layout.attributes ""                                >


<!-- ============================================================= -->
<!--                    DEFINITION DOC TOP LEVEL                   -->
<!-- ============================================================= -->


<!--                    ARTICLE                                    -->
<!--                    One Balisage paper, essay, or opinion 
                        piece                                      -->
<!ELEMENT  article      (title, subtitle?, info, (%para.level;)*, 
                         section*, appendix*, bibliography?)         >
<!--         xml:id     Identifies a unique ID value of the 
                        element.
             version    Version of the DTD; the value of this 
                        attribute is fixed at 
                        "5.0-subset Balisage-1.3"
             xmlns      Pseudo-attribute used to identify the 
                        default namespace, for DocBook
             xmlns:xlink
                        Namespace declaration pseudo-attribute
                        for xlink.                                 -->
<!ATTLIST  article
             xml:id     ID                                 #IMPLIED
             version    CDATA      #FIXED "5.0-subset Balisage-1.5"
             xmlns      CDATA                                 
                             #FIXED "http://docbook.org/ns/docbook"
             xmlns:xlink  
                        CDATA #FIXED "http://www.w3.org/1999/xlink"  >


<!-- ============================================================= -->
<!--                    ARTICLE ELEMENT DEFINITIONS                -->
<!-- ============================================================= -->

<!--                    INFO                                       -->
<!--                    Metadata for the paper, including
                        information that may be exposed to or
                        through other systems.                     -->
<!ELEMENT  info         (%info.content;)                             >


<!--                    APPENDIX                                   -->
<!--                    At the author's discretion, any original
                        material related or supplementary to the
                        paper but not properly part of it.         -->
<!ELEMENT  appendix     (title, subtitle?, (%para.level;)*, 
                         section*)                                   >
<!ATTLIST  appendix
             %xref.target.attributes;                                >


<!--                    BIBLIOGRAPHY                               -->
<!--                    A list of works referenced in the paper.   -->
<!ELEMENT  bibliography (title, bibliomixed+)                        >


<!-- ============================================================= -->
<!--                    INFO ELEMENT DEFINITIONS                   -->
<!-- ============================================================= -->


<!--                    ABSTRACT                                   -->
<!--                    Summary of the paper's content.            -->
<!ELEMENT  abstract     (para)+                                      >


<!--                    AUTHOR                                     -->
<!--                    Wrapper for author related elements.       -->
<!ELEMENT  author       (personname, personblurb, (affiliation |
                         email | link | uri)*)                       >


<!--                    LEGAL NOTICE                               -->
<!--                    Statement of copyright date and ownership 
                        and licensing for the conference paper, in 
                        presentation form.                         -->
<!ELEMENT  legalnotice  (para)+                                      >


<!--                    CONFERENCE GROUP                           -->
<!--                    Wrapper for conference information.        -->
<!ELEMENT  confgroup    (conftitle, confdates)                       >


<!--                    CONFERENCE DATES                           -->
<!--                    Dates of conference at which the paper is 
                        presented (not the specific date the paper 
                        was presented).                            -->
<!ELEMENT  confdates    (#PCDATA)                                    >


<!--                    CONFERENCE TITLE                           -->
<!--                    Identifying the specific conference or
                        event where the paper was presented.       -->
<!ELEMENT  conftitle    (#PCDATA)                                    >


<!--                    KEYWORD SET                                -->
<!--                    A set of keywords describing the paper.    -->
<!ELEMENT  keywordset   (keyword+)                                   >
<!--         role       Identifies the keywordset by type.         -->
<!ATTLIST  keywordset
             role       (author)                          #REQUIRED  >


<!--                    KEYWORD                                    -->
<!--                    A word or phrase describing the content of 
                        the paper. Depending on the role of the
                        keywordset, this may be required to conform
                        to a controlled vocabulary.                -->
<!ELEMENT  keyword      (#PCDATA)*                                   >


<!-- ============================================================= -->
<!--                    AUTHOR ELEMENT DEFINITIONS                 -->
<!-- ============================================================= -->


<!--                    PERSON NAME                                -->
<!--                    Name of an author of a document.           -->
<!ELEMENT  personname   (firstname | surname | lineage | 
                         othername)*                                 >


<!--                    PERSON BLURB                               -->
<!--                    Short description of the author, typically 
                        including biographical details such as 
                        employer and education.                    -->
<!ELEMENT  personblurb  (para)+                                      >


<!--                    AFFILIATION                                -->
<!--                    Institutional or corporate affiliation
                        of an author.                              -->
<!ELEMENT  affiliation  (jobtitle*, orgname?)                        >


<!--                    EMAIL                                      -->
<!--                    Contact email address for an author.       -->
<!ELEMENT  email        (#PCDATA)                                    >


<!--                    URI (Uniform Resource Identifier)          -->
<!--                    URI for ORCID information pertaining to 
                        an author.                                 
                        Note:  This will not be a "live" link, 
                        but instead will simply preserve the 
                        URI for the author's ORCID entry.          -->
<!ELEMENT  uri          (#PCDATA)                                    >
<!--         type       Identifies the URI as that for ORCID
                        information about the author; "orcid" is 
                        the only permissible value currently.      -->
<!ATTLIST  uri
             type       (orcid)                           #REQUIRED  >


<!-- ============================================================= -->
<!--                    PERSON NAME ELEMENT DEFINITIONS            -->
<!-- ============================================================= -->


<!--                    FIRST NAME                                 -->
<!--                    The given name of a person.                -->
<!ELEMENT  firstname    (#PCDATA)                                    >


<!--                    SURNAME                                    -->
<!--                    The family name of a person.               -->
<!ELEMENT  surname      (#PCDATA)                                    >


<!--                    LINEAGE                                    -->
<!--                    A name suffix such as "Jr" or "Sr".        -->
<!ELEMENT  lineage      (#PCDATA)                                    >


<!--                    OTHER NAME                                 -->
<!--                    Miscellaneous name components that don't 
                        fit into the other person name elements, 
                        for example: middle name or initial.       -->
<!ELEMENT  othername    (#PCDATA)                                    >


<!-- ============================================================= -->
<!--                    AFFILIATION ELEMENT DEFINITIONS            -->
<!-- ============================================================= -->


<!--                    JOB TITLE                                  -->
<!--                    An author's title in an affiliated 
                        organization.                              -->
<!ELEMENT  jobtitle     (#PCDATA | link)*                            >


<!--                    ORGANIZATION NAME                          -->
<!--                    An author's affiliated organization.       -->
<!ELEMENT  orgname      (#PCDATA | link)*                            >


<!-- ============================================================= -->
<!--                    BIBLIOGRAPHY ELEMENT DEFINITIONS           -->
<!-- ============================================================= -->


<!--                    BIBLIOGRAPHIC ENTRY                        -->
<!--                    An item in a bibliography.                 -->
<!ELEMENT  bibliomixed  (#PCDATA | emphasis | phrase | link | 
                         quote | biblioid)*                          >
<!ATTLIST  bibliomixed
             %xref.target.attributes;                                >


<!-- ============================================================= -->
<!--                    COMMON ELEMENT DEFINITIONS                 -->
<!-- ============================================================= -->


<!--                    SECTION                                    -->
<!--                    A major division or subdivision of the
                        text.                                      -->
<!ELEMENT  section      (title, subtitle?, (%para.level;)*, 
                         section*)                                   >
<!ATTLIST  section
             %xref.target.attributes;                                >


<!--                    TITLE                                      -->
<!--                    The title of the text component to which
                        it belongs.                                -->
<!ELEMENT  title        (#PCDATA | link | citation | emphasis | 
                         phrase | footnote | trademark | 
                         email | code | superscript | subscript | 
                         quote | xref)*                              >


<!--                    SUBTITLE                                   -->
<!--                    A subtitle.                                -->
<!ELEMENT  subtitle     (#PCDATA | link | citation | emphasis | 
                         phrase | footnote | trademark | 
                         email | code | superscript | subscript | 
                         quote | xref)*                              >


<!--                    LINK                                       -->
<!--                    A hypertext link. Either @linkend is used
                        for an internal link, or xlink:href is used
                        for an external link. Expect an error if
                        both are used.
                        link with @linkend is an alternative to xref
                        for internal cross-references, when the 
                        linking text (anchor) is not to be generated
                        or acquired from the target of the reference,
                        but instead taken from the element contents
                        (like an HTML-style anchor).
                        XLink attributes are hard-coded to make a
                        simple link to an external resource.
                        If neither @linkend nor @xlink:href is used,
                        the text content of the link itself is
                        promoted to serve as the link target.      -->
<!ELEMENT  link         (#PCDATA | emphasis | phrase | trademark | 
                         code | superscript | subscript | quote)*           >
<!ATTLIST  link
             linkend    IDREF                              #IMPLIED
             xlink:href CDATA                              #IMPLIED
             xlink:title
                        CDATA                              #IMPLIED
             xlink:type (simple)                    #FIXED "simple"
             xlink:show (new)                          #FIXED "new"
             xlink:actuate
                        (onRequest)              #FIXED "onRequest"  >



<!--                    PARAGRAPH                                  -->
<!--                    A rhetorical (not merely presentational)
                        paragraph.                                 -->
<!ELEMENT  para         (#PCDATA | blockquote | citation | code | 
                         email | emphasis | phrase | equation | 
                         figure | footnote | informaltable | 
                         inlinemediaobject | itemizedlist | link | 
                         mediaobject | note | orderedlist | 
                         programlisting | subscript | superscript | 
                         table | trademark | variablelist | quote |
                         xref)*                                      >


<!--                    BLOCK QUOTE                                -->
<!--                    A quotation set off from the main text.    -->
<!ELEMENT  blockquote   (title?, (%para.level;)+, attribution?)      >


<!--                    ATTRIBUTION                                -->
<!--                    The source of a blockquote or epigraph.    -->
<!ELEMENT  attribution  (#PCDATA | link | citation | xref)*          >


<!--                    PROGRAM LISTING                            -->
<!--                    A verbatim environment for program source
                        code or pseudo-code.                       -->
<!ELEMENT  programlisting 
                        (#PCDATA | emphasis | phrase | superscript | 
                         subscript)*                                 >
<!--         xml:space  Specifies all white space, such as tabs, 
                        ordinary spaces, and line breaks, be 
                        preserved.                                 -->
<!ATTLIST  programlisting
             xml:space  (preserve)                #FIXED "preserve"
             language CDATA                                #IMPLIED  >


<!--                    NOTE                                       -->
<!--                    Textual information set off from the main 
                        text, labeled as a note and displayed in
                        place.                                     -->
<!ELEMENT  note         (title?, (%para.level;)+)                    >
<!ATTLIST  note
             %xref.target.attributes;                                >


<!--                    FOOTNOTE                                   -->
<!--                    Contents to be relegated to a footnote or
                        endnote, with a reference to be generated
                        in place.                                  -->
<!ELEMENT  footnote     (para)+                                      >
<!ATTLIST  footnote
             %xref.target.attributes;                                >


<!--                    CODE                                       -->
<!--                    Inline code including markup fragments.    -->
<!ELEMENT  code         (#PCDATA | superscript | subscript)*         >


<!--                    CAPTION                                    -->
<!--                    Text descriptive of the component to which
                        it is attached.                            -->
<!ELEMENT  caption      (para)+                                      >


<!--                    TRADEMARK                                  -->
<!--                    Identifies a legal trademark.              -->
<!ELEMENT  trademark    (#PCDATA | inlinemediaobject | link)*        >
<!--         class      The type of trademark as well as an
                        indicator of what sort of trademark symbol
                        should be displayed.                       -->
<!ATTLIST  trademark
             class      (copyright | registered | service | 
                         trade)                            #IMPLIED  >


<!--                    EQUATION                                   -->
<!--                    A mathematical equation or expression,
                        called out as a block and labeled.
                        Note: simple expressions may 
                        be provided as <mathphrase>, and more
                        complex maths should be supplied as 
                        graphics. This tag set does not include 
                        MathML.                                    -->
<!ELEMENT  equation     ((mathphrase | mediaobject)+, caption?)      >
<!--         floatstyle Specifies whether the figure should be 
                        tethered to the text or may float          -->
<!ATTLIST  equation
             %xref.target.attributes;                                >


<!--                    MATH PHRASE                                -->
<!--                    A mathematical expression that can be 
                        represented with ordinary text and a 
                        small amount of markup.                    -->
<!ELEMENT  mathphrase   (#PCDATA | inlinemediaobject | subscript | 
                         superscript | link | citation | emphasis | 
                         phrase)*                                    >


<!-- ============================================================= -->
<!--                    LIST ELEMENT DEFINITIONS                   -->
<!-- ============================================================= -->


<!--                    ITEMIZED LIST                              -->
<!--                    A list in which entries are marked with a 
                        symbol such as a bullet or dash.           -->
<!ELEMENT  itemizedlist (title?, listitem+)                          >


<!--                    ORDERED LIST                               -->
<!--                    A list in which each list item is 
                        numbered.                                  -->
<!ELEMENT  orderedlist  (title?, listitem+)                          >
<!--         continuation 
                        Indicates how numbering should begin 
                        relative to an immediately preceding list. 
                          Restarts   item/line numbering begins 
                                     at 1 
                          Continues  item/line numbering begins 
                                     where the preceding 
                                     list/program left off
             startingnumber 
                        Indicates number to begin numbering
             numeration Style of numbering                         -->
<!ATTLIST  orderedlist
             continuation  
                        (continues | restarts)             #IMPLIED
             startingnumber   
                        NMTOKEN                            #IMPLIED
             numeration   
                        (arabic | upperalpha | loweralpha | 
                         upperroman | lowerroman)          #IMPLIED  >


<!--                    LIST ITEM                                  -->
<!--                    An individual list entry.                  -->
<!ELEMENT  listitem     (%para.level;)+                              >


<!--                    VARIABLE LIST                              -->
<!--                    A list composed of a set of 
                        term/description pairs; a glossary or
                        "definition list".                         -->
<!ELEMENT  variablelist (title?, varlistentry+)                      >


<!--                    VARIABLE LIST ENTRY                        -->
<!--                    A single term/description pairing within a
                        variablelist.                              -->
<!ELEMENT  varlistentry (term, listitem)                             >


<!--                    TERM                                       -->
<!--                    A term or entry heading, to be described
                        by its description element sibling.        -->
<!ELEMENT  term         (#PCDATA | link | citation | emphasis | 
                         phrase | footnote | trademark | 
                         email | code | superscript | subscript | 
                         inlinemediaobject | quote | xref)*          >


<!-- ============================================================= -->
<!--                    IMAGE ELEMENT DEFINITIONS                  -->
<!-- ============================================================= -->


<!--                    FIGURE                                     -->
<!--                    Any illustrative text or images, to be
                        called out and labeled as a figure.        -->
<!ELEMENT  figure       (title?, (%para.level;)+, 
                         caption?)                                   >
<!ATTLIST  figure
             %xref.target.attributes;
             %page.layout.attributes;                                >


<!--                    MEDIA OBJECT                               -->
<!--                    A displayed media object; for Balisage, 
                        only still images are permitted.
                        Note: while each mediaobject may have its 
                        own caption, it is more common to caption 
                        an entire figure (containing one or more 
                        mediaobjects).
                        Note:  While not required, a media object 
                        may include one or more textual descriptions 
                        for accessibility purposes; one description 
                        might be a short phrase, while another 
                        might be a longer, more complex description. 
                        Neither should be considered a replacement 
                        for a caption.                             -->
<!ELEMENT  mediaobject  (alt?, imageobject+, textobject?, caption?)  >


<!--                    INLINE MEDIA OBJECT                        -->
<!--                    A media object appearing in the text
                        flow.
                        Note:  While not required, an inline media 
                        object may include one or more textual 
                        descriptions for accessibility purposes; 
                        one description might be a short phrase, 
                        while another might be a longer, more 
                        complex description.                       -->
<!ELEMENT  inlinemediaobject 
                        (alt?, imageobject+, textobject?)            >


<!--                    IMAGE OBJECT                               -->
<!--                    Wrapper for image data.                    -->
<!ELEMENT  imageobject  (imagedata)                                  >


<!--                    IMAGE DATA                                 -->
<!--                    Indicating an image resource (file) along
                        with information pertaining to its
                        display.                                   -->
<!ELEMENT  imagedata    EMPTY                                        >
<!--         common.attr 
                        Labels and ids for a text section
             format     Format of image data; for Balisage, values 
                        are restricted jpg, png, or svg.
             fileref    Name of file that contains image
             width      Width of the display viewport, either as
                        an absolute value (px) or as a percentage
                        of available screen space. (Adjustment
                        of image height is implicit as aspect ratio
                        is preserved.) When width is not given, the
                        image will be displayed at its native size
                        in pixels.                                 -->
<!ATTLIST  imagedata
             format     (jpg | png | svg)                  #IMPLIED
             fileref    CDATA                             #REQUIRED
             width      CDATA                              #IMPLIED  >


<!--                    ALT                                        -->
<!--                    A short, plain text summary of a
                        graphical element presented in a
                        mediaobject or inlinemediaobject.          -->
<!ELEMENT  alt          (#PCDATA | inlinemediaobject)*               >


<!--                    TEXT OBJECT (FOR ACCESSIBILITY USE)        -->
<!--                    Wrapper for textual description of an 
                        object, to be used for accessibility 
                        purposes. Use this element for detailed
                        descriptions. Use <alt> for a short
                        summary. (In HTML presentation, the
                        alt element typically becomes the alt text
                        attribute; the textobject us used for
                        details.)                                  -->
<!ELEMENT  textobject   ((%para.level;)+)                            >


<!-- ============================================================= -->
<!--                    REFERENCE ELEMENT DEFINITIONS              -->
<!-- ============================================================= -->


<!--                    CITATION REFERENCE                         -->
<!--                    A citation to an external source, optionally
                        referring to a bibliographic reference
                        (bibliomixed element).
                        Use linkend to make the contents of this
                        element link to a bibliomixed element.     -->
<!ELEMENT  citation     (#PCDATA | quote | emphasis | phrase |
                         superscript | subscript)*                   >
<!ATTLIST  citation
             linkend    IDREF                              #IMPLIED  >


<!--                    CROSS-REFERENCE                            -->
<!--                    An internal cross-reference. The link will
                        be displayed with contents generated from
                        the target of the link (either its xreflabel
                        or an autogenerated label).
                        Note: a footnote can be referenced
                        more than once using xref for second or
                        subsequent references.                     -->
<!ELEMENT  xref         EMPTY                                        >
<!--         linkend    Points to an internal link target by 
                        identifying the value of its xml:id.       -->
<!ATTLIST  xref
             linkend    IDREF                             #REQUIRED  >


<!-- ============================================================= -->
<!--                    FORMATTING ELEMENT DEFINITIONS             -->
<!-- ============================================================= -->


<!--                    EMPHASIS                                   -->
<!--                    Text receiving typographical emphasis in
                        line.                                      -->
<!ELEMENT  emphasis     (#PCDATA | link | citation | emphasis | 
                         phrase | footnote | trademark | 
                         email | code | superscript | subscript | 
                         quote | xref)*                              >
<!--         role       Type of emphasis formatting.               -->
<!ATTLIST  emphasis
             role       (bold | ital | bital | rom | 
                         under)                            #IMPLIED  >


<!--                    SUBSCRIPT                                  -->
<!ELEMENT  subscript    (#PCDATA | inlinemediaobject | superscript | 
                         subscript | link | citation)*               >


<!--                    SUPERSCRIPT                                -->
<!ELEMENT  superscript  (#PCDATA | inlinemediaobject | superscript | 
                         subscript | link | citation)*               >


<!--                    INLINE QUOTE                               -->
<!--                    Any text to be displayed in quotes for
                        reasons of argument or rhetoric, or in 
                        order to refer to a term or phrase as such
                        (i.e., as "mentioned")                     -->
<!ELEMENT  quote        (#PCDATA | inlinemediaobject | superscript | 
                         subscript | xref | link | emphasis  | 
                         phrase | footnote | trademark | 
                         citation | code)*                           >


<!--                    BIBLIO ID                                  -->
<!--                    A formal identifier for (1) a work cited 
                        or listed in a bibliography or (2) an 
                        author of the cited work.  In this
                        application, as denoted by the attributes 
                        used, the ID must be a DOI (digital object 
                        identifier) for the work or an ORCID 
                        identifier for its author.                 -->
<!ELEMENT  biblioid     (#PCDATA)                                    >
<!--         class      Names the identifier as pertaining to 
                        the work (doi) or to its author (other), 
                        in which instance @otherclass attribute 
                        MUST be used.
             otherclass Names the particular identifier for an 
                        author, in this instance, "orcid".  This 
                        attribute is ONLY used if the @class 
                        attribute has the value "other".           --> 
<!ATTLIST  biblioid
             class      (doi | other)                     #REQUIRED  
             otherclass (orcid)                            #IMPLIED  >


<!--                    PHRASE                                     -->
<!--                    A semantically neutral wrapper
                        for a word or short phrase. Used
                        for accessibility purposes in TEXTOBJECT
                        and generally as an escape hatch for
                        inline content.                            -->
<!ELEMENT  phrase       (#PCDATA | citation | code | 
                         email | emphasis | phrase | 
                         inlinemediaobject | link | 
                         subscript | superscript | 
                         trademark | quote | xref)*                  >
<!ATTLIST phrase
             role CDATA                                    #IMPLIED  >


<!-- ============================================================= -->
<!--                    TABLE ELEMENT DEFINITIONS                  -->
<!-- ============================================================= -->


<!--                    TABLE FOOT                                 -->
<!--                    A table footer consisting of rows.         -->
<!ELEMENT  tfoot        (tr+)                                        >
<!--         valign     Vertical alignment
             align      Horizontal alignment
             char       Specifies alignment character
             charoff    Percentage of column width to appear when     
                        align is set to "char"                     -->
<!ATTLIST  tfoot
             valign     (bottom | middle | top | baseline) #IMPLIED
             align      (left | center | right | justify | 
                         char)                             #IMPLIED
             char       CDATA                              #IMPLIED
             charoff    CDATA                              #IMPLIED  >


<!--                    TABLE BODY                                 -->
<!--                    A wrapper for table rows in the body 
                        (as opposed to the header) portion of a 
                        table.                                     -->
<!ELEMENT  tbody        (tr+)                                        >
<!--         valign     Vertical alignment
             align      Horizontal alignment
             char       Specifies alignment character
             charoff    Percentage of column width to appear when     
                        align is set to "char"                     -->
<!ATTLIST  tbody
             valign     (bottom | middle | top | baseline) #IMPLIED
             align      (left | center | right | justify | 
                         char)                             #IMPLIED
             char       CDATA                              #IMPLIED
             charoff    CDATA                              #IMPLIED  >


<!--                    INFORMAL TABLE                             -->
<!--                    A table to appear without caption or
                        label.                                     -->
<!ELEMENT  informaltable 
                        ((col* | colgroup*), thead?, tfoot?,  tr+)   >
<!--         frame      Specifies which sides of the table should 
                        be given rules, making a box or frame of 
                        lines around a table
             border     Specifies the thickness, in pixels, of the 
                        border to draw around a table
             rules      Defines which rules to draw between the 
                        rows and columns of a table
             cellspacing
                        Width of space between cells in a table
             cellpadding
                        Specifies the amount of space, in pixels, 
                        between the border of a cell and the 
                        contents of a table cell  
             summary    Summary of the contents of the table, 
                        for accessibility purposes.
                        Note:  This is a non-visual attribute 
                        used by systems such as pronouncing 
                        screen readers to make the object 
                        accessible to people or systems that 
                        cannot read/see/display the table.         -->
<!ATTLIST  informaltable
             frame      (void | above | below | hsides | lhs | 
                         rhs | vsides | box | border)      #IMPLIED
             border     NMTOKEN                            #IMPLIED
             rules      (none | groups | rows | cols | 
                         all)                              #IMPLIED
             cellspacing   
                        CDATA                              #IMPLIED
             cellpadding   
                        CDATA                              #IMPLIED
             summary    CDATA                              #IMPLIED  >


<!--                    TABLE                                      -->
<!--                    A table (using the HTML model).            -->
<!ELEMENT  table        (caption?, (col* | colgroup*), 
                         ((thead?, tfoot?, tbody+) | (tr+)))         >
<!--         border     Specifies the thickness, in pixels, of the 
                        border to draw around a table
             pgwide     Identifies whether a figure can be the 
                        current paragraph width or require special 
                        handling
             frame      Specifies which sides of the table should 
                        be given rules, making a box or frame of 
                        lines around a table
             rules      Defines which rules to draw between the 
                        rows and columns of a table
             cellspacing
                        Width of space between cells in a table
             cellpadding
                        Specifies the amount of space, in pixels, 
                        between the border of a cell and the 
                        contents of a table cell
             summary    Summary of the contents of the table, 
                        for accessibility purposes.
                        Note:  This is a non-visual attribute 
                        used by systems such as pronouncing 
                        screen readers to make the object 
                        accessible to people or systems that 
                        cannot read/see/display the table.         -->
<!ATTLIST  table
             %xref.target.attributes;
             %page.layout.attributes;
             %table.layout.attributes;
             border     NMTOKEN                            #IMPLIED
             pgwide     (0 | 1)                            #IMPLIED
             frame      (void | above | below | hsides | 
                         lhs | rhs | vsides | box | 
                         border)                           #IMPLIED
             rules      (none | groups | rows | cols | 
                         all)                              #IMPLIED
             cellspacing  
                        CDATA                              #IMPLIED
             cellpadding  
                        CDATA                              #IMPLIED
             summary    CDATA                              #IMPLIED  >


<!--                    COLUMN                                     -->
<!--                    The description of one column of a table.  -->
<!ELEMENT  col          EMPTY                                        >
<!--         span       Horizontal spanning of columns
             width      Horizontal size of cell
             align      Horizontal alignment
             char       Specifies alignment character
             charoff    Percentage of column width to appear when 
                        align is set to "char" 
             valign     Vertical alignment                         -->
<!ATTLIST  col
             span       CDATA                              "1"
             width      CDATA                              #IMPLIED
             align      (left | center | right | justify | 
                         char)                             #IMPLIED
             char       CDATA                              #IMPLIED
             charoff    CDATA                              #IMPLIED
             valign     (top | middle | bottom | baseline) #IMPLIED  >


<!--                    COLUMN GROUP                               -->
<!--                    A container element to hold column 
                        descriptions (element <col>) for a table; 
                        may describe the default behavior for all 
                        columns with its attributes.               -->
<!ELEMENT  colgroup     (col)*                                       >
<!--         span       Horizontal spanning of columns
             width      Horizontal size of cell
             align      Horizontal alignment
             char       Specifies alignment character
             charoff    Percentage of column width to appear when 
                        align is set to "char" 
             valign     Vertical alignment                         -->
<!ATTLIST  colgroup
             span       CDATA                              "1"
             width      CDATA                              #IMPLIED
             align      (left | center | right | justify | 
                         char)                             #IMPLIED
             char       CDATA                              #IMPLIED
             charoff    CDATA                              #IMPLIED
             valign     (top | middle | bottom | baseline) #IMPLIED  >


<!--                    TABLE HEAD CELL                            -->
<!--                    Cell for table header.                     -->
<!ELEMENT  th           (#PCDATA | link | citation | emphasis | 
                         phrase | footnote | trademark | 
                         email | code | superscript | subscript | 
                         inlinemediaobject | itemizedlist | 
                         orderedlist | variablelist | equation | 
                         mediaobject | programlisting | note | 
                         para | quote | xref)*                       >
<!--         scope      Specifies the set of data cells for which 
                        the current header cell provides header 
                        information, for example, the rest of the 
                        row group that contains it
             rowspan    Spanning of content across rows
             colspan    Spanning of content across columns
             align      Horizontal alignment
             char       Specifies alignment character
             charoff    Percentage of column width to appear when
                        align is set to "char"
             valign     Vertical alignment                         -->
<!ATTLIST  th
             scope      (row | col | rowgroup | colgroup)  #IMPLIED
             rowspan    NMTOKEN                            #IMPLIED
             colspan    NMTOKEN                            #IMPLIED
             align      (left | center | right | justify | 
                         char)                             #IMPLIED
             char       CDATA                              #IMPLIED
             charoff    CDATA                              #IMPLIED
             valign     (top | middle | bottom | baseline) #IMPLIED  >


<!--                    TABLE HEADER                               -->
<!--                    A wrapper for table rows in the header 
                        (as opposed to the body) portion of a 
                        table.                                     -->
<!ELEMENT  thead        (tr+)                                        >
<!--         valign     Vertical alignment                         
             align      Horizontal alignment                       
             char       Specifies alignment character              
             charoff    Percentage of column width to appear when     
                        align is set to "char"                     -->
<!ATTLIST  thead
             valign     (bottom | middle | top | baseline) #IMPLIED
             align      (left | center | right | justify | 
                         char)                             #IMPLIED
             char       CDATA                              #IMPLIED
             charoff    CDATA                              #IMPLIED  >


<!--                    TABLE ROW                                  -->
<!--                    A row in a table.                          -->
<!ELEMENT  tr           (th | td)+                                   >
<!--         common.attr 
                        Labels and ids for a text section
             align      Horizontal alignment
             char       Specifies alignment character
             charoff    Percentage of col width to appear when 
                        align is set to "char"
             valign     Vertical alignment                         -->
<!ATTLIST  tr
             align      (left | center | right | justify | 
                         char)                             #IMPLIED
             char       CDATA                              #IMPLIED
             charoff    CDATA                              #IMPLIED
             valign     (top | middle | bottom | baseline) #IMPLIED  >


<!--                    TABLE ENTRY CELL                           -->
<!--                    An entry in a table body.                  -->
<!ELEMENT  td           (#PCDATA | link | citation | emphasis | 
                         phrase | footnote | trademark | 
                         email | code | superscript | subscript | 
                         inlinemediaobject | itemizedlist | 
                         orderedlist | variablelist | equation | 
                         mediaobject | programlisting | note | 
                         para | quote | xref)*                       >
<!--         scope      Specifies the set of data cells for which 
                        the current header cell provides header 
                        information, for example, the rest of the 
                        row group that contains it
             rowspan    Spanning of content across rows
             colspan    Spanning of content across columns
             align      Horizontal alignment
             char       Specifies alignment character
             charoff    Percentage of col width to appear when 
                        align is set to "char"
             valign     Vertical alignment                         -->
<!ATTLIST  td
             scope      (row | col | rowgroup | colgroup)  #IMPLIED
             rowspan    NMTOKEN                            #IMPLIED
             colspan    NMTOKEN                            #IMPLIED
             align      (left | center | right | justify | 
                         char)                             #IMPLIED 
             char       CDATA                              #IMPLIED
             charoff    CDATA                              #IMPLIED
             valign     (top | middle | bottom | baseline) #IMPLIED  >


<!-- ================== END OF BALISAGE CONFERENCE PAPER DTD ===== -->

