Brown University    Women Writers Project    Research and Encoding    Training Materials  nbsp; DTDs  nbsp; wwpstore.dtd

This document last updated Tuesday, 09-Jan-2007 10:55:01 EST

Elements added to TEI P3 DTD

(wwpstore.dtd)

<!-- $Id: wwpstore.dtd,v 1.63 2001-10-09 06:47:03-04 syd Exp $ -->
<!-- ************************************************************* -->
<!--                                                               -->
<!-- Brown University Women Writers Project                        -->
<!-- textbase storage document type definition                     -->
<!-- new or changed declarations of elements and their attributes  -->
<!-- version 1.2.9, 2001-10-09                                     -->
<!--                                                               -->
<!-- Copyright © 1996–2001 Syd Bauman and Brown         -->
<!-- University Women Writers Project.                             -->
<!-- For complete copyleft notice, see header comment to file      -->
<!--    wwp-store.dtd                                              -->
<!-- and the GNU General Public License, both of which you should  -->
<!-- have received along with this file.                           -->
<!--                                                               -->
<!-- Update history can be found at the bottom of this file.       -->
<!--                                                               -->
<!-- ************************************************************* -->

<!-- ************************************************************* -->
<!--                                                               -->
<!-- For all element declarations herein, an end-tag is required   -->
<!-- unless the element has declared content of EMPTY, whether or  -->
<!-- not the end-tag was required by TEI. The block comments pre-  -->
<!-- ceding each section do not mention this difference.           -->
<!--                                                               -->
<!-- ************************************************************* -->

<!-- ************************************************************* -->
<!-- The following elements are all the same as their unaltered P3 -->
<!-- counterparts, except that %a.global; attributes have been     -->
<!-- removed (they were already expanded), and %a.global; has been -->
<!-- added to their attribute specification lists. This change is  -->
<!-- 'fix' an oddment of the TEI's ODD processing system.          -->
<!-- ************************************************************* -->
<!>
<!ELEMENT %n.foreign;   - -  (%paraContent;)                    >
<!ATTLIST %n.foreign;        %a.global;
          TEIform            CDATA               'foreign'      >
<!>
<!ELEMENT %n.item;      - -  (%specialPara;)                    >
<!ATTLIST %n.item;           %a.global;
          TEIform            CDATA               'item'         >
<!>
<!ELEMENT %n.pb;        - O  EMPTY                              >
<!ATTLIST %n.pb;             %a.global;
          ed                 CDATA               #IMPLIED
          TEIform            CDATA               'pb'           >
<!>
<!ELEMENT %n.lb;        - O  EMPTY                              >
<!ATTLIST %n.lb;             %a.global;
          ed                 CDATA               #IMPLIED
          TEIform            CDATA               'lb'           >
<!>
<!ELEMENT %n.cb;        - O  EMPTY                              >
<!ATTLIST %n.cb;             %a.global;
          ed                 CDATA               #IMPLIED
          TEIform            CDATA               'cb'           >
<!>
<!ELEMENT %n.language;  - -  (%phrase.seq)                      >
<!ATTLIST %n.language;       %a.global;
          wsd                ENTITY              #IMPLIED
          usage              NUMBER              #IMPLIED
          TEIform            CDATA               'language'     >


<!-- ************************************************************* -->
<!-- ANCHOR needs to have id= #REQUIRED, so that's why a.global    -->
<!-- is expanded here; but TEI left out a.analysis, a.linking, and -->
<!-- a.terminology; thus, they are included here. The same would   -->
<!-- be true of WHEN, if we used it.                               -->
<!-- In addition, the order of attributes has been re-arranged for -->
<!-- encoder convenience.                                          -->
<!-- ************************************************************* -->
<!>
<!ELEMENT %n.anchor;    - O  EMPTY                              >
<!ATTLIST %n.anchor;         
          id                 ID                  #REQUIRED
          rend               CDATA               #IMPLIED
                             %a.seg;
                             %a.analysis;
                             %a.linking;
                             %a.terminology;
          n                  CDATA               #IMPLIED
          lang               IDREF               %INHERITED
          TEIform            CDATA               'anchor'       >


<!-- ************************************************************* -->
<!-- The following elements are all the same as their unaltered P3 -->
<!-- counterparts, except that one or more attriubtes are REQUIRED -->
<!-- instead of IMPLIED.                                           -->
<!-- ************************************************************* -->
<!>
<!ELEMENT %n.date;      - -  (%phrase.seq;)                     >
<!ATTLIST %n.date;           %a.global;
          calendar           CDATA               #IMPLIED
          value              CDATA               #REQUIRED
          certainty          CDATA               #IMPLIED
          TEIform            CDATA               'date'         >
<!>
<!ELEMENT %n.sp;        - -  ((%n.speaker)?, (%n.p; | %n.l; | 
                             %n.lg; | %n.seg; | %n.stage;)+)    >
<!ATTLIST %n.sp;             %a.global;
          who                IDREFS              #REQUIRED
          TEIform            CDATA               'sp'           >


<!-- ************************************************************* -->
<!-- The following elements are all the same as their unaltered P3 -->
<!-- counterparts, except for the addition of part=, type=, unit=, -->
<!-- or value= attributes.                                         -->
<!-- ************************************************************* -->
<!>
<!-- note: original P3 del had %a.global; expanded, not sure why -->
<!ELEMENT %n.hi;        - -  (%paraContent;)                    >
<!ATTLIST %n.hi;             %a.global;
          type             ( dic )               #IMPLIED
          TEIform            CDATA               'hi'           >
<!>
<!ELEMENT %n.sic;       - -  (%specialPara;)                    >
<!ATTLIST %n.sic;  
          corr               CDATA               #IMPLIED
          resp               IDREF               %INHERITED
          type             ( seq )               #IMPLIED
                             %a.global;
          cert               CDATA               #IMPLIED
          TEIform            CDATA               'sic'          >
<!>
<!ELEMENT %n.q;         - -  (%specialPara;)                    >
<!ATTLIST %n.q;              %a.global;
          type               CDATA               #IMPLIED
          who                CDATA               #IMPLIED
          part               (Y | N | I | M | F) N
          TEIform            CDATA               'q'            >
<!>
<!ELEMENT %n.quote;     - -  (%specialPara;)                    >
<!ATTLIST %n.quote;          %a.global;
          part               (Y | N | I | M | F) N
          TEIform            CDATA               'quote'        >
<!>
<!ELEMENT %n.resp;      - -  (%phrase.seq;)                     >
<!ATTLIST %n.resp;           %a.global;
          type               (author | author-secondary |
                              bookseller | editor | encoder |
                              kwelbo | patron | printer |
                              proofreader | publisher |
                              reviewer | transcriber |
                              translator)        #REQUIRED
          TEIform            CDATA               'resp'         >
<!>
<!ELEMENT %n.extent;    - -  (%phrase.seq;)                     >
<!ATTLIST %n.extent;         %a.global;
          type              (pagination |
                             format)             #REQUIRED
          unit              (pages)              #IMPLIED
          value              CDATA               #IMPLIED
          TEIform            CDATA               'extent'       >
<!>
<!ELEMENT %n.author;    - -  (%phrase.seq;)                     >
<!ATTLIST %n.author;         %a.global;
          type              ( main | other )     #IMPLIED
          TEIform            CDATA               'author'       >


<!-- ************************************************************* -->
<!-- The following elements are all the same as their unaltered P3 -->
<!-- counterparts, except for a value list for the type= attr.     -->
<!-- ************************************************************* -->
<!>
<!ELEMENT %n.div;       - -  ((%m.divtop;)*, ((%n.div; | 
                             %n.divGen;)+ | ((%component;)+, 
                             (%n.div; | %n.divGen;)*)), 
                             (%m.divbot;)*)                     >
<!ATTLIST %n.div;            %a.global;
                             %a.declaring;
                             %a.divn;
          type             ( act | advert | argument |
                             body | book |
                             castlist | chapter | colophon | concluding | confession | contents | corrigenda |
                             ded |
                             endnotes | entry | epigraph | epilogue | essay | examination |
                             frontispiece |
                             index |
                             letter |
                             part |  petition | poem | poemGroup | prayer | prefatory | prologue |
                             recipe | revelation |
                             scene | section | speech | subsection |
                             undetermined |
                             volume )            #REQUIRED
          TEIform            CDATA               'div'          >
<!>
<!ELEMENT %n.head;      - -  (%paraContent;)                    >
<!ATTLIST %n.head;           %a.global;
          type              ( sub )              #IMPLIED
          TEIform            CDATA               'head'         >
<!>
<!ELEMENT %n.list;      - -  ((%n.head)?, ( ((%n.item)+) | 
                             ((%n.headLabel)?, (%n.headItem)?, 
                             (%n.label;, %n.item;)+)))          >
<!ATTLIST %n.list;           %a.global;
          type             ( gloss | errata | toc |
                             subscriber )        #IMPLIED
          TEIform            CDATA               'list'         >
<!>
<!ELEMENT %n.name;      - -  (%phrase.seq;)                     >
<!ATTLIST %n.name;           %a.global;
                             %a.names;
          type             ( author | group | language |
                             person | place | person-male |
                             person-female |
                             publisher | school |
                             thing )             #IMPLIED
          TEIform            CDATA               'name'         >
<!>
<!ELEMENT %n.rs;        - -  (%phrase.seq;)                     >
<!ATTLIST %n.rs;             %a.global;
                             %a.names;
          type             ( source )            #IMPLIED
          TEIform            CDATA               'rs'           >
