Appendix 5. Conversion and Remediation from IML

Introduction to Remediating Files from IML to LEMDO TEI

The documentation in this chapter is for remediators working on files that were originally encoded in IML, the encoding language of the Internet Shakespeare Editions. Those remediating other types of files can find links to relevant documentation for their work in Types of LEMDO Remediations. Those encoding new files (i.e., files that were not converted from another encoding language or are not coming from a project with a different TEI customization) can find information written for them in other chapters of our Encoding Guidelines.

Rationale

Many of LEMDO’s files come to us from the Internet Shakespeare Editions project, which used its own custom markup language, IML. The documentation in this chapter explains how those files are converted into TEI, and provides information on how to remediate the converted files to match LEMDO’s standard practices.
Note that while the schema and Schematron will flag some of the things you need to fix while remediating, you will also need to follow the documentation in this chapter to find and fix other things.

Learning Outcomes

By the time you have worked through this chapter, you will:
Know LEMDO’s typical processes for remediating a file from IML, including the overall workflow that you should follow when remediating a full edition.
Be familiar with IML, the markup language of the Internet Shakespeare Editions project.
Be familiar with the process of converting files to LEMDO TEI.
Know how to remediate all edition components to match LEMDO’s encoding practice.

Contents

Section Description
Pathway for Remediating from IML Learn about the standard workflow that we follow for remediating a full edition from IML
Validate IML Files Learn how LEMDO validates IML before converting it to TEI
Convert IML to LEMDO TEI Learn how LEMDO converts files from IML to TEI
Remediate Semi-Diplomatic Transcriptions Learn how to remediate semi-diplomatic transcriptions from IML
Convert Old TLNs to TEI Anchors Learn how to programmatically convert IML TLNs to TEI’s <anchor> elements
Remediate Annotations Learn how to remediate citations for the Oxford English Dictionary
Remediate Collation Files Learn how to remediate collation files
Remediate Modernized Texts Learn how to remediate modernized text files
Remediate Critical Paratexts Learn how to remediate critical paratext files
Remediate Supplementary Texts Learn how to remediate supplementary text files

Pathway for Remediating from IML

Rationale

LEMDO has an established workflow for remediating full editions that have been converted from IML to TEI. Although your workflow may not match this workflow exactly depending on your contract with LEMDO, LEMDO’s priorities at a specific time, and the files that we have available to remediate, the workflow described in this documentation is typically the starting point for determining remediation pathways.

Standard Workflow for a Full Edition

If you are remediating a full edition that has come from the old ISE platform, you will typically follow this workflow:
Remediate Collation Files (note that you may also set up the edition bibliography at this time and add to it throughout the remediation process)
Remediate Critical Paratexts (if there are multiple critical paratexts, we recommend starting with the general introduction)
Our remediation documentation reflects this workflow. Generally, you will find the information that you need to remediate an edition from IML in the order that you will need it.

Validate IML Files

Introduction

Converting IML to TEI is a delicate process that requires valid IML files. Although IML files have been carefully encoded, the practice might still leave some errors that cannot be easily detected. The IML validator catches said errors, and allows for a smoother conversion from IML to TEI.

Process

To validate your file, first save it in your local lemdo repository, in lemdo/code/isetools. Make sure that the file is saved with a name that starts with doc_. This is important for later creating of the xml:id of the converted file. Next, open your Terminal window and navigate to the isetools directory as such, assuming you are already in the lemdo directory:
enter the following command: cd code/isetools.
Then, to run the validator, enter the following command: java -jar isetools-jar-with-dependencies.jar validate filename.txt >log.txt.
In the second command, java -jar tells the processor the nature of the program you are running, isetools-jar-with-dependencies.jar is the name of the program file, validate is the command and what aspect of the program you want to run, filename.txt is the file that you want to validate, and >log.txt outputs the results in a txt file that will be also save in lemdo/code/isetools.
Once you have the output, look for error in the text file (ctrl+F or command+F). Find the error in the IML file that you are working with and fix it. Then proceed to another error. If you notice redundant errors, fix them all at once. For example, if you get an error that element <SIG> has been deprecated and you need to replace it by an attribute @sig in the <PAGE> element, the find all <SIG> s and replace them with @sig as appropriate. Once you have fixed these errors, run the validator again (as described above). The old txt validation output file will be replaced by the new one. Continue with the same process until you have validated as much of the IML as you can.

Convert IML to LEMDO TEI

Introduction

This document offers some instructions on how to convert an old IML file into TEI. Note that this does not give a full explanation of how these processes work; instead, this file gives a summary of how a file can be converted into TEI. However, since the encoding of the source files can differ, the conversion is, in a sense, non-deterministic: each file, edition, or set of files may require editing—either in the source file itself or in the transformation files—in order to get the desired results. Note, as well, that the conversion is not meant to make perfect output TEI; instead, it is meant to give a workable copy of the file that is valid against the full TEI schema and must then be evaluated by a (human) XML editor to check for any inconsistencies or problems.

Types of Conversion

There are four different types of documents that are converted from their respective formats into TEI:
The playtexts (IML)
The apparatus, including the collations and the annotations (IML-XML)
The critical paratexts (XWiki)
The supplementary paratexts (XWiki with some in IML)
However, it often necessary to convert more than one of these documents at a time (e.g. the IML file and its associated critical paratexts). The instructions below detail how to convert an individual file, an edition (a set of files associated with a work), and a set of files or a collection.

Requirements

The LEMDO repository
If converting more than one document, then the old ISE SVN repository.
A *nix system (Linux or Mac)
Oxygen 19+ or Ant and Ant Contrib

Basic Overview

The IML to TEI conversion is set up in modules, which call each other. It can be represented like so:

                           Flowchart starts at build Everything.xml, splits into pathways for build X Wiki.xml which goes to Critical Paratexts, build Apparatus.xml which goes to Annotations and Collations, and build SGML.xml which goes to build Single File.xml and then to TEI file.
Flowchart representing the SGML conversion.
What this means is that you can convert the following to TEI:
A single IML playtext (buildSingleFile.xml)
A collection of IML playtexts (buildSgml.xml)
One or more apparatus files (buildApparatus.xml)
A collection of critical paratexts (buildXWiki.xml)
An entire edition, which includes all playtexts, apparatus, and critical paratext documents (buildEverything.xml)
Each step of this process is described in detail below.

Practice: Convert a Single File

In Oxygen

Open code/conversion/sgml/buildSingleFile.xml
Press the Apply Transformation Scenario button.

                                 Red play button
Oxygen will ask you to provide two properties:
The full path to the input IML file on your system (for example, /home/mholmes/lemdo/folder/doc_AYL_M.txt)
The work identifier (e.g. AYL, Leir, 1H4).

In Terminal

Change directories into the project directory:
cd path/to/lemdo
Call the ant transformation using the ant command and supply the lib, thisWork, and sgml.file properties:
ant -f code/conversion/sgml/buildSingleFile.xml -lib lib -DthisWork=AYL -Dsgml.file=/the/path/to/eg/doc_AYL_M.txt

Apparatus

There is currently no way to create a single apparatus file.

XWiki

There is currently no way to create a single XWiki file.

Practice: Convert a Work

In the IML, documents were organized by work, which referred to the abstract idea of a text. For example, the work Hamlet refers to the material books of Hamlet, the scanned facsimiles, the edited texts, a production of the work, source materials, and adaptations. For the purposes of the conversion, the concept of a work helps to provide a set of files for conversion. For example, converting the IML for the work of As You Like It means to convert all of the IML files related to As You Like It (e.g. the folio, quarto, and modern files).
Note that converting a work requires the files to exist in the pre-existing ISE Subversion repository, and for that repository to be checked out on your computer. If the files for that work do not exist in the repository (i.e., it is a work whose files were not added to the ISE repository before the move to TEI), then you will need to convert each file individually.2

In Oxygen

Before you start, make sure you know the full path to the ISE repository checkout on your computer. For example, it may be something like /home/you/ise2. Inside that directory, you’ll need to find the content folder, which will be somewhere like /home/you/ise2/trunk/eXist/db/apps/iseapp/content. You will need to supply this path to the transformation.
Open lemdo/code/conversion/sgml/buildSgml.xml
Press the Apply Transformation Scenario button.

                                 Red play button
When Oxygen asks, supply the identifier for the work you want to convert, and the path to the content folder.

In Terminal

Change directories into the project directory:
cd path/to/lemdo
Call the ant transformation using the ant command and supply the lib and thisWork properties:
ant -f code/conversion/sgml/buildSgml.xml -lib lib -DthisWork=AYL -Dcontent.path=/path/to/ise/content

Practice: Convert a Collection

In Oxygen

Before you start, make sure you know the full path to the ISE repository checkout on your computer. For example, it may be something like /home/you/ise2. Inside that directory, you’ll need to find the content folder, which will be somewhere like /home/you/ise2/trunk/eXist/db/apps/iseapp/content. You will need to supply this path to the transformation.
Open lemdo/code/conversion/buildEverything.xml
Identify the set of work identifiers you would like to convert. You will need to supply these in comma-separated form (for example, AYL,1H4).
Press the Apply Transformation Scenario button.

                                 Red play button
Supply the parameter values when Oxygen requests them.

In Terminal

Change directories into the project directory:
cd path/to/lemdo
Call the ant transformation using the ant command and supply the lib, worksToBuild, and content.path properties:
ant -f code/conversion/buildEverything.xml -lib lib -DthisWork=AYL,MV,H5 -Dcontent.path=/path/to/ise/content

Post-Conversion

If everything goes okay, then the result files should be placed in the location code/out/{$thisWork}/main/emd{$thisWork}_M.xml. The files should be valid TEI, but they are not necessarily valid LEMDO TEI. Since the IML is differently structured than standard TEI, there are often errors in the document that need to be resolved by hand before they can go into the LEMDO repository.
Open the file in Oxygen and check the file’s validity. If the file is valid, then you can move the file into its proper place within data/texts/ (remember to svn add it to the LEMDO repository). If it is invalid, then you will need to resolve the invalidities. In all cases, if you are unsure as to how best to fix the file, consult with the project director, Janelle Jenstad. Mostly, the invalidities are as follows:
Schematron Error Cause Possible Solutions
Modern verse lines should be capitalized This is an issue with how the flat structure of lineation in the IML is converted to the TEI. Occasionally, editor line beginnings (the IML’s <ln> element) were added to the middle of lines accidently. This usually involves moving words into the preceding or following line, so it must be done with caution.
Do not use square brackets for editorially supplied segments The practice in the IML files was to place editorial additions in square brackets; this error should only be raised in modernized texts almost exclusively within act or scene headings as well as stage directions. Any text that is contained with a square bracket should be replaced with a TEI <supplied> tag.
Do not tag stage directions as verse lines This occurs when stage directions are tagged as a <l> element, usually with no surrounding context. In most cases, the wrapping <l> can be removed.
Do not use explicit angle brackets in text. If you want to reference an element, use the <gi> element or the <code> element. Angle brackets (i.e. < and >) primarily occur only in instances where an IML file had incorrectly added an additional angle bracket to a tag (something like <</L>). These can almost certainly be removed in the texts; however, it might also indicate that an element was incorrectly typed in the source and has thus been dropped from the TEI encoding. Instances where these symbols occur must be checked against the original IML file to ensure that nothing has been lost in the conversion.
Use the em dash character (—), not double hyphens or en dashes. The IML Editorial Guidelines allowed for the use of double-hyphens or en dashes in modernized texts. As per the DRE Editorial Guidelines, all double dashes should be converted to em dashes in modernized texts.
This <l> has part value I but no following M or F.3 This happens when part verse lines have been tagged as an initial line, but has no medial or final line. Usually, this is a case where the medial or final line (i.e., @part=F) has been erroneously omitted in the encoding. (For information on tagging shared verse lines, see Lineation in Modernized Texts.) Usually the next line is a medial or final line, and thus you can add a @part=F to the following line, but you may need to consult with the Coordinating Editor to determine the proper solution.

Troubleshooting

While the IML to TEI conversion is fairly robust, IML files can differ in subtle ways that may cause the build to fail. Below are some common errors that might occur and the steps that a programmer or encoder can take to resolve any issues.
Problem Cause Possible Solution
The build broke because the source file was invalid Usually this means that there was something wrong in the source file itself. Sometimes the IML files are missing a closing <L> tag or an incorrectly nested <SP>. Investigate the source file by cross-referencing the TLN where the invalidity occurs with the source IML file. If it is clear that it is a simple wrapping error, then resolve the problematic tagging; otherwise, consult with the editor.
The build says that /db/apps/iseapp/content/documents/iml does not exist The build cannot find the ISE Subversion repository. First check that you have a local copy of the ISE2 repository. If you do, then check that the path to the SVN repository as declared in the ANT property content.path correctly points to your copy. If it does, then check whether or not your local file structure is different (i.e., you have checked out only /documents/iml rather than the entire repository).

Remediate Semi-Diplomatic Transcriptions

Disambiguation

The documentation on this page is intended for those remediating semi-diplomatic transcriptions from IML. For those remediating from EEBO-TCP texts, see the documentation in Chapter 12. Semi-Diplomatic Transcriptions.

Rationale

Many of our editions began as ISE texts encoded in IML. To turn those IML documents into LEMDO files, we convert them into a base version of LEMDO’s TEI. From there, the files must be remediated so that they fit LEMDO’s encoding standards for semi-diplomatic transcriptions.
This documentation will guide you through the process of remediating a semi-diplomatic transcription that has been converted from IML into LEMDO TEI. Follow the steps listed in this documentation in order. For an overview of the process of remediating a converted semi-diplomatic transcription, see the table of contents in the hamburger menu in the top left corner of this page.

Give Credit in the Metadata

