Die formale CEC-DTD

In diesem File werden diejenigen Tags ausführlicher erläutert, mit denen wir systematisch von der MASTER-Definition abweichen. Die meisten Tags unterscheiden sich von MASTER ansonsten dadurch, daß wir hier weniger Möglichkeiten zur Variation erlauben.

<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT CEEC (CEC+)>
    <!-- das Wurzelelement der einzelnen XML-Dateien ist CEC; Veränderungen an den
        Daten werden der Einheitlichkeit willen allerdings an einer "Gesamt"-Datei
        vorgenommen, für die das Wurzelelment CEEC vorgesehen ist -->
<!ELEMENT CEC (TEIHeader, body?, addenda?, cover?)>
    <!-- gemäß der Tatsache, daß in CEEC komplette Codizes
        digitalisiert werden, incl. Cover und Beilagen, ergibt sich daraus die
        Notwendigkeit zur Erweiterung der DTD -->
<!ELEMENT TEIHeader (fileDesc, profileDesc?, revisionDesc?)>
<!ATTLIST TEIHeader
	CodexId CDATA #REQUIRED
	lang (de | la | en | fr) #REQUIRED
>
<!ELEMENT abbr (#PCDATA)>
<!ATTLIST abbr
	type (withLine) #REQUIRED
	expan CDATA #IMPLIED
>
    <!-- im Head eines CEEC-XML-Files wird nur 'abbr' erlaubt mit dem Attribut 'expan', nicht aber
    	umgekehrt auch 'expan' mit dem Attribut 'abbr' -->
<!ELEMENT accMat (#PCDATA | ref)*>
<!ELEMENT acquisition (#PCDATA | person)*>
<!ATTLIST acquisition
	authority CDATA #REQUIRED
	notBefore (1540 | 1861 | 1872) #REQUIRED
	notAfter (1540 | 1872) #IMPLIED
>
    <!-- dies sind die in unseren Daten bisher tatsächlich vorkommenden
        Werte. Sie stehen in der DTD, weil sie uns zur Überprüfung der
        Konsistenz unserer Daten gedient haben. -->
<!ELEMENT addenda (text)>
<!ELEMENT additional (#PCDATA | accMat | bibl | person | date)*>
<!ATTLIST additional
	authority CDATA #IMPLIED
>
<!ELEMENT additions (#PCDATA | quote | date | locus)*>
<!ELEMENT altName (#PCDATA | sup | sub | locus)*>
    <!-- locus in 83ii - Anderson -->
<!ATTLIST altName
	authority CDATA #REQUIRED
	type (catNo | formerShelfmark | shelfmark) #REQUIRED
>
<!ELEMENT author (#PCDATA | abbr | corr | note)*>
<!ATTLIST author
	type (attributed | interpreter | translator | commentator) #IMPLIED
	reg CDATA #IMPLIED
	lang (de | la | en | fr | it) #REQUIRED
>
    <!-- die Were für das Attribut 'type' sind diejenigen Funktionen eines Autors, die uns in den
        Katalogen begegnet sind -->
    <!-- reg ist für die normalisierte (regularized) Form des Autornamens -->
<!ELEMENT availability (#PCDATA)>
<!ELEMENT bibl (#PCDATA | title | biblScope | sup | locus | quote | author)*>
<!ATTLIST bibl
	authority CDATA #IMPLIED
	type (catalogue | edition | faksimile) #IMPLIED
	usage (short) #IMPLIED
	biblTarget CDATA #IMPLIED
>
    <!-- usage="short" zeigt an, daß die Auflösung des (Kurz-)Titels anhand der Literaturkonkordanz notwendig ist -->
    <!-- biblTarget wird verwendet, wenn in bibl keine Informationen zur Verfügung stehen,
        die kleio (unsere Datenbank) zu einer Literaturverweis umbauen könnte.
        Der Wert von biblTarget sollte einer Kurz- oder Langangabe entsprechen,
        wie sie in der Literaturkonkordanz verzeichnet sind -->
<!ELEMENT biblScope (#PCDATA)>
<!ATTLIST biblScope
	type (no | page | fol) "page"
	n CDATA #IMPLIED
>
<!ELEMENT binding (#PCDATA | date | bibl | ref | displayScript | quote | person | person | p | locus)*>
<!ELEMENT bindingDesc (binding)*>
<!ATTLIST bindingDesc
	authority CDATA #IMPLIED
>
<!ELEMENT body (text)>
    <!-- der 'body' wird im Rahmen des Projektes weiter definiert werden -->
<!ELEMENT cell (#PCDATA | p | img | abbr | note)*>
<!ATTLIST cell
	valign (top) #IMPLIED
	colspan CDATA #IMPLIED
>
<!ELEMENT change EMPTY>
<!ATTLIST change
	date CDATA #REQUIRED
	resp CDATA #REQUIRED
>
<!ELEMENT collation (#PCDATA | foliation | formula | note | locus)*>
<!ATTLIST collation
	authority CDATA #IMPLIED
>
<!ELEMENT collection (#PCDATA)>
<!ELEMENT colophon (#PCDATA | note)*>
<!ELEMENT columns (#PCDATA | locus)*>
<!ATTLIST columns
	authority CDATA #IMPLIED
>
<!ELEMENT condition (#PCDATA | abbr | person | locus | date | bibl)*>
<!ATTLIST condition
	authority CDATA #IMPLIED
>
<!ELEMENT corr (#PCDATA)>
<!ATTLIST corr
	orig CDATA #REQUIRED
>
<!ELEMENT country (#PCDATA)>
<!ELEMENT cover (text)>
<!ELEMENT date (#PCDATA | sup)*>
    <!-- sup fuer lateinische Jahreszahlen (Millesimo = M<sup>o</sup> -->
<!ELEMENT decoNote (#PCDATA | locus | incipit | quote | displayScript | bibl | title | author
                       | person | sup | date | pb | ref | p | decoNote | hi | explicit | note
                       | img | list | term)*>
<!ATTLIST decoNote
	authority CDATA #IMPLIED
	type (initial | diagram | overview) #IMPLIED
>
    <!-- oft findet sich bei MASTER die Aussage, daß eine Liste der vorkommenden Typen ausgearbeitet werden sollte;
    	hier fangen wir damit an. Die Liste kann und soll natürlich ausgedehnt werden -->
<!ELEMENT decoration (decoNote)*>
<!ATTLIST decoration
	authority CDATA #IMPLIED
>
<!ELEMENT dimensions (#PCDATA | height | width | locus)*>
<!ATTLIST dimensions
	type (leaves | written) #IMPLIED
	authority CDATA #IMPLIED
>
<!ELEMENT displayScript (#PCDATA)>
    <!-- ein neues Element für die Kennzeichnung der Verwendung spezieller Schrifttypen in Katalogen -->
<!ELEMENT div (pobject+)>
    <!-- die Scans werden als 'pobject' eingebunden. -->
<!ELEMENT edition EMPTY>
<!ELEMENT editionStmt (edition)>
<!ELEMENT explicit (#PCDATA | quote | pb | date | person | title | note | locus | author | ref | place | person | lb)*>
<!ATTLIST explicit
	authority CDATA #IMPLIED
>
<!ELEMENT extent (#PCDATA | dimensions | locus | sup | ref | note | date)*>
<!ATTLIST extent
	authority CDATA #IMPLIED
>
<!ELEMENT fileDesc (titleStmt, editionStmt?, publicationStmt, seriesStmt, sourceDesc)>
<!ELEMENT foliation (#PCDATA | date | quote | locus | sup)*>
<!ATTLIST foliation
	authority CDATA #IMPLIED
>
<!ELEMENT formula (#PCDATA | sup | note | bibl | locus)*>
    <!-- bibl für z.B. "siehe dazu..." -->
<!ATTLIST formula
	notation CDATA #IMPLIED
>
<!ELEMENT generalDescription (#PCDATA | title | place | date | p)*>
<!ATTLIST generalDescription
	authority CDATA #REQUIRED
>
    <!-- generalDescription enthaelt die ausfuehrlichen allgemeinen Beschreibungen, wie sie z.B. der Ausstellungskatalog
    	GlaubeUndWissen liefert. Längere Beschreibungen und Würdigungen der Gesamthandschrift	sollten auch formal
    	zu erkennen sein, da wir denken, daß die Texte inhaltlich in kein anderes Element "hineinpassen" -->
<!ELEMENT generalNotes (#PCDATA | ref | p | locus | title | date | person | place | bibl | quote)*>
<!ATTLIST generalNotes
	authority CDATA #IMPLIED
>
<!ELEMENT gloss (#PCDATA)>
<!ELEMENT handDesc (#PCDATA | locus | person | quote)*>
<!ATTLIST handDesc
	authority CDATA #IMPLIED
>
<!ELEMENT handShift EMPTY>
<!ELEMENT head (#PCDATA)>
<!ELEMENT height (#PCDATA)>
<!ATTLIST height
	units CDATA #REQUIRED
>
<!ELEMENT hi (#PCDATA)>
<!ATTLIST hi
	rend (bold | italic) #IMPLIED
	authority CDATA #IMPLIED
>
    <!-- in CEEC soll nur 'hi' verwendet werden, nicht aber 'emph', weil 'emph' eine inhaltliche Deutung nahelegt, in den Katalogen
    	ist allerdings nur eine Beschreibung vorgesehen -->
<!ELEMENT history (#PCDATA | provenance | origin | acquisition | date | locus | quote | bibl
                      | ref | displayScript | p | person)*>
<!ATTLIST history
	authority CDATA #IMPLIED
>
<!ELEMENT idno (#PCDATA | sup)*>
<!ATTLIST idno
	authority CDATA #IMPLIED
	default CDATA #IMPLIED
	type (catNo | shelfmark) #IMPLIED
>
<!ELEMENT img EMPTY>
<!ATTLIST img
	src (3punkte.jpg | chirho.jpg | kreuz.jpg | sonder.jpg) #REQUIRED
	alt CDATA #REQUIRED
	style CDATA #IMPLIED
>
    <!-- in manchen Katalogen, z.B. Jaffé-Wattenbach, kommen Zeichen vor, die nicht direkt
        abgebildet werden können, weshalb wir sie als Bilder repräsentieren. -->
<!ELEMENT incipit (#PCDATA | quote | title | hi | locus | note | author | date | person | abbr | ref | person | place)*>
<!ATTLIST incipit
	authority CDATA #IMPLIED
	type (ms) #IMPLIED
>
<!ELEMENT index (#PCDATA | locus)*>
    <!-- index auch für msItems, wenn z.B. Kapitelüberschriften vorausgestellt sind -->
<!ELEMENT initium (#PCDATA | locus | quote)*>
<!ATTLIST initium
	authority CDATA #IMPLIED
>
<!ELEMENT institution (#PCDATA)>
<!ELEMENT item (#PCDATA | change | locus)*>
    <!-- change fuer revisionDesc -->
<!ATTLIST item
	authority CDATA #IMPLIED
>
<!ELEMENT keywords (list)>
<!ATTLIST keywords
	scheme CDATA #REQUIRED
>
<!ELEMENT layout (#PCDATA | dimensions | columns | writtenLines | ruling | locus | ruledLines
                     | writtenSpace | preparationOfThePage)*>
<!ATTLIST layout
	authority CDATA #IMPLIED
>
    <!-- 'columns', 'ruledLines', 'writtenLines' sind bei MASTER Attribute, bei uns aber Elemente, da wir auf
    	diese Weise mehr Spielraum zur genauen Auszeichnung der Texte gewinnen -->
<!ELEMENT lb EMPTY>
<!ELEMENT list (item | change)*>
<!ATTLIST list
	type (ordered | unordered) #IMPLIED
>
<!ELEMENT listBibl (head?, bibl*)*>
    <!-- innerhalb der Listen gibt es manchmal Spezifizierungen, um welche Art von Angaben
        es sich handelt. Beipiel: "Zu den Prologen:<bibl> ...". Diese werden im 'head'
        aufgenommen -->
<!ATTLIST listBibl
	authority CDATA #IMPLIED
>
<!ELEMENT locus (#PCDATA)>
<!ATTLIST locus
	type (fol | old | pag) #IMPLIED
	n CDATA #IMPLIED
>
    <!-- der type veranlasst kleio eine andere Interpretationslogik zu verwenden -->
    <!-- n liefert eine verwendbare Referenz, wenn sie sich nicht aus dem Inhalt von <locus>
        ergibt -->
<!ELEMENT material (#PCDATA | locus)*>
<!ATTLIST material
	authority CDATA #IMPLIED
>
<!ELEMENT msContents (explicit | incipit | msItem | overview | initium | generalNotes | listBibl | bibl | pb)*>
    <!-- listBibl ist hier eingeführt, weil es manchmal thematisch zusammengehörige
        bibliographische Angaben gibt, die dann z.B. durch eine Spezifizierung
        ("Die Glossen abgedruckt bei ...") eingeleitet werden -->
<!ATTLIST msContents
	authority CDATA #IMPLIED
>
    <!-- ev. pb loeschen? -->
<!ELEMENT msDescription ((generalDescription*, msIdentifier, msPart+) |
    (generalDescription*, msIdentifier, msHeading*, physDesc*, msContents*, history*, generalNotes*, additional*))>
    <!-- eine DTD bildet zu gewissem Grad eine Struktur in der Abfolge der Elemente ab. Hier wird versucht, abzubilden, daß
    	eine Handschrift aus Teilen bestehen kann und die Beschreibung in diesem Fall auf hoher Ebene zunächst das Element
    	'msPart' enthalten muß. Die Elemente 'msHeading', 'physDesc', 'msContents' etc. sind in der Hierarchie entweder 'msPart'
    	oder direkt 'msDescription' untergeordnet. -->
<!ATTLIST msDescription
	status (uni | compo | frag) #REQUIRED
	type (codex | carta) #REQUIRED
>
<!ELEMENT msHeading (author?, title?, origPlace?, origDate?, textLang?, generalNotes?)*>
<!ATTLIST msHeading
	lang (de | en | la) #REQUIRED
	authority CDATA #REQUIRED
>
<!ELEMENT msIdentifier (country, settlement, institution, repository, collection, idno, altName*, secFol*)>
<!ELEMENT msItem (#PCDATA | locus | date | person | msItem | bibl | person | quote | title | decoNote
                     | explicit | p | incipit | author | note | ref | initium | pb | listBibl | colophon
                     | textLang | table | abbr | lb | place | displayScript | sup | hi | condition | subtitle
                     | handShift | img | index | handDesc)*>
<!ATTLIST msItem
	authority CDATA #IMPLIED
	type (gloss | marginalia | dryPointWriting | penTrials | p_ContemporaryCorrections | p_Corrections
	      | p_CorrectionsAdditions | ownershipInscriptions | TironianNotes | condition | emptyPage | TableOfContent) #IMPLIED
	id CDATA #IMPLIED
	textLang CDATA #IMPLIED
>
    <!-- auch für 'msItem' haben wir eine Typenliste angefangen. Da in XML aber ein Attribut nicht mehr als eine Ausprägung
    	haben kann, müssen alle vorkommenden Kombinationen in die Liste eingetragen werden. -->
<!ELEMENT msPart (idno, msHeading*, physDesc*, msContents*, history*, generalNotes*, additional*, msPart*)>
<!ELEMENT msWriting (#PCDATA | term | handDesc | decoNote | pb | locus | quote | date | bibl | title | p | person | ref)*>
<!ATTLIST msWriting
	authority CDATA #IMPLIED
	hands (1 | 2 | 3 | 4 | 5 | many) #IMPLIED
>
<!ELEMENT musicNotation (#PCDATA | locus | date)*>
<!ELEMENT note (#PCDATA | ref | date | incipit | explicit | person | sup | locus | bibl | quote | place)*>
<!-- note enthält fussnotenartige Informationen; allgemeine Bemerkungen werden
    mit generalNotes und ähnlichem ausgezeichnet -->
<!ATTLIST note
	authority CDATA #IMPLIED
	id CDATA #IMPLIED
>
<!ELEMENT origDate (#PCDATA)>
<!ATTLIST origDate
	authority CDATA #IMPLIED
	certainty CDATA #IMPLIED
	evidence CDATA #IMPLIED
	exact CDATA #IMPLIED
>
<!ELEMENT origPlace (#PCDATA | bibl | date | person | place)*>
<!ATTLIST origPlace
	authority CDATA #IMPLIED
	certainty CDATA #IMPLIED
	evidence CDATA #IMPLIED
>
<!ELEMENT origin (#PCDATA | locus | quote | date | decoNote | person | bibl | pb | place | ref
                     | title | p | repository | settlement | witness | note)*>
<!ATTLIST origin
	certainty (high | middle) #IMPLIED
	evidence CDATA #IMPLIED
>
<!ELEMENT overview (#PCDATA | author | bibl | ref | title | date | person | place | locus | quote | incipit)*>
<!ATTLIST overview
	textlang (de | la | en | fr) #IMPLIED
>
<!ELEMENT p (#PCDATA | table | date | person | bibl | locus | place | ref | lb | pb | quote | initium
                | explicit | author | title | sup | hi | abbr | origPlace)*>
<!ATTLIST p
	style CDATA #IMPLIED
	authority CDATA #IMPLIED
>
<!ELEMENT pb EMPTY>
<!ATTLIST pb
	n CDATA #REQUIRED
>
<!ELEMENT person (#PCDATA | abbr | date)*>
<!ATTLIST person
	role (scribe | owner) #IMPLIED
	type (author | myth) #IMPLIED
>
<!ELEMENT physDesc (generalNotes | support | extent | layout | msWriting | decoration | bindingDesc
                       | collation | condition | foliation | additions | note | musicNotation)*>
<!ATTLIST physDesc
	authority CDATA #REQUIRED
>
<!ELEMENT place (#PCDATA)>
<!ATTLIST place
	type CDATA #IMPLIED
>
<!ELEMENT pobject (zobject?)>
<!ATTLIST pobject
	digref CDATA #REQUIRED
	extref CDATA #REQUIRED
>
<!ELEMENT preparationOfThePage (#PCDATA | ruling)*>
<!ATTLIST preparationOfThePage
	authority CDATA #IMPLIED
>
    <!-- 'preparationOfThePage ist ein neu eingeführtes Konzept: Inhalt ist die Art, wie
        eine Seite fü die Beschriftung vorbereitet worden ist (z.B. die Zirkeleinstiche).
        In MASTER gibt es dafü noch kein Konzept. 'ruling' beschreibt dagegen die Liniierung -->
<!ELEMENT profileDesc (textClass)>
<!ELEMENT provenance (#PCDATA | person | date | locus | quote | ref | place | p | bibl)*>
<!ATTLIST provenance
	authority CDATA #IMPLIED
	type (donor | patron) #IMPLIED
	notBefore CDATA #IMPLIED
	notAfter CDATA #IMPLIED
>
<!ELEMENT pubPlace (#PCDATA)>
<!ELEMENT publicationStmt (publisher, pubPlace, idno, availability, date)>
<!ELEMENT publisher (#PCDATA)>
<!ELEMENT quote (#PCDATA | p | displayScript | person | title | table | hi | img | author | abbr | bibl
                    | sup | locus | date | pb | gloss | explicit | lb)*>
<!ATTLIST quote
	type CDATA #IMPLIED
>
<!ELEMENT ref (#PCDATA | locus | sup | date | bibl)*>
<!ATTLIST ref
	type CDATA #IMPLIED
	usage CDATA #IMPLIED
	target CDATA #IMPLIED
	subtype CDATA #IMPLIED
>
<!ELEMENT repository (#PCDATA)>
<!ELEMENT respStmt (#PCDATA | person | sponsor)*>
<!ELEMENT revisionDesc (list)>
<!ELEMENT row (cell)+>
<!ELEMENT ruledLines (#PCDATA)>
<!ATTLIST ruledLines
	authority CDATA #REQUIRED
>
<!ELEMENT ruling (#PCDATA | locus)*>
<!-- ruledLines gibt die ZAHL der Linien an und ruling die ART der Linienziehung -->
<!ELEMENT secFol (#PCDATA | date | quote | locus | person | abbr | note | ref | bibl)*>
<!ATTLIST secFol
	authority CDATA #REQUIRED
>
    <!-- 'secFol' ist eines der Elemente, die auf oberster Ebene integriert werden, weshalb das übergeordnete
    	Element nicht die authority verrät; also muß das Element selber diese Information tragen, deshalb
    	ist die 'authority' REQUIRED -->
<!ELEMENT seriesStmt (title)>
<!ELEMENT settlement (#PCDATA)>
<!ELEMENT sourceDesc (listBibl*, msDescription)>
<!ELEMENT span (#PCDATA)>
<!ATTLIST span
	class (greek) #REQUIRED
>
    <!-- bisher für die Darstellung griechischer Zeichen und die automatische Übersetzung nach HTML gebraucht -->
<!ELEMENT sponsor (#PCDATA)>
<!ELEMENT sub (#PCDATA)>
<!ELEMENT subtitle (#PCDATA)>
<!ELEMENT sup (#PCDATA)>
<!ELEMENT support (#PCDATA | material | extent)*>
<!ELEMENT table (row)+>
<!ATTLIST table
	align CDATA #IMPLIED
>
<!ELEMENT term (#PCDATA)>
<!ATTLIST term
	type CDATA #REQUIRED
>
<!ELEMENT text (div)>
<!ELEMENT textClass (keywords)>
<!ELEMENT textLang (#PCDATA | bibl)*>
<!ATTLIST textLang
	authority CDATA #IMPLIED
>
<!ELEMENT title (#PCDATA | person | incipit | quote | abbr | corr | note | hi | span | locus | date)*>
<!ATTLIST title
	usage (short) #IMPLIED
	type (p_Werktitel | genus | descriptive | nickname | subtitle | ms | additional | description) #IMPLIED
	lang (de | en | fr | la | it) #IMPLIED
>
<!-- hier ist ein weiteres "p_"; und gibt es einen Unterschied zwischen descriptive und description? -->
<!ELEMENT titleStmt (title, respStmt)>
<!ELEMENT width (#PCDATA)>
<!ATTLIST width
	units CDATA #REQUIRED
>
<!ELEMENT witness (#PCDATA | locus)*>
<!ATTLIST witness
	authority CDATA #REQUIRED
>
<!ELEMENT writtenLines (#PCDATA | locus)*>
<!ATTLIST writtenLines
	authority CDATA #IMPLIED
>
<!ELEMENT writtenSpace (#PCDATA | locus)*>
<!-- Stimmt nicht mit dem Konzept <dimensions type=written> ueberein,
    dieses enthaelt eine Beschreibung des Schriftspiegels, die komplexer als eine
    blosse Massangabe sein kann -->
<!ELEMENT zobject EMPTY>
<!ATTLIST zobject
	digref CDATA #REQUIRED
	extref CDATA #REQUIRED
>