Humanities Computing Unit

Manuscript Access through Standards for Electronic Records

3. Building the TEI DTD for Manuscript Description


Up: Contents Previous: 2. The Manuscript Description Element

Contents

Until the elements described in this document, or similar ones, have been formally integrated wih the rest of the TEI structure, their use requires the definition of a TEI extension set, as defined in TEI P3 (reference). This extension set comprises two files, called here msDesc.ent and msDesc.dtd, the former containing definitions of parameter entities needed for this set of extensions, and the latter containing the actual SGML element and attribute definitions which make up the required modifications.

The definitions here assume the availability of a number of elements from other TEI tagsets, in particular the additional tagsets for figures, names and dates, and manuscript transcription. With all these in place, a complete TEI conformant document making use of the manuscript description tagset will begin as follows:

<!DOCTYPE TEI.2 SYSTEM "tei2.dtd" [
<!ENTITY % TEI.prose "INCLUDE">
<!ENTITY % TEI.transcr "INCLUDE">
<!ENTITY % TEI.names.dates "INCLUDE">
<!ENTITY % TEI.figures "INCLUDE">
<!ENTITY % TEI.corpus "INCLUDE">
<!ENTITY % TEI.extensions.ent SYSTEM "msDesc.ent">
<!ENTITY % TEI.extensions.dtd SYSTEM "msDesc.dtd">
]&nil;]>

This file, and others making up the DTD, are available from the URL http://www.hcu.ox.ac.uk/TEI/Master/Reference/DTD/. Both XML and SGML versions of a one-file DTD are available from the same location.

The list of tag sets above makes available a large number of standard TEI elements, not all of which are required for manuscript description purposes, and which are therefore excluded from the Master DTD. This exclusion is achieved by including in the extension entity file the following set of parameter entity declarations:

<!ENTITY % addName          'IGNORE' >
<!ENTITY % addrLine         'IGNORE' >
<!ENTITY % address          'IGNORE' >
<!ENTITY % analytic         'IGNORE' >
<!ENTITY % author           'IGNORE' >
<!ENTITY % biblFull         'IGNORE' >
<!ENTITY % biblStruct       'IGNORE' >
<!ENTITY % bloc             'IGNORE' >
<!ENTITY % broadcast        'IGNORE' >
<!ENTITY % byline           'IGNORE' >
<!ENTITY % cit              'IGNORE' >
<!ENTITY % correction       'IGNORE' >
<!ENTITY % dateStruct       'IGNORE' >
<!ENTITY % day              'IGNORE' >
<!ENTITY % distance         'IGNORE' >
<!ENTITY % distinct         'IGNORE' >
<!ENTITY % div0             'IGNORE' >
<!ENTITY % div1             'IGNORE' >
<!ENTITY % div2             'IGNORE' >
<!ENTITY % div3             'IGNORE' >
<!ENTITY % div4             'IGNORE' >
<!ENTITY % div5             'IGNORE' >
<!ENTITY % div6             'IGNORE' >
<!ENTITY % div7             'IGNORE' >
<!ENTITY % divGen           'IGNORE' >
<!ENTITY % docEdition       'IGNORE' >
<!ENTITY % docImprint       'IGNORE' >
<!ENTITY % emph             'IGNORE' >
<!ENTITY % equipment        'IGNORE' >
<!ENTITY % forename         'IGNORE' >
<!ENTITY % fsdDecl          'IGNORE' >
<!ENTITY % genName          'IGNORE' >
<!ENTITY % geog             'IGNORE' >
<!ENTITY % geogName         'IGNORE' >
<!ENTITY % group            'IGNORE' >
<!ENTITY % headItem         'IGNORE' >
<!ENTITY % headLabel        'IGNORE' >
<!ENTITY % hour             'IGNORE' >
<!ENTITY % hyphenation      'IGNORE' >
<!ENTITY % imprimatur       'IGNORE' >
<!ENTITY % interpretation   'IGNORE' >
<!ENTITY % measure          'IGNORE' >
<!ENTITY % meeting          'IGNORE' >
<!ENTITY % mentioned        'IGNORE' >
<!ENTITY % metDecl          'IGNORE' >
<!ENTITY % minute           'IGNORE' >
<!ENTITY % monogr           'IGNORE' >
<!ENTITY % month            'IGNORE' >
<!ENTITY % name             'IGNORE' >
<!ENTITY % nameLink         'IGNORE' >
<!ENTITY % normalization    'IGNORE' >
<!ENTITY % occasion         'IGNORE' >
<!ENTITY % offset           'IGNORE' >
<!ENTITY % orgDivn          'IGNORE' >
<!ENTITY % orgName          'IGNORE' >
<!ENTITY % orgTitle         'IGNORE' >
<!ENTITY % orgType          'IGNORE' >
<!ENTITY % placeName        'IGNORE' >
<!ENTITY % postBox          'IGNORE' >
<!ENTITY % postCode         'IGNORE' >
<!ENTITY % quotation        'IGNORE' >
<!ENTITY % quote            'IGNORE' >
<!ENTITY % recording        'IGNORE' >
<!ENTITY % recordingStmt    'IGNORE' >
<!ENTITY % refsDecl         'IGNORE' >
<!ENTITY % roleName         'IGNORE' >
<!ENTITY % rs               'IGNORE' >
<!ENTITY % scriptStmt       'IGNORE' >
<!ENTITY % second           'IGNORE' >
<!ENTITY % segmentation     'IGNORE' >
<!ENTITY % soCalled         'IGNORE' >
<!ENTITY % sourceDesc       'IGNORE' >
<!ENTITY % sp               'IGNORE' >
<!ENTITY % speaker          'IGNORE' >
<!ENTITY % stage            'IGNORE' >
<!ENTITY % state            'IGNORE' >
<!ENTITY % step             'IGNORE' >
<!ENTITY % street           'IGNORE' >
<!ENTITY % surname          'IGNORE' >
<!ENTITY % symbol           'IGNORE' >
<!ENTITY % teiCorpus.2      'IGNORE' >
<!ENTITY % time             'IGNORE' >
<!ENTITY % timeRange        'IGNORE' >
<!ENTITY % timeStruct       'IGNORE' >
<!ENTITY % variantEncoding  'IGNORE' >
<!ENTITY % week             'IGNORE' >
<!ENTITY % year             'IGNORE' >