Semi-diplomatic transcriptions typically give credit to the following roles using the <respStmt> element:
Author
Transcriber
Encoder
Batch Changes and Metadata
Proofreader
Peer Reviewer
Copyright Holder (Content)
Copyright Holder (XML and interface)
You will update the <respStmt> elements for the encoder and batch changes and metadata roles as you begin remediating your semi-diplomatic transcription.
Give credit to yourself as an encoder in a <respStmt> element. Add a <respStmt> element after the ones for author and transcriber. As a child of <respStmt> , add a <resp> element with a @ref attribute with the value resp:edt_mrk. In the text node of the <resp> element, type Encoder. Following the <resp> element, add a <persName> element. Give the <persName> element a @ref attribute with a value of pers: followed by your xml:id. Type your name as you wish for it to appear in the credits for the file in the text node of the <persName> element.
Your encoder <respStmt> should be formatted as follows:
<respStmt>
  <resp ref="resp:edt_mrk">Encoder</resp>
  <persName ref="pers:PPPP1">Your Name</persName>
</respStmt>
Note that each person who does significant remediation or encoding work in the file will get a <respStmt> element crediting them as an encoder.
After the encoder <respStmt> elements, add a <respStmt> element to credit the LEMDO team for work doing conversions, batch changes, and metadata. As a child of <respStmt> , add a <resp> element with a @ref attribute with the value resp:edt_mrk. In the text node of the <resp> element, type Batch Changes and Metadata. Following the <resp> element, add a <orgName> element. Give the <orgName> element a @ref attribute with a value of org:LEMD1. Type LEMDO Team in the text node of the <orgName> element.
The LEMDO team <respStmt> should be formatted as follows:
<respStmt>
  <resp ref="resp:edt_mrk">Batch Changes and Metadata</resp>
  <orgName ref="org:LEMD1">LEMDO Team</orgName>
</respStmt>
Note: LEMDO Director Janelle Jenstad is responsible for liaising with the editor and/or anthology lead to ensure that the rest of the metadata in the <titleStmt> is correct. However, if you notice anything that is obviously missing or problematic, leave an XML comment.

Update Document Status: In Progress

Each time you begin remediating a file, you must change its status to reflect this. To change the status of a semi-diplomatic transcription file that you are remediating, do the following:
Change the value of @status on <revisionDesc> to IML-TEI_INP.
Add a new <change> element as a child of <revisionDesc> .
Write the substantive change in the text node (i.e., “Began remediating document”).
Add a @who, a @when, and a @status attribute to the <change> element.
Add the prefix pers: followed by your xml:id to the @who attribute.
Add the date you began the remediation to the @when attribute.
Add the the new status (i.e., IML-TEI_INP) as the value of the @status attribute. Note that if you did not change the @status of the file you do not need to add a @status attribute to your <change> element.
For example:
<revisionDesc status="IML-TEI_INP">
  <change when="2022-05-18" who="pers:ABBR1" status="IML-TEI_INP">Began remediating document.</change>
</revisionDesc>

Remove Extra Line Beginnings

If there is vertical space between lines of type, previous editors will often have encoded two or more ISE L elements, which we convert to <lb> elements. If this occurred, you will get a Schematron error saying that strings of <lb> elements are not allowed. To make your file valid so that you can begin remediating, comment out any strings of <lb> elements. You will later decide whether or not these represent genuine white space in the source material. If they do, follow the procedure given in Encode Vertical and Horizontal White Space. If they do not represent genuine white space, delete extra <lb> elements.

Update the Source Description

Add the following information to the <sourceDesc> :
Which edition you are transcribing and the year that it was published.
The URI of the semi-diplomatic transcription on the old ISE site, if available.
The URI of the library or organization that owns the copy that you are transcribing.
Which facsimile you are using for your transcription.
Note that you may use more than one copy for transcription if there are no complete facsimile copies available. In that case, include the information for each of the copies that you use, as well as a note on which sections you transcribed from which copy.
<sourceDesc>
  <p>Quarto 1, 1622</p>
  <p>Old URI: <idno type="oldURI">https://internetshakespeare.uvic.ca/doc/Oth_Q1/complete</idno>
  </p>
  <p>Facsimile from Boston Public Library</p>
</sourceDesc>
<sourceDesc>
  <p>
    <ref type="bibl" target="bibl:ANON21">Quarto 1, 1598.</ref>
  </p>
  <p>Old URI: <idno type="URI">https://qme.internetshakespeare.uvic.ca/doc/FV_Q1/scene/Titlepage/index.html</idno>
  </p>
  <p>Witness used for the LEMDO transcription is the Huntington Library copy. Call number <idno type="call">61389</idno>; catalogue entry <idno type="call">https://catalog.huntington.org/record=b1498768</idno>. The Huntington Library copy is available in a print surrogate from the <ref type="bibl" target="bibl:FARM1">
    <title level="s">The Tudor Facsimile Texts</title>
  </ref>, in microfilm from the <title level="s">Early English Books</title> microfilm series, and in a digitization of the microfilm from <title level="s">Early English Books Online</title>.</p>
  <p>Facsimile used for transcription of E3v-F1r from the Widener Library at Harvard University. Catalogue entry <idno type="URI">https://hollis.harvard.edu/permalink/f/1mdq5o5/TN_cdi_globaltitleindex_catalog_133993555</idno>.</p>
  <p>.</p>
</sourceDesc>
If LEMDO does not have a source copy of the text that you are remediating saved to our facsimile storage database, you may need to search for a digitized copy. Follow the steps provided in Find a Digital Surrogate.

Comment out the Participation Description

The <particDesc> element contains the <listPerson> element and individual xml:ids for all the speakers. We do not supply which character delivers each speech or add a @who attribute on the <sp> element in semi-diplomatic transcriptions. Comment out the entire <particDesc> .

Re-Encode the Title Page

You will have to encode your text’s title page (more or less) from scratch. To do so, follow the instructions in Encode Title Page of Semi-Diplomatic Transcriptions, or follow the example below.
Below is an example of an early modern title page and how it was encoded following LEMDO protocol.

                        Modernized version of text on an old title page reads: The True Chronicle History of King Leir, and his three daughters, Gonorill, Ragan, and Cordella. As it hath been diverse and sundry times lately acted. London, Printed by Simon Stafford for John Wright, and are to be sold at his shop at Christ’s Church door, next Newgate Market. 1605. There is a printer’s ornament in the middle of the page.
Title page of The True Chronicle History of King Leir (1605). Folger STC 15343. Courtesy of the Folger Shakespeare Library.
<front>
  <titlePage>
    <titlePart type="main">
      <lb/>THE <lb/>True Chronicle Hi<pc force="weak">-</pc>
      <lb/>storie of King Leir and his three <lb/>
      <hi rendition="rnd:italic">daughters, Gonorill, Ragan, <lb/>and Cordella</hi>
    </titlePart>
    <titlePart type="desc">
      <lb/>As it hath bene diuers and sundry <lb/>times lately acted. </titlePart>
    <figure type="device"/>
    <docImprint>
      <lb/>
      <pubPlace rendition="rnd:letterspace">LONDON</pubPlace>, <lb/>Printed by Simon Stafford for <publisher>Iohn <lb/>Wright</publisher>, and are to bee sold at his shop at <lb/>
      <pubPlace>Christes Church dore, next Newgate- <lb/>Market.</pubPlace>
      <docDate rendition="rnd:letterspace">1605</docDate>. </docImprint>
  </titlePage>
</front>

Remove Text Division and Heading Division Elements

Often, early modern playbooks do not contain consistent act or scene numbers. Even if the source text you are working on does have act and scene numbers at the beginning of the playbook, they may not be consistent throughout the play.
We do not use the <div> element in our semi-diplomatic transcriptions. Instead, editorial act and scene divisions are marked with the <milestone> element. Until the modern file of the edition that you are working on is ready to be published, comment out any <milestone> elements. If the modern file of the edition that you are working on is ready to be published, then follow this procedure:
For act divisions, use the <milestone> element with an @unit attribute and act value.
For scene divisions, use the <milestone> element with an @unit attribute and scene value.
When your modernized text is ready to publish, we can link between the act and scene divisions in the modernized text and the <milestone> elements in the semi-diplomatic transcription so that readers can easily go between the two and compare the two texts.
Replace all <head> elements with the <label> element. Add the @type attribute and heading value to the <label> element if the label is working as a heading.
If act and scene numbers are in your XML file but not in the original text, comment out <div> act and scene numbers. You must delete closing <div> tags, not comment them out. It is possible for the editor to add <milestone> elements pointing to the modernized text later, so it is important to keep these commented out <div> elements.
Conversion yields:
<div type="scene" n="2">
  <lb/>
  <head>The Second Acte.</head>
</div>
Amend to:
<!-- <div type="scene" n="2"> -->
<lb/>
<label type="heading">The Second Acte.</label>
Replace all <closer> elements with the <label> element.

Encode Speaker Elements

Remove all instances of <hi rendition="rnd:italic"> on the <speaker> element because speaker will render as italic by default. For more information about our default styling for semi-diplomatic transcriptions, see Default Style in Semi-Diplomatic Transcriptions.
Special case: there may be instances wherein the first letter of the speaker’s name appears in roman type rather than italic. If this occurs, wrap the first letter in hi rendition="rnd:normal". Wrapping the first letter in hi rendition="rnd:normal" isolates this letter and ensures that it will appear in roman type while the rest of the name will remain italicized.
<speaker>
  <hi rendition="rnd:normal">L</hi>acie.</speaker>
If the entirety of the speaker’s name appears in roman type, simply put the @rendition attribute with a value of rnd:normal on the <speaker> element.
<speaker rendition="rnd:normal">King.</speaker>
LEMDO has pre-formed regular expressions that will remove the majority of cases of <hi rendition="rnd:italic"> in the <speaker> element.
If there is no speech prefix at the beginning of a speech in your source text, do not encode a <speaker> tag.

Remove @who Attributes

We do not state who delivers a speech in semi-diplomatic transcriptions—it is the editor’s job to assign these attributes in the modernized text only. If there are @who attributes in the semi-diplomatic transcription you are remediating, then remove them.
Conversion yields:
<sp who="#emd3LL_Q1_Love">
  <speaker>Loue.</speaker>
  
<!-- ... -->

</sp>
Amend to:
<sp>
  <speaker>Loue.</speaker>
  
<!-- ... -->

</sp>
LEMDO has a prefabricated regex that will remove the @who attribute from the <sp> element in most instances. See the appropriate regex in our table of pre-formed regular expressions.

Remove Foreign Language Tags

In early modern playbooks, instances of Latin and other languages may be indicated through italic type. These languages are likely wrapped in the <foreign> element, which is inherited from IML. In LEMDO’s remediation of semi-diplomatic transcriptions, we do not make decisions about language type or use. As remediators, we simply note whether the text on the page is italicized.
Remove all instances of <foreign> language tags. Use inline styling if the text previously wrapped in <foreign> is in italic type in your source text. Add the @rendition attribute with a value of rnd:italic to the largest container of completely italicized text (e.g., if an entire speech is italicized, add rendition="rnd:italic" to <sp> ). If there are no container elements that have text completely in italic type, wrap the italic section in the <hi> element and add a @rendition attribute with a value of rnd:italic.
For more information on encoding inline style, see Encode Inline Style Using Pre-Formed Values in Semi-Diplomatic Transcriptions.

Encode Stage Directions

Remove all instances of <hi rendition="rnd:italic"> on the <stage> element because <stage> will render as italic by default. See Default Style in Semi-Diplomatic Transcriptions.
LEMDO has a prefabricated regular expression that will remove <hi rendition="rnd:italic"> from <stage> elements. See the appropriate regex in our list of pre-formed regular expressions.
Special case: there may be instances where a character or a word appears in roman type rather than italic. If this occurs, wrap that text in <hi rendition="rnd:normal">. This isolates that text and ensures that it will appear in roman type while the rest of the stage direction will remain italicized. If the entire stage direction appears in roman type, simply put the @rendition attribute with a value of rnd:normal on the <stage> element. See also Encode Inline Style Using Pre-Formed Values in Semi-Diplomatic Transcriptions.
IML had fewer options for encoding the placement of stage directions than LEMDO does. As a remediator, you will use LEMDO’s more precise vocabulary. LEMDO accounts for the fact that stage directions sometimes appear in the margin area (especially in early sixteenth-century playbooks) and sometimes within the compositorial line in the text block.
To encode placement of stage directions, add a @place attribute to the <stage> element. Oxygen offers the possible @place values in a drop-down menu. For complete practice of encoding @place attributes in the <stage> element, see Encode Stage Directions in Semi-Diplomatic Transcriptions. For a complete list of placement values, see Placement Taxonomy.
Usually the unremediated texts will have stage directions tagged with the <stage> element already. They may have a @type attribute with a value indicating what kind of stage direction they are (entrance, exit, etc.). Make sure these type values are accurate and correct them if necessary. We retain them in anticipation of making a future dictionary of stage directions. For a list of @type values, see Practice: Encode @type Values.
Sometimes stage directions are unusual and inconsistent in early modern playbooks. They may be off to the side, in the margins, seemingly added after initial printing, etc. If you are unsure how to proceed with a stage direction, leave XML comments for a project lead.

Remove g:zeroWidthSpace Values

Remove any <g> elements with the g:zeroWidthSpace value. We silently modernize spacing between words because it is too difficult to exactly replicate the various spacing present in early modern playbooks.
You can use a find-and-replace to run this conversion. Follow these steps:
Go to Oxygen’s search function by clicking Ctrl+F.
Type the following into the search text boxes:
Find: <g ref="g:zeroWidthSpace"> </g>
Replace with: Leave Replace with empty.
Click Find All.
If there are instances found, click Replace All.
Validate your file.
Conversion yields:
<!-- ... --> <ab>
  <g ref="g:zeroWidthSpace">​</g>Woman,<g ref="g:zeroWidthSpace">​</g>do what thou canst to saue our honors, <lb/>Driue them from Orleance,<g ref="g:zeroWidthSpace">​</g>and be immortaliz’d.</ab> <!-- ... -->
