This page includes some examples of different approaches for facsimile (image-based) markup.
P5 Guidelines, 22.3 (Specific Elements for Graphic Images)
The P5 Guidelines describe four elements for including graphic images in TEI documents:
- figure: contains a block containing graphics, illustrations, or figures.
- graphic: indicates the location of an inline graphic, illustration, or figure.
- binaryObject: provides encoded binary data representing an inline graphic or other object.
- figdesc: contains a brief prose description of the appearance or content of a graphic figure, for use when documenting an image without displaying it.
<figure> is the parent element for the others. <figure> may also contain <head> (a header or title) and <p> (commentary or caption, not a description of the image):
Figure is also self-nesting, which allows for description of image fragments, though as TEI is now described those image fragments would have to be separate image files. Would it be useful to instead have a way to note coordinates using an attribute or attributes in <graphic>? (@mets:coords or @svg coordinate attributes; see TEI_to_SVG#Mapping_attributes):
<figure> <head>My entire image</head> <graphic.../> <figure> <head>fragment 1</head> <graphic.../> </figure> <figure> <head>fragment 2</head> <graphic.../> </figure> </figure>
If a graphic contains a large amount of text, and the editor determines that the graphic actually contains that text (the text is not part of the surrounding text), <figure> may contain <text>.
Linking Text & Image in P5
The Guidelines describes a number of ways to link text and image using methods described fully in 14 Linking, Segmentation, and Alignment.
Linking thumbnails to full-resolution images
To link thumbnails to larger images, create a <ref> tag that points to the xml:id of the corresponding figure. Include the thumbnail as a graphic in the <ref>
<ref target="#IM1">Click here <graphic url="fig1th.png"/> for enlightenment </ref> <figure xml:id="IM1"> <graphic url="fig1.jpg"/> </figure>
Associate images/parts of images with text elements
Use the linking mechanism described in 14 Linking, Segmentation, and Alignment to link together a figure (the example in the guidelines uses an external SVG file, parts of which are identified with xml:ids) and TEI elements (which are likewise identified using xml:ids).
First, we use pointers to the graphic image:
<ptr xml:id="PD1" target="Fig1.svg#object1"/> <ptr xml:id="PD2" target="Fig1.svg#object2"/>
These point inside the SVG file:
<svg width="8cm" height="3cm" viewBox="2 1 8 3"> <g id="object1"> <ellipse style="fill: #ffffff" cx="3.875" cy="3.025" rx="1.175" ry="1.175"/> </g> <g id="object2"> <rect style="fill: #a81616" x="7.8" y="1.9" width="2.17581" height="2.24833"/> </g> </svg>
Areas in the TEI file are also uniquely identified:
<div1 type="chapter" xml:id="CHAP1"> <!-- ... --> </div1> <div1 type="chapter" xml:id="CHAP2"> <!-- ... --> </div1>
Then we can use a linkgroup to pull this all together:
<linkGrp type="callout"> <link targets="#CHAP1 #PD1"/> <link targets="#CHAP2 #PD2"/> </linkGrp>
Draft Recommendations for TEI Digital Facsimiles
This document, authored by Richard Gartner and Lou Burnard and last updated in 2001, outlines ways to use TEI to represent three types of digital objects:
- complete digital transcriptions of the content of manuscript or print originals (possibly including illustrations as well as text)
- collections of digitized page images (digital facsimiles) intended for use as surrogates for complete manuscript or print originals
- digital objects (digital editions) combining both page facsimiles and transcriptions, possibly also including layers of editorial annotation
The authors attempt to address these areas of concern:
- the need to distinguish images of a manuscript or print source from images located within it;
- the need to support multiple formats of a single image;
- the need to associate metadata at different levels (e.g. collection level, item level);
- the need to associate transcription and facsimile in a standard way;
- the need to define practices which can be used equally well in both SGML and XML environments;
- the desire to avoid special purpose rules which assume nonstandard or ad hoc processing rules.
Case 1: Transcription
Updated to cite chapters in P5:
The content of a transcription should be marked up as a single <TEI> element using the standard TEI elements <text>, <body>, <div>, etc. from the TEI core tag sets.
If the source contains "significant illustrative material", use <figure> (and children) from Guidelines chapter 22 Tables, Formulae, and Graphics to insert illustrations in their proper location in the transcript.
<lb n="12"/>feond mid his geferum eallum. Feollon þa ufon <lb n="13"/>of heofnum þurhlonge swa þreo niht and da <lb n="14"/>gas, þa englas of heofnum on helle, and heo ealle <lb n="15"/>forsceop drihten to deoflum. <figure> <head>Fall of the Angels</head> <figDesc>Above, God, cross-nimbed, beardless, and holding a closed book, accompanied by three angels, turns and gestures toward three angels on the left, one of whom (Lucifer?) holds a palm frond ...</figDesc> </figure> <pb n="17"/>
Case 2: Digital Facsimile
Should be marked as a separate <TEI> element. TEI structural tags may be used, but need not be, especially if differences between textual structure and physical structure cause overlap.
Each distinct image making up the facsimile should be encoded as a <figure> element, arranged in the normal reading sequence of the facsimile. The appropriate milestone element (<pb/> or <cb/>) should be used at the appropriate place in the facsimile.
<pb n="16"/> <figure n="16"> <figDesc>[Page 16: 15 lines of text followed by image of "Fall of Angels" (Ohlgren 16.11)]</figDesc> </figure> <pb n="17"/> <figure n="17"> <figDesc>[Page 17: 15 lines of text followed by image of "Fall of Angels" (Ohlgren 16.12)]</figDesc> </figure>
<figure> elements may be self-nested to show that one image logically contains others (in cases where two image fit together to form one larger image).
<figure n="16"> <figure> <figDesc>[Page 16: 15 lines of text (detail of upper part)]</figDesc> </figure> <figure> <figDesc>[Page 16: Image of "Fall of Angels" (Ohlgren 16.11) (detail of lower part)</figDesc> </figure> </figure>
3: Techniques for Referencing Images
Recommends declaring the file containing the image as an external entity and then referencing that entity using the "entity" attribute in <figure>. This approach depends on the use of the DTD (no longer practical given the TEI's move towards using the RelaxNG schema), and relies on an attribute that is no longer included in P5.
In TEI P5 there are also two new elements, <graphic> and <binaryObject> which may be used to represent image references or images respectively. These permit the encoding of figures containing multiple images, for example. The <graphic> element has a "url" attribute which enables the association of a <figure> with its corresponding image file. The recommendations in Gartner and Burnard need to be revised substantially in this respect.
<pb n="16"/> <figure n="16"> <figDesc>[Page 16: 15 lines of text followed by image of "Fall of Angels" (Ohlgren 16.11)]</figDesc> <graphic url="http://image.ox.ac.uk/images/bodleian/msjunius11/16.jpg"/> </figure> <pb n="17"/> <figure n="17"> <figDesc>[Page 17: 15 lines of text followed by image of "Fall of Angels" (Ohlgren 16.12)]</figDesc> <graphic url="http://image.ox.ac.uk/images/bodleian/msjunius11/17.jpg"/> </figure>
<figure> may contain more than one graphic, so it is possible to relate multiple image files to a single physical object:
<pb n="16"/> <figure n="16"> <figDesc>[Page 16: 15 lines of text followed by image of "Fall of Angels" (Ohlgren 16.11)]</figDesc> <graphic n="daylight" url="http://image.ox.ac.uk/images/bodleian/msjunius11/16.jpg"/> <graphic n="uv" url="http://image.ox.ac.uk/images/bodleian/msjunius11/UV/16.jpg"/> </figure> <pb n="17"/> <figure n="17"> <figDesc>[Page 17: 15 lines of text followed by image of "Fall of Angels" (Ohlgren 16.12)]</figDesc> <graphic n="daylight" url="http://image.ox.ac.uk/images/bodleian/msjunius11/17.jpg"/> <graphic n="uv" url="http://image.ox.ac.uk/images/bodleian/msjunius11/UV/17.jpg"/> </figure>
Other options mentioned in the recommendation: Xlink or Xinclude.
4: Aligning transcription and facsimile
The TEI Guidelines propose a number of methods for aligning parts of a document (see www.tei-c.org/Guidelines/SA). These may be briefly summarized as follows
- use the @corresp attribute to assert that a <pb> (or other reference point) in the transcription corresponds with a <pb> in the facsimile (or the reverse);
- alternatively, use a stand-off <link> element to assert the association between the two <pb> elements;
- for cross-document linking, an intermediate <xptr> may be used as the target.
EPPT (www.eppt.org/eppt) is a software platform designed to help editors prepare and display image-based XML-encoded electronic scholarly editions. EPPT uses electronic text, DTDs, and digital facsimiles (JPG, BMP, GIF, TIFF, etc.) to produce highly complex encoding of image-based textual resources. EPPT supports any DTD-based encoding schema (such as the TEI P4 DTDs – with support for P5 XML Schema and RelaxNG currently under development) and enables precise, semi-automatic linking of full images as well as image sections with structural and descriptive metadata. EPPT includes new technologies and extensions (such as support for multiple hierarchies) to provide a powerful user interface for leveraging XML technologies in the production of image-based XML-encoded electronic editions. See a full description of the EPPT.
For more details, see here: http://beowulf.engl.uky.edu/~kiernan/eBoethius/tech.htm#tech.
The Image Catalog is a simple XML file that consists of lists of image files organized by category. There is one category for every set of image files for a given source.
- daylight (images taken under regular lighting)
- ultraviolet (images taken under ultraviolet lighting)
- microfilm (images scanned from microfilm)
Categories are assigned unique IDs.
Within each category, the user associates each file with an ID that is unique within the category. IDs will repeat across categories. Essentially, these IDs associate the files with the same object, which may be represented by multiple images.
<category name="daylight" id="d"> <file name="aih0244-JPG.jpg" id="5v" /> <file name="aih0245-JPG.jpg" id="6r" /> <file name="aih0242-JPG.jpg" id="6v" /> </category> <category name="ultraviolet" id="u"> <file name="uv-5v.jpg" id="5v" /> <file name="uv-6r.jpg" id="6r" /> <file name="uv-6v.jpg" id="6v" /> </category> <category name="microfilm" id="m"> <file name="mf-5v.jpg" id="5v" /> <file name="mf-6r.jpg" id="6r" /> <file name="mf-6v.jpg" id="6v" /> </category>
The file IDs from image catalog are then associated with an attribute within the text markup itself. The attribute used is configured by the user; for the Electronic Boethius, we used the attribute n in the element <fol> (folio). The content for each folio is thus associated with the correct image files (from every category):
Attribute for Coordinates
A TEI element can be associated with a rectangular region of an image by encoding the co-ordinates of the region's corners as an attribute of that element. The EPT allows the user to assign an attribute (Electronic Boethius uses coords). In whatever elements that attribute is defined, the coordinates, selected by the editor, are automatically entered by the software. The ID assigned to the categories in the Image Catalog are appended to the beginning of the coordinates.
Method used by the UVic Image Markup Tool: Annotate images
The UVic Image Markup Tool (http://www.tapor.uvic.ca/~mholmes/image_markup/) uses TEI, modified to allow for the inclusion of SVG (http://www.w3.org/Graphics/SVG/), to create a system for annotating images.
Stated goals of the Tool:
- be simple for novices to use
- load and display a wide variety of different image formats
- allow the user to specify arbitrary rectangles on the image, and associate them with annotations
- allow such rectangles to overlap if the user wishes
- provide mechanisms for bringing overlapped rectangles to the front easily
- allow annotations to be grouped into categories, distinguished by name and appearance, to allow different classes of annotation
- require no significant knowledge of XML or TEI
- allow the use of XML code if the user wishes
- save data in an XML file which conforms to a TEI P5-based schema
- reload data from its own files
- generate a simple "Web view" of the data for display in a browser
- come packaged with an installer, Help file, and basic tutorial
- be simple for novices to use!
Simplified example from the IMT web:
<TEI> <teiHeader> <!-- ...header content... --> </teiHeader> <text> <body> <!-- ...TEI content... --> <div type="imtAnnotatedImage"> <svg xmlns="http://www.w3.org/2000/svg"> <!-- ...svg content... --> <image> <!-- Image file is linked in here --> </image> <rect> <!-- Annotation area on the image defined here --> </rect> </svg> <div type="imtAnnotationLayer"> <!-- Annotation content goes here --> </div> </div> <!-- ...TEI content... --> </body> </text> </TEI>
Using this system, a user can annotate many sections of a single image. Unlike the EPT system described above, in which the coordinates are stored directly in the element, here the image coordinates are stored in a separate section and linked to the annotations using unique IDs (svg:id in <rect>) to link the areas to the annotation content (n in <div type="imtAnnotationLayer">).
<div type="imtAnnotatedImage" xml:id="NB-B-17328"> <svg xmlns="http://www.w3.org/2000/svg"> <image xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="NB-B-17328.jpg" width="5060" height="6025"/> <title>NB-B-17328.jpg</title> <desc>5060 x 6025</desc> <rect svg:id="NB-B-17328_0" x="4287" y="1412" width="580" height="426" style="3" color="#ff0000"/> <rect svg:id="NB-B-17328_1" x="4067" y="2019" width="720" height="747" style="3" color="#ff0000"/> </svg> <div type="imtAnnotationLayer" n="NB-B-17328_0"> <head>la chandelle allume la découverte.</head> <p>Il a trouvé la cache.</p> </div> <div type="imtAnnotationLayer" n="NB-B-17328_1"> <head>le couvercle de la malle</head> <p>Il est pris sans vert</p> </div>
(TEI examples from the UVic file example: http://www.tapor.uvic.ca/~mholmes/image_markup/Amant.xml)
For more details on the TEI/SVG used by the IMT, see here: http://www.tapor.uvic.ca/~mholmes/image_markup/xml.php
What is METS?
- Metadata Encoding and Transmission Standard (http://www.loc.gov/standards/mets/)
- “a standard for encoding … metadata regarding objects within a digital library”
- Centered at the Library of Congress
- Developed out of the metadata specs from the LOC’s “Making of America 2” project (MOA2)
- Developed by librarians and archivists, for librarians and archivists
- Accepted standard with a broad user base (http://sunsite.berkeley.edu/mets/registry/)
- Unrelated to TEI
While a library may record descriptive metadata regarding a book in its collection, the book will not dissolve into a series of unconnected pages if the library fails to record structural metadata regarding the book's organization, nor will scholars be unable to evaluate the book's worth if the library fails to note that the book was produced using a Ryobi offset press.” (METS: An Overview and Tutorial)
- System to organize disparate parts and relate files (and pieces of files):
- Areas on images correspond with sections of text
- Areas on images relate to one another
- Areas of text relate to one another
- METS provides sections for defining the logical and/or physical structure of the digital object
- File Section (fileSec)
- Structural Map (structMap)
“lists all files containing content which comprise the electronic versions of the digital object.”
- Similar to the EPT Image Catalog
Within the FileSec
- FileSec consists of Groups of File Locaters
- File Group: contains related files
- File: assigns the individual files unique identifiers
<file ID="C-Clbiv-69v" MIMETYPE="image/tiff">
- File Locater: points to the location of the file, using xlink syntax
<FLocat LOCTYPE="URN" xlink:href="images/C-Clbiv-69v.jpg"/>
<fileGrp USE="facsimile"> <file ID="C-Clbiv-69v" MIMETYPE="image/tiff"> <FLocat LOCTYPE="URN" xlink:href="images/C-Clbiv-69v.tif"/> </file> <file ID="C-Clbiv-70r" MIMETYPE="image/tiff"> <FLocat LOCTYPE="URN" xlink:href="images/C-Clbiv-70r.tif"/> </file> … </fileGrp>
<fileGrp USE="transcript"> <file ID="id-pref-genesis" MIMETYPE="text/xml"> <FLocat LOCTYPE="URN" xlink:href=“transcription/pref-genesis.xml"/> </file> <file ID="id-genesis" MIMETYPE="text/xml"> <FLocat LOCTYPE="URN" xlink:href=“transcription/genesis.xml"/> </file> <file ID="id-exodus" MIMETYPE="text/xml"> <FLocat LOCTYPE="URN" xlink:href=“transcription/exodus.xml"/> </file> … </fileGrp>
“outlines a hierarchical structure for the digital library object, and links the elements of that structure to content files … that pertain to each element.”
- Organization may be logical or physical
- A single METS file may contain multiple structural maps
Within the StructMap
- StructMap consists of organizational divisions, that may nest
<div LABEL="Genesis" ORDER="2"> <div LABEL="Folio 1v" ORDER="2"> ... </div> </div>
- The divisions contain pointers to the files, and areas of files, indexed in the fileSec
<div LABEL="Genesis" ORDER="2"> <div LABEL="Folio 1v" ORDER="2"> <fptr FILEID="C-Clbiv-1v"/> <fptr> <area FILEID="id-genesis" BEGIN="1v.32" END="1v.38"/> </fptr> </div> </div>
The first file pointer references the corresponding image file, while the second one references the corresponding line range (BEGIN and END) in the XML file (these are the values of, for example, @xml:id on <lb/>
<div LABEL="Folio 69v" ORDER=“139"> <fptr FILEID="C-Clbiv-69v"/> <fptr> <area FILEID="id-genesis" BEGIN="69v.1" END="69v.12"/> </fptr> </div> <div LABEL="Folio 70r" ORDER="140"> <fptr FILEID="C-Clbiv-70r"/> <fptr> <area FILEID="id-genesis" BEGIN="70r.1" END="70r.38"/> </fptr> </div>
- <area>: reference coordinates within an image file.
- especially useful for extensively illustrated manuscripts
- create links between text and image.
- @COORDS in <area> for image files
- @BEGIN and @END in <area> for XML/TEI files
- Simplifies encoding:
- no need to define @COORDS to clutter up the TEI;
- no need to find a place to store a linking section in the TEI file
- no need to use the SVG namespace
- separate the objects (image and XML files) from the indexing of their relationships with one another
<div LABEL="Folio 69v" ORDER="139"> <div LABEL="Annotation 1" <fptr> <area FILEID="C-Clbiv-69v" COORDS="40,12,975,121"/> </fptr> <fptr> <area FILEID="id-genesis" BEGIN="69v.annot.1"/> </fptr> </div> <div LABEL="Illustration 1"> <fptr> <area FILEID="C-Clbiv-69v" COORDS="96,87979,572"/> </fptr> <fptr> <area FILEID="id-genesis" BEGIN="69v.illus.1"/> </fptr> </div> <div LABEL="Text"> <fptr> <area FILEID="C-Clbiv-69v" COORDS="71,531,978,859"/> </fptr> <fptr> <area FILEID="id-genesis" BEGIN="69v.1" END="69v.9"/> </fptr> </div> </div>
ALTO (Analysed Layout and Text Object) is an extension schema for METS, allowing the markup of layout information of digitised texts. It has had a bit of use in newspaper digitisation in the States, in the National Digital Newspaper Project.
In summary, it defines digitised texts as consisting of "page" elements containing "blocks" which have rectangular coordinates assigned to them using attributes HPOS, VPOS, WIDTH, and HEIGHT, and also a ROTATION. Each block element's page is associated with image files with stand-off markup in the normal METS way.
By contrast we need a different way to relate TEI content elements to pages, since the dominant hierarchy in TEI is logical rather than physical (i.e. div rather than page).
- Draft Recommendations for TEI Digital Facsimiles
- Not robust
- No specific image/text linking
- Based on TEI P3 (though updated on this page to TEI P5)
- Edition Production Technology (EPT)
- Designed for textual annotation, but can annotate illustrations as well
- Markup schema is not defined - editors can use their own markup schemas (requires @coords)
- Dependent on editing software
- Supports most image file formats (jpeg, tiff, gif, bmp)
- No visualization outside of the editing environment
- UVic Image Annotation Tool
- Annotates via description – no “text encoding” (i.e., cannot include in an electronic transcription)
- Based on accepted standards
- Markup schema is defined (extended TEI + SVG)
- Visualization through SVG-enabled browser
- Very complex
- Objects separate from indexes
- Flexible – can link many textual and image sections (Venetus A – link main text and several layers of annotations)
- No visualization (yet) for the more advanced image-text links