Encode Speakers in Modernized Texts
Prior Reading
This documentation presupposes that you have already created a
<listPerson>
in the
<teiHeader>
of your modernized text. If you have not yet done this, please refer to:
Rationale
LEMDO’s encoding protocols for speakers have four aims:
This documentation will guide you through these protocols, so that you can correctly
encode the speakers in your modernized text.
To ensure consistency in the speech prefixes of a modernized text
To allow for changes in a character’s title over the course of a play (from “Prince”
to “King”, for example)
To identify all of the speeches spoken by a single character in a play and make them
processable (for cue scripts, for example)
To accommodate for multiple speakers who share a speech and unusual speech prefixes
(such as “All”, “Both”, or “Voices within”)
Introduction
In modernized texts, LEMDO connects speeches to characters in two ways:
Adding a
@who attribute to the
<sp>
element, so that each
<sp>
element contains machine-readable identification linking back to the
<listPerson>
element.Adding a
<speaker>
element as a child of the
<sp>
element, so that you have control over the rendered speech prefixes in your edition.The link to your
<listPerson>
element created by your
@who attribute allows our Schematron to check your speakers for consistency and ensure
that your
<listPerson>
captures every speaking character in your text. The
@who attribute is required on every
<sp>
element in a modernized text.The text in your
<speaker>
element must match one of the
<reg>
elements in your
<listPerson>
. This constraint allows our Schematron to check for consistency in spelling and capitalization
in the speech prefixes throughout your file. Practice: Encode the
@who Attribute
To link from a speech to a character in your
<listPerson>
:
Put a
@who attribute on your
<sp>
element.Find and copy the
@xml:id on the
<person>
element associated with the character in your
<listPerson>
.Give the
@who attribute a value of "#" followed by the
@xml:id of the character that you just copied.The value of the
@who attribute should be formatted as "#characterID".In the following example from Henry V, the editor identifies the speech as being spoken by King Henry by linking back to
the
@xml:id of King Henry in the
<listPerson>
:
<teiHeader><!-- … -->
<listPerson><!-- … -->
<person xml:id="emdH5_FM_KingHenry">
<persName>
<name>King Henry V</name>
<reg>King Henry</reg>
</persName>
</person>
<!-- … -->
</listPerson>
<!-- … -->
</teiHeader> <text>
<body><!-- … -->
<sp who="#emdH5_FM_KingHenry">
<l>Once more unto the breach, dear friends, once more,</l>
<!-- … -->
</sp>
<!-- … -->
</body>
</text>
In this case, the value of the <listPerson><!-- … -->
<person xml:id="emdH5_FM_KingHenry">
<persName>
<name>King Henry V</name>
<reg>King Henry</reg>
</persName>
</person>
<!-- … -->
</listPerson>
<!-- … -->
</teiHeader> <text>
<body><!-- … -->
<sp who="#emdH5_FM_KingHenry">
<l>Once more unto the breach, dear friends, once more,</l>
<!-- … -->
</sp>
<!-- … -->
</body>
</text>
@xml:id on the
<person>
element is "emdH5_FM_KingHenry". The value on the
@who attribute is therefore "#emdH5_FM_KingHenry".Practice: Encode the Speech Prefix
To encode a speech prefix:
Add a
<speaker>
element as a child of your
<sp>
element.Type the speech prefix into the text node of the
<speaker>
element. Note that the speech prefix must exactly match the text from a
<reg>
element in your
<listPerson>
.For example, the speech prefix for the same Henry V speech is encoded as follows:
<teiHeader><!-- … -->
<listPerson><!-- … -->
<person xml:id="emdH5_FM_KingHenry">
<persName>
<name>King Henry V</name>
<reg>King Henry</reg>
</persName>
</person>
<!-- … -->
</listPerson>
<!-- … -->
</teiHeader> <text>
<body><!-- … -->
<sp who="#emdH5_FM_KingHenry">
<speaker>King Henry</speaker>
<l>Once more unto the breach, dear friends, once more,</l>
<!-- … -->
</sp>
<!-- … -->
</body>
</text>
Because <listPerson><!-- … -->
<person xml:id="emdH5_FM_KingHenry">
<persName>
<name>King Henry V</name>
<reg>King Henry</reg>
</persName>
</person>
<!-- … -->
</listPerson>
<!-- … -->
</teiHeader> <text>
<body><!-- … -->
<sp who="#emdH5_FM_KingHenry">
<speaker>King Henry</speaker>
<l>Once more unto the breach, dear friends, once more,</l>
<!-- … -->
</sp>
<!-- … -->
</body>
</text>
King Henryis the exact text in the
<reg>
element for the character, it is allowed in the text node of the
<speaker>
element.Special Case: Characters with Names that Change
In some cases, a character’s name changes partway through a text (e.g., Prince to
King). In these cases, their
<person>
element in your
<listPerson>
will contain multiple
<reg>
elements. You are responsible for deciding which allowed speech prefix to use at
any given point.For example, Henry’s title changes from
Princeto
Kingin 2H4, as shown by the following encoding:
<teiHeader><!-- … -->
<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>
<!-- … -->
</teiHeader> <text>
<body><!-- … -->
<sp who="#emd2H4_M_Henry">
<speaker>Prince</speaker>
<p>Before god, I am exceeding weary.</p>
</sp>
<!-- … -->
<sp who="#emd2H4_M_Henry">
<speaker>King Henry</speaker>
<l>I know thee not, old man. Fall to thy prayers.</l>
</sp>
<!-- … -->
</body>
</text>
In this case, two <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>
<!-- … -->
</teiHeader> <text>
<body><!-- … -->
<sp who="#emd2H4_M_Henry">
<speaker>Prince</speaker>
<p>Before god, I am exceeding weary.</p>
</sp>
<!-- … -->
<sp who="#emd2H4_M_Henry">
<speaker>King Henry</speaker>
<l>I know thee not, old man. Fall to thy prayers.</l>
</sp>
<!-- … -->
</body>
</text>
<reg>
elements are associated with Henry. At the beginning of the play, his speech prefix
is Prince,matching the first
<reg>
element listed within his
<person>
element. After he is crowned, his speech prefix becomes King Henry,matching the second
<reg>
element. The value on the
@who attribute is the same in both cases, as both speech prefixes refer to the same
<person>
element.Special Case: Multiple Speakers
Some speeches are spoken by more than one speaker. In those cases, the value of the
@who attribute follows the formula of "#firstCharacterID #secondCharacterID". Inputting each individual speaker’s
@xml:id correspondingly links their individual
<person>
element to the speech. Note that any number of speakers can be assigned to a speech
by lengthening the formula as required. As in all cases where multiple values are
allowed on a single attribute, the individual values are seperated by a space.When there is a speech with multiple speakers, the content in the text node of the
<speaker>
element is not required to match any of the corresponding
<person>
elements’s
<reg>
values.For example, the following speech in Famous Victories of Henry V is spoken by two characters:
<teiHeader><!-- … -->
<listPerson><!-- … -->
<person xml:id="emdFV_M_Ned">
<persName>
<name>Ned, Prince Henry’s companion</name>
<reg>Ned</reg>
</persName>
</person>
<person xml:id="emdFV_M_Tom">
<persName>
<name>Tom, Prince Henry’s companion</name>
<reg>Tom</reg>
</persName>
</person>
<!-- … -->
</listPerson>
<!-- … -->
</teiHeader> <text>
<body><!-- … -->
<sp who="#emdFV_M_Ned #emdFV_M_Tom">
<speaker>Ned and Tom</speaker>
<p>Here, my lord.</p>
</sp>
<!-- … -->
</body>
</text>
<listPerson><!-- … -->
<person xml:id="emdFV_M_Ned">
<persName>
<name>Ned, Prince Henry’s companion</name>
<reg>Ned</reg>
</persName>
</person>
<person xml:id="emdFV_M_Tom">
<persName>
<name>Tom, Prince Henry’s companion</name>
<reg>Tom</reg>
</persName>
</person>
<!-- … -->
</listPerson>
<!-- … -->
</teiHeader> <text>
<body><!-- … -->
<sp who="#emdFV_M_Ned #emdFV_M_Tom">
<speaker>Ned and Tom</speaker>
<p>Here, my lord.</p>
</sp>
<!-- … -->
</body>
</text>
Special Case: Irregular Speakers
If a speech has irregular or exceptional speakers, such as
Allor
Voices within,the value of the
@who attribute should be "spkr:other". In this case, the content of the
<speaker>
element is not checked against any
@xml:id belonging to
<person>
elements listed in the TEI header.For example, this speech in Othello is spoken by
Voices Within:
<sp who="spkr:other">
<speaker>Voices Within</speaker>
<l>A sail! A sail! A sail!</l>
</sp>
<speaker>Voices Within</speaker>
<l>A sail! A sail! A sail!</l>
</sp>
Prosopography
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 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.
Mahayla Galliford
Project manager, 2025-present; research assistant, 2021-present. Mahayla Galliford
(she/her) graduated with a BA (Hons with distinction) from the University of Victoria
in 2024. Mahayla’s undergraduate research explored early modern stage directions and
civic water pageantry. Mahayla continues her studies through UVic’s English MA program
and her SSHRC-funded thesis project focuses on editing and encoding girls’ manuscripts,
specifically Lady Rachel Fane’s dramatic entertainments, 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.
Sam 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.
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.
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
| Authority title | Encode Speakers in Modernized Texts |
| Type of text | Documentation |
| Publisher | University of Victoria on the Linked Early Modern Drama Online Platform |
| Series | Linked Early Modern Drama Online |
| Source |
TEI Customization created by Martin Holmes, Joey Takeda, and Janelle Jenstad; documentation written by members of the LEMDO Team
|
| Editorial declaration | n/a |
| Edition | Released with Linked Early Modern Drama Online 1.0 |
| Encoding description | Encoded in TEI P5 according to the LEMDO Customization and Encoding Guidelines |
| Document status | prgGenerated |
| Funder(s) | Social Sciences and Humanities Research Council of Canada |
| License/availability |
This file is licensed under a CC BY-NC_ND 4.0 license, which means that it is freely downloadable without permission under the following
conditions: (1) credit must be given to the author and LEMDO in any subsequent use
of the files and/or data; (2) the content cannot be adapted or repurposed (except
in quotations for the purposes of academic review and citation); and (3) commercial
uses are not permitted without the knowledge and consent of the editor and LEMDO.
This license allows for pedagogical use of the documentation in the classroom.
|