Amend to:
<!-- ... --> <ab>Woman, do what thou canst to saue our honors, <lb/>Driue them from Orleance, and be immortaliz’d.</ab> <!-- ... -->

Remove Tagging for Long S

Most semi-diplomatic transcriptions coming from the old ISE will have tagged the long s. We do not retain this tagging. Remove any <g> elements tagging the long s, whether as a standalone glyph (i.e., <g ref="g:long">) or as a ligature (e.g., <g ref="lig:longS_t">).

Remove rnd:justify Values

Remove rnd:justify values. We do not capture justification in semi-diplomatic transcriptions. You can do this step either as you go through the play (removing rnd:justify values one-by-one as you come across them) or by using our pre-formed regex to remove rnd:justify values.
Conversion yields:
<sp>
  <speaker rendition="rnd:justify rnd:italic">Par</speaker>
  <ab>There is none: Man setting downe before you, <lb/>will vndermine you, and blow you vp.</ab>
</sp>
Amend to:
<sp>
  <speaker rendition="rnd:italic">Par</speaker>
  <ab>There is none: Man setting downe before you, <lb/>will vndermine you, and blow you vp.</ab>
</sp>

Tidy Line Beginning Elements

Make sure there is an <lb> element to capture the beginning of every typographical line bearing inked type (including before stage directions that appear on their own line).
Caution! Do not use <lb> elements to create white space. Many IML users added extra <lb> elements to indicate white spaces between lines of type. You need to remove these extra <lb> elements as you go and replace them with <space> elements. See Remove Extra Line Beginnings.
Use a find-and-replace to convert the value tln inherited from IML to the LEMDO value wln (for Witness Line Number), including in the First Folio of Shakespeare’s plays.
Conversion yields:
<!-- ... --> <lb type="tln" n="2"/> <sp>
  <speaker>Lu.</speaker>
  <ab>Sir Valentines page: & sent I think from Protheus; <lb type="tln" n="192"/>He would haue giuen it you, but I being in the way, <lb type="tln" n="193"/>Did in your name receiue it: pardon the fault I pray.</ab>
</sp> <!-- ... -->
Amend to:
<!-- ... --> <lb type="wln" n="2"/> <sp>
  <speaker>Lu.</speaker>
  <ab>Sir Valentines page: & sent I think from Protheus; <lb/>He would haue giuen it you, but I being in the way, <lb/>Did in your name receiue it: pardon the fault I pray.</ab>
</sp> <!-- ... -->
If there is an end-of-line hyphen that is not a word separator, ensure that the hyphen is tagged using the <pc> element with the @force attribute and the value weak:
<ab>Then put your pipes in your bag, for I’le away; goe, va<pc force="weak">-</pc>
  <lb/>nish away. </ab>
Remove all <lb> elements that denote a blank line. You will later use the <space> element to indicate where there is semantically significant white space.

Check Order Elements in Speeches and Stage Directions

Sometimes the elements as converted are out of order. IML was not rigidly hierarchical the way XML is. You need to make the order of the tags consistent with LEMDO standards. Make sure the line beginning ( <lb> ) comes before the speech and stage elements ( <sp> and <stage> ).
The correct order for speeches is as follows:
<lb/> <sp>
  <speaker><!-- Character Name --></speaker>
  <ab>
    <lb/>
    <!-- First line of speech -->
    <lb/>
    <!-- Second line of speech -->
    <lb/>
    <!-- Third line of speech -->
  </ab>
</sp>
The correct order for stage directions is as follows:
<lb/> <stage><!-- First line of stage direction -->
  <lb/>
  <!-- Second line of stage direction -->
</stage>
For example:
<lb type="wln" n="74"/> <sp>
  <speaker>Eda.</speaker>
  <ab> Ah Ned, but hadst thou watcht her as my self, <lb type="wln" n="75"/>And seene the secret bewties of the maid, <lb type="wln" n="76"/>Their courtly coinesse were but foolery. </ab>
</sp>
<lb type="wln" n="1"/> <stage> Enter King <hi rendition="rnd:normal">Henry, Exeter, 2.</hi> Bishops, <hi rendition="rnd:normal">Clarence,</hi> and other <lb type="wln" n="2"/>Attendants. </stage>

Encode Vertical and Horizontal White Space

We use the <space> elements in our semi-diplomatic transcriptions judiciously to capture vertical space between printed units and to capture horizontal white space within lines if it is semantically significant.
If you come across space elements in your remediation, see Encode White Space in Semi-Diplomatic Transcriptions or follow the directions below to ensure you proceed correctly.
If there is white space with no type or ornaments between lines, use the <space> element. Add the @dim attribute with the value vertical, the @unit attribute with the value line, and the @quantity attribute with the numerical value 1, 2, or more (equivalent to the number of compositorial lines that would fit in that white space).
Conversion yields:
<lb type="tln" n="1"/> <head rendition="rnd:centre rnd:italic">A<g ref="lig:ct">ct</g>us primus. Scoena Prima</head> <lb/> <figure type="rule"/> <lb/>
In remediation, you will emend as follows:
<lb type="wln" n="1"/> <head rendition="rnd:centre rnd:italic">A<g ref="lig:ct">ct</g>us primus. Scoena Prima</head> <space dim="vertical" unit="line" quantity="1"/> <figure type="rule"/> <space dim="vertical" unit="line" quantity="1"/>
If there is horizontal white space, use the <space> element. Add the @dim attribute with the value horizontal, the @unit attribute with the value char, and the @quantity attribute with a numerical value equivalent to the number of “em”s that are white spaces. For example:
<ab rendition="rnd:italic">
  <lb type="wln" n="1570"/>
  <space dim="horizontal" unit="char" quantity="4"/>The Courtiers <g ref="lig:fl">fl</g>attring Iewels, <lb type="wln" n="1571"/>
  <space dim="horizontal" unit="char" quantity="4"/>(Temptations onely fewels) <lb type="wln" n="1572"/>
  <space dim="horizontal" unit="char" quantity="4"/>The Lawyers ill-got monyes, <lb type="wln" n="1573"/>
  <space dim="horizontal" unit="char" quantity="4"/>That <g ref="g:longS">s</g>ucke vp poore Bees Honyes: <lb type="wln" n="1574"/>
  <space dim="horizontal" unit="char" quantity="4"/>The Citizens <g ref="g:longS">s</g>onne’s ryot, <lb type="wln" n="1575"/>
  <space dim="horizontal" unit="char" quantity="4"/>The gallant co<g ref="lig:longS_t">st</g>ly dyet: <lb type="wln" n="1576"/>
  <space dim="horizontal" unit="char" quantity="4"/>Silks and Veluets, Pearles and Ambers, <lb type="wln" n="1577"/>
  <space dim="horizontal" unit="char" quantity="4"/>Shall not draw me to their Chambers. <lb type="wln" n="1578"/>
  <space dim="horizontal" unit="char" quantity="4"/>Silks and Veluets, &c. </ab>
Note that we do not use <space> to indicate text alignment (e.g., right, left, centre). Instead, we use the @place attribute.

Proof Forme Works

Follow the instructions in Encode Forme Works in Semi-Diplomatic Transcriptions to make sure your text’s forme works are encoded properly.
When encoding catchwords, remove rend:right. Catchwords will render on the right because of the file-wide styling that you added in the <tagsDecl> element.
Special case: leave rendition="rnd:italic" when the catchword is italicized. This rendition may be on the <fw> element (if the entirety of the catchword is italicized) or on a <hi> element (if only part of the catchword is italicized). Stage directions and character names are often italicized, thus catchwords that correspond with a stage direction or character name on the next page are often italicized.
Running titles will render as roman font by default. If some of your running titles are in italic font, put the @rendition attribute with a value of rnd:italic on those that are in italic. If all of your running titles are in italic font, add a <rendition> element to the <tagsDecl> in the <teiHeader> of your file. See Encode File-Wide Style in Semi-Diplomatic Transcriptions for information about the <tagsDecl> .
When encoding signature marks, remove spaces between the letter and the number. By default, LEMDO renders signature numbers as letterspaced. You can remove the space using a pre-formed regular expression.
For more information on signature marks, see Signed Leaves.

Proof Transcription

Checking the transcription of the main text involves reading the facsimile alongside the XML file and resolving any differences. This means correcting any transcription errors, adding tags, and making sure the XML offers a truthful description of the source text.
You will have to add tagging for:
Hungwords: follow the instructions in Encode Hungwords in Semi-Diplomatic Transcriptions.
Rotated letters: follow the instructions in Encode Rotated Letters in Semi-Diplomatic Transcriptions.
Some abbreviations: follow the instructions in Encode Abbreviations in Semi-Diplomatic Transcriptions.
Some glyphs: follow the instructions in Encode Glyphs and Ligatures in Semi-Diplomatic Transcriptions. While most ligatures will already be tagged, digraphs (æ, œ, etc.) will need to be added to your file to replace separated letters (ae, oe, etc.). Also try to remedy all occurrences of <g> elements with UNKNOWN values. Some previous transcribers replaced unknown glyphs with question marks. Most instances of unknown glyphs can be remedied by checking the facsimile.
Foreign words: follow the instructions in Encode Foreign Languages. We do not use the <foreign> element in semi-diplomatic transcriptions. Some foreign words will be tagged with the @rendition attribute and rnd:italic value.

Encode Style

Our generic CSS for semi-diplomatic transcriptions should work to automatically style most of your text. We capture minimal styling in semi-diplomatic transcriptions because facsimiles are readily available. Importantly, we capture:
Decorative letters
Printer’s ornaments and ruled lines
Drop caps
Indentation (including hanging indents)
We also capture:
Italicization: Use the <hi> element, @rendition attribute, and rnd:italic value to capture italicization. Note that the @rendition attribute and rnd:italic value can be added directly to other elements such as <speaker> and <stage> .
Centre or right alignment: Use the @place attribute on the <label> element or <stage> element to describe where text is. See Practice: Encode Placement for information on LEMDO’s practice for encoding placement. Note that if the text is somewhere in between the areas described by our placement taxonomy, align to the nearest side.
How the page is typeset: Use the <hi> element, @rendition attribute, and rnd:letterspace value to capture letterspacing. Note that the @rendition attribute and rnd:letterspace value can be added directly to other elements such as <fw> .
We do not capture:
Font size.
Type (beyond roman, italic, and English type).
Precise spacing between words (or lack thereof).
Exact size of drop caps, figures, and ornaments.

Update the Tagging Declaration: Final Styling

If there is styling that is consistent throughout your source material that is not included in LEMDO’s default semi-diplomatic transcription CSS (see Default Style in Semi-Diplomatic Transcriptions), create a <tagsDecl> element as a child of the <encodingDesc> in the <teiHeader> of your file. You can add document-specific CSS here. For information on how to add styling using the <tagsDecl> , see Encode File-Wide Style in Semi-Diplomatic Transcriptions.

Number Speeches

The next step in remediating semi-diplomatic transcriptions is to number speeches. To do this, run the XSLT that we have created to number speeches. See Practice: Number Speeches
For example:
<sp xml:id="emdEdw_Q1_sp1">
  <speaker>King.</speaker>
  <ab>
    <lb type="wln" n="6"/>
    <hi rendition="rnd:dropcap">R</hi>Obert of Artoys banisht though thou be, <!-- ... --></ab>
</sp>

Number Lines

The final step in remediating semi-diplomatic transcriptions is numbering <lb> elements. The LEMDO schema does not yet catch out of order @n values on <lb> elements in semi-diplomatic transcriptions. Some files may already have the @type and @n attributes numbering <lb> elements while others do not.
Even if your file already has numbered <lb> elements, it is important to renumber them at the end of remediation. How they are numbered may not align with current LEMDO practice. Additionally, <lb> elements are often added, removed, and/or rearranged during the remediation process. Consequently, ensuring that <lb> elements are numbered correctly is one of the final steps of remediating your semi-diplomatic transcription. For LEMDO’s current practice on numbering <lb> elements, see Practice: Which Lines to Number.

Update Document Status: Proofing

When you have completed your work with your semi-diplomatic transcription, change the document status. Follow these steps:
Change the value of @status on <revisionDesc> to IML-TEI_proofing.
Add a new <change> element as a child of <revisionDesc> .
Write the substantive change in the text node (i.e. Finished remediating document).
Add a @who, a @when, and a @status attribute to the <change> element.
Add the prefix pers: followed by your xml:id to the @who attribute.
Add the date you finished the remediation to the @when attribute.

Convert Old TLNs to TEI Anchors

Prior Reading

Related Chapters

Introduction

This document covers a necessary process in the conversion of modernized IML files over to TEI. This process would normally be run by a programmer, but it can be run by any research assistant who is fully conversant with the way annotations and collation work in LEMDO. The system used to link annotations and collations into modernized texts in the ISE made use of the Through Line System, where every line in a text was given a canonical number. To point to a line using the TLN, you could simply use the TLN number, and to point to specific text within a line, you could supply the TLN number and then the text you wanted to point to, and a rendering algorithm was meant to identify the target text. (The fragility of this system will be apparent; if a change was made to the target text but not carried over to the link pointing at it, the link would then fail.)
In LEMDO, we use a more precise and flexible system based on TEI <anchor> elements in the text. This system enables us to point to a specific location in the text using one anchor, or to a span of text using two anchors. In the process of remediating old IML files, we need to look at each of the old TLN references, which are found in the *_M_annotation.xml and *_M_collation.xml file, identify the locations to which they are supposed to be pointing in the modernized text itself, then insert appropriate <anchor> elements in the modernized text and rewrite the pointers so that they point to those anchors.
This procedure is done using an ant build file found in code/link_apparatus/build.xml. The process is only partially automated; normally, you will need to run it repeatedly and fix errors that show up until all the links are converted, so it can be time-consuming. You will need to have ant and ant-contrib installed, and be running Linux or MacOS.

