<!-- teiclas2.ent: written by OddDTD 1994-09-09 --> <!-- 3.7.3: Element classes for TEI DTDs --> <!-- Text Encoding Initiative: Guidelines for Electronic --> <!-- Text Encoding and Interchange. Document TEI P3, 1994. --> <!-- Copyright (c) 1994 ACH, ACL, ALLC. Permission to copy --> <!-- in any form is granted, provided this notice is --> <!-- included in all copies. --> <!-- These materials may not be altered; modifications to --> <!-- these DTDs should be performed as specified in the --> <!-- Guidelines in chapter "Modifying the TEI DTD." --> <!-- These materials subject to revision. Current versions --> <!-- are available from the Text Encoding Initiative. --> <!-- First, we declare the 'low-level' core classes: these --> <!-- are classes of semantically and structurally similar --> <!-- elements declared as part of the core tag set, e.g. the --> <!-- classes 'data' or 'edit'. --> <!-- 3.7.4: Low-level classes --> <!-- Most of these elements are in the core tag set, but --> <!-- some may be from other tag sets. --> <!-- Phrase-level classes --> <!ENTITY % x.hqphrase '' > <!ENTITY % m.hqphrase '%x.hqphrase %n.distinct; | %n.emph; | %n.foreign; | %n.gloss; | %n.hi; | %n.mentioned; | %n.soCalled; | %n.term; | %n.title;' > <!ENTITY % x.date '' > <!ENTITY % m.date '%x.date %n.date; | %n.dateRange; | %n.dateStruct;' > <!ENTITY % x.data '' > <!ENTITY % m.data '%x.data %n.abbr; | %n.address; | %n.date; | %n.dateRange; | %n.dateStruct; | %n.expan; | %n.lang; | %n.measure; | %n.name; | %n.num; | %n.orgName; | %n.rs; | %n.time; | %n.timeRange; | %n.timeStruct;' > <!ENTITY % x.edit '' > <!ENTITY % m.edit '%x.edit %n.add; | %n.addSpan; | %n.app; | %n.corr; | %n.damage; | %n.del; | %n.delSpan; | %n.gap; | %n.orig; | %n.reg; | %n.restore; | %n.sic; | %n.space; | %n.supplied; | %n.unclear;' > <!ENTITY % x.loc '' > <!ENTITY % m.loc '%x.loc %n.link; | %n.ptr; | %n.ref; | %n.xptr; | %n.xref;' > <!ENTITY % x.seg '' > <!ENTITY % m.seg '%x.seg %n.anchor; | %n.c; | %n.cl; | %n.m; | %n.phr; | %n.s; | %n.seg; | %n.w;' > <!ENTITY % x.sgmlKeywords '' > <!ENTITY % m.sgmlKeywords '%x.sgmlKeywords %n.att; | %n.gi; | %n.tag; | %n.val;' > <!ENTITY % x.phrase.verse '' > <!ENTITY % m.phrase.verse '%x.phrase.verse %n.caesura;' > <!ENTITY % x.formPointers '' > <!ENTITY % m.formPointers '%x.formPointers %n.oRef; | %n.oVar; | %n.pRef; | %n.pVar;' > <!ENTITY % x.metadata '' > <!ENTITY % m.metadata '%x.metadata %n.alt; | %n.altGrp; | %n.certainty; | %n.fLib; | %n.fs; | %n.fsLib; | %n.fvLib; | %n.index; | %n.interp; | %n.interpGrp; | %n.join; | %n.joinGrp; | %n.link; | %n.linkGrp; | %n.respons; | %n.span; | %n.spanGrp; | %n.timeline;' > <!ENTITY % x.refsys '' > <!ENTITY % m.refsys '%x.refsys %n.cb; | %n.lb; | %n.milestone; | %n.pb;' > <!ENTITY % x.globincl '' > <!ENTITY % m.globincl '%x.globincl %m.metadata; | %m.refsys;' > <!-- Inter-level classes --> <!ENTITY % x.hqinter '' > <!ENTITY % m.hqinter '%x.hqinter %n.cit; | %n.q; | %n.quote;' > <!ENTITY % x.bibl '' > <!ENTITY % m.bibl '%x.bibl %n.bibl; | %n.biblFull; | %n.biblStruct;' > <!ENTITY % x.lists '' > <!ENTITY % m.lists '%x.lists %n.label; | %n.list; | %n.listBibl;' > <!ENTITY % x.notes '' > <!ENTITY % m.notes '%x.notes %n.note; | %n.witDetail;' > <!ENTITY % x.stageDirection '' > <!ENTITY % m.stageDirection '%x.stageDirection %n.camera; | %n.caption; | %n.move; | %n.sound; | %n.tech; | %n.view;' > <!-- (end of 3.7.4) --> <!-- 3.7.9: Misc. Element Class Models --> <!ENTITY % x.agent '' > <!ENTITY % m.agent '%x.agent %n.name;' > <!ENTITY % x.addrPart '' > <!ENTITY % m.addrPart '%x.addrPart %n.postBox; | %n.postCode; | %n.street;' > <!ENTITY % x.biblPart '' > <!ENTITY % m.biblPart '%x.biblPart %n.analytic; | %n.author; | %n.biblScope; | %n.edition; | %n.editor; | %n.extent; | %n.idno; | %n.imprint; | %n.monogr; | %n.note; | %n.publisher; | %n.pubPlace; | %n.respStmt; | %n.series;' > <!ENTITY % x.demographic '' > <!ENTITY % m.demographic '%x.demographic %n.affiliation; | %n.birth; | %n.education; | %n.firstLang; | %n.langKnown; | %n.occupation; | %n.persName; | %n.residence; | %n.socecStatus;' > <!ENTITY % x.divbot '' > <!ENTITY % m.divbot '%x.divbot %n.byline; | %n.closer; | %n.epigraph; | %n.salute; | %n.signed; | %n.trailer;' > <!ENTITY % x.divtop '' > <!ENTITY % m.divtop '%x.divtop %n.argument; | %n.byline; | %n.docAuthor; | %n.docDate; | %n.epigraph; | %n.head; | %n.opener; | %n.salute; | %n.signed;' > <!ENTITY % x.dramafront '' > <!ENTITY % m.dramafront '%x.dramafront %n.epilogue; | %n.performance; | %n.prologue; | %n.set;' > <!ENTITY % x.front '' > <!ENTITY % m.front '%x.front %m.dramafront; | %n.titlePage;' > <!ENTITY % x.personPart '' > <!ENTITY % m.personPart '%x.personPart %n.addName; | %n.forename; | %n.genName; | %n.nameLink; | %n.roleName; | %n.surname;' > <!ENTITY % x.placePart '' > <!ENTITY % m.placePart '%x.placePart %n.bloc; | %n.country; | %n.distance; | %n.geog; | %n.geogName; | %n.offset; | %n.placeName; | %n.region; | %n.settlement;' > <!ENTITY % x.tpParts '' > <!ENTITY % m.tpParts '%x.tpParts %n.byline; | %n.docAuthor; | %n.docDate; | %n.docEdition; | %n.docImprint; | %n.docTitle; | %n.epigraph; | %n.imprimatur; | %n.titlePart;' > <!-- (end of 3.7.9) --> <!-- Next, we declare the 'high-level' classes: these group --> <!-- together all phrase-level elements, all inter-level --> <!-- elements, and all chunk-level elements in the core, and --> <!-- identify the 'common' component elements (chunks and --> <!-- inter-level elements), as opposed to the --> <!-- tagset-specific components. --> <!-- 3.7.5: Common high-level classes --> <!-- These are the three fundamental element classes. --> <!ENTITY % x.phrase '' > <!ENTITY % m.phrase '%x.phrase %m.data; | %m.edit; | %m.formPointers; | %m.hqphrase; | %m.loc; | %m.phrase.verse; | %m.seg; | %m.sgmlKeywords; | %n.formula; | %n.fw; | %n.handShift;' > <!ENTITY % x.inter '' > <!ENTITY % m.inter '%x.inter %m.bibl; | %m.hqinter; | %m.lists; | %m.notes; | %m.stageDirection; | %n.castList; | %n.figure; | %n.stage; | %n.table; | %n.text;' > <!ENTITY % x.chunk '' > <!ENTITY % m.chunk '%x.chunk %n.eTree; | %n.graph; | %n.l; | %n.lg; | %n.p; | %n.sp; | %n.tree; | %n.witList;' > <!-- This class isolates all the common component-level --> <!-- elements. --> <!ENTITY % x.common '' > <!ENTITY % m.common '%x.common %m.bibl; | %m.chunk; | %m.hqinter; | %m.lists; | %m.notes; | %n.stage;' > <!-- (end of 3.7.5) --> <!-- Next, we embed the portions of each base and additional --> <!-- tag set which declare relevant parameter entities. Only --> <!-- those files are embedded which have been selected by --> <!-- the user in the DTD subset. These files will declare --> <!-- parameter entities for their component-level elements, --> <!-- as well as for any global attributes they define. --> <!-- 3.7.6: Embedding tag-set-specific entity definitions --> <![ %TEI.verse [ <!ENTITY % TEI.verse.ent system 'teivers2.ent' > %TEI.verse.ent; ]]> <![ %TEI.drama [ <!ENTITY % TEI.drama.ent system 'teidram2.ent' > %TEI.drama.ent; ]]> <![ %TEI.spoken [ <!ENTITY % TEI.spoken.ent system 'teispok2.ent' > %TEI.spoken.ent; ]]> <![ %TEI.dictionaries [ <!ENTITY % TEI.dictionaries.ent system 'teidict2.ent' > %TEI.dictionaries.ent; ]]> <![ %TEI.terminology [ <!ENTITY % TEI.terminology.ent system 'teiterm2.ent' > %TEI.terminology.ent; ]]> <![ %TEI.linking [ <!ENTITY % TEI.linking.ent system 'teilink2.ent' > %TEI.linking.ent; ]]> <![ %TEI.analysis [ <!ENTITY % TEI.analysis.ent system 'teiana2.ent' > %TEI.analysis.ent; ]]> <![ %TEI.transcr [ <!ENTITY % TEI.transcr.ent system 'teitran2.ent' > %TEI.transcr.ent; ]]> <![ %TEI.textcrit [ <!ENTITY % TEI.textcrit.ent system 'teitc2.ent' > %TEI.textcrit.ent; ]]> <![ %TEI.names.dates [ <!ENTITY % TEI.names.dates.ent system 'teind2.ent' > %TEI.names.dates.ent; ]]> <![ %TEI.figures [ <!ENTITY % TEI.figures.ent system 'teifig2.ent' > %TEI.figures.ent; ]]> <!-- (end of 3.7.6) --> <!-- We can now declare the standard content models; one of --> <!-- these varies with the base selected. --> <!-- 3.7.7: Standard Content Models --> <!-- Here we declare the parameter entities phrase, --> <!-- phrase.seq, component, component.seq, paraContent, and --> <!-- specialPara, for use in the content models of element --> <!-- declarations. --> <!-- The entities phrase and phrase.seq are the same in all --> <!-- bases. They may include elements specific to single tag --> <!-- sets; if the tag set is not selected, these elements --> <!-- are undefined and have no effect. --> <!ENTITY % phrase '(#PCDATA | %m.phrase)' > <!ENTITY % phrase.seq '(%phrase;)*' > <!-- The entity component varies with the base. The versions --> <!-- for the combined bases are declared first (so as to --> <!-- take precedence over the declarations in the individual --> <!-- bases). --> <!-- 3.7.8: Definition of components for combined bases --> <!-- Default declarations for the 'mix.' entities used for --> <!-- mixed and general bases. --> <!ENTITY % mix.verse '' > <!ENTITY % mix.drama '' > <!ENTITY % mix.spoken '' > <!ENTITY % mix.dictionaries '' > <!ENTITY % mix.terminology '' > <![ %TEI.mixed [ <!ENTITY % TEI.singleBase 'IGNORE' > <!-- The mixed base allows components from any base; it does --> <!-- so by defining 'component' as including both common --> <!-- components and those specific to one tag set. --> <!ENTITY % component '(%m.common %mix.verse %mix.drama %mix.spoken %mix.dictionaries %mix.terminology)' > ]]> <![ %TEI.general [ <!-- The general base uses the same definition of component --> <!-- as the mixed base. --> <!ENTITY % TEI.singleBase 'IGNORE' > <!ENTITY % component '(%m.common %mix.verse %mix.drama %mix.spoken %mix.dictionaries %mix.terminology)' > <!-- But it defines a special version of component.seq, --> <!-- which restricts each div of the text to a single base: --> <!-- bases can shift only in embedded divs or at div --> <!-- boundaries. This entity is constructed out of a series --> <!-- of smaller entities, one for each tag set. If the tag --> <!-- set is not in use, its entity will expand to the empty --> <!-- string. --> <![ %TEI.verse [ <!-- If the verse base is in use, ... --> <!ENTITY % gen.verse '((%m.comp.verse), (%m.common | %m.comp.verse)*) |' > ]]> <![ %TEI.drama [ <!-- If the drama base is in use, ... --> <!ENTITY % gen.drama '((%m.comp.drama), (%m.common | %m.comp.drama)*) |' > ]]> <![ %TEI.spoken [ <!-- If the spoken base is in use, ... --> <!ENTITY % gen.spoken '((%m.comp.spoken), (%m.common | %m.comp.spoken)*) |' > ]]> <![ %TEI.dictionaries [ <!-- If the dictionary base is in use, ... --> <!ENTITY % gen.dictionaries '((%m.comp.dictionaries), (%m.common | %m.comp.dictionaries)*) |' > ]]> <![ %TEI.terminology [ <!-- If the terminology base is in use, ... --> <!ENTITY % gen.terminology '((%m.comp.terminology), (%m.common | %m.comp.terminology)*) |' > ]]> <!-- Default declarations for all the entities gen.verse, --> <!-- etc. --> <!ENTITY % gen.verse '' > <!ENTITY % gen.drama '' > <!ENTITY % gen.spoken '' > <!ENTITY % gen.dictionaries '' > <!ENTITY % gen.terminology '' > <!-- Now we are ready to declare component.seq and --> <!-- component.plus for use in general base tag set. --> <!ENTITY % component.seq '(%m.common)*, (%gen.verse %gen.drama %gen.spoken %gen.dictionaries %gen.terminology TEI...end)?' > <!ENTITY % component.plus '(%gen.verse %gen.drama %gen.spoken %gen.dictionaries %gen.terminology TEI...end) | ( (%m.common)+, (%gen.verse %gen.drama %gen.spoken %gen.dictionaries %gen.terminology TEI...end)?' > <!-- (End of marked section for general base.) --> ]]> <!-- (end of 3.7.8) --> <![ %TEI.prose [ <!ENTITY % component '(%m.common)' > <!ENTITY % TEI.singleBase 'INCLUDE' > ]]> <![ %TEI.verse [ <!ENTITY % component '(%m.common | %m.comp.verse)' > <!ENTITY % TEI.singleBase 'INCLUDE' > ]]> <![ %TEI.drama [ <!ENTITY % component '(%m.common | %m.comp.drama)' > <!ENTITY % TEI.singleBase 'INCLUDE' > ]]> <![ %TEI.spoken [ <!ENTITY % component '(%m.common | %m.comp.spoken)' > <!ENTITY % TEI.singleBase 'INCLUDE' > ]]> <![ %TEI.dictionaries [ <!ENTITY % component '(%m.common | %m.comp.dictionaries)' > <!ENTITY % TEI.singleBase 'INCLUDE' > ]]> <![ %TEI.terminology [ <!ENTITY % component '(%m.common | %m.comp.terminology)' > <!ENTITY % TEI.singleBase 'INCLUDE' > ]]> <!-- Default declaration. --> <!ENTITY % component '(%m.common)' > <!ENTITY % TEI.singleBase 'INCLUDE' > <!-- The entity component.seq is always a starred sequence --> <!-- of component elements. Its definition does not vary --> <!-- with the base (unless we are using the general base, in --> <!-- which case it has already been defined above), but the --> <!-- meaning of the definition does. --> <!ENTITY % component.seq '(%component;)*' > <!-- The following entities do not vary with the base. --> <!ENTITY % paraContent '(#PCDATA | %m.phrase | %m.inter)*' > <!ENTITY % specialPara '(((%m.chunk), (%component.seq)) | (%paraContent))' > <!-- (end of 3.7.7) --> <!-- Finally, we declare the attribute classes, including --> <!-- the global attributes. --> <!-- 3.7.1: Attribute classes --> <!ENTITY % a.declaring ' decls IDREFS #IMPLIED' > <!ENTITY % a.declarable ' default (YES | NO) NO' > <!ENTITY % a.divn ' type CDATA #CURRENT org (composite | uniform) uniform sample (initial | medial | final | unknown | complete) complete part (Y | N | I | M | F) N' > <!ENTITY % a.enjamb ' enjamb CDATA #IMPLIED' > <!ENTITY % a.interpret ' resp CDATA %INHERITED type CDATA %INHERITED inst IDREFS #IMPLIED' > <!ENTITY % a.metrical ' met CDATA %INHERITED real CDATA #IMPLIED rhyme CDATA #IMPLIED' > <!ENTITY % a.names ' key CDATA #IMPLIED reg CDATA #IMPLIED' > <!ENTITY % a.personPart ' %a.names; type CDATA #IMPLIED full (yes | abb | init) yes sort NUMBER #IMPLIED' > <!ENTITY % a.placePart ' %a.names; type CDATA #IMPLIED full (yes | abb | init) yes' > <!ENTITY % a.pointer ' type CDATA #IMPLIED resp CDATA #IMPLIED crdate CDATA #IMPLIED targType NAMES #IMPLIED targOrder (Y | N | U) U evaluate (all | one | none) #IMPLIED' > <!ENTITY % a.seg ' type CDATA #IMPLIED function CDATA #IMPLIED' > <!ENTITY % a.temporalExpr ' value CDATA #IMPLIED type CDATA #IMPLIED reg CDATA #IMPLIED full (yes | abb | init) yes' > <!ENTITY % a.timed ' start IDREF #IMPLIED end IDREF #IMPLIED dur CDATA #IMPLIED' > <!ENTITY % a.xPointer ' %a.pointer; doc ENTITY #IMPLIED from %extPtr; "ROOT" to %extPtr; "DITTO"' > <!-- (end of 3.7.1) --> <!-- 3.5: Global attributes --> <!-- The global attributes are defined for every element in --> <!-- the TEI tag set; individual declarations may be --> <!-- overridden by local declarations for individual --> <!-- elements. --> <!-- If the tag sets invoked by the user define extra global --> <!-- attributes (they do this in their .ent file), then they --> <!-- are inherited by GLOBAL; otherwise the parameter --> <!-- entities referred to expand to the empty string, as --> <!-- shown here. --> <!ENTITY % a.analysis '' > <!ENTITY % a.linking '' > <!ENTITY % a.terminology '' > <!ENTITY % a.global ' %a.analysis; %a.linking; %a.terminology; id ID #IMPLIED n CDATA #IMPLIED lang IDREF %INHERITED rend CDATA #IMPLIED' > <!-- The TEIform attribute is also global, but is declared --> <!-- individually for each element, not in a parameter --> <!-- entity declaration. --> <!-- (end of 3.5) --> <!-- (end of 3.7.3) -->