<!>
<!ELEMENT %n.ptr;       - O  EMPTY                              >
<!ATTLIST %n.ptr;            %a.global;
                             %a.pointer;
          type              ( correction | div | error |
                              pageNum )          #IMPLIED
          target             IDREFS              #REQUIRED
          TEIform            CDATA               'ptr'          >
<!>
<!ELEMENT %n.ref;       - -  (%paraContent;)                    >
<!ATTLIST %n.ref;            %a.global;
                             %a.pointer;
          type              ( correction | div | error |
                              pageNum )          #IMPLIED
          target             IDREFS              #IMPLIED
          TEIform            CDATA               'ref'          >
<!>
<!-- note: value list of type= is "suggested values include" from P3 -->
<!ELEMENT %n.stage;     - -  (%specialPara)       -(stage)      >
<!ATTLIST %n.stage;          %a.global;
          type             ( business | delivery |
                             entrance | exit |
                             location | mixed |
                             modifier | novelistic |
                             setting )           #IMPLIED
          TEIform            CDATA               'stage'        >


<!-- ************************************************************* -->
<!-- The following elements are all the same as their unaltered P3 -->
<!-- counterparts, except for a value list for one or more att-    -->
<!-- ributes; and possibly using %a.global instead of pre-expanded -->
<!-- global attributes; and possibly re-ording attrtibutes for     -->
<!-- encoder convenience.                                          -->
<!-- ************************************************************* -->
<!>
<!ELEMENT %n.milestone; - O  EMPTY                              >
<!ATTLIST %n.milestone;      %a.global;
          ed                 CDATA               #IMPLIED
          unit               (sig)               #REQUIRED
          TEIform            CDATA               'milestone'    >
<!>
<!ELEMENT %n.unclear;   - -  (%paraContent;)                    >
<!ATTLIST %n.unclear;        %a.global;
          reason             ( damaged | flawed-reproduction
                               | obscured )      #IMPLIED
          resp               CDATA               %INHERITED
          cert               CDATA               #IMPLIED
          hand               IDREF               %INHERITED
          agent              CDATA               #IMPLIED
          TEIform            CDATA               'unclear'      >


<!-- ************************************************************* -->
<!-- The following elements are all the same as their unaltered P3 -->
<!-- counterparts, except:                                         -->
<!--    a) a value list for type=,                                 -->
<!--    b) the place= attribute has been removed,                  -->
<!--    c) attributes have been rearranged for encoder             -->
<!--       convenience,                                            -->
<!--    d) the hand= attribute is REQUIRED, not INHERITED.         -->
<!-- ************************************************************* -->
<!>
<!ELEMENT %n.add;       - -  (%specialPara;)                    >
<!ATTLIST %n.add;            %a.global;
          hand               IDREF               #REQUIRED
          resp               IDREF               %INHERITED
          cert               CDATA               #IMPLIED
          TEIform            CDATA               'add'          >
<!>
<!ELEMENT %n.addSpan;   - O  EMPTY                              >
<!ATTLIST %n.addSpan;        %a.global;
          hand               IDREF               #REQUIRED
          to                 IDREF               #REQUIRED
          type               CDATA               #IMPLIED
          resp               IDREF               %INHERITED
          cert               CDATA               #IMPLIED
          TEIform            CDATA               'addSpan'      >

<!-- ************************************************************* -->
<!-- The following elements are all the same as their unaltered P3 -->
<!-- counterparts, except:                                         -->
<!--    a) the hand= attribute is REQUIRED, not INHERITED.         -->
<!--    b) attributes have been rearranged for encoder             -->
<!--       convenience,                                            -->
<!-- ************************************************************* -->
<!>
<!ELEMENT %n.delSpan;   - O  EMPTY                              >
<!ATTLIST %n.delSpan;        %a.global;
          to                 IDREF               #REQUIRED
          hand               IDREF               #REQUIRED
          type               CDATA               #IMPLIED
          resp               IDREF               %INHERITED
          cert               CDATA               #IMPLIED
          status             CDATA               'unremarkable'
          TEIform            CDATA               'delSpan'      >
<!>
<!-- note: original P3 del had %a.global; expanded, not sure why -->
<!ELEMENT %n.del;       - -  (%phrase.seq;)                     >
<!ATTLIST %n.del;            %a.global;
          hand               IDREF               #REQUIRED
          type               CDATA               #IMPLIED
          status             CDATA               'unremarkable'
          resp               IDREF               %INHERITED
          cert               CDATA               #IMPLIED
          TEIform            CDATA               'del'          >


<!-- ************************************************************* -->
<!-- The following elements are all the same as their unaltered P3 -->
<!-- counterparts, except:                                         -->
<!--    a) a value list for type=,                                 -->
<!--    b) the place= attribute has been removed,                  -->
<!--    c) attributes have been rearranged for encoder             -->
<!--       convenience.                                            -->
<!-- ************************************************************* -->
<!>
<!ELEMENT %n.fw;        - -  (%phrase.seq;)                     >
<!ATTLIST %n.fw;             %a.global;
          type             ( border | catch | lineNum | listHead
                            | pageNum | pressFig | sig
                            | unknown | vol )    #REQUIRED
          TEIform            CDATA               'fw'           >


<!-- ************************************************************* -->
<!-- The following elements have modified versions of the pure TEI -->
<!-- declarations: they have modified content models.              -->
<!-- ************************************************************* -->
<!>
<!ELEMENT %n.figure;    - -  ( (%n.head;)?, ( %n.p; | %n.lg; )*,
                               (%n.figDesc;), (%n.text;)?,
                               ( %n.p; | %n.lg; )* )            >
<!ATTLIST %n.figure;         %a.global;
          entity             ENTITY              #IMPLIED
          TEIform            CDATA               'figure'       >
<!>
<!ELEMENT %n.p;         - -  ( %paraContent; | %n.speaker; )*   >
<!ATTLIST %n.p;              %a.global;
          TEIform            CDATA               'p'            >
<!>
<!ELEMENT %n.seg;       - -  (%paraContent; | %m.biblPart; )*   >
<!ATTLIST %n.seg;            %a.global;
                             %a.seg;
          subtype            CDATA               #IMPLIED
          part               (Y | N | I | M | F) N
          TEIform            CDATA               'seg'          >

<!--
*** The following declarations are the same as in teidram2.dtd,
*** except that an optional ROLEDESC has been added in front of
*** the CASTITEM or CASTGROUPs (either with or without LABELs),
*** and another optional ROLEDESC after; and that the series of
*** CASTITEM or CASTGROUPS can be paired with preceding LABELs
*** or not, but like a TEI LIST, either all must have LABELs or
*** none.
 -->
<![ %nohack; [
        <!ENTITY % compsanslabel "%x.common %m.bibl; |
                                  %m.chunk; | %m.hqinter;
                                  | %x.lists;  %n.list; |
                                  %n.listBibl; | %m.notes;
                                  | %n.stage; %mix.verse;
                                  %mix.drama; %mix.spoken;
                                  %mix.dictionaries;
                                  %mix.terminology;" >
        ]]>
<![ %AEhack; [
        <!ENTITY % compsanslabel "anchor | bibl | biblfull |
                biblstruct | camera | caption | castlist | etree |
                graph | l | lg | list | listbibl | move | note | p | q |
                quote | sound | sp | stage | tech | tree | view |
                witdetail | witlist">
        ]]>
<!>
<!ELEMENT %n.castList;  - -  ((%m.divtop)*, (%compsanslabel;)*, 
                             ( ( %n.label;, ( %n.castItem; | %n.castGroup; ) )+
                             | ( %n.castItem; | %n.castGroup; )+ ),
                             (%compsanslabel;)*)                >
<!ATTLIST %n.castList;       %a.global;
          TEIform            CDATA               'castList'     >
<!>
<!ELEMENT %n.castGroup; - -  ((%n.head;)?, (%n.roleDesc;)?,
                             ( ( %n.label;, ( %n.castItem; | %n.castGroup; ) )+
                             | ( %n.castItem; | %n.castGroup; )+ ),
                             (%n.roleDesc;)?, (%n.trailer;)?)    >
<!ATTLIST %n.castGroup;      %a.global;
          TEIform            CDATA               'castGroup'    >