Run the Process

First, identify the files that you need to convert. These will normally consist of a modernized text converted from IML to TEI, and its associated annotation and collation files, also converted to TEI. For the purpose of this example, we’ll assume that the work identifier for your text is WWWW.
In the Terminal, move to the code/link_apparatus folder, and then run: ant -Dwork=WWWW -DpersId=HOLM1 -DmainDoc=/[the path to your lemdo directory]/data/texts/WWWW/main/emdWWWW_M.xml
So if your LEMDO project directory is in /home/mholmes, you would type: ant -Dwork=WWWW -DpersId=HOLM1 -DmainDoc=/home/mholmes/lemdo/data/texts/WWWW/main/emdWWWW_M.xml
This command assumes that the modernized text is called emdWWWW_M.xml, and the process will search for associated files in /data/texts/WWWW/app/emdWWWW_M_annotation.xml and /data/texts/WWWW/app/emdWWWW_M_collation.xml. If you don’t know what the full path to your directory is, you can type pwd at the command line to find the path to the folder you’re currently in, then deduce the path to the main document based on that. For the person ID, use your own LEMDO xml:id. This is used to create a <change> entry in <revisionDesc> explaining that the process has been run.
The process will locate links from annotations or collations into the text, and attempt to find their target locations based on the TLN <lb> elements; where target text is also available, it should find that text and place anchors around it, then link to those anchors.
The final results will be saved in code/link_apparatus/temp, and will include not only new versions of the original files, but also the interim products used in the process, which can be used for debugging.
The output from the process will most likely include a series of error messages for cases where the original links could not be resolved, either due to errors in the original IML encoding, or some other unexpected problem. Each of these issues should be addressed manually, as detailed in the next section.

Fix Problems and Run Repeatedly

Running the process for the first time will most likely only result in partial success. To address the errors:
Copy any errors from the Terminal into a text editor so you don’t lose them.
Validate the files in the temp folder against our project schema, to make sure no invalidities have been created.
If they’re valid, copy them back over the originals in the data/texts directory.
Look at the list of errors, and go back to the original texts to identify what the problem is, and try to fix it. The most common source of errors is that the text supplied in the collation or annotation file does not exactly match the text in the modernized text; in this case, fix it so that it does match.
After fixing everything you can, run the process again.
Repeat until all errors are fixed, or until any remaining errors can only be dealt with by manual intervention (by creating anchors in the text manually and creating pointers to them).

Remediate Collation Files

Introduction

This document deals with the remediation of collations that were prepared for the ISE platform and need to be reworked for the LEMDO platform. Collations track variations in a text both as it differs between copies of an early edition and as it changes in later editions because of editorial interventions. The work of remediating collations entails fixing inconsistencies within the edition and bringing it into alignment with DRE guidelines and LEMDO encoding practices.

Check Anchors and Pointers

Check that no collations are missing or misplaced on the LEMDO site before you begin remediating them. Compare collated words on the staticized DRE, ISE, or QME website against your modern edition and the collations file. Read each collation to ensure it is anchored to the correct word or phrase. See also Create Anchors.
Do not delete anchors in the modern file. There may be an annotation or collation that you do not know about that is pointing to those anchors. If you need to anchor a collation to a different word, add new anchors to the word and point the collation to the newly anchored word.
Note that the programmatic addition of anchors and targets to the modernized text and collation file (respectively) does not always work. This is because the conversion removes square brackets, which means lemmas no longer match what is in the modernized text. In these cases, the conversion makes the TLN the target instead and remediators must add anchors in place of the TLN targets.

Add Anchors and Pointers

To add an anchor to a text, follow these steps:
Highlight the text around which you want to place an anchor.
Hit Ctrl+shift+a on a PC or Cmd+shift+a on a Mac to add numbered anchors.
Return to the collation file and change the TLN targets to the anchors you just made.
See also Create Anchors
Keyboard shortcuts for adding anchors and pointers:
Add anchor: ctrl+shift+a
Add pointer: ctrl+shift+p

Replace Ellipses

The lemmas of converted collations will contain instances of three spaced periods ( . . . ) used as an ellipsis. We never want three spaced periods to be used as ellipses, so you must replace them with an ellipsis character ( … ) from the character map on your computer or from LEMDO’s pre-mapped characters. See Practice: Insert an Ellipsis Character.
Note that the <rdg> elements may contain editorial elisions that are indicated by ellipses (either three spaced periods or the ellipsis character, whichever the editor used in the original file). You need to determine if the ellipsis occurred in the witness (i.e., the editor is quoting an ellipsis character) or if the editor is omitting material from a long reading and indicating the fact of omission with their own ellipsis character:
If the ellipsis occurs in the witness, type an ellipsis character and wrap it in the <pc> element.
If the ellipsis indicates an editorial omission, replace it with the <gap> element, the @reason attribute, and the sampling value.

Shorten Lemmas

Shorten lemmas that are more than three words long. Always keep at least the first and last words of the lemma. Remove any words that will not help readers identify the passage that is being annotated (e.g., “the,” “a,” “my,” “with,” “it”).

Get xml:ids

Get xml:ids for the substantive variants in your collation file. First, find the editions and witnesses pointed to in your document. If the editions and witnesses are already in the LEMDO ecosystem, they can be found in LEMDO’s bibliographic database (BIBL1). Each entry contains the available authority identifier information (e.g., DEEP number, STC number, etc.), which will help you cross-reference and ensure that you are selecting the right edition from BIBL1. We include the xml:id of the entry on the BIBL1 page, in the column on the right. For example, the first edition of The Honest Whore is listed in BIBL1 as: Dekker, Thomas, and Thomas Middleton. The Converted Courtesan. London: Valentine Simmes, 1604. STC 6501. DEEP 362. The xml:id of this edition in LEMDO is DEKK5.
If the edition you want to collate is not yet in BIBL1, send all the bibliographical information for the edition (including the DEEP number) to the LEMDO team at UVic (lemdo@uvic.ca). For more information on necessary bibliographical details, see Secondary Sources Overview and Primary Sources Overview.

Create Your List of Witnesses

Once you have xml:ids for all of the editions you wish to include in your stemma, you will make a witness list in your XML file. This is a list of witnesses collated, each with their edition-specific sigla. LEMDO uses the TEI <listWit> element to capture this list in the <teiHeader> of the collation file. Each witness is listed in a <witness> element in the <listWit> parent element. See 12.1.4.3 The Witness List in the TEI Guidelines.
The <witness> element has two required attributes: @xml:id and @n. There is one optional attribute, @corresp, as explained below:
You will create the xml:id of the witness in your witness list. It will necessarily be unique in the overall LEMDO project because the xml:id includes the unique string of characters that make up the xml:id of your collation file.
The @n attribute allows you to assign an edition-level siglum for the witness. Sigla for your edition are defined in your witness list. The sigla for your witnesses do not have to be unique across LEMDO, but they do need to be unique in the context of your edition.
There are two possible ways to provide information about your witness. If the relevant entry in BIBL1 provides all the required information, then you can simply point to it from the <witness> element using the @corresp attribute. In this case, the <witness> element itself must be empty. You will notice in the example of a <listWit> element below that the witness list consists mainly of a list of empty witness elements that have attributes and values but no content.
In some cases, however, you may need to provide a more detailed explanation of a witness which is somehow more complex or problematic. In this case, do not use @corresp; instead, provide your explanation inside the <witness> element, making sure to include links to any relevant items in BIBL1 using the <ref> element, as shown below.
Attribute Value Example
@xml:id Must be unique to the LEMDO project. Make sure it is unique by using the already-unique name of the file, then adding your siglum. emd1HW_M_collation_Q1
@corresp If the entry is in BIBL1, use the bibl: prefix plus the unique xml:id of the entry in BIBL1. bibl:DEKK14 (to point to an entry in the LEMDO bibliography)
@n Your siglum, which must be unique to your edition but not to the whole project. Q1 Dodsley
For empty <witness> elements with the @corresp attribute, LEMDO processing will pull in the information from BIBL1 to populate the element:
<witness xml:id="emdMV_M_collation_Arden3" corresp="bibl:DRAK1" n="Drakakis"/>
If you add content to the text node, the LEMDO processor will not pull in the data from BIBL1; instead, your own content will be used, but any links you have created in that content will function to retrieve BIBL1 entries:
<witness xml:id="emd1HW_M_collation_Q2S" n="Q2S">
  <ref type="bibl" target="bibl:DEKK4">The second quarto of <title level="m">The Honest Whore</title>
  </ref> was partially set from <soCalled>standing type</soCalled> that was never distributed back into the cases after Q1 was printed. Q2S refers to the pages that were printed from the standing type.</witness>

Replace LEWs

In the process of converting old IML collations, LEMDO has created a lazy editor witness (LEW). As a remediator, you need to relplace these LEWs with a proper pointer to an xml:id in the <listWit> . Note that some editors can use the lew: prefix while they are collating, in order to save time. We can easily convert their lew: prefixes to pointers.
Witnesses are under the <app> parent element. The source reading will be wrapped in the <lem> element with the attribute @source. Other witnesses will be wrapped in the <rdg> element with the attribute @wit. In both cases, you will give the value of a hash character followed by the xml:id of your witness as defined in your <listWit> . See the example below from Timon of Athens.
<app from="doc:emdTim_M#emdTim_M_anc_698" to="doc:emdTim_M#emdTim_M_anc_699">
  <lem source="#emdTim_M_collation_F1">as a cantherizing</lem>
  <rdg wit="#emdTim_M_collation_Rowe1709">as a Cauterizing</rdg>
  <rdg wit="#emdTim_M_collation_Capell1768">cancerizing</rdg>
</app>

Point to Multiple Sources for a Reading

Sometimes more than one source will have the exact same reading. If this is the case:
Create a <lem> or <rdg> element as described above.
Provide the xml:id of your first witness as described above.
Provide the xml:id of successive witnesses in the same element with one space between each witness.
<rdg wit="#emd1HW_M_collation_Q1 #emd1HW_M_collation_Q2S">others at an other doore. Enter</rdg>

Replace Any Lingering IML Braces

Use the find function (ctrl+f or cmd+f) to search for glyphs that are represented by curly brackets. Remove the curly brackets. Tag the glyphs using the <g> element and @ref attribute. The value of @ref is the g: prefix and the xml:id of the glyph. Glyph xml:ids are listed in Typographical Glyphs Taxonomy.
<rdg wit="#emdTim_M_collation_F1">v<g ref="g:longS">s</g>es</rdg>
<rdg wit="#emdTim_M_collation_F1">
  <g ref="lig:longS_i">si</g>t</rdg>

Encode Supplied Materials

Editors may collate stage directions to indicate supplied materials, note differences between the modernized text and early modern editions, and give credit where credit is due to their editorial predecessors. In this case, you will need to ensure that supplied materials are correctly encoded in your collation. Note that anthologies approach encoding supplied material in different ways. QME requires editors to wrap any supplied materials in the <supplied> element in the modernized text, a practice that needs to be carried over into the <lem> element. DRE and NISE do not note supplied materials in modernized texts. If you are remediating collations and come across square brackets in a DRE or NISE text, remove the square brackets. If you are remediating QME texts and need to encode supplied materials, follow these steps:
Identify supplied material in the lemma (the text node of the <lem> element) that have not been encoded. These are indicated with square brackets.
Wrap the supplied material in the <supplied> element.
Remove the lingering square brackets.
Note that you will leave any square brackets in the <rdg> elements as we consider them part of a quotation. See the example below from Friar Bacon and Friar Bungay:
<app from="doc:emdFBFB_M#emdFBFB_M_anc_640" to="doc:emdFBFB_M#emdFBFB_M_anc_641">
  <lem source="#doc:emdFBFB_M_collation_ThisEd">
    <supplied>She steps forward.</supplied>
  </lem>
  <rdg wit="#doc:emdFBFB_M_collation_Dyce1861">[Comes forward]</rdg>
  <rdg wit="#doc:emdFBFB_M_collation_Bevington2002">[She approaches Lacy.]</rdg>
</app>

Other Resources

LEMDO YouTube video: Collation (Editorial)
LEMDO YouTube video: Collation (Technical): Linking

Remediate Annotations

Introduction

This document deals with the remediation of annotations that were prepared for the ISE platform and need to be reworked for the LEMDO platform. The work of remediating annotations entails taxonomic assessment and recategorization, plus fixing inconsistencies within the edition and bringing it into alignment with the DRE guidelines and LEMDO encoding practices.

Check Anchors and Pointers

Check that no annotations are missing or misplaced on the LEMDO site before you begin remediating them. Compare annotated words on the staticized DRE, ISE, or QME website against your modern edition and the annotations file. Read each annotation to ensure it is anchored to the correct word or phrase. See also Create Anchors.
Do not delete anchors. There may be an annotation or collation that you do not know about that is pointing to those anchors. If you need to anchor an annotation to a different word, then leave the anchors on the incorrect word, add new anchors to the correct word, and point the annotation to the newly anchored word.
Note that the programmatic addition of anchors and targets to the modernized text and annotation file (respectively) does not always work. This is because the conversion removes square brackets, which means lemmas no longer match what is in the modernized text. In these cases, the conversion makes the TLN the target instead and remediators must go in and add anchors in place of the TLN targets.

Add Anchors and Pointers

To add an anchor to a text, follow these steps:
Highlight the text around which you want to place an anchor.
Hit Ctrl+Shift+A on a PC or Cmd+Shift+A on a Mac to add numbered anchors.
Return to the annotation files and change the TLN targets to the anchors that you just made.
See also Create Anchors.

Replace Ellipses

