File Structure and Programming Languages

The Digital Temple database consists of the following folders/files:
• A series of tiled PNG image files derived from high-resolution TIFFs and corresponding to individual pages in the three source artifacts: Williams MS. Jones B62; Bodleian MS. Tanner 307; and The Temple: Sacred Poems and Private Ejaculations, first edition, 1633 (STC 13183, Folger Shakespeare Library copy). These are contained within the folder "../Poems/images."
• A series of TEI-XML files, each containing transcriptions of all versions of a single poem, structured according to the TEI recommendations for parallel segmentation, as well as critical annotations and links to the pertinent page images. These, together with a corresponding set of HTML files for display, are contained within "../Poems."
• Three TEI-XML files containing transcriptions of the three source artifacts in their entirety (excepting the Latin poems of Williams MS. Jones B62). These discrete-witness files are derived from the individual-poem files using the master file, described below, in combination with an XSLT file (care of Syd Bauman). They and their HTML counterparts are contained within "../Poems" along with the individual-poem files.
• Five TEI-XML documentation files, including prose descriptions of the edition's File Structure and Programming Languages, Encoding Scheme, and Versioning Machine Instructions, as well as a Textual Introduction and Acknowledgments page. These and their HTML counterparts are also contained within the folder "../Poems."
• A master TEI-XML file ("..Poems/edition.xml") containing three text elements corresponding to the three witnesses. Each of these texts contains a series of pointers referencing the individual-poem files in parallel segmentation, in the order in which those poems occur in that witness, as well as all forme-work features (running headers, page and/or folio numbers, catchwords, and signatures) that occur between poems. (Forme-work features occurring within poems are captured in the individual-poem files.) This master file is used to create the three discrete-witness files described above.
This master file also contains the master teiHeader documenting all aspects of all files in the edition, including an account of tagUsage that clarifies central features of the encoding and explains instances which may expand or in some way deviate from prescribed TEI semantics; and a long list of graphic elements referencing the source image files.
Finally, this master file includes a text element (xml:id="documentation") referencing the documentation files mentioned above.
This description of the master TEI-XML file may be summarized as follows:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
<TEI>
    <teiHeader xml:id="dtHeader"/>
    <facsimile>
        <graphic/>
        <!-- Source image references. -->
    </facsimile>
    <text xml:id="digitalTemple">
        <group>
            <text xml:id="documentation"/>
            <!-- The following TEXTs, representing the three source witnesses, contain PTRs referencing the individual-poem files in the folder  "../Poems."  -->
            <text xml:id="textW"/>
            <text xml:id="textB"/>
            <text xml:id="textED1"/>
        </group>
    </text>
</TEI>
• An ODD XML file and its corresponding ReLaXNG file—the schema that defines and constrains the tagging protocol applied to the Digital Temple transcriptions and images.
• An XSL text-transformation file ("../Poems/transformAll.xslt") which, combined with the master TEI-XML, generates the discrete-witness XML.
• Additional XSL files pertaining respectively to the individual-poem files in parallel segmentation ("../src/vmachine.xsl"); the discrete-witness files ("../src/discreteWitness.xsl"); the tables of contents referenced by the individual-poem and discrete-witness files ("..src/vmachine-optionlists.xsl"); and the documentation files ("../src/documentation.xsl"). These XSL files, together with CSS and JS files and related folders they reference, are customized iterations of, and additions to, files in the Versioning Machine 4.0, the browser-based open source software on which runs The Digital Temple.
• Contents directories ("../home.html," "../Documentation.html," and "../DiscreteWitnesses.html"); several sets of related image files ("../images," "../vm-images," and "../toc_files") pertaining to page stylization; and additional CSS and JS folders/files ("../css" and "../js").

TEI-XML
XML (eXtensible Markup Language) is a kind of meta-language: a set of rules according to which a computing language can be constructed. The TEI (Text Encoding Initiative) is a consortium of humanities computing scholars whose purpose is to devise universal standards for the creation, preservation, and transmission of platform-independent electronic texts. The TEI P5 Guidelines for Electronic Text Encoding and Interchange is a comprehensive set of XML-based protocol with which to encode both the intellectual contents and visual features of any textual artifact.
The Digital Temple transcriptions are encoded according to what the Guidelines call parallel segmentation: all versions of a given poem transcribed in parallel, line by line, e.g.,
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
<l n="2">
    <app>
        <rdg wit="#w">Line 2 from one poem, as it appears in Williams
            MS. Jones B62.</rdg>
        <rdg wit="#b">Line 2 from the same poem as witnessed by Bodleian
            MS. Tanner 307.</rdg>
        <rdg wit="#ed1">Line 2 from the same poem as witnessed by the
            1633 first edition.</rdg>
    </app>
</l>

where the poem's second line is offered in three versions or reading (rdg) witnesses (@wit).
For a more extensive description of the Digital Temple encoding protocol, see Encoding Scheme.

ODD and ReLaXNG
The encoding scheme of The Digital Temple's XML documents (both the single-poem and discrete-witness files) is constrained by a customized formal specification of the TEI. This specification is created by using TEI ODD markup (ODD meaning "One Document Does it All") to generate a separate XML file from which in turn is generated the edition's constraining schema.
An XML schema, simply put, defines the structure, content, and semantics of the XML documents that explicitly invoke it. The Digital Temple uses a ReLaXNG (REgular LAnguage for XML Next Generation) schema because it is simple relative to other schema languages, such as a Document Type Definition (DTD). The Digital Temple's ODD and ReLaXNG files have been created using Roma, a web-based program for creating TEI customizations.

XSL, JS, and CSS
XSL (eXstensible Stylesheet Language) is a set of recommendations for the transformation and presentation of XML documents. One Digital Temple XSL file is used to extract from the individual-poem files (each containing all witnesses to a single poem in parallel segmentation) all data pertaining to one witness, and to rearrange that data in a discrete-witness XML file. The remaining XSL files, together with JavaScript (JS) and Cascading Style Sheet (CSS) files, drive the Versioning Machine software.
The JavaScript files (not to be confused with the Java programming language) contain rendering instructions summoned by the Versioning Machine XSL. The Cascading Style Sheet file handles the appearance of the Versioning Machine as well as the rendering of certain elements (such as those pertaining to deletion and addition, italics, and superscript).