<!ENTITY % textDesc 'IGNORE' >
<!ENTITY % activity 'IGNORE' >
<!ENTITY % affiliation 'IGNORE' >
<!ENTITY % birth 'IGNORE' >
<!ENTITY % channel 'IGNORE' >
<!ENTITY % constitution 'IGNORE' >
<!ENTITY % derivation 'IGNORE' >
<!ENTITY % domain 'IGNORE' >
<!ENTITY % education 'IGNORE' >
<!ENTITY % factuality 'IGNORE' >
<!ENTITY % firstLang 'IGNORE' >
<!ENTITY % interaction 'IGNORE' >
<!ENTITY % langKnown 'IGNORE' >
<!ENTITY % locale 'IGNORE' >
<!ENTITY % occupation 'IGNORE' >
<!ENTITY % particLinks 'IGNORE' >
<!ENTITY % person 'IGNORE' >
<!ENTITY % personGrp 'IGNORE' >
<!ENTITY % preparedness 'IGNORE' >
<!ENTITY % purpose 'IGNORE' >
<!ENTITY % relation 'IGNORE' >
<!ENTITY % residence 'IGNORE' >
<!ENTITY % setting 'IGNORE' >
<!ENTITY % settingDesc 'IGNORE' >
<!ENTITY % socecStatus 'IGNORE' >


3.1. The manuscript descriptions entity file

The structure of the manuscript descriptions entity file is as follows:


<!ENTITY % n.particDesc "listPerson"> 

<!ENTITY % x.chunk "msDescription|">
<!ENTITY % x.phrase "dimensions|locus|origDate|origPlace|msIdentifier|material|signatures|catchwords|secFol|heraldry|">
<!ENTITY % x.names "institution|repository|author|origPlace|">
<!ENTITY % a.datable  "notBefore  CDATA #IMPLIED
                          notAfter  CDATA #IMPLIED
                          certainty  (high|medium|low)  #IMPLIED
                          evidence  (internal|external|conjecture) external"  >