Converted texts will contain three spaced periods ( . . . ) used as ellipses. We never want three spaced periods to be used as ellipses, so you must replace them with an ellipsis character ( … ) from the character map on your computer. See Practice: Insert an Ellipsis Character for instructions on how to add ellipsis characters to your file from the character map.
Note that some annotations contain editorial elisions that are indicated by ellipses (either three spaced periods or the ellipsis character, whichever the editor used in the original file). Replace these ellipses with the <gap> element, the @reason attribute, and the sampling value.

Shorten Lemmas

Shorten lemmas that are more than three words long. Always keep at least the first and last words of the lemma. Remove any words that will not help readers identify the passage that is being annotated (e.g., “the,” “a,” “my,” “with,” “it”).
Conversion Yields:
<note type="label">mines my gentility with my education</note>
Amend to:
<note type="label">mines … education</note>
Note that converted files will have three spaced periods ( . . . ) in lemmas where words have been left out to shorten the lemma. Replace these spaced periods with an ellipsis character from the character map on your computer.
Conversion Yields:
<note type="label">mines . . . education</note>
Amend to:
<note type="label">mines … education</note>

Format In-text Citations

Citations for content in glosses often appear in subsequent commentary notes.
Cut and paste citations that appear in <note> elements with the value commentary into those with the value gloss. Wrap the citation in parentheses when you move it to the <note> element with the value gloss. Delete the <note> elements with the value commentary if they are now empty or only contain redundant words or punctuation.
Conversion Yields:
<note type="gloss">A mere sign of interrogation, introducing a question.</note>
<note type="commentary">See <title level="m">OED</title> A.III.21.</note>
Amend to:
<note type="gloss">A mere sign of interrogation, introducing a question (OED A.III.21).</note>

Format Multiple Citations

If an editor cites more than one source in their note, use a semicolon to separate the citations in the parentheses.
Conversion Yields:
<note type="gloss">Enjoying grace or favor, winning goodwill; full of the graces.</note>
<note type="commentary">See <title level="m">OED</title> adj. 1 and Dusinberre.</note>
Amend to:
<note type="gloss">Enjoying grace or favor, winning goodwill; full of the graces (<title level="m">OED</title> adj. 1; Dusinberre).</note>

Choose Values for Note Types

LEMDO handles annotations quite differently than the ISE platform did. LEMDO organizes annotations according to type rather than length. The ISE had three levels of annotation, plus a performance level introduced specifically for QME’s needs.
Level 1 was for essential explanatory notes aimed at undergraduate readers. These notes appeared in the print edition, which mean that ISE editors were invited to think about the Broadview print editions as they prepared their notes.
Level 2 was for longer, more detailed notes. A selection of Level 2 notes went into the Broadview text.
Level 3 was for lengthier discussions of interesting, controversial, or complex material. These notes, which were generally excluded entirely from the Broadview texts, often deal with textual problems.
LEMDO has more annotation types than the ISE platform offered. The table below explains how the conversion process transforms the ISE levels into LEMDO types, with brief commentary on what you may need to do with the converted notes.
IML Level Values Pre-Conversion LEMDO’s Post-Conversion TEI Values on <note> Probable Remediation
1 gloss gloss
2 commentary commentary, textual, lexical, or performance
3 commentary commentary, textual, lexical, performance
perf performance performance
video video video
The important thing for the electronic edition is to get the type of note right. All level 2 and 3 annotations have been converted to <note> elements with an @type value of commentary. We need to determine what they actually are (commentary, textual, performance, or lexical), thereby bringing these remediated editions into line with born-LEMDO editions.
Editors often offered extended commentaries on the history and potential meaning of a word, with quotations from the OED.
You will mainly encounter commentary notes that need to be changed to textual notes and performance notes (and possibly lexical notes).

Gloss

All <note> elements that had the @level value of 1 have been converted to <note> elements with the @type value of gloss. In most cases, this conversion is correct.
You still need to check all annotations with the value gloss because you will have to change the type on some of them. The value gloss is for a single-word or short-phrase definition of a word or phrase in the text. They are meant to facilitate comprehension for the average third-year student in Canada (or college junior in America). Sometimes, the level 1 annotations in the electronic editions went beyond the simply gloss and strayed into the zone of commentary. You must check to ensure there is nothing wrapped in a <note> element with a @type attribute and gloss value that is a commentary or a textual, lexical, or performance note.
If you notice something in these tags that is not a gloss, open a new note tag, paste the material in it, and choose an appropriate type value.
Example showing how the <note> element with a @type attribute and gloss value glosses the lemma:
<note type="label">breed me well</note>
<note type="gloss">Bring me up well, with a good education.</note>

Commentary

Commentary notes that only contain citations are redundant. Cut and paste citations from elements with commentary values into the <note> element that contains the cited text.
Format the citations correctly by deleting any introductory words or phrases and wrapping them in parentheses at the end of the sentence that glosses the term.
Conversion Yields:
<note type="gloss">Myself.</note>
<note type="commentary">See Abbott 223.</note>
Amend to:
<note type="gloss">Myself (Abbott 223).</note>

Performance

Only use this note type when the editor is discussing specific productions, performances, or traditions. Do not use this type for notes in which the editor discusses early modern theatrical conventions in general.
Conversion Yields:
<note type="commentary">The close friendship of Rosalind and Celia has been much studied in criticism and in the theatre in light of the modern women’s movement. Cases in point include Dorothy Tutin as Rosalind and Janet Suzman as Celia in David Jones’s 1967-8 RSC production, Juliet Stevenson as Rosalind and Fiona Shaw as Celia in Adrian Noble’s 1985 RSC production, and Elizabeth Laidlaw as Rosalind and Kate Fry as Celia in David H. Bell’s 2002 production for Chicago Shakespeare Theater … </note>
Amend to:
<note type="performance">The close friendship of Rosalind and Celia has been much studied in criticism and in the theatre in light of the modern women’s movement. Cases in point include Dorothy Tutin as Rosalind and Janet Suzman as Celia in David Jones’s 1967-8 RSC production, Juliet Stevenson as Rosalind and Fiona Shaw as Celia in Adrian Noble’s 1985 RSC production, and Elizabeth Laidlaw as Rosalind and Kate Fry as Celia in David H. Bell’s 2002 production for Chicago Shakespeare Theater … </note>
Example of a note that is not a performance note:
<note type="annotation">
  <note type="label">at the door</note>
  <note type="commentary">This could be imagined to be the door of the walled garden on Oliver’s estate, but the sense of space in the Elizabethan theatre is so fluid that this conversation can also be imagined to take place indoors, in Oliver’s house.</note>
</note>

Textual

Textual notes include anything regarding how editors have interacted with the text from centuries ago until today. If an editor discusses their own edition, or the quartos, folios, or octavos of plays, that is also a textual note.
Conversion Yields:
<note type="label">manège</note>
<note type="gloss">
  <quote>The training, handling, and directing of a horse in its paces; a training to good paces</quote> (OED). The Folio reads <quote>mannage</quote>.</note>
Amend to:
<note type="annotation">
  <note type="label">manège</note>
  <note type="gloss">
    <quote>The training, handling, and directing of a horse in its paces; a training to good paces</quote> (<title level="m">OED</title>).</note>
  <note type="textual">The Folio reads <quote>mannage</quote>.</note>
</note>
Conversion Yields:
<note type="commentary">Warburton’s proposed emendation of substituting <q>our</q> for <q>your</q> twice in this phrase has sometimes been adopted by editors, and <q>your</q> for <q>our</q> would be an easy typographical error, but the Folio reading makes sense as it stands.</note>
Amend to:
<note type="textual">Warburton’s proposed emendation of substituting <q>our</q> for <q>your</q> twice in this phrase has sometimes been adopted by editors, and <q>your</q> for <q>our</q> would be an easy typographical error, but the Folio reading makes sense as it stands.</note>

Lexical

Use this note type when the editor discusses at length the origin or meaning of a word (or words). LEMDO also considers phrases like The OED cites this as its sole instance to be lexical notes.
When OED citations and phrases like The OED cites this as its sole instance appear in commentary notes, do the following:
Cut and paste the OED citation into parentheses at the end of the text node of the <note> element with @type and gloss.
Add another note element with a @type attribute and the value lexical.
Cut and paste the phrase into this lexical note (rephrase as necessary).
Tag OED as a title with the @level attribute and the value m.
Conversion Yields:
<note type="gloss">Assignment of a share.</note>
<note type="commentary">The <title level="m">OED</title> cites this as its sole instance. To <q>allot</q> is to distribute by lot, or into lots.</note>
Amend to:
<note type="annotation">
  <note type="gloss">Assignment of a share (<title level="m">OED</title> n).</note>
  <note type="commentary">To <term>allot</term> is to distribute by lot, or into lots.</note>
  <note type="lexical">The <title level="m">OED</title> cites this as its sole instance.</note>
</note>
Conversion Yields:
<note type="gloss">Plot, conspire (OED 9, quoting this passage).</note>
Amend to:
<note type="annotation">
  <note type="gloss">Plot, conspire (<title level="m">OED</title>)</note>
  <note type="lexical">The <title level="m">OED</title> quotes this passage under definition 9.</note>
</note>
Conversion Yields:
<note type="gloss">Scurvy, rascally.</note>
<note type="commentary">From French <q>rogne</q>, scab, scurf; hence <q>rogneux</q>, mangy, scurvy. <title level="m">OED</title> quotes this line.</note>
Amend to:
<note type="annotation">
  <note type="gloss">Scurvy, rascally (<title level="m">OED</title>).</note>
  <note type="lexical">From French <term xml:lang="fr">rogne</term>, scab, scurf; hence <term xml:lang="fr">rogneux</term>, mangy, scurvy (<title level="m">OED</title>). The <title level="m">OED</title> quotes this line.</note>
</note>

Editorial

Editorial notes are allowed only in supplemental texts and critical paratexts. See Editorial Notes and Annotations for Supplementary Materials for more information on adding notes to supplementary texts.

Video

Some annotations contain video clips. QME’s Performance-as-Research methodology means that performance is a commentary on the text. There were only 61 instances in the files in the ise-developers repo, all of them in just two QME files:
emdFBFB_M_annotation.xml
emdFV_M_annotation.xml
We can expect to see more such video notes in annotation files coming to us from QME editors who are finishing their work in IML.

Classify Ambiguous Notes

Some notes do not fit easily into a single note type category. In these cases, you must choose the note type that seems most appropriate.
The note in the example below could be considered both a textual note and a performance note. We decided to tag it as a textual note because the editor is primarily talking about editions, not performances.
Conversion Yields:
<note type="commentary">Capell, in his 1774 and 1779 editions, 1.60, relates the story of an old townsman of Stratford, who, on being asked by his neighbors what he remembered of Shakespeare, answered <quote>that he saw him once brought on the stage upon another man’s back; which answer was applied by the hearers to his having seen him perform in this scene the part of Adam</quote>. Similarly, William Oldys (in Steevens’s 1778 edition, 1.204), tells of one of Shakespeare’s younger brothers … </note>
Amend to:
<note type="textual">Capell, in his 1774 and 1779 editions, relates the story of an old townsman of Stratford, who, on being asked by his neighbors what he remembered of Shakespeare, answered <quote>that he saw him once brought on the stage upon another man’s back; which answer was applied by the hearers to his having seen him perform in this scene the part of Adam</quote> (Capell 1.60). Similarly, William Oldys (in Steevens’s 1778 edition, 1.204), tells of one of Shakespeare’s younger brothers who … </note>

Differentiate Electronic and Print Annotations

LEMDO editions are designed to be electronic first. Neither remediators nor editors should be thinking about the print edition while preparing annotations. But as remediator, you will find it helpful to keep in mind that the editors whose work you are remediating probably did think about the print edition. They were invited to classify as level 1 anything suitable for a classroom edition.
LEMDO turns its attention to a print edition only after the electronic edition is published. We consider the print edition to be a remediated version of the electronic edition. See also Prepare Annotations for Print.

Other Resources

LEMDO YouTube video: Annotations (Editorial)
LEMDO YouTube video: Annotations (Technical)
LEMDO YouTube video: Collation (Technical): Linking

Remediate Modernized Texts

Related Chapters

Priorities for Remediating Modernized Texts

When you are remediating a text, flag anything you think may be a mistake (typos, misplaced punctuation, etc.) by adding an XML comment. Do not make changes to the text without consulting an experienced team member first. Remember that it is not our work to edit the play.

Give Credit in the Metadata

Add a <respStmt> element for the LEMDO team in the TEI Header of the document. For exact practice, see Practice: Give Credit to the LEMDO Team. Record your particular contributions to the remediation of the edition by adding <change> elements under the <revisionDesc> .
Note: LEMDO Director Janelle Jenstad is responsible for liaising with the editor and/or anthology lead to ensure the rest of the metadata in the <teiHeader> is correct. However, if you notice anything that is obviously missing or problematic, leave an XML comment.

Update Document Status: In Progress

Each time you begin remediating a document, you must change the value of the @status attribute on the <revisionDesc> element.
For documents that began life in IML, change the value to IML-TEI_INP.
For documents that began life as TCP files, change the value of TCP-TEI_INP.
For documents that began life in the CWBJO or DBF project, change the value to TEI_INP.
These values indicate that your remediations are in progress and trigger the full schema and Schematron on your file. Given that it often takes multiple work sessions to remediate a file to the point that it is fully valid by LEMDO standards, we have a special interim status that allows us to commit an invalid file to the repository without breaking the build. Interim status values are IML-TEI, TCP-TEI, and TEI_collating. Use the latter value for CWBJO and DBF files (and any other files that have come to us in some flavour of TEI). You may save the file that you are working on with an interim status value if your file is not valid at the end of a work session. Once it is valid, save and commit your file with the IML-TEI_INP status.
Documents that have been converted from IML to TEI, TCP to TEI, or TEI to TEI using the LEMDO programmatic conversions will have the @status value of either prgGenerated or IML-TEI. In the latter case, there should be an earlier change element with the @status value prgGenerated. Below is an example of a file that was converted by Joey Takeda in 2018. In 2020, Janelle Jenstad began the remediation process by tidying the metadata before an RA like you began to work on the file:
<revisionDesc status="IML-TEI">
  <change who="pers:JENS1" when="2020-07-10" status="IML-TEI">Tidied metadata.</change>
  <change when="2018-06-29" who="pers:TAKE1" status="prgGenerated">Created TEI from IML file.</change>
