|
Like most book DTD's the TEI DTD can be roughly divided into a top, middle and bottom level. The top level of the DTD is basically divided into two parts, a part that provides 'meta' information about the document being marked up, and the document proper.
The following figure shows the top level structure of the teixlite DTD.
Here are the element content declarations for the top levels of the TEI DTD. Essentially the document must have both a 'teiHeader'
element and a 'text'
, the 'teiHeader'
element must have a 'fileDesc'
element (the others are optional), and the text element must have at least one 'body'
or 'group'
element. The others are optional.
If a 'group'
element is used as content for the 'text'
element, then that 'group'
element must contain at a minimum another 'text'
element or 'group'
element, and contain as many 'group'
and 'text'
elements as are wanted.
Here are the relevant element declarations.
<!ELEMENT TEI.2 (teiHeader, text) > <!ELEMENT teiHeader (fileDesc, encodingDesc*, profileDesc*, revisionDesc?) > <!ELEMENT text ((index | interp | interpGrp | lb | milestone | pb | gap | anchor)*, (front, (index | interp | interpGrp | lb | milestone | pb | gap | anchor)*)?, (body | group), (index | interp | interpGrp | lb | milestone | pb | gap | anchor)*, (back, (index | interp | interpGrp | lb | milestone | pb | gap | anchor)*)?) > <!ELEMENT group ((argument | byline | docAuthor | docDate | epigraph | head | opener | salute | signed | index | interp | interpGrp | lb | milestone | pb | gap | anchor)*, (text | group), (text | group | index | interp | interpGrp | lb | milestone | pb | gap | anchor)*, ((byline | closer | epigraph | salute | signed | trailer), (index | interp | interpGrp | lb | milestone | pb | gap | anchor)*)*) >
Refer to the official documentation for the semantics of the other tags.