<!ENTITY % a.measured  "units CDATA mm
                           scope (all|most|range) #IMPLIED" >

<!ENTITY % mm "- -">

<!ENTITY % addName 'IGNORE' > <!ENTITY % addrLine 'IGNORE' > <!ENTITY % address 'IGNORE' > <!ENTITY % analytic 'IGNORE' > <!ENTITY % author 'IGNORE' > <!ENTITY % biblFull 'IGNORE' > <!ENTITY % biblStruct 'IGNORE' > <!ENTITY % bloc 'IGNORE' > <!ENTITY % broadcast 'IGNORE' > <!ENTITY % byline 'IGNORE' > <!ENTITY % cit 'IGNORE' > <!ENTITY % correction 'IGNORE' > <!ENTITY % dateStruct 'IGNORE' > <!ENTITY % day 'IGNORE' > <!ENTITY % distance 'IGNORE' > <!ENTITY % distinct 'IGNORE' > <!ENTITY % div0 'IGNORE' > <!ENTITY % div1 'IGNORE' > <!ENTITY % div2 'IGNORE' > <!ENTITY % div3 'IGNORE' > <!ENTITY % div4 'IGNORE' > <!ENTITY % div5 'IGNORE' > <!ENTITY % div6 'IGNORE' > <!ENTITY % div7 'IGNORE' > <!ENTITY % divGen 'IGNORE' > <!ENTITY % docEdition 'IGNORE' > <!ENTITY % docImprint 'IGNORE' > <!ENTITY % emph 'IGNORE' > <!ENTITY % equipment 'IGNORE' > <!ENTITY % forename 'IGNORE' > <!ENTITY % fsdDecl 'IGNORE' > <!ENTITY % genName 'IGNORE' > <!ENTITY % geog 'IGNORE' > <!ENTITY % geogName 'IGNORE' > <!ENTITY % group 'IGNORE' > <!ENTITY % headItem 'IGNORE' > <!ENTITY % headLabel 'IGNORE' > <!ENTITY % hour 'IGNORE' > <!ENTITY % hyphenation 'IGNORE' > <!ENTITY % imprimatur 'IGNORE' > <!ENTITY % interpretation 'IGNORE' > <!ENTITY % measure 'IGNORE' > <!ENTITY % meeting 'IGNORE' > <!ENTITY % mentioned 'IGNORE' > <!ENTITY % metDecl 'IGNORE' > <!ENTITY % minute 'IGNORE' > <!ENTITY % monogr 'IGNORE' > <!ENTITY % month 'IGNORE' > <!ENTITY % name 'IGNORE' > <!ENTITY % nameLink 'IGNORE' > <!ENTITY % normalization 'IGNORE' > <!ENTITY % occasion 'IGNORE' > <!ENTITY % offset 'IGNORE' > <!ENTITY % orgDivn 'IGNORE' > <!ENTITY % orgName 'IGNORE' > <!ENTITY % orgTitle 'IGNORE' > <!ENTITY % orgType 'IGNORE' > <!ENTITY % placeName 'IGNORE' > <!ENTITY % postBox 'IGNORE' > <!ENTITY % postCode 'IGNORE' > <!ENTITY % quotation 'IGNORE' > <!ENTITY % quote 'IGNORE' > <!ENTITY % recording 'IGNORE' > <!ENTITY % recordingStmt 'IGNORE' > <!ENTITY % refsDecl 'IGNORE' > <!ENTITY % roleName 'IGNORE' > <!ENTITY % rs 'IGNORE' > <!ENTITY % scriptStmt 'IGNORE' > <!ENTITY % second 'IGNORE' > <!ENTITY % segmentation 'IGNORE' > <!ENTITY % soCalled 'IGNORE' > <!ENTITY % sourceDesc 'IGNORE' > <!ENTITY % sp 'IGNORE' > <!ENTITY % speaker 'IGNORE' > <!ENTITY % stage 'IGNORE' > <!ENTITY % state 'IGNORE' > <!ENTITY % step 'IGNORE' > <!ENTITY % street 'IGNORE' > <!ENTITY % surname 'IGNORE' > <!ENTITY % symbol 'IGNORE' > <!ENTITY % teiCorpus.2 'IGNORE' > <!ENTITY % time 'IGNORE' > <!ENTITY % timeRange 'IGNORE' > <!ENTITY % timeStruct 'IGNORE' > <!ENTITY % variantEncoding 'IGNORE' > <!ENTITY % week 'IGNORE' > <!ENTITY % year 'IGNORE' > <!ENTITY % textDesc 'IGNORE' > <!ENTITY % activity 'IGNORE' > <!ENTITY % affiliation 'IGNORE' > <!ENTITY % birth 'IGNORE' > <!ENTITY % channel 'IGNORE' > <!ENTITY % constitution 'IGNORE' > <!ENTITY % derivation 'IGNORE' > <!ENTITY % domain 'IGNORE' > <!ENTITY % education 'IGNORE' > <!ENTITY % factuality 'IGNORE' > <!ENTITY % firstLang 'IGNORE' > <!ENTITY % interaction 'IGNORE' > <!ENTITY % langKnown 'IGNORE' > <!ENTITY % locale 'IGNORE' > <!ENTITY % occupation 'IGNORE' > <!ENTITY % particLinks 'IGNORE' > <!ENTITY % person 'IGNORE' > <!ENTITY % personGrp 'IGNORE' > <!ENTITY % preparedness 'IGNORE' > <!ENTITY % purpose 'IGNORE' > <!ENTITY % relation 'IGNORE' > <!ENTITY % residence 'IGNORE' > <!ENTITY % setting 'IGNORE' > <!ENTITY % settingDesc 'IGNORE' > <!ENTITY % socecStatus 'IGNORE' >