</revisionDesc>
Note that the @status attribute appears on the <revisionDesc> element and on the <change> element. This apparent redundancy allows us to keep a full history of the document’s progress through the conversion and remediation process. Because the <change> element has the @when attribute, we can determine exactly when the document passed from one status to the next.
To change the status of the modernized text that you are remediating, do the following:
Change the value of the @status attribute on the <revisionDesc> element to IML-TEI or IML-TEI_INP, TCP-TEI_INP, or TEI_collating.
Add a new <change> element as a child of <revisionDesc> .
Write a description of your change(s) in the text node (i.e., Began remediating document. Added space elements.).
Add a @who, a @when, and a @status attribute to the <change> element.
Add the prefix pers: followed by your xml:id to the @who attribute.
Add the date you began the remediation to the @when attribute.
Add the new status as the value of the @status attribute. Note that if you did not change the @status of the file you do not need to add a @status attribute to your <change> element.

Remove Square Brackets

Square brackets in converted files are left over from IML and must be deleted. Square brackets will prevent files from rendering on the LEMDO site, so deleting them is a top priority. Other remediation tasks will be easier to do if you can look at your text rendered on the LEMDO site.
The DRE Editorial Guidelines, which LEMDO supports through encoding practices and which the NISE has adopted, does not use square brackets to denote editorially supplied text in modern or born-digital documents. DRE assumes that the entire modern text is effectively supplied.
In some of the files we are remediating, the <supplied> element has been programmatically added as a replacement for square brackets denoting editorially supplied material. Only QME and MoMS allow the <supplied> tag in modernized texts; keep the <supplied> element if you are remediating a QME text. (All MoMS editions are born-LEMDO.) For DRE and NISE files, ensure that the related collation file has a linked <app> indicating what the editor has supplied. Do not remove the supplied element until there is a collation in place. If there is no <app> , leave a comment for the editor, Janelle, or a more experienced RA indicating that the word or phrase needs to be collated.
If you encounter a <supplied> element without any attributes in a DRE or NISE modernized text, delete it. If you encounter a stray <supplied> element with attributes in a DRE or NISE text, leave a comment in the file for the LEMDO Director and let her know that the file needs her attention. Stray opening or closing square brackets may not have been converted to <supplied> , and will generate a Schematron error until you delete them.

Remove Extraneous Line Beginnings

The TEI will contain leftover <lb> tags from the IML. There are two types of <lb> elements in the IML file:
Editorial line numbers (the <lb> element with the @n attribute and a number as the value). Delete these immediately.
TLNs and/or QLNs (the <lb> element with the @type attribute and the value tln, and the @n attribute with a number as the value). Retain these until later.
LEMDO does not ultimately need or want any <lb> tags in modernized texts. However, you must retain TLNs/QLNs until the edition is ready for publication as other remediation tasks require them to be in place.
Conversion yields:
<div><!-- … -->
  <lb n="2"/>
  <lb type="tln" n="6"/>
  <p>Good morrow, sweet <lb type="tln" n="7"/>Lodovico.</p>
  <!-- … -->
</div>
There are two <lb> milestone elements for every single line beginning: one is the editorial line number (n="2") and the other is the TLN corresponding to a compositorial line in the semi-diplomatic transcription (type="tln" n="6").
Before you delete any of those numbers, check the converted annotations file. In this case, the corresponding annotations file is keyed to the TLNs ( @target=tln:6).
Corresponding annotation:
<div type="annotations"><!-- … -->
  <note type="annotation" target="tln:6">
    <note type="label">sweet</note>
    <note type="gloss">dear (not ‘sweet’); also often = pleasant, agreeable (as in <ref target="doc:2HW/M#tln-12-12">TLN 12</ref>).</note>
  </note>
  <!-- … -->
</div>
With the knowledge that the annotations are pinned to TLNs, you can safely delete the editorial line numbers right away. Keep the TLNs until the edition is ready for pre-freeze.
Amend to:
<div><!-- … -->
  <lb type="tln" n="6"/>
  <p>Good morrow, sweet <lb type="tln" n="7"/>Lodovico.</p>
  <!-- … -->
</div>
LEMDO has developed a regular expression (regex) to programmatically delete editorial line numbers en masse. If you have not used regex before, please read Introduction to Regular Expressions for information about regular expressions, tips to safely run regex operations, and visual guides for how to run a regex. Once you are familiar with regular expressions, follow these instructions to programmatically delete editorial line numbers:
Click Ctrl+F
Check the regular expression box
In the Find field, paste <lb\sn="\d*\.*\d*"/>
Click Find All and have a look at the results to ensure you are matching with exactly what you want to match with
Leave the Replace field empty
Click Replace All
Validate your file

Remove Spaces

These <space> elements are left over from IML and can be deleted. We do not capture page layout in modernized texts, so there is no need to indicate the presence of space between blocks of text.
The <space> elements will most likely have the @unit attribute with the value chars and the @quantity attribute with a number as the value.

Replace Apostrophes

Convert straight apostrophes to right curly apostrophes. The easiest way to convert apostrophes is to run a find-and-replace. Note that the keyboard shortcut for a curly apostrophe in our Oxygen project is Ctrl+Shift+' (Cmd+Shift+' on Mac).

Correct the Character List

The IML-TEI conversion will have created a <listPerson> (child of <particDesc> ) in the <teiHeader> from the tagging in the IML modernized text. It generates the <person> elements, values for the @xml:id attribute, and <reg> elements from <speaker> elements and the IDs on characters in the IML.
In IML, the character list was a separate .txt file and the annotations on the character list (if any) were a separate .xml file from the modernized text. In LEMDO, the <listPerson> removes the need for the character list and its annotations to be in separate files. However, our conversion does not take the old character list or annotations thereon into account, so we have to ensure that the information in the IML character list is included in the <particDesc> of our TEI file.
Note that the text node of the <name> element is what will appear in the finalized character list.

Check Character List Against IML Character List

The character list generated by the conversion may not match the IML character list created by the editor because the conversion generates <person> elements from <speaker> elements in the text. Thus, a character that does not have any assigned lines (i.e., does not have at least one speech prefix) will not appear in the <listPerson> generated by the conversion. To create an accurate <listPerson> , you must check the <listPerson> against the IML list of characters to ensure all characters are included.
The character list generated by the conversion may also generate <person> elements for characters that are not listed on the IML list of characters. These extra <person> elements arise in cases where editor has referred to a character by more than one name (e.g., Prince Hal and King Henry). You will need to delete one of the <person> elements and give the remaining <person> elements two discrete <reg> elements, one for each speech prefix. You may also see extra person elements generated because of inconsistency in the editor’s speech prefixes. For example, 1 Lord, First Lord, and Lord 1 are probably the same character; you will need to merge these <person> elements into one and standardize the speech prefix. Check with the anthology lead, play editor, or LEMDO director to decide on the standardized speech prefix.
If the editor is still working on the edition (i.e., we are doing a one-time IML-TEI conversion so that the editor can continue working in TEI), the LEMDO director or project manager will send an email and a .docx file to the editor(s) to give them the opportunity to make decisions about their character list. The editor(s) will send back a file with comments and corrections. You will need to incorporate those changes into the <listPerson> of the file.

Remove Collective and Non-Character Speakers

The conversion produces spurious hybrid speakers (such as GloucesterandClarence or All in 2H4).
Delete any nonsensical hybrid persons from the <listPerson> . Add new values on @who, which can take multiple values, one for each speaker who speaks simultaneously. In this case, the <speaker> element does not have to match a <reg> element.
Conversion yields:
<div><!-- … -->
  <sp who="#emd2H4_M_GloucesterandClarence"><!-- … --></sp>
  <!-- … -->
</div>
Amend to:
<div><!-- … -->
  <sp who="#emd2H4_M_Gloucester #emd2H4_M_Clarence"><!-- … --></sp>
  <!-- … -->
</div>
Delete any auto-generated non-character speakers (like All or Voices within). See Special Case: Groups of Characters.

Match Names in Character List to Speakers

The text node of each <speaker> element in the modernized text must match with a <reg> element in the <listPerson> in order for the file to be valid. The conversion yields some incorrect <reg> elements (e.g., KingHenry), which will result in Oxygen flagging a correct speaker as incorrect. Correct the text node of the <reg> element. If conversion yields
<reg>KingHenry</reg>
remediate to
<reg>King Henry</reg>
A character may have more than one speech prefix, usually in cases where the character’s social status changes. In this case, add a <reg> element for each name so every <speaker> element has a corresponding <reg> element.
Example: Prince Hal in Henry IV Part 2, who is later crowned king. Conversion yields:
<person xml:id="emd2H4_M_Prince">
  <persName>
    <reg>Prince</reg>
  </persName>
</person>
Amend to:
<listPerson><!-- … -->
  <person xml:id="emd2H4_M_Henry">
    <persName>
      <name>Prince Henry, afterwards crowned King Henry the Fifth</name>
      <reg>Prince</reg>
      <reg>King Henry</reg>
    </persName>
  </person>
  <!-- … -->
</listPerson>

Group Characters

We also want to group characters in one <person> element when it is logical to do so. For example, there are two lords in As You Like It, both of whom have speaking roles. Whether or not these are discrete characters with distinct personalities or a dramatic convenience to facilitate dialogue is ultimately the editor’s call. If the editor wants one entry, combine both into a single <person> element and add <reg> elements to capture the contents of all <speaker> elements related to the lords in the play.
Make the value of the @xml:id attribute on the <person> element plural, along with the text node of the <name> element. Add whatever you enter as the text node of the <name> element as a <reg> element as well, because the <reg> element is what links to the <speaker> elements in the play. The example below shows each variant name of the lords in a <reg> element. Conversion yields:
<listPerson><!-- … -->
  <person xml:id="emdAYL_M_FirstLord">
    <persName>
      <reg>First Lord</reg>
    </persName>
  </person>
  <person xml:id="emdAYL_M_SecondLord">
    <persName>
      <reg>Second Lord</reg>
    </persName>
  </person>
  <!-- … -->
</listPerson>
Amend to:
<listPerson><!-- … -->
  <person xml:id="emdAYL_M_Lords">
    <persName>
      <name>Lords</name>
      <reg>Lords</reg>
      <reg>Lord</reg>
      <reg>First Lord</reg>
      <reg>Second Lord</reg>
    </persName>
  </person>
  <!-- … -->
</listPerson>
IML List of Characters shows:
Grooms
Responsible for strewing rushes at the king’s coronation (5.5).
Conversion yields:
<listPerson><!-- … -->
  <person xml:id="emd2H4_M_Groom1">
    <persName>
      <reg>Groom 1</reg>
    </persName>
  </person>
  <person xml:id="emd2H4_M_Groom2">
    <persName>
      <reg>Groom 2</reg>
    </persName>
  </person>
  <person xml:id="emd2H4_M_Groom3">
    <persName>
      <reg>Groom 3</reg>
    </persName>
  </person>
  <!-- … -->
</listPerson>
Amend to:
<listPerson><!-- … -->
  <person xml:id="emd2H4_M_Grooms">
    <persName>
      <name>Grooms</name>
      <reg>Grooms</reg>
      <reg>Groom</reg>
      <reg>Groom 1</reg>
      <reg>Groom 2</reg>
      <reg>Groom 3</reg>
    </persName>
    <note>
      <p>Responsible for strewing rushes at the king’s coronation (5.5).</p>
    </note>
  </person>
  <!-- … -->
</listPerson>

Match Names in Character List to Unique IDs of Speakers

Our conversion gives each <sp> element in the modernized text a @who attribute and a value that indicates the text it appears in and the character who is speaking. For example, the <sp> element in Q1 of Romeo and Juliet for one of Romeo’s speeches has the @who attribute with the value #emdRom_Q1_Romeo (with the hash tag indicating that the character’s xml:id is defined in the same file).
The value for the @who attribute must match an xml:id in the <listPerson> or the file will not be valid.
Note that the @who attribute does not function as a speech prefix. A <speaker> tag with appropriate speech prefix is still necessary.

Fix Duplicate Entries for a Single Character

LEMDO does not give new @xml:id values to characters if they change roles or names, so you may have to merge some characters. Remember to change the @xml:id values on the <sp> elements in the text as well.
Conversion yields:
<listPerson><!-- … -->
  <person xml:id="emd2H4_M_PrinceHenry">
    <persName>
      <reg>PrinceHenry</reg>
    </persName>
  </person>
  <person xml:id="emd2H4_M_KingHenry">
    <persName>
      <reg>KingHenry</reg>
    </persName>
  </person>
  <!-- … -->
</listPerson>
Amend to:
<listPerson><!-- … -->
  <person xml:id="emd2H4_M_Henry">
    <persName>
      <name>Prince Henry, later King Henry</name>
      <reg>Prince</reg>
      <reg>King</reg>
    </persName>
  </person>
  <!-- … -->
</listPerson>
Conversion yields:
<listPerson><!-- … -->
  <person xml:id="emd2H4_M_Bardolph">
    <persName>
      <reg>Bardolph</reg>
    </persName>
  </person>
  <person xml:id="emd2H4_M_LordBardolph">
    <persName>
      <reg>LordBardolph</reg>
    </persName>
  </person>
  <!-- … -->
</listPerson>
Amend to:
<listPerson><!-- … -->
  <person xml:id="emd2H4_M_Bardolph">
    <persName>
      <name>Bardolph, later Lord Bardolph</name>
      <reg>Bardolph</reg>
      <reg>Lord Bardolph</reg>
    </persName>
  </person>
  <!-- … -->
</listPerson>