<!>
<!--
*** The following element declaration is considerably different 
*** than the one in teind2.dtd. First off, I have removed
*** "m.placePart", so that we avoid the ambiguous content
*** problem which we would have created because we added
*** PLACENAME to m.data (which in turn is in m.phrase), and it
*** was already in m.placePart. We luck out, because we don't
*** use any of the other elements in m.placePart, so we can
*** just nuke it, rather than trying to recreate all of it
*** except for PLACENAME here.
***     Lastly, we have also re-arranged the attributes, but
*** this will have no effect on content, just on the order in
*** which they appear in sgml-aware editors.
-->
<!ELEMENT %n.placeName; - -  ( (%m.phrase; | #PCDATA )+ )       >
<!ATTLIST %n.placeName;      %a.global;
                             %a.names;
          type               CDATA               #IMPLIED
          full               (yes | abb | init)  yes
          TEIform            CDATA               'placeName'    >
<!>
<!--
*** The following declaration is the same as in teistr2.dtd,
*** except that we have added PLACENAME and PERSNAME.
-->
<!ELEMENT %n.dateline;  - -  (%n.date; | %n.time; | %n.name; | 
                             #PCDATA | %n.address; |
                             %n.placeName | %n.persName;)*      >
<!ATTLIST %n.dateline;       %a.global;
          TEIform            CDATA               'dateline'     >
<!>
<!--
*** The following declaration for RESPSTMT is similar to the
*** one found in teicore2.dtd in that NAME and RESP are the
*** only children of RESPSTMT, but different in that we only
*** allow either one NAME or one RESP (and multiples of the
*** other), and we insist that NAMEs come before RESPs. A
*** (purposeful) side effect is that, since we don't use an
*** "&" connector, the content model is valid XML. Note
*** that, in principle, the content model is
***    (  ( name, resp+ ) | ( name+, resp )  )
*** but that is ambiguous (i.e., non-deterministic).
-->
<!ELEMENT %n.respStmt;  - -  ( 
                               %n.name;, 
                               (
                                 (%n.resp;)+ 
                                 |
                                 ( (%n.name;)+, %n.resp; )
                               )
                             )                                  >
<!ATTLIST %n.respStmt;       %a.global;
          TEIform            CDATA               'respStmt'     >

<!--
*** LG has a value list for type=, and a modified content model We
*** have added %m.hqinter;, SPEAKER, LABEL, and STAGE to the main part
*** of the model, then added L and LG to %m.hqinter;, so we removed L
*** and LG from this declaration.
*** It could be argued that SPEAKER or LABEL should only occur before
*** the "main" part of the content model (where the Ls go), on the
*** theory that any such label indicates the start of a new LG, but
*** for the moment we have chosen the more permissive route (per
*** PCaton.xzc).
-->
<!ELEMENT %n.lg;        - -  ( (%m.divtop)*,
                              ( %m.hqinter; | %n.stage; |
                                %n.speaker; | %n.label; )+, 
                              (%m.divbot)*)                     >
<!ATTLIST %n.lg;             %a.global;
                             %a.divn;
                             %a.metrical;
          type             ( common | couplet |
                             couplet-alexandrine |
                             couplet-heroic | drama.verse
                             | indeterminate |
                             octet | ottava-rima | para |
                             poem.acrostic |
                             poem.indeterminate |
                             poem.limerick | poem.ode-english
                             | poem.sestina | poem.sonnet |
                             poem.sonnet-petrarchan |
                             poem.sonnet-shakespearean |
                             poem.spatial | poem.stanzaic |
                             poem.villanelle | quatrain |
                             quintet | refrain | rime-royal |
                             section | septet | sestet |
                             spenserian | stanza |
                             tercet )            #REQUIRED
          TEIform            CDATA               'lg'           >
<!>
<!ELEMENT %n.opener;    - -  ( %n.signed; | %n.dateline;
                             | %n.salute; | %n.byline;
                             | %phrase.seq;)*                   >
<!ATTLIST %n.opener;         %a.global;
          TEIform            CDATA               'opener'       >
<!>
<!ELEMENT %n.closer;    - -  ( %n.signed; | %n.dateline;
                             | %n.salute; | %n.byline;
                             | %phrase.seq;)*                   >
<!ATTLIST %n.closer;         %a.global;
          TEIform            CDATA               'closer'       >
<!>
<!ELEMENT %n.docImprint; 
                        - -  (%phrase.seq | %n.pubPlace; | 
                             %n.docDate; | %n.docAuthor; |
                             docSale )*                         >
<!ATTLIST %n.docImprint;     %a.global;
          TEIform            CDATA               'docImprint'   >
<!>
<!ELEMENT %n.front;     - -  (%m.front; | %m.divtop; | %n.div;)*>
<!ATTLIST %n.front;          %a.global;
                             %a.declaring;
          TEIform            CDATA               'front'        >
<!>
<!ELEMENT %n.back;      - -  ( %m.front; | %m.divtop; 
                               | %n.div; | %n.trailer; )*       >
<!ATTLIST %n.back;           %a.global;
                             %a.declaring;
          TEIform            CDATA               'back'         >

<!>


<!-- ************************************************************* -->
<!-- The following elements have modified versions of the pure TEI -->
<!-- declarations: they have modified attribute lists.             -->
<!-- ************************************************************* -->
<!>
<!--
*** The following declaration is the same as in teitran2.dtd,
*** except:
***     hand= has been removed
***     id=, n=, rend=, lang= have been replaced with %a.global;
***     order has been re-arranged for encoder convenience
-->
<!ELEMENT %n.hand;      - O  EMPTY                              >
<!ATTLIST %n.hand;           
          scribe             CDATA               #IMPLIED
                             %a.global;
          style              CDATA               #IMPLIED
          ink                CDATA               #IMPLIED
          character          CDATA               #IMPLIED
          first              CDATA               #IMPLIED
          resp               CDATA               %INHERITED
          TEIform            CDATA               'hand'         >
<!>
<!ELEMENT %n.title;     - -  (%paraContent)                     >
<!ATTLIST %n.title;          %a.global;
                             %a.names;
          level              (a | m | j | s | u) #IMPLIED
          type               (sub | main)        #IMPLIED
          TEIform            CDATA               'title'        >
<!>
<!ELEMENT %n.gap;       - O  EMPTY                              >
<!ATTLIST %n.gap;            %a.global;
          desc               ( attachment
                             | embossing
                             | handwriting
                             | printed
                             | unknown )         #REQUIRED
          reason             ( damaged
                             | deleted
                             | illegible
                             | flawed-reproduction
                             | excerpt
                             | omitted
                             | other )           #REQUIRED
          resp               IDREF               %INHERITED
          hand               IDREF               %INHERITED
          agent              CDATA               #IMPLIED
          extent             CDATA               #IMPLIED
          TEIform            CDATA               'gap'          >
<!>
<!ELEMENT %n.supplied;  - -  (%paraContent;)                    >
<!ATTLIST %n.supplied;       %a.global;
          reason             ( damaged
                             | flawed-reproduction
                             | illegible )       #REQUIRED
          resp               CDATA               %INHERITED
          hand               IDREF               %INHERITED
          agent              CDATA               #IMPLIED
          source             CDATA               #IMPLIED
          TEIform            CDATA               'supplied'     >
<!>
<!ELEMENT %n.titlePage; - -  (%m.tpParts;)+                     >
<!ATTLIST %n.titlePage;      %a.global;
          type               ( titlePage
                             | halfTitle
                             | captionTitle
                             | colophon )        'titlePage'
          TEIform            CDATA               'titlePage'    >
<!>
<!--
*** We have added a calendar= to DOCDATE.
-->
<!ELEMENT %n.docDate;   - -  (%phrase.seq;)                     >
<!ATTLIST %n.docDate;        %a.global;
          value              %ISO-date           #IMPLIED
          calendar           CDATA               #IMPLIED
          TEIform            CDATA               'docDate'      >



<!-- ************************************************************* -->
<!-- The following elements have modified versions of the pure TEI -->
<!-- declarations: they have both modified content models and      -->
<!-- modified attribute lists.                                     -->
<!-- ************************************************************* -->
<!>
<!--
*** The following declaration is the same as in teistr2.dtd,
*** except that "hyperDiv?," has been added before FRONT.
-->
<!ELEMENT %n.text;      - -  (  hyperDiv?,
                               (%n.front)?,
                               ( %n.body; | %n.group; ),
                               (%n.back)? )   -(%m.sgmlKeywords;)
                                              +(%m.globincl;)   >
<!--
*** The following declaration is effectively the same as in
*** teistr2.dtd, except that a.global has been expanded and
*** id= is REQUIRED.
-->
<!ATTLIST %n.text;
          id                 ID                  #REQUIRED
          n                  CDATA               #IMPLIED
          lang               IDREF               %INHERITED
          rend               CDATA               #IMPLIED
                             %a.linking;
                             %a.declaring;
          TEIform            CDATA               'text'         >
<!>
<!--
*** We have added DOCAUTHOR to the content model (as a %FIX;),
*** and have supplied a value list for the type= attribute
*** (a %RESTRICT; change).
-->
<!ELEMENT %n.titlePart; - -  ((%paraContent;|%n.docAuthor;)*)   >
<!ATTLIST %n.titlePart;      %a.global;
          type             ( address | alt | date |
                             desc | main | reason |
                             second | sub | vol )   main
          TEIform            CDATA               'titlePart'    >
<!>
<!--
**** We have completely replaced the content model of NOTE to
**** avoid mixed content problems (we do not allow PCDATA directly
**** within NOTE), and to attempt to accommodate the structure
**** of some of our notes, which are more complex than P3's
**** specialPara will allow.
****
**** We have also changed the value list for type=, and given
**** it a default.
****
**** note: original P3 note had %a.global; expanded, not sure why
-->
<!ELEMENT %n.note;      - -  (
                               ( (%m.notetop;)*, 
                                 (%m.notecomp;)+,
                                 (%m.notebot;)*  )
                             |
                               ( (%n.byline;)+ )
                             )                                  >
<!ATTLIST %n.note;           %a.global;
          type             ( authorial | editorial | temp
                             | textual | WWP )   'authorial'
          resp               CDATA               #IMPLIED
          anchored         ( yes | no )          'yes'
          target             IDREFS              #IMPLIED
          targetEnd          IDREFS              #IMPLIED
          TEIform            CDATA               'note'         >


<!-- ********************************************************** -->
<!-- The following elements have not been changed except to     -->
<!-- change the end-tag omissability from "o" or "O" to "-".    -->
<!-- (I.e., these elements are execactly the same as the        -->
<!-- vanilla TEI versions except we require end-tags; they are  -->
<!-- indicated with "%REQEND;" in the entity extension file.)   -->
<!-- ********************************************************** -->
<!>
<!-- Chapter  3: Structure of the TEI DTD, tei2.dtd -->
<!ELEMENT %n.TEI.2;     - -  (%n.teiHeader;, %n.text;)          >
<!ATTLIST %n.TEI.2;          %a.global;
          TEIform            CDATA               'TEI.2'        >
<!ELEMENT %n.teiCorpus.2; 
                        - -  (%n.teiHeader;, (%n.TEI.2)+)       >
<!ATTLIST %n.teiCorpus.2;    %a.global;
          TEIform            CDATA               'teiCorpus.2'  >
<!-- Chapter  5: TEI Header, teihdr2.dtd -->
<!ELEMENT %n.titleStmt; - -  (((%n.title)+, (%n.author; | 
                             %n.editor; | %n.sponsor; | 
                             %n.funder; | %n.principal; | 
                             %n.respStmt;)*))                   >
<!ATTLIST %n.titleStmt;      %a.global;
          TEIform            CDATA               'titleStmt'    >
<!ELEMENT %n.sponsor;   - -  ( %phrase.seq; )                   >
<!ATTLIST %n.sponsor;        %a.global;
          TEIform            CDATA               'sponsor'      >
<!ELEMENT %n.funder;    - -  ( %phrase.seq; )                   >
<!ATTLIST %n.funder;         %a.global;
          TEIform            CDATA               'funder'       >
<!ELEMENT %n.principal; - -  (%phrase.seq;)                     >
<!ATTLIST %n.principal;      %a.global;
          TEIform            CDATA               'principal'    >
<!ELEMENT %n.editionStmt; 
                        - -  ( (%n.edition;, (%n.respStmt)*) | 
                             (%n.p)+ )                          >
<!ATTLIST %n.editionStmt;    %a.global;
          TEIform            CDATA               'editionStmt'  >
<!ELEMENT %n.edition;   - -  (%phrase.seq;)                     >
<!ATTLIST %n.edition;        %a.global;
          TEIform            CDATA               'edition'      >
<!ELEMENT %n.publicationStmt; 
                        - -  ((%n.p)+ | ( (%n.publisher; | 
                             %n.distributor; | %n.authority;) & 
                             ((%n.pubPlace)?, (%n.address)?, 
                             (%n.idno)*, (%n.availability)?, 
                             (%n.date)?)+ )+ )                  >
<!ATTLIST %n.publicationStmt;%a.global;
          TEIform            CDATA               'publicationStmt'
                                                                >
<!ELEMENT %n.distributor; 
                        - -  (%phrase.seq;)                     >
<!ATTLIST %n.distributor;    %a.global;
          TEIform            CDATA               'distributor'  >
<!ELEMENT %n.authority; - -  (%phrase.seq;)                     >
<!ATTLIST %n.authority;      %a.global;
          TEIform            CDATA               'authority'    >
<!ELEMENT %n.idno;      - -  (#PCDATA)                          >
<!ATTLIST %n.idno;           %a.global;
          type               CDATA               #IMPLIED
          TEIform            CDATA               'idno'         >
<!ELEMENT %n.availability; 
                        - -  ((%n.p)+)                          >
<!ATTLIST %n.availability;   %a.global;
          status             (free | unknown | restricted) 
                                                 #IMPLIED
          TEIform            CDATA               'availability' >
<!ELEMENT %n.seriesStmt; 
                        - -  ( (%n.title;, (%n.idno; | 
                             %n.respStmt;)*) | (%n.p)+ )        >
<!ATTLIST %n.seriesStmt;     %a.global;
          TEIform            CDATA               'seriesStmt'   >
<!ELEMENT %n.notesStmt; - -  ((%n.note)+)                       >
<!ATTLIST %n.notesStmt;      %a.global;
          TEIform            CDATA               'notesStmt'    >
<!ELEMENT %n.projectDesc; 
                        - -  ((%n.p)+)                          >
<!ATTLIST %n.projectDesc;    %a.global;
                             %a.declarable;
          TEIform            CDATA               'projectDesc'  >
<!ELEMENT %n.samplingDecl; 
                        - -  ((%n.p)+)                          >
<!ATTLIST %n.samplingDecl;   %a.global;
                             %a.declarable;
          TEIform            CDATA               'samplingDecl' >
<!ELEMENT %n.editorialDecl; 
                        - -  ( (%n.p)+ | ((%n.correction; | 
                             %n.normalization; | %n.quotation; 
                             | %n.hyphenation; | 
                             %n.interpretation; | 
                             %n.segmentation; | %n.stdVals;)+, 
                             (%n.p)*))                          >
<!ATTLIST %n.editorialDecl;  %a.global;
                             %a.declarable;
          TEIform            CDATA               'editorialDecl'>
<!ELEMENT %n.correction; 
                        - -  ((%n.p)+)                          >
<!ATTLIST %n.correction;     %a.global;
                             %a.declarable;
          status             (high | medium | low | unknown) 
                                                 unknown
          method             (silent | tags)     silent
          TEIform            CDATA               'correction'   >
<!ELEMENT %n.normalization; 
                        - -  ((%n.p)+)                          >
<!ATTLIST %n.normalization;  %a.global;
                             %a.declarable;
          source             CDATA               #IMPLIED
          method             (silent | tags)     silent
          TEIform            CDATA               'normalization'>
<!ELEMENT %n.quotation; - -  ((%n.p)+)                          >
<!ATTLIST %n.quotation;      %a.global;
                             %a.declarable;
          marks              (none | some | all) all
          form               (data | rend | std | nonstd | 
                             unknown)            unknown
          TEIform            CDATA               'quotation'    >
<!ELEMENT %n.hyphenation; 
                        - -  ((%n.p)+)                          >
<!ATTLIST %n.hyphenation;    %a.global;
                             %a.declarable;
          eol                (all | some | none) some
          TEIform            CDATA               'hyphenation'  >
<!ELEMENT %n.segmentation; 
                        - -  ((%n.p)+)                          >
<!ATTLIST %n.segmentation;   %a.global;
                             %a.declarable;
          TEIform            CDATA               'segmentation' >
<!ELEMENT %n.stdVals;   - -  ((%n.p)+)                          >
<!ATTLIST %n.stdVals;        %a.global;
                             %a.declarable;
          TEIform            CDATA               'stdVals'      >
<!ELEMENT %n.interpretation; 
                        - -  ((%n.p)+)                          >
<!ATTLIST %n.interpretation; %a.global;
                             %a.declarable;
          TEIform            CDATA               'interpretation'
                                                                >
<!ELEMENT %n.tagsDecl;  - -  ((%n.rendition)*, (%n.tagUsage)*)  >
<!ATTLIST %n.tagsDecl;       %a.global;
          TEIform            CDATA               'tagsDecl'     >
<!ELEMENT %n.tagUsage;  - -  (%paraContent)                     >
<!ATTLIST %n.tagUsage;       %a.global;
          gi                 NAME                #REQUIRED
          occurs             NUMBER              #IMPLIED
          ident              NUMBER              #IMPLIED
          render             IDREF               #IMPLIED
          TEIform            CDATA               'tagUsage'     >
<!ELEMENT %n.rendition; - -  (%paraContent)                     >
<!ATTLIST %n.rendition;      %a.global;
          TEIform            CDATA               'rendition'    >
<!ELEMENT %n.refsDecl;  - -  ((%n.p)+ | (%n.step)+ | 
                             (%n.state)+)                       >
<!ATTLIST %n.refsDecl;       %a.global;
          doctype            NAME                TEI.2
          TEIform            CDATA               'refsDecl'     >
<!ELEMENT %n.langUsage; - -  (%n.p; | %n.language;)+            >
<!ATTLIST %n.langUsage;      %a.global;
                             %a.declarable;
          TEIform            CDATA               'langUsage'    >
<!ELEMENT %n.change;    - -  (%n.date;, (%n.respStmt)+, 
                             %n.item;)                          >
<!ATTLIST %n.change;         %a.global;
          TEIform            CDATA               'change'       >
<!-- Chapter  6: Elements Available in All TEI Documents, teicore2.dtd -->
<!ELEMENT %n.address;   - -  ((%n.addrLine)+ | (%m.addrPart)*)  >
<!ATTLIST %n.address;        %a.global;
          TEIform            CDATA               'address'      >
<!ELEMENT %n.addrLine;  - -  (%phrase.seq)                      >
<!ATTLIST %n.addrLine;       %a.global;
          TEIform            CDATA               'addrLine'     >
<!ELEMENT %n.street;    - -  (%phrase.seq)                      >
<!ATTLIST %n.street;         %a.global;
          TEIform            CDATA               'street'       >
<!ELEMENT %n.postCode;  - -  (#PCDATA)                          >
<!ATTLIST %n.postCode;       %a.global;
          TEIform            CDATA               'postCode'     >
<!ELEMENT %n.postBox;   - -  (#PCDATA)                          >
<!ATTLIST %n.postBox;        %a.global;
          TEIform            CDATA               'postBox'      >
<!ELEMENT %n.label;     - -  (%phrase.seq;)                     >
<!ATTLIST %n.label;          %a.global;
          TEIform            CDATA               'label'        >
<!ELEMENT %n.headLabel; - -  (%phrase.seq;)                     >
<!ATTLIST %n.headLabel;      %a.global;
          TEIform            CDATA               'headLabel'    >
<!ELEMENT %n.headItem;  - -  (%phrase.seq;)                     >
<!ATTLIST %n.headItem;       %a.global;
          TEIform            CDATA               'headItem'     >
<!ELEMENT %n.bibl;      - -  (#PCDATA | %m.phrase; | 
                             %m.biblPart;)*                     >
<!ATTLIST %n.bibl;           %a.global;
                             %a.declarable;
          TEIform            CDATA               'bibl'         >
<!ELEMENT %n.biblStruct; 
                        - -  ((%n.analytic)?, (%n.monogr;, 
                             (%n.series)*)+, (%n.note; | 
                             %n.idno;)*)                        >
<!ATTLIST %n.biblStruct;     %a.global;
                             %a.declarable;
          TEIform            CDATA               'biblStruct'   >
<!ELEMENT %n.biblFull;  - -  (%n.titleStmt;, (%n.editionStmt)?, 
                             (%n.extent)?, %n.publicationStmt;, 
                             (%n.seriesStmt)?, (%n.notesStmt)?, 
                             (%n.sourceDesc)*)                  >
<!ATTLIST %n.biblFull;       %a.global;
                             %a.declarable;
          TEIform            CDATA               'biblFull'     >
<!ELEMENT %n.analytic;  - -  (%n.author; | %n.editor; | 
                             %n.respStmt; | %n.title;)*         >
<!ATTLIST %n.analytic;       %a.global;
          TEIform            CDATA               'analytic'     >
<!ELEMENT %n.monogr;    - -  ( ( ((%n.author; | %n.editor; | 
                             %n.respStmt;)+, (%n.title)+, 
                             (%n.editor; | %n.respStmt;)*) | 
                             ((%n.title)+, (%n.author; | 
                             %n.editor; | %n.respStmt;)*))?, 
                             (%n.note; | %n.meeting;)*, 
                             (%n.edition;, (%n.editor; | 
                             %n.respStmt;)*)*, %n.imprint;, 
                             (%n.imprint; | %n.extent; | 
                             %n.biblScope;)* )                  >
<!ATTLIST %n.monogr;         %a.global;
          TEIform            CDATA               'monogr'       >
<!ELEMENT %n.series;    - -  (%n.title; | %n.editor; | 
                             %n.respStmt; | %n.biblScope;)*     >
<!ATTLIST %n.series;         %a.global;
          TEIform            CDATA               'series'       >
<!ELEMENT %n.editor;    - -  (%phrase.seq)                      >
<!ATTLIST %n.editor;         %a.global;
          role               CDATA               editor
          TEIform            CDATA               'editor'       >
<!ELEMENT %n.imprint;   - -  (%n.pubPlace; | %n.publisher; | 
                             %n.date; | %n.biblScope;)*         >
<!ATTLIST %n.imprint;        %a.global;
          TEIform            CDATA               'imprint'      >
<!ELEMENT %n.publisher; - -  (%phrase.seq)                      >
<!ATTLIST %n.publisher;      %a.global;
          TEIform            CDATA               'publisher'    >
<!ELEMENT %n.biblScope; - -  (%phrase.seq)                      >
<!ATTLIST %n.biblScope;      %a.global;
          type               CDATA               #IMPLIED
          TEIform            CDATA               'biblScope'    >
<!ELEMENT %n.l;         - -  (%paraContent)                     >
<!ATTLIST %n.l;              %a.global;
                             %a.enjamb;
                             %a.metrical;
          part               (Y | N | I | M | F) N
          TEIform            CDATA               'l'            >
<!ELEMENT %n.speaker;   - -  (%phrase.seq)        -(speaker)    >
<!ATTLIST %n.speaker;        %a.global;
          TEIform            CDATA               'speaker'      >
<!-- Chapter  7: Default Text Structure, teistr2.dtd -->
<!ELEMENT %n.body;      - -  ((%m.divtop;)*, ( ( (%n.divGen)*, 
                             ( (%n.div;, (%n.div; | 
                             %n.divGen;)*) | (%n.div0;, 
                             (%n.div0; | %n.divGen;)*) | 
                             (%n.div1;, (%n.div1; | 
                             %n.divGen;)*) ) ) | ( 
                             (%component)+, ((%n.divGen)*, ( 
                             (%n.div;, (%n.div; | %n.divGen;)*) 
                             | (%n.div0;, (%n.div0; | 
                             %n.divGen;)*) | (%n.div1;, 
                             (%n.div1; | %n.divGen;)*) )? ))), 
                             (%m.divbot;)*)                     >
<!ATTLIST %n.body;           %a.global;
                             %a.declaring;
          TEIform            CDATA               'body'         >
<!ELEMENT %n.group;     - -  ((%m.divtop;)*, (%n.text; | 
                             %n.group;)+, (%m.divbot;)*)        >
<!ATTLIST %n.group;          %a.global;
                             %a.declaring;
          TEIform            CDATA               'group'        >
<!ELEMENT %n.trailer;   - -  (%phrase.seq;)                     >
<!ATTLIST %n.trailer;        %a.global;
          TEIform            CDATA               'trailer'      >
<!ELEMENT %n.byline;    - -  (%phrase.seq; | %n.docAuthor;)*    >
<!ATTLIST %n.byline;         %a.global;
          TEIform            CDATA               'byline'       >
<!ELEMENT %n.salute;    - -  (%phrase.seq;)                     >
<!ATTLIST %n.salute;         %a.global;
          TEIform            CDATA               'salute'       >
<!ELEMENT %n.signed;    - -  (%phrase.seq;)                     >
<!ATTLIST %n.signed;         %a.global;
          TEIform            CDATA               'signed'       >
<!-- teifron2.dtd -->
<!ELEMENT %n.docTitle;  - -  ((%n.titlePart)+)                  >
<!ATTLIST %n.docTitle;       %a.global;
          TEIform            CDATA               'docTitle'     >
<!ELEMENT %n.docAuthor; - -  (%phrase.seq;)                     >
<!ATTLIST %n.docAuthor;      %a.global;
          TEIform            CDATA               'docAuthor'    >
<!ELEMENT %n.imprimatur; 
                        - -  (%paraContent;)                    >
<!ATTLIST %n.imprimatur;     %a.global;
          TEIform            CDATA               'imprimatur'   >
<!ELEMENT %n.docEdition; 
                        - -  (%paraContent;)                    >
<!ATTLIST %n.docEdition;     %a.global;
          TEIform            CDATA               'docEdition'   >
<!-- Chapter  8: Prose, teipros2.dtd -->
<!-- Chapter  9: Verse, teivers2.dtd -->
<!-- Chapter 10: Drama, teidram2.dtd -->
<!ELEMENT %n.castItem;  - -  (%n.role; | %n.roleDesc; | 
                             %n.actor; | (%phrase.seq))*        >
<!ATTLIST %n.castItem;       %a.global;
          type               (role | list)       role
          TEIform            CDATA               'castItem'     >
<!ELEMENT %n.role;      - -  (%phrase.seq)                      >
<!ATTLIST %n.role;           %a.global;
          TEIform            CDATA               'role'         >
<!ELEMENT %n.actor;     - -  (%phrase.seq)                      >
<!ATTLIST %n.actor;          %a.global;
          TEIform            CDATA               'actor'        >
<!-- Chapter 11: Transcriptions of Speech, teispok2.dtd -->
<!-- Chapter 12: Print Dictionaries, teidict2.dtd -->
<!-- Chapter 13: Terminological Data, teiterm2.dtd -->
<!-- Chapter 14: Linking, Segmentation, and Alignment, teilink2.dtd -->
<!ELEMENT %n.xref;      - -  (%paraContent)                     >
<!ATTLIST %n.xref;           %a.global;
                             %a.xPointer;
          TEIform            CDATA               'xref'         >
<!-- Chapter 15: Simple Analytic Mechanisms, teiana2.dtd -->
<!-- Chapter 16: Feature Structures, teifs2.dtd -->
<!-- Chapter 17: Certainty and Responsibility, teicert2.dtd -->
<!-- Chapter 18: Transcription of Primary Sources, teitran2.dtd -->
<!ELEMENT %n.restore;   - -  (%phrase.seq;)                     >
<!ATTLIST %n.restore;        %a.global;
          wit                CDATA               #IMPLIED
          cause              CDATA               #IMPLIED
          varSeq             NUMBER              #IMPLIED
          type               CDATA               #IMPLIED
          desc               CDATA               #IMPLIED
          resp               IDREF               %INHERITED
          cert               CDATA               #IMPLIED
          hand               IDREF               %INHERITED
          TEIform            CDATA               'restore'      >
<!ELEMENT %n.handList;  - -  ((%n.hand)*)                       >
<!ATTLIST %n.handList;       %a.global;
          TEIform            CDATA               'handList'     >
<!-- Chapter 19: Critical Apparatus, teitc2.dtd -->
<!-- Chapter 20: Names and Dates, teind2.dtd -->
<!-- Chapter 21: Graphs, Networks, and Trees, teinet2.dtd -->
<!-- Chapter 22: Tables, Formulae, and Graphics, teifig2.dtd -->
<!-- Chapter 23: Language Corpora, teicorp2.dtd -->


<!-- ********************************************************** -->
<!-- The following elements have been changed in only aesthetic -->
<!-- ways: the order of the attributes in the ATTLIST has been  -->
<!-- changed for the convenience of encoders.                   -->
<!-- ********************************************************** -->
<!>
<!ELEMENT %n.abbr;      - -  (%phrase.seq;)                     >
<!ATTLIST %n.abbr;
          expan              CDATA               #IMPLIED
          resp               IDREF               %INHERITED
                             %a.global;
          cert               CDATA               #IMPLIED
          type               CDATA               #IMPLIED
          TEIform            CDATA               'abbr'         >
<!>
<!-- SIC already done, above in "added type=" section         -->
<!>
<!ELEMENT %n.orig;      - -  (%phrase.seq;)                     >
<!ATTLIST %n.orig; 
          reg                CDATA               #IMPLIED
          resp               CDATA               #IMPLIED
                             %a.global;
          TEIform            CDATA               'orig'         >


<!-- ************************************************************* -->
<!-- The following elements are copied from teitsd2.dtd; the only  -->
<!-- differences are:                                              -->
<!-- * the TEI= attribute is IMPLIED instead of defaulting         -->
<!--   to 'yes'; this is an isomorphic change, but might change    -->
<!--   the ESIS of vanilla TEI documents;                          -->
<!-- * there is a required type= on TAG; this is an %EXTEND; type  -->
<!--   change.                                                     -->
<!-- ************************************************************* -->
<!>
<!ELEMENT gi            - -  (#PCDATA)                          >
<!ATTLIST gi                 %a.global;
          TEI                (yes | no)          #IMPLIED
          TEIform            CDATA               'gi'           >
<!> 
<!ELEMENT tag           - -  (#PCDATA)                          >
<!ATTLIST tag                %a.global;
          TEI                (yes | no)          #IMPLIED
          type               ( start | end | empty )
                                                 #REQUIRED
          TEIform            CDATA               'tag'          >
<!>
<!ELEMENT att           - -  (#PCDATA)                          >
<!ATTLIST att                %a.global;
          TEI                (yes | no)          #IMPLIED
          TEIform            CDATA               'att'          >
<!>
<!ELEMENT val           - -  (#PCDATA)                          >
<!ATTLIST val                %a.global;
          TEIform            CDATA               'val'          >


<!-- ************************************************************* -->
<!-- The following are added elements, not found in P3 (and thus   -->
<!-- may not have TEIform= attributes).                            -->
<!-- ************************************************************* -->
<!>
<!--
*** For the ENT element, a source= attribute is provided
*** with which to declare from which collection of entity
*** names the encoded one is from. Possible values at the
*** moment are "tei", "iso", "wwp", and "document".
*** tei: the entity is declared in the standard TEI P3 DTDs.
***    example - %sgmlKeywords;
*** iso: the entity is declared in the standard ISO 8879
***    entity sets. example - …
*** wwp: the entity is not in the above sets, and is
***    declared in the WWPs own DTDs or entity sets.
***    examples - %AEhack;, &invertedi;
*** document: the entity is declared in the document type
***    declaration subset of a particular document.
*** In addition a type= attribute specifies whether the
*** entity is a general or parameter entity. Note that
*** for our purposes (documentation) those two values are
*** sufficient; however, one can imagine circumstances in
*** which an "unknown" or "unspecified" value would be
*** required.
-->
<!-- The ENT element is provided for encoding an entity name  -->
<!ELEMENT ent            - -  (#PCDATA)                         >
<!ATTLIST ent                 %a.global;
          type                (general|parameter)      'general'
          source              (document|iso|tei|wwp)   #IMPLIED >
<!>
<!--
*** On export, the following declaration could be used
***
***  ELEMENT hyperDiv      - O  ((%m.divtop;)*, ((%n.div; | 
***                             %n.divGen;)+ | ((%component;)+, 
***                             (%n.div; | %n.divGen;)*)), 
***                             (%m.divbot;)*)
***
*** however, we wish to be much more restrictive.
-->
<!--
*** We have explicity declared the type= attribute. This is
*** becase although it is normally part of a.divn, we removed
*** it so we could add value lists to DIV & LG.
-->
<!ELEMENT hyperDiv      - -  ( castList*, list*, note*,
                               acrostics? )                     >
<!ATTLIST hyperDiv           %a.global;
                             %a.declaring;
                             %a.divn;
          type               CDATA              #IMPLIED        >
<!>
<!ELEMENT unknown       - -  ANY                -( teiHeader )  >
<!ATTLIST unknown            %a.global;
          type               CDATA               #IMPLIED
          desc               CDATA               #REQUIRED
          who                CDATA               #REQUIRED      >
<!>
<!ELEMENT docSale       - -  (%phrase.seq;)                     >
<!ATTLIST docSale            %a.global;                         >
<!>
<!ELEMENT regMe         - -  (%phrase.seq;)                     >
<!-- we don't use a.global as we have removed rend= -->
<!ATTLIST regMe           
          id                 ID                  #IMPLIED
                             %a.linking;
                             %a.terminology;
                             %a.analysis;
          n                  CDATA               #IMPLIED
          lang               IDREF               %INHERITED;
          TEIform            CDATA               'orig'         >
<!>
<!ELEMENT ps            - -  (
                               ( (%m.notetop;)*, 
                                 (%m.notecomp;)+,
                                 (%m.notebot;)*  )
                             |
                               ( (%n.byline;)+ )
                             )                                  >
<!ATTLIST ps                 %a.global;
          TEIform            CDATA               'note'         >
<!>
<!ELEMENT advertisement - -  (%m.common; | %m.biblPart;)*       >
<!ATTLIST advertisement      %a.global;                         >
<!>
<!ELEMENT mcr           - -  (%phrase.seq;)                     >
<!ATTLIST mcr                %a.global;                         >
<!>
<!ELEMENT acrostics     - -  ( acrostic+ )                      >
<!ATTLIST acrostics          %a.global;                         >
<!>
<!ELEMENT acrostic      - -  (%phrase.seq;)                     >
<!ATTLIST acrostic           %a.global;
          target             IDREF               #REQUIRED
          components         IDREFS              #IMPLIED       >


<!-- ************************************************************* -->
<!-- Change log:                                                   -->
<!--                                                               -->
<!-- 2001-10-09 by Syd Bauman:                                     -->
<!--   Changed reason= of SUPPLIED from CDATA/INHERITED to a       -->
<!--   closed value list/REQUIREDper e-mail & conversations w/     -->
<!--   Julia since the change below (reason= on UNCLEAR).          -->
<!-- Changed reason= of SUPPLIED from CDATA/INHERITED to a closed  -->
<!-- value list/REQUIREDper e-mail & conversations w/ Julia since  -->
<!-- the change below (reason= on UNCLEAR).                        -->
<!-- 2001-09-26 by Syd Bauman:                                     -->
<!--  * Added declarations copied from teicore2.dtd with s/o/-/i   -->
<!--    for BIBL, ANALYTIC, MONOGR, and PUBLISHER to require end-  -->
<!--    tags. Not sure why these four slipped through earlier.     -->
<!--  * Changed reason= of UNCLEAR from CDATA to the closed value  -->
<!--    list found in resolution 160, per encoding meeting of      -->
<!--    today.                                                     -->
<!-- 2001-06-27 by Syd Bauman:                                     -->
<!--  * allow biblPart elements in content of SEG; this was done   -->
<!--    so that SEGs could be used inside BIBLs properly; see      -->
<!--    adams.newengland2.sgml, I think                            -->
<!--  Following 2 changes made months ago, but file was not check- -->
<!--  back in, nor was a flat DTD created:                         -->
<!--  * remove rend= from REGME                                    -->
<!--  * allow SPEAKER anywhere inside P, rather than just as 1st   -->
<!--    child (per enc mtg 2001-02-20).                            -->
<!-- 2000-03-31 by Syd Bauman:                                     -->
<!--  Changed "tochead" to "listHead" and added "lineNum" to type= -->
<!--  of MW (aka %n.fw;).                                          -->
<!-- 2000-03-16 by Syd Bauman:                                     -->
<!--  Changed unit= of MILESTONE from CDATA to a closed value list -->
<!--  of one ("sig").                                              -->
<!-- 1999-09-30 by Syd Bauman:                                     -->
<!--  * Changed "pagenum" to "pageNum" in declared value of type=  -->
<!--    of PTR and REF.                                            -->
<!-- 1999-08-07 by Syd Bauman:                                     -->
<!--  * Added 'div' to type= list of REF and PTR;                  -->
<!--  * Actually require end-tags for all REQEND elements (and     -->
<!--    for SP, which should have already been done);              -->
<!--  * Add type= to GI and ENT                                    -->
<!-- 1999-08-02 by Syd Bauman:                                     -->
<!--  * Added declaration for AUTHOR as we have added type= (with  -->
<!--    values 'main' and 'other') to it.                          -->
<!-- 1999-08-01 by Syd Bauman:                                     -->
<!--  * Added person-male and person-female to type= of NAME.      -->
<!--    (Along with more changes in next day or two for new system -->
<!--    of recording metadata about persons involved with book     -->
<!--    creation in the TEIHEADER.)                                -->
<!-- 1999-07-29 by Syd Bauman:                                     -->
<!--  * Excluded m.sgmlKeywords from TEXT.                         -->
<!-- 1999-07-28 by Syd Bauman:                                     -->
<!--  * Added declaration for EXTENT so that we could add the      -->
<!--    type=, unit=, and value= attributes.                       -->
<!-- 1999-07-13 by Syd Bauman:                                     -->
<!--  * Added declarations for FRONT and BACK, which we have al-   -->
<!--    tered in order to allow TITLEBLOCK to be part of the class -->
<!--    'divtop'.                                                  -->
<!--  * Changed target= to IDREF (instead of IDREFS), removed tar- -->
<!--    getEnd= (not sure why I put it there), and added compo-    -->
<!--    nents= to ACROSTIC. Now we use target= only for pointing   -->
<!--    a single element, the "holder" (smallest element contain-  -->
<!--    ing the letters) of the acrostic word(s). We don't need    -->
<!--    targetEnd= as we have defined target= as always pointing   -->
<!--    to a proper SGML element. We now use components= iff we    -->
<!--    need to point to a list of IDs of the individual letters   -->
<!--    of the acrostic. This seems better than having different   -->
<!--    semantics for when one IDREF was specified on target= vs.  -->
<!--    multiple.                                                  -->
<!-- 1999-07-08 by Syd Bauman:                                     -->
<!--    Added ACROSTICS and ACROSTIC elements, which will live in  -->
<!--    the HYPERDIV and serve as a place to record the word(s)    -->
<!--    which are spelled out in acrostics. The target= attribute  -->
<!--    points either to the smallest element which is an ancestor -->
<!--    of all the elements whose initial letters are used (if     -->
<!--    only one IDREF is specified), or, in the off chance that   -->
<!--    that yields an element insufficiently close to the         -->
<!--    acrostic (e.g., if the last 4 paras of one DIV and the     -->
<!--    first four of the next formed an acrostic, the preceding   -->
<!--    method could yield BODY), mutiple IDREFs could be speci-   -->
<!--    fied, each pointing to the parent element of a letter in   -->
<!--    the acrostic. Note that the content of ACROSTIC allows     -->
<!--    for encoding the virtual word(s) as PERSNAME, or whatever, -->
<!--    appropriately.                                             -->
<!-- 1999-07-05 by Syd Bauman:                                     -->
<!--    * Removed CIT from hand-expanded (i.e., AEHACK) version    -->
<!--      of %compsanslabel;, as CIT is now NOTUSED.               -->
<!--    * Added 'textual' to type= of NOTE. The textual notes, or  -->
<!--      "notes on the text" should be written by a WWP staffer   -->
<!--      or kwelbo, and should occur *only* in NOTESTMT. The idea -->
<!--      is that they will be printed out in most layouts,        -->
<!--      whereas type="WWP" would not.                            -->
<!--    * Changed type= of TITLE from CDATA to name token group of -->
<!--      'sub' and 'main'. All TITLE elements that are descend-   -->
<!--      ents of TEXT should *not* have a type= specified; all    -->
<!--      those that are descendents of TITLESTMT *should* have    -->
<!--      a type= specified.                                       -->
<!--    * Changed content model of FIGURE so that                  -->
<!--      - FIGDESC is required; and                               -->
<!--      - P or LG for caption may occur before FIGDESC           -->
<!--    * Added calendar= to DOCDATE. For now it is CDATA just as  -->
<!--      calendar= of DATE, but in the future we hope to change   -->
<!--      both of them to name token groups.                       -->
<!-- 1999-06-05 by Syd Bauman:                                     -->
<!--    Added declaration for FIGURE. See e-mail of 1998-10-22 and -->
<!--    1999-11-01 for discussion of rationale for change to con-  -->
<!--    tent model.                                                -->
<!-- 1999-05-12 by Syd Bauman:                                     -->
<!--    Removed declaration for PERSNAME: changes no longer        -->
<!--    needed; altered declaration for PLACENAME: no longer using -->
<!--    %paraContent; instead of %phrase; + PCDATA, and no longer  -->
<!--    need the exclusion exception (nesting of names permitted,  -->
<!--    although probably usually an error; can be caught by       -->
<!--    supravalidation). Removed declaration for ORGNAME:         -->
<!--    changes no longer needed.                                  -->
<!--    Altered content model for LG again: SPEAKER or LABEL, like -->
<!--    STAGE, are now allowed in main part of content (i.e.,      -->
<!--    before, after, or in between Ls).                          -->
<!--    Added SPEAKER as an optional first child of P.             -->
<!-- 1999-04-21 by Syd Bauman:                                     -->
<!--    Added 'argument' to type= of DIV.                          -->
<!--    Added SPEAKER as optional first child of LG, and           -->
<!--    changed LABEL to STAGE in the content model of LG, per     -->
<!--    result of 1999-04-20 encoding meeting.                     -->
<!-- 1999-03-15 by Syd Bauman:                                     -->
<!--    In the type= lists for REF and PTR, c/err/error/ and       -->
<!--    c/errare/correction.                                       -->
<!-- 1999-03-04 by Syd Bauman:                                     -->
<!--    Added LABEL to middle part of content model of LG;         -->
<!--    made reason= of GAP a #REQUIRED name token group (this     -->
<!--    requires changing "flawed reproduction" by separating      -->
<!--    with a hyphen instead of a blank).                         -->
<!-- 1999-03-04 by Syd Bauman:                                     -->
<!--    Added DOCSALE to content model of DOCIMPRINT per encoding  -->
<!--    meeting decision of 1999-03-02.                            -->
<!-- 1999-02-18 by Syd Bauman:                                     -->
<!-- 	Bug fix: changed "docAuthor" to "%n.docAuthor;" in content -->
<!-- 	model of TITLEPART. Also added declarations for DATE and   -->
<!-- 	SP and made the value= and who= attributes REQUIRED.       -->
<!-- 1999-02-05 by Syd Bauman:                                     -->
<!--    Added "drama.verse" to type= of LG.                        -->
<!-- 1999-02-04 by Syd Bauman:                                     -->
<!--    Changed the declaration for the type= of NOTE to match the -->
<!--    Markup Documentation database resolution. See encoding     -->
<!--    meeting minutes for yesterday's meeting.                   -->
<!-- 1998-12-14 by Syd Bauman:                                     -->
<!--  * Changed all "," connectors in attribute declaration lists  -->
<!--    (the only token groups where it matters) to "|" for XML    -->
<!--    compatibility.                                             -->
<!--  * Added declaration for RESPSTMT (new content model is XML   -->
<!--    valid & has additional restrictions: NAME must be first,   -->
<!--    only one NAME or only one RESP).                           -->
<!--  * Added declaration for RESP: added type=                    -->
<!--  * Altered changes of 1998-11-09 by 1) removing declaration   -->
<!--    for IMPRINT (thus removing BOOKSELLER and PRINTER), and    -->
<!--    2) removing BOOKSELLER and PRINTER from, and adding        -->
<!--    %n.docAuthor; (which is DOCROLE) to, the declaration for   -->
<!--    DOCIMPRINT, and 3) removing declarations for BOOKSELLER    -->
<!--    and PRINTER entirely (which were added 11-06, not 11-09).  -->
<!--  * Removed the following values from type= of LG:             -->
<!--  	  acrostic limerick ode-english sestina sonnet             -->
<!--  	  sonnet-petrarchan sonnet-shakespearean spatial           -->
<!--  	  villanelle                                               -->
<!-- 1998-11-10 by Syd Bauman:                                     -->
<!--    Reverted rend= of MCR to IMPLIED rather than REQUIRED:     -->
<!--    although a rendition is required, it may well be defaulted -->
<!--    via the TAGSDECL.                                          -->
<!-- 1998-11-09 by Syd Bauman:                                     -->
<!--    Added declaration for MCR.                                 -->
<!-- 1998-11-09 by Syd Bauman:                                     -->
<!--    Added declarations for DOCIMPRINT (from teifron2.dtd) and  -->
<!--    IMPRINT (from teicore2.dtd) and added BOOKSELLER and       -->
<!--    PRINTER to their content models.                           -->
<!-- 1998-11-06 by Syd Bauman:                                     -->
<!-- *  Removed decls for AUTHOR, DOCAUTHOR, and PUBLISHER (thus   -->
<!--    removing key=, as per not-so-recent encoding decision).    -->
<!-- *  Finally added ADVERTISEMENT element.                       -->
<!-- *  Added the various "poem." values to type= of LG which      -->
<!--    Paul had forgotten to tell me about for the 1998-10-05     -->
<!--    changes.                                                   -->
<!-- *  Added ROLEDESC to content model of CASTGROUP.              -->
<!-- *  Added declarations for Q and QUOTE and added part=         -->
<!--    attribute. In order to do so, needed to remove direct=     -->
<!--    from Q — luckily, we don't seem to use it            -->
<!-- *  Removed decls for ANALYTIC, BIBL, and MONOGR, as we        -->
<!--    don't use type= on them anymore.                           -->
<!-- *  Removed 'bookseller' & 'printer' from type= of NAME and    -->
<!--    RS; also 'propAdj' from type= of RS.                       -->
<!-- *  Added declaration for ORGNAME; added exclusion exception   -->
<!--    disallowing PERSNAME, PLACENAME, ORGNAME from nesting      -->
<!--    within themselves.                                         -->
<!-- *  Added declarations for BOOKSELLER and PRINTER.             -->
<!-- * Removed large section of duplicate code; not sure when or   -->
<!--    how it snuck in.                                           -->
<!-- 1998-10-06 by Syd Bauman:                                     -->
<!--    Removed declaration for COLOPHON; removed "imprint" and    -->
<!--    "part.title" from type= of DIV.                            -->
<!-- 1998-10-05 by Syd Bauman:                                     -->
<!--    Altered type= of LG per Paul's request:                    -->
<!--    - change "octave" to "octet"                               -->
<!--    - change "undetermined" to "indeterminate"                 -->
<!--    - change "stanza-spenserian" to "spenserian"               -->
<!--    - delete "strophe"                                         -->
<!-- 1998-09-28 by Syd Bauman:                                     -->
<!--    Added closed list for type= of %n.titlePage (which is the  -->
<!--    TITLEBLOCK element).                                       -->
<!-- 1998-08-05 by Syd Bauman:                                     -->
<!--    Added PS element; gave it content model and teiform= of    -->
<!--    NOTE for now. Expect to improve that in future.            -->
<!-- 1998-04-08 by Syd Bauman:                                     -->
<!--    Changed content model of NOTE.                             -->
<!-- 1998-03-24 by Syd Bauman:                                     -->
<!--    Per Paul Caton s/octave-rima/ottava-rima/ in value list    -->
<!--    for type= of LG. Note that date in header comments for     -->
<!--    previous version (1.1.6a) had "1997" instead of "1998".    -->
<!-- Change log:                                                   -->
<!-- 1998-03-10 by Syd Bauman:                                     -->
<!--    Added GAP to require and restrict values for desc=.        -->
<!--    Added OPENER and CLOSER to add %n.byline (RESPLINE) to     -->
<!--        content model.                                         -->
<!--    Added 'epigraph' to type= of DIV.                          -->
<!-- 1997-10-27 by Syd Bauman:                                     -->
<!--    Added REGME. Added entire section on condensing a.global   -->
<!--    which includes declarations for FORIEGN, ITEM,             -->
<!--    MILESTONE, PB, LB, CB, LANGUAGE, and ANCHOR. Note that the -->
<!--    1997-07-16 comment that TEI declaration of ANCHOR is       -->
<!--    correct probably only refers to the #REQUIRED id=, and I   -->
<!--    missed the fact that a.linking was not included.           -->
<!-- 1997-08-06 by Syd Bauman:                                     -->
<!--    Added %m.hqinter; to content model of LG; added 'recipe'   -->
<!--    to type= of DIV.                                           -->
<!-- 1997-07-16 by Syd Bauman:                                     -->
<!--    Remove 'preface' from type= of DIV (apparently didn't      -->
<!--    really get removed 1996-11-13).                            -->
<!-- 1997-07-16 by Syd Bauman:                                     -->
<!--  * Removed our declaration for ANCHOR; the original TEI one   -->
<!--    is correct.                                                -->
<!--  * Removed our declarations for CORR, EXPAN, and REG, as we   -->
<!--    do not use these elements.                                 -->
<!--  * Added declaration for new DOCSALE element.                 -->
<!-- 1997-06-18 by Syd Bauman:                                     -->
<!--    Added DOCAUTHOR to content model of TITLEPART.             -->
<!-- 1997-05-05 by Syd Bauman:                                     -->
<!--    Added IMPRIMATUR to content model of COLOPHON; added       -->
<!--    AUTHOR and DOCAUTHOR to 'a.names' (giving them key= and    -->
<!--    reg=); changed content models of PERSNAME and PLACENAME    -->
<!--    so that they now have 'paraContent' where they used to     -->
<!--    have 'phrase' — this was done so that NOTE and       -->
<!--    ANCHOR (the 'notes' class) can occur inside PERSNAME and   -->
<!--    PLACENAME. I am suspicious that this solution will prove   -->
<!--    inadaquate, and we will have to back this change out and   -->
<!--    simply make 'notes' global inclusions on TEXT.             -->
<!-- 1997-04-08 by Syd Bauman:                                     -->
<!--    Changed 'notes' to 'endnotes' for type= of DIV.            -->
<!-- 1997-03-26 by Syd Bauman:                                     -->
<!--    Added new element COLOPHON.                                -->
<!-- 1997-03-06 by Syd Bauman:                                     -->
<!--    Added "imprint" to value list to type= of DIV.             -->
<!-- 1997-02-21 by Syd Bauman:                                     -->
<!--    Added "prayer" and "speech" to value list to type= of DIV. -->
<!-- 1997-01-22 by Syd Bauman:                                     -->
<!--  * made hand= REQUIRED for ADD, ADDSPAN, DEL, and DELSPAN.    -->
<!--  * made id= of TEXT element REQUIRED                          -->
<!--  * removed value list for type= of DELSPAN; we'll need to     -->
<!--    create a better one soon.                                  -->
<!--  * Require end-tags for those elements that do not already    -->
<!--    require them, and are already in this file for some other  -->
<!--    reason: ANALYTIC, BIBL, MONOGR, DIV, LG, HEAD, TITLEPART,  -->
<!--    FW, NOTE, DATELINE, PUBLISHER, and TITLE.                  -->
<!-- 1996-11-13 by Syd Bauman:                                     -->
<!--    Alter value list for type= of DIV:                         -->
<!--    remove ack, appendix, foreword, frontpart, preface, tract; -->
<!--    add index.                                                 -->
<!--    Add 'border' to value list of type= of FW.                 -->
<!-- 1996-11-06 by Syd Bauman:                                     -->
<!--    Add 'castlist', 'subsection', and 'tract' to type= of DIV  -->
<!--    (the first of which was apparently inadvertently removed   -->
<!--    in a previous change). Remove hand= attribute from HAND    -->
<!--    element, as it doesn't seem appropriate, and is not used   -->
<!--    in TEI's own examples.                                     -->
<!-- 1996-10-26 by Syd Bauman:                                     -->
<!--    Add PUBLISHER to attribute class "names"; i.e., add the    -->
<!--    reg= and key= attributes to element PUBLISHER. Alter value -->
<!--    list of type= of DIV (replace 'backpart' with 'concluding',-->
<!--    add 'petition' and 'revelation').                          -->
<!-- 1996-10-15 by Syd Bauman:                                     -->
<!--    Add TITLE to attribute class "names"; i.e., add the reg=   -->
<!--    and key= attributes to element TITLE.                      -->
<!-- 1996-10-06 by Syd Bauman:                                     -->
<!--    Bug fix: really remove place= from NOTE and FW. Also       -->
<!--    improve comments; add "prefatory" to value list of type=   -->
<!--    of DIV.                                                    -->
<!-- 1996-09-07 by Syd Bauman:                                     -->
<!--    Restore attribute list for TEXT, which had inadvertently   -->
<!--    been ommited back on 1996-16-08. Altered content model of  -->
<!--    CASTLIST and CASTGROUP to allow LABEL-CASTITEM pairs ala   -->
<!--    regular LISTs.                                             -->
<!-- 1996-09-06 by Syd Bauman:                                     -->
<!--    Remove place= attribute from ADD, ADDSPAN, NOTE, and FW.   -->
<!-- 1996-08-22 by Syd Bauman:                                     -->
<!--    Added type= to SIC (only value 'seq' for now).             -->
<!-- 1996-08-20 by Syd Bauman:                                     -->
<!--    Add declarations that are the same as TEI except that the  -->
<!--    order of the attributes has been altered for ABBR, EXPAN,  -->
<!--    SIC CORR, ORIG, and REG.                                   -->
<!-- 1996-07-17 by Syd Bauman:                                     -->
<!--    Added 'backpart' to type= of DIV; renamed to wwpstore.dtd. -->
<!-- 1996-07-14 by Syd Bauman:                                     -->
<!--    Changed default vaue of type= of STAGE to #IMPLIED; added  -->
<!--    'epilogue' to value list of type= of DIV; bug fix: put     -->
<!--    attributes back onto PLACENAME and DATELINE; removed       -->
<!--    'propAdj' from type= of HI; added to type= of RS; removed  -->
<!--    most values for type= of RS.                               -->
<!-- 1996-07-01 by Syd Bauman:                                     -->
<!--    Altered declared value of type= of LG per Paul Caton's     -->
<!--    discussion/paper on the topic. I did not use exactly his   -->
<!--    suggested values, as he had non-name characters in them,   -->
<!--    and I decided to spell out all words, rather than use      -->
<!--    abbrevs.                                                   -->
<!-- 1996-06-20 by Syd Bauman:                                     -->
<!--    Fix ANCHOR and NOTE by not (incorrectly) expanding         -->
<!--    a.global. (The TEI DTDs have expanded a.global w/o         -->
<!--    a.linking.)                                                -->
<!-- 1996-06-18 by Syd Bauman:                                     -->
<!--    Allow hyperDiv before FRONT in TEXT; remove EPIGRAPH;      -->
<!--    Change PLACENAME and DATELINE content models for adding    -->
<!--    PERSNAME and PLACENAME fix.                                -->
<!-- 1996-06-17 by Syd Bauman:                                     -->
<!--    add HYPERDIV                                               -->
<!-- 1996-01-14 by Syd Bauman:                                     -->
<!--    Changed default place= of NOTE from 'unspecified' to       -->
<!--    'foot'; change 'toc' to 'pagenum' for type= of PTR and     -->
<!--    REF; remove 'unknown' from type= list of HI; change type=  -->
<!--    list of LIST to "( gloss, errata, toc, subscriber )        -->
<!--    #IMPLIED".                                                 -->
<!--                                                               -->
<!-- ************************************************************* -->

The Project | The Texts | Research and Encoding
Contact | Site Index | Brown University