<!-- 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) -->