3.2. The manuscript descriptions DTD file

The manuscript descriptions DTD file contains formal definitions for any standard TEI elements which have been changed, together with the formal definitions of the additional elements documented here.

The file begins with a redefinition of the standard TEI <sourceDesc> element, needed to make it possible for manuscript descriptions to be included within the TEI Header as well as within the body of a TEI document (the latter is achieved by virtue of making the <msDescription> element a member of the chunk). This is followed by the definitions given elsewhere in this document.

<!ELEMENT sourceDesc 
                        %mm;  (p | bibl | biblFull | 
                             biblStruct | listBibl | 
                             scriptStmt | msDescription |
                             recordingStmt)+                >
<!ATTLIST sourceDesc     %a.global;
                            %a.declarable;   >
<!ELEMENT dimensions %mm; ((#PCDATA|height|width|depth)*)> <!ATTLIST dimensions %a.global; %a.measured; type CDATA #IMPLIED > <!ELEMENT height %mm; (#PCDATA) > <!ATTLIST height %a.global; %a.measured; > <!ELEMENT depth %mm; (#PCDATA) > <!ATTLIST depth %a.global; %a.measured; > <!ELEMENT width %mm; (#PCDATA) > <!ATTLIST width %a.global; %a.measured; > <!ELEMENT locus %mm; (#PCDATA) > <!ATTLIST locus %a.global; from CDATA #IMPLIED to CDATA #IMPLIED targets IDREFS #IMPLIED > <!ELEMENT origDate %mm; (#PCDATA)> <!ATTLIST origDate %a.global; %a.datable; > <!ELEMENT origPlace %mm; (#PCDATA)> <!ATTLIST origPlace %a.global; reg CDATA #IMPLIED > <!ELEMENT name %mm; (%phrase.seq;)> <!ATTLIST name %a.global; type (person|female|place|org|other) "person" role CDATA #IMPLIED reg CDATA #IMPLIED key IDREF #IMPLIED > <!ELEMENT material %mm; (%phrase.seq;)> <!ATTLIST material %a.global; > <!ELEMENT heraldry %mm; (%phrase.seq;)> <!ATTLIST heraldry %a.global; > <!ELEMENT catchwords %mm; (%phrase.seq;)> <!ATTLIST catchwords %a.global; > <!ELEMENT signatures %mm; (%phrase.seq;)> <!ATTLIST signatures %a.global; > <!ELEMENT secFol %mm; (%phrase.seq;)> <!ATTLIST secFol %a.global; >
<!ELEMENT person %mm; (p+ | (persName*, birth?, death?, (occupation|residence|bibl)* ))> <!ATTLIST person %a.global; role CDATA #IMPLIED sex (m|f|u) "m" age CDATA #IMPLIED > <!ELEMENT birth %mm (#PCDATA|date|placeName|ptr|ref|note)* > <!ATTLIST birth %a.global; date CDATA #IMPLIED %a.datable; > <!ELEMENT death %mm (#PCDATA|date|placeName|ptr|ref|note)* > <!ATTLIST death %a.global; date CDATA #IMPLIED %a.datable; > <!ELEMENT residence %mm (#PCDATA|date|placeName|ptr|ref|note)* > <!ATTLIST residence %a.global; %a.datable; > <!ELEMENT occupation %mm (#PCDATA|date|placeName|ptr|ref|note)* > <!ATTLIST occupation %a.global; %a.datable; >
<!ELEMENT msDescription %mm; (msIdentifier, msHeading?, msContents?, physDesc?, history?, additional?, msPart* )> <!ATTLIST msDescription %a.global; type CDATA #IMPLIED status (uni|compo|frag|def|unknown) "uni">
<!ELEMENT msIdentifier %mm; (country?, region?, settlement, institution?, repository, collection?, idno, altName* )> <!ATTLIST msIdentifier %a.global; > <!ELEMENT institution %mm; (#PCDATA) > <!ATTLIST institution %a.global; %a.names; > <!ELEMENT repository %mm; (#PCDATA) > <!ATTLIST repository %a.global; %a.names; > <!ELEMENT collection %mm; (#PCDATA) > <!ATTLIST collection %a.global; > <!ELEMENT altName %mm; (#PCDATA) > <!ATTLIST altName %a.global; type CDATA #IMPLIED >

<!ELEMENT msHeading %mm; (#PCDATA|author|respStmt|title| origPlace|origDate|textLang|note)*> <!ATTLIST msHeading %a.global; > <!ELEMENT author %mm; (%phrase.seq;)> <!ATTLIST author %a.global; %a.names; attested (yes|no|unk) "unk" accepted (a|y|n|u) "a" > <!ELEMENT textLang %mm; (%phrase.seq;)> <!ATTLIST textLang %a.global; langKey IDREF #IMPLIED otherLangs IDREFS #IMPLIED >
<!ELEMENT msContents %mm; (p+| (overview?, msItem+)) > <!ATTLIST msContents %a.global; class IDREFS #IMPLIED defective (yes|no|unk) "no" > <!ELEMENT msItem %mm; (locus?, ( author | respStmt | title |rubric | summary |incipit | explicit | colophon | textLang | q | decoNote |bibl | listBibl | note | msItem )* )> <!ATTLIST msItem %a.global; class IDREFS #IMPLIED defective (yes|no|unk) "no" > <!ELEMENT summary %mm; (%phrase.seq;) > <!ATTLIST summary %a.global; > <!ELEMENT rubric %mm; (%phrase.seq;) > <!ATTLIST rubric %a.global; type CDATA #IMPLIED > <!ELEMENT incipit %mm; (%phrase.seq;) > <!ATTLIST incipit %a.global; type CDATA #IMPLIED defective (yes|no|unk) "no" > <!ELEMENT explicit %mm; ( %phrase.seq;) > <!ATTLIST explicit %a.global; type CDATA #IMPLIED defective (yes|no|unk) "no"> <!ELEMENT colophon %mm; ( %phrase.seq;) > <!ATTLIST colophon %a.global; >
<!ELEMENT physDesc %mm; (p+ | (form?, support?, extent?, collation?, layout?, msWriting?, musicNotation?, decoration?, bindingDesc?, foliation*, additions?, condition?))> <!ATTLIST physDesc %a.global; > <!ELEMENT form %mm; (p+) > <!ATTLIST form %a.global; > <!-- extent is defined elsewhere --> <!ELEMENT support %mm; (p+ | (overview?,watermarks?)) > <!ATTLIST support %a.global; > <!ELEMENT overview %mm; (p+) > <!ATTLIST overview %a.global; > <!ELEMENT watermarks %mm; (p+) > <!ATTLIST watermarks %a.global; > <!ELEMENT collation %mm; (p+)> <!ATTLIST collation %a.global; > <!ELEMENT layout %mm; (p+) > <!ATTLIST layout %a.global; columns CDATA '1' ruledLines CDATA #IMPLIED writtenLines CDATA #IMPLIED > <!ELEMENT msWriting %mm; ((handDesc|p)+) > <!ATTLIST msWriting %a.global; hands CDATA #IMPLIED > <!ELEMENT handDesc %mm; (p+) > <!ATTLIST handDesc %a.global scribe CDATA #IMPLIED script CDATA #IMPLIED medium CDATA #IMPLIED scope (sole|major|minor) #IMPLIED > <!ELEMENT musicNotation %mm; (p+) > <!ATTLIST musicNotation %a.global; > <!ELEMENT decoration %mm; (p+|decoNote+) > <!ATTLIST decoration %a.global; > <!ELEMENT decoNote %mm; (p+) > <!ATTLIST decoNote %a.global; type CDATA #IMPLIED subtype CDATA #IMPLIED size CDATA #IMPLIED technique CDATA #IMPLIED quality CDATA #IMPLIED figurative (yes|no|na) 'na' illustrative (y|n|u) 'u' > <!ELEMENT bindingDesc %mm; ((p|decoNote)+ | binding+)> <!ATTLIST bindingDesc %a.global; > <!ELEMENT binding %mm; ((decoNote|p)+)> <!ATTLIST binding %a.global; %a.datable; contemporary (yes|no|unk) "unk" > <!ELEMENT foliation %mm; (p+)> <!ATTLIST foliation %a.global; > <!ELEMENT additions %mm; (p+) > <!ATTLIST additions %a.global; > <!ELEMENT condition %mm; (p+)> <!ATTLIST condition %a.global; >
<!ELEMENT history %mm; (p+ | (origin?,provenance*,acquisition?)) > <!ATTLIST history %a.global; > <!ELEMENT origin %mm; (p+) > <!ATTLIST origin %a.global; %a.datable; > <!ELEMENT provenance %mm; (p+) > <!ATTLIST provenance %a.global; %a.datable; > <!ELEMENT acquisition %mm; (p+) > <!ATTLIST acquisition %a.global; %a.datable; >
<!ELEMENT additional %mm; (adminInfo?, surrogates?, accMat?, listBibl?)> <!ATTLIST additional %a.global; >
<!ELEMENT adminInfo %mm; (p+ | (recordHist?, availability?, custodialHist?, remarks?)) > <!ATTLIST adminInfo %a.global; > <!ELEMENT recordHist %mm; (source, change*) > <!ATTLIST recordHist %a.global; > <!ELEMENT source %mm; (p+) > <!ATTLIST source %a.global; > <!-- the change element is defined elsewhere --> <!ELEMENT custodialHist %mm; (p+ | custEvent+) > <!ATTLIST custodialHist %a.global; > <!ELEMENT custEvent %mm; (p+)> <!ATTLIST custEvent %a.global; %a.datable; type CDATA #IMPLIED > <!ELEMENT remarks %mm; (p+)> <!ATTLIST remarks %a.global; >
<!ELEMENT surrogates %mm; (p+)> <!ATTLIST surrogates %a.global; >
<!ELEMENT accMat %mm; (p+)> <!ATTLIST accMat %a.global; type CDATA #IMPLIED>
<!ELEMENT msPart %mm; (idno?, msContents?, physDesc?, history?, additional?, msPart*)> <!ATTLIST msPart %a.global; >

Up: Contents Previous: 2. The Manuscript Description Element



Date: (revised 6 Jan 01)  Author: Edited by Lou Burnard for the MASTER Work Group.
© Oxford University Computing Services.