<!-- OpenTag

Known as "-//ILE//DTD OpenTag//EN"
Version 1.2 - Nov-23-1998 - Last edit: Feb-13-2001

An SGML application conforming to:
- International Standard ISO 8879 Standard Generalized Markup Language, 
- XML, Extensible Markup Language
- OpenTag Format Specifications (http://www.opentag.com/otspecs.htm)


History of modifications:

Nov-23-1998 by YS: Version 1.2
- add <tx> element in <lvl>
- remove cs attribute from all element but <ocs>
- remove <csa/> element
- add reference attribute in <file>

Jun-25-1998 by JH: Version 1.1b
- Remove the tag exclusions - these are illegal in XML

Jun-01-1998 by JH: Version 1.1b
- remove the minimization parameters for NSGMLS (it warns if they are present)
- bring the #REQUIRED/#IMPLIED attributes up to speed with the 1.1b spec.

Apr-22-1998 by YS: Version 1.1b
- added the optional attribute rid to <g> and <x/>.

Apr-11-1998 by YS: Corrections
- excluded <mrk> from the list of elements <mrk> can have.

Mar-18-1998 by YS: Version 1.1
- removed <fn>, <pb/>, <lb/>, <rfd> and <fnd> elements
- renamed the attribute name of <prop> by type
- added the optional attribute type to <x/>
- made the attribute id optional in <x/>
- added the optional attribute ts to <x/> and <g>
- added the optional attribute type to <rf/>
- replaced CDATA by NUMBER for the ws attribute of <file>

Nov-21-1997 by YS: Version 1.0
- creation of 1.0 final

-->


   <!ENTITY % groups "ocs|ct|g" >
   <!ENTITY % groupsMinusOcs "ct|g" >
   <!ENTITY % groupsMinusCt "ocs|g" >
   <!ENTITY % delim "mrk|s" >
   <!ENTITY % alones "x" >
   <!ENTITY % markers "ix|rf" >
   <!ENTITY % defs "ixd" >
   <!ENTITY % allinline "#PCDATA|%groups;|%alones;|%markers;|%defs;" >
   <!ENTITY % allinlineMinusOcs "#PCDATA|%groupsMinusOcs;|%alones;|%markers;|%defs;" >
   <!ENTITY % allinlineMinusCt "#PCDATA|%groupsMinusCt;|%alones;|%markers;|%defs;" >

   <!ENTITY  lt   "&#38;#60;" >
   <!ENTITY  amp  "&#38;#38;" >
   <!ENTITY  gt   "&#62;" >
   <!ENTITY  apos "&#39;" >
   <!ENTITY  quot "&#34;" >


   <!--   ELEM          CONTENT                             -->
   <!--   ATTR          NAME      TYPE           DEFAULT    -->


<!-- ***************************************************************** -->
<!-- Structural Elements                                               -->
<!-- ***************************************************************** -->

<!-- OpenTag -->

   <!ELEMENT opentag    (file)+ >
   <!ATTLIST opentag
         version        CDATA     #REQUIRED >


<!-- File -->

   <!ELEMENT file       (csdef*, (note|prop|grp|p)*) >
   <!ATTLIST file
         lc             CDATA     #REQUIRED
         xml:lang       CDATA     #IMPLIED
         tool           CDATA     #REQUIRED
         datatype       CDATA     #REQUIRED
         original       CDATA     #REQUIRED
         reference      CDATA     #IMPLIED
         date           CDATA     #IMPLIED
         ws             CDATA     #IMPLIED
         ts             CDATA     #IMPLIED
         type           CDATA     #IMPLIED >


<!-- Group -->

   <!ELEMENT grp        (grp|p|note|prop)* >
   <!ATTLIST grp
         lc             CDATA     #IMPLIED
         tool           CDATA     #IMPLIED
         datatype       CDATA     #IMPLIED
         id             CDATA     #IMPLIED
         rid            CDATA     #IMPLIED
         coord          CDATA     #IMPLIED
         font           CDATA     #IMPLIED
         type           CDATA     #IMPLIED
         ws             CDATA     #IMPLIED
         ts             CDATA     #IMPLIED
         var            CDATA     #IMPLIED
         cond           CDATA     #IMPLIED >


<!-- Note -->

   <!ELEMENT note       (#PCDATA) >
   <!ATTLIST note
         lc             CDATA     #IMPLIED
         rid            CDATA     #IMPLIED>


<!-- Property -->

   <!ELEMENT prop       (#PCDATA) >
   <!ATTLIST prop
         lc             CDATA     #IMPLIED
         type           CDATA     #REQUIRED
         rid            CDATA     #IMPLIED>


<!-- Code set definition -->

   <!ELEMENT csdef      (note*, map+) >
   <!ATTLIST csdef
         name           CDATA     #REQUIRED
         base           CDATA     #REQUIRED >


<!-- Character mapping -->

   <!ELEMENT map        EMPTY >
   <!ATTLIST map
         code           CDATA     #REQUIRED
         ucode          CDATA     #REQUIRED
         ent            CDATA     #IMPLIED
         subst          CDATA     #IMPLIED
         comp           CDATA     #IMPLIED
         case           CDATA     #IMPLIED >


<!-- Paragraph -->

   <!ELEMENT p          (%allinline;|%delim;)* >
   <!ATTLIST p
         lc             CDATA     #IMPLIED
         tool           CDATA     #IMPLIED
         datatype       CDATA     #IMPLIED
         id             CDATA     #IMPLIED
         rid            CDATA     #IMPLIED
         seg            CDATA     #IMPLIED
         coord          CDATA     #IMPLIED
         font           CDATA     #IMPLIED
         type           CDATA     #IMPLIED
         ws             CDATA     #IMPLIED
         ts             CDATA     #IMPLIED
         var            CDATA     #IMPLIED
         cond           CDATA     #IMPLIED >


<!-- ***************************************************************** -->
<!-- In-Line Elements                                                  -->
<!-- ***************************************************************** -->

<!-- Generic Group Place-Holder -->

   <!ELEMENT g          (%allinline;|%delim;)* >
   <!ATTLIST g
         id             CDATA     #IMPLIED
         type           CDATA     #IMPLIED
         rid            CDATA     #IMPLIED
         ts             CDATA     #IMPLIED >


<!-- Generic Place-Holder -->

   <!ELEMENT x          EMPTY >
   <!ATTLIST x
         id             CDATA     #IMPLIED
         type           CDATA     #IMPLIED
         rid            CDATA     #IMPLIED
         ts             CDATA     #IMPLIED >


<!-- Index Marker -->

   <!ELEMENT ix         EMPTY >
   <!ATTLIST ix
         rid            CDATA     #REQUIRED
         ts             CDATA     #IMPLIED
         id             CDATA     #IMPLIED >


<!-- Index Definition -->

   <!ELEMENT ixd        (lvl)+>
   <!ATTLIST ixd
         rid            CDATA     #REQUIRED
         ts             CDATA     #IMPLIED
         id             CDATA     #IMPLIED >


<!-- Index Level Entry -->

   <!ELEMENT lvl        (tx, so?)  >
   <!ATTLIST lvl
         id             CDATA     #IMPLIED
         ts             CDATA     #IMPLIED
         seg            CDATA     #IMPLIED >


<!-- Index Level Entry Text -->

   <!ELEMENT tx         (#PCDATA|%groups;|%delim;|%alones;|rf)*  >
   <!ATTLIST tx
         id             CDATA     #IMPLIED
         ts             CDATA     #IMPLIED
         seg            CDATA     #IMPLIED >


<!-- Index Sort Order Text -->

   <!ELEMENT so         (#PCDATA) >
   <!ATTLIST so
         id             CDATA     #IMPLIED
         ts             CDATA     #IMPLIED >


<!-- Reference Marker -->

   <!ELEMENT rf         EMPTY >
   <!ATTLIST rf
         rid            CDATA     #REQUIRED
         type           CDATA     #IMPLIED
         ts             CDATA     #IMPLIED
         id             CDATA     #IMPLIED >


<!-- Original Code Set -->

   <!ELEMENT ocs        (%allinlineMinusOcs;|%delim;)*>
   <!ATTLIST ocs
         cs             CDATA     #REQUIRED
         ts             CDATA     #IMPLIED
         id             CDATA     #IMPLIED >


<!-- Conditional Text -->

   <!ELEMENT ct         (%allinlineMinusCt;|%delim;)*>
   <!ATTLIST ct
         cond           CDATA     #REQUIRED
         ts             CDATA     #IMPLIED
         id             CDATA     #IMPLIED >


<!-- ***************************************************************** -->
<!-- Delimiter Elements                                                -->
<!-- ***************************************************************** -->

<!-- Segment Delimiter -->

   <!ELEMENT s          (%allinline;|mrk)*>
   <!ATTLIST s
         id             CDATA     #IMPLIED
         ts             CDATA     #IMPLIED
         var            CDATA     #IMPLIED
         type           CDATA     #IMPLIED
         seg            CDATA     #IMPLIED >


<!-- Marker Delimiter -->

   <!ELEMENT mrk        (%allinline;|s)*>
   <!ATTLIST mrk
         type           CDATA     #REQUIRED
         ts             CDATA     #IMPLIED
         id             CDATA     #IMPLIED >


<!-- ***** End of DTD ************************************************ -->