Add Names

The conversion auto-generates <reg> elements from the <speaker> elements in the file. You must add a <name> element for each <person> . The content of <name> is the information that will be displayed in the list of characters online and in print.
For the content of the <name> element, follow the editor’s IML character list. The editor will give different (usually longer) names for the characters therein, along with a brief explanation. These longer names and explanations are the ones that the editor wants to have in the online and print character list.
In some cases, the <reg> element (generated from the speakers in the IML file) will be the same as the <name> element. You need to add the <name> even if it seems redundant to do so. Conversion yields:
<listPerson><!-- … -->
  <person xml:id="emd2H4_M_Porter">
    <persName>
      <reg>Rumour</reg>
    </persName>
  </person>
  <!-- … -->
</listPerson>
Amend to:
<listPerson><!-- … -->
  <person xml:id="emd2H4_M_Porter">
    <persName>
      <name>Rumour</name>
      <reg>Rumour</reg>
    </persName>
  </person>
  <!-- … -->
</listPerson>
The editor may want to add more information:
<listPerson><!-- … -->
  <person xml:id="emd2H4_M_Porter">
    <persName>
      <name>Rumour, the presenter</name>
      <reg>Rumour</reg>
    </persName>
  </person>
  <!-- … -->
</listPerson>

Reorder Character Entries

The <listPerson> arranges <person> elements in the order that the characters appear in the text. Reorder the <person> elements to match the order in which the editor lists them in the IML character list.

Add Notes to Character Entries

If the editor has prepared annotations on the characters, they will be in a separate XML file in the ../app folder. The notes will have been converted from IML but not remediated. You have to find that file and manually add those notes in a <note> element below <persName> on each <person> element. Add a @type attribute with a value of editorial. Put the content of the note inside a <p> element.
<person xml:id="emd1H4_M_King">
  <persName>
    <name>King Henry IV</name>
    <reg>King</reg>
  </persName>
  <note type="editorial">
    <p>(1367-1413) Born in the same year as his cousin Richard II, Henry IV was eldest son to John of Gaunt. Known as Bolingbroke after the castle where he was born (spelled <mentioned>Bullingbrooke</mentioned> in Q0 and both <mentioned>Bullingbrooke</mentioned> and <mentioned>Bullenbrooke</mentioned> in Q1), he became Duke of Hereford in 1397, and Duke of Lancaster at his father’s death in 1399. In 1398 Richard II banished Henry from England for ten years and when Gaunt died the following year Richard seized his Lancastrian estates and declared Henry a traitor, banished for life. Henry responded by returning to England in July 1399 to reclaim his inheritance. With Richard in Ireland, he gathered powerful support and on Richard’s return was able to capture the king and dictate terms. By the end of September 1399 Richard was forced to abdicate and Henry was acclaimed King. Richard died while imprisoned at Pontrefract castle a few months later. Henry was well-traveled, devout and a capable king. He was initially a popular monarch, but the fact that he was a usurper and not Richard’s proclaimed heir meant that his reign was never secure. His later years were marked by debilitating bouts of illness and he had to rely heavily on his sons for support in both military and administrative affairs. He died in 1413.</p>
  </note>
</person>
Once you have added all the notes, ask the LEMDO director or programmer to move the character notes file to the lemdo/obsolete folder; most RAs do not have write permission on the lemdo/obsolete folder, which lives outside the data folder.
If the editor had not prepared character annotations, the LEMDO director or their anthology lead will liaise with the editor about annotations at the same time that the editor is given a chance to update the character list.
Link Citations in Character Notes to Entries in BIBL1.xml
If the character notes for your modernized text contain citations to external sources, you will need to check if these works are cited in our bibliography, stored in the BIBL1 folder. If the citations are not already in our bibliography, then you will need to create a new BIBL entry. If the work is cited in our bibliography, then you need to add a <ref> tag to the in-text citation to link it to the BIBL entry.
<person xml:id="emd1H4_M_Blunt">
  <persName>
    <name>Sir Walter Blunt</name>
    <reg>Blunt</reg>
  </persName>
  <note type="editorial">
    <p>(d.1403) Sir Walter Blount (spelled <mentioned>Blunt</mentioned> in QF) was a nobleman who had been a loyal Lancaster family retainer for many years before the events in this play. He accompanied John of Gaunt on several military expeditions abroad and was named an executor on his will (<ref type="bibl" target="bibl:OXFO2">DNB</ref>). He joined Henry Bolingbroke when he landed at Ravenspur in 1399 and later served him as an ambassador and diplomat. Blount was the bearer of the royal standard at the battle of Shrewsbury and was one of the men wearing the king’s armour. He died in the battle.</p>
  </note>
</person>
If the source is not yet in the LEMDO site-wide bibliography (BIBL1), you will need to add the source or ask another RA to do so.

Check Tagging of Verse and Prose

Milestones are a holdover from the IML way of indicating prose and verse. In IML, the editor inserted a <mode> tag whenever a verse or prose passage began. There was no closing <mode> tag. One mode was considered to end when another mode began. Our conversion supplies a <milestone> tag where the first <mode> tag was. It adds a @subtype to indicate whether the mode is verse or prose. Our conversion supplies a second <milestone> element with @subtype=end immediately before the new milestone with its @subtype value of verse or prose.
Our conversion takes those <milestone> elements (which sort of stand in for XML’s container structure) and adds <p> elements in the speeches that are now contained between two kinds of <milestone> elements:
<milestone> elements with the @unit attribute and the value nonstructural, @type attributes with the value mode, and @subtype attributes with the value prose.
<milestone> elements with the @unit attribute and the value nonstructural, @type attributes with the value mode, and @subtype attributes with the value end.
LEMDO’s conversion does the same to <milestone> elements with the value verse on the @subtype attribute instead of prose, but replaces them with <lg> and <l> elements instead of <p> elements.
If the <mode> tags were encoded correctly in the IML, then our conversion will be correct. But if the <mode> tags were incorrect by IML standards, then it’s possible that our conversion has not correctly wrapped prose in <p> tags and verse in <lg> and <l> tags. Your job is to ensure that the <lg> , <l> , and <p> elements are in place. If they are, then you can delete all the milestones with @unit=nonstructural and @type=mode.
It should be obvious when a verse passage tagged with <p> is actually verse. You will notice capitalization in the middle of sentences (usually corresponding to the placement of one or both sets of <lb> elements). If you notice capitalization in the middle of sentences in passages wrapped in <p> tags, it’s very likely meant to be verse. Leave an XML comment and check with the LEMDO director, who will make a judgement call or confer with the anthology lead and/or play editor.
Example of mode milestones in AYL:
<div><!-- … -->
  <milestone unit="nonstructural" type="mode" subtype="verse"/>
  <quote type="verse">Wind away, Begone, I say, I will not to wedding with thee.</quote>
  <milestone unit="nonstructural" type="mode" subtype="end"/>
  <!-- … -->
</div>
Note that our more recent conversions will have deleted those milestones before you begin remediating the file. We periodically update the conversions to obviate the labour of hand remediation.
We also (as of 2026) have an Oxygen Quickfix that allows you to change a speech encoded as verse lines into prose. It works by removed all the opening and close <l> tags int the speech and wrapping the whole speech in a single <p> element. There is no easy way to convert prose to verse, however; as remediator, you will have to scan the lines, look for capitalization marking the beginning of verse lines, consult a standard edition, and/or ask for help to identify the verse lines.

Remove Mode Milestones

The remediator must confirm that the verse and prose in the text are tagged correctly using <l> and <p> tags. Once you have confirmed that verse and prose are tagged correctly with <l> and <p> tags, you can delete the <mode> milestone tags. Multiple find-and-replace operations will suffice (i.e., replace with nothing).

Check Part and Shared Lines

LEMDO adds the @part attribute to the opening <l> tag of a partial verse line that is completed by another partial verse line.
The allowed values on @part are I, M, and F, for initial, medial, and final. This tagging is how we indicate that two or more characters share a single verse line.
This tagging should have been added during the conversion, so you just have to check its accuracy. As long as this tagging is in place, you can delete elements that are IML holdovers. The IML holdovers will be <milestone> elements with the @unit attribute and the value linepart, and the @n attribute with the value i, m, or f. Conversion yields:
<sp>
  <milestone unit="linepart" n="i"/>
  <speaker>Hippolito</speaker>
  <l part="I">Your business, sir? To me?</l>
  <milestone unit="linepart" n="f"/>
  <speaker>Antonio</speaker>
  <l part="F">Yes, my good lord.</l>
</sp>
Amend to:
<div>
  <sp who="#emd2HW_M_Hippolito">
    <speaker>Hippolito</speaker>
    <l part="I">
      <stage type="delivery">To Antonio</stage> Your business, sir? To me?</l>
  </sp>
  <sp who="#emd2HW_M_Antonio">
    <speaker>Antonio</speaker>
    <l part="F">Yes, my good lord.</l>
  </sp>
</div>

Check In-Line Stage Directions

Ensure that in-line stage directions are encoded in the correct line. Stage directions that state who is being addressed should appear before the corresponding line of dialogue. In the following example, To Silvius is incorrectly encoded at the end of the first line (Foul is most foul, being foul to be a scoffer), but it should appear in the second line (So take her to thee, shepherd. Fare you well). Conversion yields:
<l>Foul is most foul, being foul to be a scoffer. <stage type="delivery">To Silvius</stage>
</l> <l>So take her to thee, shepherd. Fare you well.</l>
Amend to:
<sp>
  <l>Foul is most foul, being foul to be a scoffer.</l>
  <l>
    <stage type="delivery">To Silvius</stage>So take her to thee, shepherd. Fare you well.</l>
</sp>

Replace Quotation Marks

After the IML to TEI conversion, the file will contain <q> elements in place of quotation marks. You will correct <q> elements to be more specific elements where possible. See Introduction to Quotations, Terms, Expressions, Glosses, Emphasis, and Foreign Languages.
For quotations that extend over two or more lines of verse, assign each quotation element a unique value on the @xml:id attribute and add @next and/or @prev attributes as needed to link the lines together. See Encode Split Elements.

Encode Songs

In IML, songs were usually encoded as quotations. LEMDO does not want songs wrapped in quotation tags unless the song contains explicitly quoted material. Delete any quotation marks or quotation tags that are not surrounding quoted material. Make sure that songs are wrapped in an <lg> element with a @type value of song. See Encode Letters and Songs in Modernized Texts.

Encode Foreign Words

Tag foreign words with the <foreign> element, the @xml:lang attribute, and a standardized BCP 47 value from the list in IANA Values for Specific Languages:
<p>
  <term>Accommodated</term>—it comes of <foreign xml:lang="la">accommodo</foreign>—very good, a good phrase. </p>

Check the Text for Accuracy

Make sure that the text is complete and correct. Do this by reading the text in your file against a version of the text published elsewhere. You can check as you go or do a final check at the end.
If the text was peer-reviewed and published on one of the sibling sites (ISE, QME, or DRE), compare your file to the online rendering of the original IML. Make sure that we did not accidentally delete a passage while the IML was being run through the various conversions, which always entails some clean-up of the IML. (Note that the old QME website has now been replaced by the new LEMDO-created website. All of the QME files have been remediated.)
Keep in mind that the Broadview texts (ISE only) went through an additional phase of copyediting, and those copy edits did not always make it back into the digital editions.
We have found that some <speaker> elements seem to be missing. If you check against the ISE, DRE, or QME site, add in the intended speakers.
When you are looking at the ISE, DRE, and QME sites, make sure you are looking at the desktop view. Some editions seem to be defaulting to the mobile view, in which lines are repeated.

Copyedit the Text

It is not your job as remediator to copyedit the editor’s work, but if you notice things that you can easily fix (like missing serial commas) and you are confident in your knowledge of the LEMDO Style Guidelines and anthology’s style guide, then go ahead and implement the change. If you are unsure, always check with the LEMDO director (or the play editor/anthology lead, if you have been authorized to correspond directly with them).

Add Anchors

When you start remediating the annotations, collation, and critical paratexts, you will revisit the modernized text and add anchors to which other files can point.
If you are looking for information on remediating annotations, collations, or critical paratexts, go to Remediate Annotations, Prepare Annotations for Print, Remediate Collation Files, or Remediate Critical Paratexts.

Proofread the PDF

Some texts being remediated are converted into PDF files in preparation for publishing. Proofread the PDF after you have completed this remediation process to check for mistakes in your encoding. Ask a developer for a link to the PDF copy of your text.

Remove Lingering TLNs

We leave the TLNs on <lb> elements during the IML-TEI remediation process because the remediator needs to consult them to confirm that annotations are linked to the correct strings in the modern text. TLNs were the glue that allowed for the string-matching that IML used to tie the lemma in the annotation to the string in the modernized text.
The final task in modernized texts (to be done during pre-freeze after the annotation, collation, and critical paratext files have all been completed and the links checked in all edition files) is to remove the lingering TLNs. Removal is typically done by a senior member of the LEMDO team.
To remove lingering TLNs, run the following regex:
Find: <lb type="tln" n="\d*\.*\d*"/>
Replace with: Leave Replace with empty.

Update Document Status: Proofing

Once all remediation work is done in the modernized file, update the status of the document once more. Change the value of the @status attribute to IML-TEI_proofing. Add a <change> element with a @status value of IML-TEI_proofing to leave a record of when the remediation work was completed.

Other Resources

Remediate Critical Paratexts

Rationale

This documentation deals with critical paratexts that had been published on the DRE, ISE, and QME websites hosted by the ISE platform. These paratexts were prepared in (or moved to) the ISE’s XWiki platform. Joey Takeda converted critical paratexts to TEI as a batch in 2018 and saved them to the LEMDO repository. We work on the remediations as time permits and as demand dictates. You can view these paratexts on the old staticized DRE, ISE, and QME sites, for as long as those sites continue to work.

Suggested Workflow

