Metadata

All metadata related to the sources are stored in a separate FileMaker Pro database. As our project involves manuscripts that may contain several texts (or textual units) and texts that my be spread across several manuscripts, neither the manuscripts nor the texts can be treated as primary entry for the storage of the information. We have chosen to differentiate between metadata belonging to manuscripts and metadata belonging to texts. As a result of the main core of the metadatabase is formed by the two tables ‘Texts’ and ‘Manuscripts’, that are linked by an intermediate table.

Contents

1. Texts and Manuscripts

2. Information Blocks related to Manuscript Records

3. Information Blocks related to Text Records

4. Crossreferencing between Blocks

5. Exporting Data to XML

1. Texts and Manuscripts [Back to Contents]

As stated above, a manuscript may contain several texts. For example, the manuscript Oxford, Bodleian Library, MS Locke e.1 contains, among other texts, the texts ‘Of the Conduct of the Understanding’ (pp. i + iv + 1 + 56-261), ‘Enthusiasm’ (pp. 1, 10-30) and 'Ballance the difficulties on both sides' (pp. 6, 8, 9, 10, 11). On the other hand, part of the text ‘Of the Conduct of the Understanding’ is extant in another manuscript, Oxford, Bodleian Library, MS Locke c.28 (f. 121-138). These relations are implemented in the database as represented in the following scheme.

2. Information Blocks related to Manuscript Records [Back to Contents]

The metadata for a manuscript are partially stored locally in the MSS records and partially in a related table containing information ‘blocks’ that are connected to either MS or Text records. The use of these blocks enables the editor to edit, move and cross-reference information in a flexible way. The data that are stored locally include the title (or library signature) of the manuscript, the library and a terminus post quem and terminus ante qua (used for dating of the manuscript). The data in the blocks deal with various categories of manuscripts metadata such as size, watermarks, stichings, etc. These categories are managed by the editor in a separate table which allows the editor to define the order in which the categories are presented. With the help of this table the all manuscripts can be described in a uniform fashion.

3. Information Blocks related to Text Records [Back to Contents]

The metadata of a text are very similar to those of a manuscript. Again, some data are stored locally in the text record, but most are stored in related blocks. Here we find various categories such as references in Locke's other works, a short history of the text and its relation with the Essay. There is one important difference between the manuscript data and text data: the latter can contain several several blocks of the same category. The editor can alter the order of blocks within a single category by modifying the ordinal number of a block (the field by which all blocks of the same category are sorted).

Another difference is that the text records present both text blocks and manuscript blocks, whereas the manuscript records contain manuscript blocks but no text blocks. The reason for this is that we have chosen to make the texts the primary units in the on-line presentation. For example, the user will not be able to browse through the various texts of MS Locke e.1 at once. Instead, he will be choose one text, say ‘Of the Conduct of the Understanding’, and browse or search its contents throughout its two sources MS Locke e.1 and MS Locke c.28. The same structure is present in the on-line presentation of the metadata. When presenting the metadata for a text to a user also the metadata for all manuscripts related to that text will be presented. The reverse, however, is not true; all manuscript data are presented without the related text data.

4. Crossreferencing between Blocks [Back to Contents]

Since all blocks have a unique ID, the editor can easily make cross-references between blocks. All information stored in the blocks is of an XML-like form. For example, italics are indicated by <I> ... </I> tags and superscripts by <SUP> ... </SUP>. For cross-referencing the singleton tag <REF id="number"> is used, where number is the ID of a block. These references are will be converted to more readable references when exporting the data from the database.

5. Exporting Data to XML [Back to Contents]

The data within our FileMaker database are exported to a format that is postprocessed by a Perl script. The output of the script is a file in XML format, following a project specific DTD for metadata. This DTD is presented below. The XML file generated by the Perl script is handed to the Digital Production Centre and then converted to a format that can be served on-line.

<!ENTITY % lower 'I|B|U|SUP|FRAC|A|SPAN|XREF|CREF|REF'>
<!ENTITY % higher 'CAPTION|CIT|IMG|OL|TABLE'>

<!ELEMENT MSS (MS+)>
	<!ATTLIST MSS date CDATA #IMPLIED>
<!ELEMENT MS (TITLE,LIBRARY,TERMAQUO,TERMADQUEM,RELATEDTEXTS,TOC,(HEAD,(P|%higher;)+)*)>
	<!ATTLIST MS id CDATA #REQUIRED>
<!ELEMENT RELATEDMSS (RELATEDMS*)>
<!ELEMENT RELATEDMS (TITLE,LIBRARY,FOLIOS)>
	<!ATTLIST RELATEDMS id CDATA #REQUIRED>

<!ELEMENT TEXTS (TEXT+)>
	<!ATTLIST TEXTS date CDATA #IMPLIED>
<!ELEMENT TEXT (TITLE,TERMAQUO,TERMADQUEM,RELATEDMSS,TOC,(HEAD?,(P|%higher;)+)*)>
	<!ATTLIST TEXT id CDATA #REQUIRED>
<!ELEMENT RELATEDTEXTS (RELATEDTEXT*)>
<!ELEMENT RELATEDTEXT (TITLE,FOLIOS)>
	<!ATTLIST RELATEDTEXT id CDATA #REQUIRED>

<!ELEMENT TITLE (#PCDATA|%lower;)*>
<!ELEMENT LIBRARY (#PCDATA|%lower;)*>
<!ELEMENT TERMAQUO (#PCDATA|%lower;)*>
<!ELEMENT TERMADQUEM (#PCDATA|%lower;)*>
<!ELEMENT FOLIOS (#PCDATA|%lower;)*>

<!ELEMENT TOC (ENTRY|SUBENTRY)*>
<!ELEMENT ENTRY (#PCDATA|%lower;)*>
<!ELEMENT SUBENTRY (#PCDATA|%lower;)*>

<!ELEMENT P (#PCDATA|%higher;|%lower;|NOTE)*>
<!ELEMENT CIT (#PCDATA|%higher;|%lower;|NOTE)*>

<!ELEMENT NOTE (#PCDATA|%lower;)*>
<!ELEMENT HEAD (#PCDATA|%lower;)*>
	<!ATTLIST HEAD id CDATA #REQUIRED>
<!ELEMENT I (#PCDATA|%lower;)*>
<!ELEMENT B (#PCDATA|%lower;)*>
<!ELEMENT U (#PCDATA|%lower;)*>
<!ELEMENT SUP (#PCDATA|%lower;)*>
<!ELEMENT FRAC (#PCDATA|%lower;)*>
<!ELEMENT A (#PCDATA|%lower;)*>
	<!ATTLIST A href CDATA #IMPLIED>
<!ELEMENT SPAN (#PCDATA|%lower;)*>
	<!ATTLIST SPAN id CDATA #REQUIRED>
<!ELEMENT XREF (#PCDATA|%lower;)*>
	<!ATTLIST XREF n CDATA #IMPLIED>
<!ELEMENT REF (#PCDATA|%lower;)*>
	<!ATTLIST REF n CDATA #IMPLIED>
<!ELEMENT CREF EMPTY>
	<!ATTLIST CREF n CDATA #IMPLIED>

<!ELEMENT IMG EMPTY>
	<!ATTLIST IMG src CDATA #REQUIRED>
<!ELEMENT CAPTION (#PCDATA|%lower;)*>

<!ELEMENT OL (LI+)>
<!ELEMENT LI (#PCDATA|%lower;)*>

<!ELEMENT TABLE (TR+)>
<!ELEMENT TR (TD+)>
<!ELEMENT TD (#PCDATA|%lower;|NOTE)*>