You can take the following remediation steps immediately, even if none of the other files in the edition have been remediated:
Update metadata
Replace straight apostrophes
Encode quotation marks and block quotations
Tidy <div> xml:ids
Add <p> xml:ids
Tag italics
Add ellipsis characters
After the other files in the edition have been remediated, you can proceed to the following steps:
Link to the modernized text
Link to the bibliography
Update the document status to proofing

Practice: Give Credit in the Metadata

Add a <respStmt> element for the LEMDO team in the TEI Header ( <teiHeader> ) of the document. See also Encode Responsibility Statements. Record your particular contributions to the remediation of the edition by adding <change> elements under the <revisionDesc> . Some RAs who have done additional work on an edition have a respStmt for Remediating Editor. The LEMDO director and/or anthology lead will let you know if your contributions to the edition have moved into the remit of Remediating Editor.
Note: LEMDO Director Janelle Jenstad is responsible for liaising with the editor and/or anthology lead to ensure that the rest of the metadata in the <teiHeader> is correct. However, if you notice anything that is obviously missing or problematic, leave an XML comment.

Practice: Update Document Status: In Progress

Each time you begin remediating a new document, you must change its status to reflect this. To change the status of a critical paratext you are remediating, do the following:
Change the value of @status on <revisionDesc> to IML-TEI_INP.
Add a new <change> element as a child of <revisionDesc> .
Write the substantive change in the text node (i.e. “Began remediating document”).
Add a @who, a @when, and a @status attribute to the <change> element.
Add the prefix pers: followed by your xml:id to the @who attribute.
Add the date you began the remediation to the @when attribute.
For example:
<revisionDesc status="IML-TEI_INP">
  <change when="2022-05-18" who="pers:PEEE1">began remediating document.</change>
</revisionDesc>

Practice: Replace Straight Apostrophes with Curly Apostrophes

Convert straight apostrophes to curly apostrophes. The quickest way to do this is through a find-and-replace:
Insert one curly apostrophe. For options on how to do this, see Practice: Insert a Right Curly Apostrophe.
Copy that curly apostrophe.
Open Oxygen’s Find/Replace box by typing Ctrl+F.
Type a straight apostrophe into the Find space.
Paste a curly apostrophe into the Replace with space.
Click Find All to see all instances of straight apostrophes in your file.
Click Replace All to replace all instances of straight apostrophes with curly apostrophes.
If you are remediating a new submission, it may be quicker to do a find-and-replace for straight apostrophe in the .docx file before you copy it into your XML file.

Replace Quotation Marks with Appropriate Tags

Remove quotation marks and replace them with appropriate tags: <quote> , <soCalled> , <mentioned> , or <q> . For practice, see Introduction to Quotations, Terms, Expressions, Glosses, Emphasis, and Foreign Languages.

Tidy and Add xml:ids

Tidy the xml:ids of the <div> elements. For practice, see Practice: Give xml:ids to Divisions in Documentation.
Give the paragraphs xml:ids following the example of the first numbered paragraph. For practice, see Number Paragraphs in Critical Paratexts.

Practice: Tag Italics

Anything that the author had italicized has been wrapped in a <hi> element with a @rendition attribute and the value rnd:italic. Use contextual clues to figure out why the original text was italicized and tag it appropriately. Add <title> elements with the @level value of m (if the italics mark a title of a monograph) or appropriate tagging if the italics mean something else (like a foreign word). See Encode Titles, Encode Foreign Languages, and Encode Emphasis.

Practice: Add Ellipsis Characters

Convert three spaced dots to the ellipsis character (if they are in the source) or <gap reason="sampling"> if the editor is omitting material to keep things short. See Practice: Insert an Ellipsis Character.

Practice: Update Document Status: Proofing

When you have completed your work, change the document status. Follow these steps:
Change the value of @status on <revisionDesc> to IML-TEI_proofing.
Add a new <change> element as a child of <revisionDesc> .
Write the substantive change in the text node (i.e. Finished remediating document).
Add a @who, a @when, and a @status attribute to the <change> element.
Add the prefix pers: followed by your xml:id to the @who attribute.
Add the date you finished the remediation to the @when attribute.

Other Resources

LEMDO YouTube video: Critical Paratexts (Technical)
LEMDO YouTube video: Sources (Editorial)
LEMDO YouTube video: Collation (Technical): Linking

Remediate Supplementary Texts

Rationale

Supplementary texts occupy a middle zone between primary texts and critical paratexts. They are inherited entirely from the legacy projects and from in-progress editions. The supplementary texts that were published on the ISE Platform were, like the critical paratexts, prepared in the markdown language of the ISE’s XWiki installation, which was not subject to the same rules as the modernized texts prepared in IML. But the editors also provided light annotation of the text to help the reader.
Supplementary texts were required by Broadview Press (the ISE print publishing partner). LEMDO and DRE do not generally encourage the creation of new supplementary texts within digital editions. LEMDO recommends that any ancillary primary texts be treated as primary texts and given full editorial treatment in their own right. Passages that are central to the critical introduction ought to be quoted in the critical introduction.
Given the limited value of these texts to LEMDO, remediation of them will be done at the discretion of the Director of LEMDO, in conversation with the anthology leads.

Validation of Supplementary Texts

Supplementary texts are validated against a subset of rules in the schema that is used only for these texts:
Square brackets are allowed in supplementary texts.
Inline editorial notes are allowed. See Editorial Notes and Annotations for Supplementary Materials for more information on when to use editorial notes.
Inline authorial notes are allowed in order to distinguish between notes from the original source and notes added by the editor.
<gap> element is allowed. <gap> is the preferred solution for omitted material in the middle of a passage.
Ellipses are allowed but not recommended. We allow them simply because we as remediators cannot always tell if the ellipses are part of the original source or indicate omitted material.
All legacy @part attributes can be removed.

Notes

1.Note that Oxygen, Ant, Ant-contrib, and OSX should be available on all HCMC machines. The easiest way to install these on a Mac is to use Homebrew, which is a command line open-source package manager. The packages for ant and ant-contrib are their names (i.e. brew install ant and brew install ant-contrib; OSX is part of open-sp: brew install open-sp.↑
2.A simple bash script would probably do the trick: for s in sgmlFiles; do ant -lib lib code/conversion/buildSingleFile.xml -DthisWork=work -Dsgml.file=$s; done.↑
3.Note that there are a few variations of this error (e.g. This <l> has a part M but no following F or preceding I), which all require similar a similar approach.↑

Prosopography

Chloe Mee

Chloe Mee (she/her) worked as a research assistant with the LEMDO team over several periods from 2022 to 2025. She graduated from the University of Victoria in 2025 with a BA (Hons with distinction) in English. She will be studying at the University of British Columbia to complete her MA in English. Chloe collaborated with the LEMDO team on a VKURA internship in summer 2022, mainly focusing on Hamlet quartos. Following her internship, she also worked as a research assistant in 2022–23 and 2025.

Illya

Illya has a BA in English and Sociocultural Anthropology and an MA in English. Prior to joining the HCMC, he was a PhD candidate in English and Book History at the University of Toronto and worked on Records of Early English Drama and on the Modernist Archives Publishing Project. His work at the HCMC focuses on creating web-based applications for research projects led by members of the faculty of Humanities at the University of Victoria. This involves creating schemas for new and existing datasets, writing XSLT and build files to transform datasets into structured TEI and HTML formats, implementing staticSearch, and ensuring that new projects are Endings Principles compliant.

Isabella Seales

Isabella Seales is a fourth year undergraduate completing her Bachelor of Arts in English at the University of Victoria. She has a special interest in Renaissance and Metaphysical Literature. She is assisting Dr. Jenstad with the MoEML Mayoral Shows anthology as part of the Undergraduate Student Research Award program.

Janelle Jenstad

Janelle Jenstad is a Professor of English at the University of Victoria, Director of The Map of Early Modern London, and Director of Linked Early Modern Drama Online. With Jennifer Roberts-Smith and Mark Beatrice Kaethler, she co-edited Shakespeare’s Language in Digital Media: Old Words, New Tools (Routledge). She has edited John Stow’s A Survey of London (1598 text) for MoEML and is currently editing The Merchant of Venice (with Stephen Wittek) and Heywood’s 2 If You Know Not Me You Know Nobody for DRE. Her articles have appeared in Digital Humanities Quarterly, Elizabethan Theatre, Early Modern Literary Studies, Shakespeare Bulletin, Renaissance and Reformation, and The Journal of Medieval and Early Modern Studies. She contributed chapters to Approaches to Teaching Othello (MLA); Teaching Early Modern Literature from the Archives (MLA); Institutional Culture in Early Modern England (Brill); Shakespeare, Language, and the Stage (Arden); Performing Maternity in Early Modern England (Ashgate); New Directions in the Geohumanities (Routledge); Early Modern Studies and the Digital Turn (Iter); Placing Names: Enriching and Integrating Gazetteers (Indiana); Making Things and Drawing Boundaries (Minnesota); Rethinking Shakespeare Source Study: Audiences, Authors, and Digital Technologies (Routledge); and Civic Performance: Pageantry and Entertainments in Early Modern London (Routledge). For more details, see janellejenstad.com.

Joey Takeda

Joey Takeda is LEMDO’s Consulting Programmer and Designer, a role he assumed in 2020 after three years as the Lead Developer on LEMDO.

Kate LeBere

Project Manager, 2020–2021. Assistant Project Manager, 2019–2020. Textual Remediator and Encoder, 2019–2021. Kate LeBere completed her BA (Hons.) in History and English at the University of Victoria in 2020. During her degree she published papers in The Corvette (2018), The Albatross (2019), and PLVS VLTRA (2020) and presented at the English Undergraduate Conference (2019), Qualicum History Conference (2020), and the Digital Humanities Summer Institute’s Project Management in the Humanities Conference (2021). While her primary research focus was sixteenth and seventeenth century England, she completed her honours thesis on Soviet ballet during the Russian Cultural Revolution. She is currently a student at the University of British Columbia’s iSchool, working on her masters in library and information science.

Mahayla Galliford

Project Manager, 2025-present; Assistant Project Manager, 2024-2025; Research Assistant, 2021-present. Mahayla Galliford (she/her) graduated from the University of Victoria with a BA (honours with distinction) in 2024, and an MA English in 2026. Mahayla’s undergraduate research explored early modern stage directions and civic water pageantry. Her SSHRC-funded MA thesis project focuses on transcribing, editing, and encoding early modern girls’ manuscripts, specifically Lady Rachel Fane’s May Masque in collaboration with LEMDO.

Martin Holmes

Martin Holmes has worked as a developer in the UVic’s Humanities Computing and Media Centre for over two decades, and has been involved with dozens of Digital Humanities projects. He has served on the TEI Technical Council and as Managing Editor of the Journal of the TEI. He took over from Joey Takeda as lead developer on LEMDO in 2020. He is a collaborator on the SSHRC Partnership Grant led by Janelle Jenstad.

Navarra Houldin

Training and Documentation Lead 2025–present. LEMDO project manager 2022–2025. Textual remediator 2021–present. Navarra Houldin (they/them) completed their BA with a major in history and minor in Spanish at the University of Victoria in 2022. Their primary research was on gender and sexuality in early modern Europe and Latin America. They are continuing their education through an MA program in Gender and Social Justice Studies at the University of Alberta where they will specialize in Digital Humanities.

Nicole Vatcher

Technical Documentation Writer, 2020–2022. Nicole Vatcher completed her BA (Hons.) in English at the University of Victoria in 2021. Her primary research focus was women’s writing in the modernist period.

PLACEHOLDER PERSON

Rylyn Christensen

Rylyn Christensen is an English major at the University of Victoria.

Samuel Seaberg

Samuel Seaberg, a University of Victoria English undergrad, enjoys riding his bike. During the summer of 2025, he began working with LEMDO as a recipient of the Valerie Kuehne Undergraduate Research Award (VKURA). Unfortunately, due to his summer being spent primarily in working to establish an edition of Thomas Heywood’s If You Know Not Me, You Know Nobody, Part 2 and consequently working out how to represent multi-text works in a digital space, his bike has suffered severely of sheltered seclusion from the sun. Note: Samuel now works for LEMDO as the Assistant Project Manager, much to his bike’s chagrin.

Tracey El Hajj

Junior Programmer 2019–2020. Research Associate 2020–2021. Tracey received her PhD from the Department of English at the University of Victoria in the field of Science and Technology Studies. Her research focuses on the algorhythmics of networked communications. She was a 2019–2020 President’s Fellow in Research-Enriched Teaching at UVic, where she taught an advanced course on Artificial Intelligence and Everyday Life. Tracey was also a member of the Map of Early Modern London team, between 2018 and 2021. Between 2020 and 2021, she was a fellow in residence at the Praxis Studio for Comparative Media Studies, where she investigated the relationships between artificial intelligence, creativity, health, and justice. As of July 2021, Tracey has moved into the alt-ac world for a term position, while also teaching in the English Department at the University of Victoria.

Bibliography

Dekker, Thomas, and Thomas Middleton. The converted curtezan with, the humours of the patient man, and the longing wife. London: Valentine Simmes for John Hodgets, 1604. STC 6501.5. DEEP 363. ESTC S120001. Greg 204b.
Drake, Nathan. Shakespeare and His Times. 2 vols. London, 1817.
Farmer, John S., ed. The Famous Victories of Henry the Fifth 1598. The Tudor Facsimile Texts, 1912.
Oxford Dictionary of National Biography. Oxford University Press, 2004–2013. http://www.oxforddnb.com/.
The famous victories of Henry the fifth. Thomas Creede, 1598. STC 13072. Queen’s Men Editions. ESTC S106379. DEEP 252.

Orgography

LEMDO Team (LEMD1)

The LEMDO Team is based at the University of Victoria and normally comprises the project director, the lead developer, project manager, junior developers(s), remediators, encoders, and remediating editors.

Metadata