Module 5: Drama

1. Introduction

This module treats the encoding of texts that are meant to be performed in some way, or that are transcriptions of stage performances. Although the TEI Guidelines do not discriminate between the many possible kinds of ways to perform such texts, it is important to notice that the TEI recommendations apply to written representations of performance texts. Because these texts have particular structural characteristics, they are treated in a separate chapter of the TEI Guidelines, 7. Performance Texts, documenting the TEI elements in the dedicated drama module. In order to use all elements discussed in this tutorial, it is therefore necessary to include the drama module in your TEI schema, as explained in Module 8: Customising TEI, ODD, Roma of this tutorial series.

Note

It is important to notice that the TEI drama module is intended for the transcription of the structural aspects of written (or printed) drama texts. For the transcription of actual stage performances as spoken texts, the TEI Guidelines refer to the elements defined in the spoken module, documented in chapter 8. Transcriptions of Speech of the TEI Guidelines.

2. Drama

Consider following text:

ACT 1 SCENE 1: HELLO WORLD user, computer In a clean room without windows, a table stands in the middle, carrying a computer screen. The screen blinks, the computer emits random beeps. [The contents of the computer screen are projected onto a big screen at the left hand side of the stage. The user's face is filmed in close up and projected onto a screen at the right hand side of the stage.] (user enters room, walks towards the table, takes a seat, and reads what's on the screen) COMP: Hello. (user looks around and starts typing) USER: What is on the table? COMP: The table does not exist. (user frowns) USER: There is a table in the room. COMP: Ok. USER: What is on the table? COMP: Nothing. USER: There is a black box on the table. COMP: Ok. USER: What is on the table? COMP: A black box. USER: There is a black box on the table. (computer beeps frantically) COMP: I know. USER: There is a red ball in the black box. COMP: Ok. USER: Where is the black box? COMP: The black box is on the table. USER: What is in the black box? COMP: A red ball. USER: Where is the black ball? COMP: I don't know what black ball you are talking about. USER: Where is the red ball? COMP: In the black box. USER: There is a black ball in the box. COMP: Ok. USER: The red ball is on the table. COMP: In fact the red ball is in the box. USER: The ball in the box is small. COMP: I cannot understand such a sentence at the present time. USER: The black ball is small. COMP: I see. USER: What is in the box? COMP: A small black ball and a red ball. (user smiles, stands up, takes a small green ball out of his pocket, walks away throwing and catching the ball) [Kraftwerk's "Computer Love" accompanies the exit]
Example 1. A sample drama text.

When determining this text’s structural DNA, it is clear that it is not prose, nor poetry. On the macro-level, the major structural divisions are acts and scenes (instead of prose chapters or poetic stanzas). On the micro-level, the basic textual unit is made up of short lines of text. At first sight, they visually appear as poetic lines, yet there is no systematic rhyme nor metre in this case. On the other hand, each line could be considered a mini-paragraph. Yet, the text lines (be it lines or paragraphs) seem to be grouped according to a specific rhetorical principle: the narrative character by whom they are spoken. Often, as in this example, this character is named at the beginning of each utterance. It is these utterances (called “speeches”) that make up the basic structural unit of drama texts.

As this example illustrates, a drama text shares some characteristics with other text genres, but has its own specific structural features, too. Common structural text elements can be encoded with the elements discussed in Module 1: Common Structure, Elements, and Attributes of this tutorial series. The elements specific to drama texts are discussed in this module.

Challenge

Identify and try to name all structural units you can distinguish in the text above.

When you’re done, click the arrow! When you’re done, click the arrow!

Solution

These are significant elements of drama texts that are discussed in this tutorial module:

  • Acts
  • Scenes
  • Set descriptions
  • Speeches
  • Stage directions
  • Technical directions

The following sections of this tutorial explain how these phenomena can be encoded using TEI.

3. Basic Structure

3.1. Structural Divisions of the Actual Text

As with any other TEI text, the actual contents of drama texts are encoded in <body>, possibly preceded by front matter in <front> and succeeded by back matter in <back>. Inside <body>, the actual text often has specific structures: acts and scenes. Like parts and chapters in prose works, these can be encoded using the generic TEI element <div> (division). In order to identify the nature of the text divisions, they can be characterised in a @type attribute. For text divisions in drama texts, the values "act" and "scene" can be used, although you can use your own typology if so desired. For our example text, the major structural divisions can be encoded as follows:

<body xmlns="http://www.tei-c.org/ns/1.0">
<div type="act">
<head>ACT I</head>
<div type="scene">
<head>SCENE 1: HELLO WORLD</head>

user, computer

In a clean room without windows, a table stands in the middle, carrying a computer screen.
The screen blinks, the computer emits random beeps.

[A big screen on the left hand side of the stage displays the word HELLO, and will be used to project the contents of the computer screen. A big screen on the right hand stage of the stage displays the word WORD, until the action starts. Then, the user's face is filmed in close up and projected onto this screen.]

(user enters room, walks towards the table, takes a seat, and reads what's on the screen)
[spotlight follows user]
COMP: Hello.
(user looks around and starts typing)
USER: What is on the table?

COMP: The table does not exist.
(user frowns)
USER: There is a table in the room.

COMP: Ok.
USER: What is on the table?

COMP: Nothing.
USER: There is a black box on the table.

COMP: Ok.
USER: What is on the table?

COMP: A black box.
USER: There is a black box on the table.

(computer beeps frantically)
COMP: I know.
USER: There is a red ball in the black box.

COMP: Ok.
USER: Where is the black box?

COMP: The black box is on the table.
USER: What is in the black box?

COMP: A red ball.
USER: Where is the black ball?

COMP: I don't know what black ball you are talking about.
USER: Where is the red ball?

COMP: In the black box.
USER: There is a black ball in the box.

COMP: Ok.
USER: The red ball is on the table.

COMP: In fact the red ball is in the box.
USER: The ball in the box is small.

COMP: I cannot understand such a sentence at the present time.
USER: The black ball is small.

COMP: I see.
USER: What is in the box?

COMP: A small black ball and a red ball.

(user smiles, stands up, takes a small green ball out of his pocket, walks away throwing and catching the ball)
[Kraftwerk's "Computer Love" accompanies the exit]</div>
</div>
</body>
Example 2. Encoding the basic text structure of a drama text.

Of course, this markup is far from complete, and even invalid TEI, as the TEI Guidelines stipulate that <div> text divisions cannot contain unstructured text. We’ll fill in the blanks in the next sections of this tutorial.

Summary

Commonly distinguished large structures in drama texts are acts and scenes. They can be encoded in TEI using the generic <div> element for text divisions. The nature of the text division can be characterised in a @type attribute.

3.2. The Basic Building Block: Speeches

One of the most distinctive organisational principles in drama texts is the grouping of text lines in utterances, spoken by the respective characters. Each line of speech can be encoded in a <sp> (speech) element. When present in the text source, the indications of the speaking character can be encoded in a <speaker> element. The actual text of a speech line should be further encoded as a paragraph (<p>) or verse line (<l>, possibly grouped in <lg>). If the encoder is undecided about the prose or verse qualities of the text lines, <ab> (anonymous block) may also be used.

Note

A dramatic speech line (<sp>) cannot contain unstructured text: it should be encoded further as paragraph (<p>), verse line (<l>, possibly grouped in <lg>), or genre-unspecified anonymous block (<ab>).

For example, the last three speech lines in the example can be encoded as follows:

<sp xmlns="http://www.tei-c.org/ns/1.0">
<speaker>COMP</speaker>
<p>I see.</p>
</sp>
<sp xmlns="http://www.tei-c.org/ns/1.0">
<speaker>USER</speaker>
<p>What is in the box?</p>
</sp>
<sp xmlns="http://www.tei-c.org/ns/1.0">
<speaker>COMP</speaker>
<p>A small black ball and a red ball.</p>
</sp>
Example 3. Encoding of speech lines with <sp>.

Notice how in this example, the colons after the name labels have been left out of the transcription. This is an editorial choice that can be motivated by the fact that the colons themselves are purely typographical separators between the labels and the text, that can systematically be reproduced when this transcription is rendered. Likewise, the blank line between both groups of speeches has been omitted as a purely typographic feature. Typographical line breaks can of course be encoded where they occur with empty <lb> elements.

The <sp> element provides a more formal mechanism for indicating the speaking character, by means of a @who attribute. Its value points to a definition of this character elsewhere in the transcription. The value of this definition’s @xml:id attribute is used in the @who attribute, preceded with a hash character (#), in order to indicate it as the identifier part of a formal URI reference. For example:

<sp xmlns="http://www.tei-c.org/ns/1.0" who="#comp">
<speaker>COMP</speaker>
<p>I see.</p>
</sp>
<sp xmlns="http://www.tei-c.org/ns/1.0" who="#user">
<speaker>USER</speaker>
<p>What is in the box?</p>
</sp>
<sp xmlns="http://www.tei-c.org/ns/1.0" who="#comp">
<speaker>COMP</speaker>
<p>A small black ball and a red ball.</p>
</sp>
Example 4. Formal identification of speakers in a @who attribute on <sp>, and transcription of the labels in the source text with <speaker>.

Notice how this example assumes that both characters are identified elsewhere in the transcription, with "comp" and "user" as respective values for their @xml:id attribute. A common place for such definitions in drama texts is in a “cast list,” introducing all characters of the play. For the encoding of cast lists, see section 4.1 in this tutorial module. When text is spoken by more than one character, the identification codes for all of them can be listed in the @who attribute, separated by white space.

Of course, the encoder is free to choose which identification mechanism will be used for the speakers in the transcription. When the markers are present in the text source, their bare transcription in <speaker> (see example 3) may suffice. It may make equal sense to use both systems (transcription of the actual speaker labels in the source text in <speaker>, and a formal identification in the @who attribute), as in example 4. If the source text has no explicit markers of the speaking characters, or if these markers are present but not deemed relevant to the transcription (and could be reconstructed systematically when rendering the transcription), only the formal identification in the @who may be used:

Note

It is important to point out the different nature of both identification mechanisms for speakers: <speaker> can only contain a literal transcription of a speaker label in the source text; @who can only contain an abstract identification code provided by the encoder.
<sp xmlns="http://www.tei-c.org/ns/1.0" who="#comp">
<p>I see.</p>
</sp>
<sp xmlns="http://www.tei-c.org/ns/1.0" who="#user">
<p>What is in the box?</p>
</sp>
<sp xmlns="http://www.tei-c.org/ns/1.0" who="#comp">
<p>A small black ball and a red ball.</p>
</sp>
Example 5. Formal identification of speakers in a @who attribute on <sp>.

Summary

The speeches of a drama text can be encoded in the <sp> element. In order to identify the speaking character, either the @who attribute may be used on the <sp> element, or the speaker label may be transcribed from the source text in a <speaker> element (or both mechanisms may be used together). Apart from the <speaker> label, speeches must contain structured text, either in <p>, <l> (possibly grouped in <lg>), or genre-neutral <ab> elements.

3.3. Stage Directions

The encoding of all speeches in our example text would still leave some text structures uncovered: all fragments enclosed in parentheses or square brackets. These text fragments are not meant to be spoken in the performance, but rather convey directions on aspects of the performance. Such “stage directions” can be transcribed with the <stage> element. Stage directions can address aspects of the acting, technical circumstances, locations, music, and so on. In order to distinguish between these different types of stage directions, the @type attribute can be used on the <stage> element. The encoder is free to develop an own typology for the kinds of stage directions.

Stage directions can occur in the transcription wherever they appear in the source text. In our example, the stage directions (between parentheses or square brackets) can be encoded as follows:

<div xmlns="http://www.tei-c.org/ns/1.0" type="act">
<head>ACT I</head>
<div type="scene">
<head>SCENE 1: HELLO WORLD</head>
<stage>user, computer</stage>
<stage type="setting">In a clean room without windows, a table stands in the middle, carrying a computer screen. The screen blinks, the computer emits random beeps.</stage>
<stage type="technical">[A big screen on the left hand side of the stage displays the word HELLO, and will be used to project the contents of the computer screen. A big screen on the right hand stage of the stage displays the word WORD, until the action starts. Then, the user's face is filmed in close up and projected onto this screen.]</stage>
<stage type="entrance">(user enters room, walks towards the table, takes a seat, and reads what's on the screen)</stage>
<stage type="technical">[spotlight follows user]</stage>
<sp>
<speaker>COMP</speaker>
<p>Hello.</p>
</sp>
<stage type="gesture">(user looks around and starts typing)</stage>
<sp>
<speaker>USER</speaker>
<p>What is on the table?</p>
</sp>
<sp>
<speaker>COMP</speaker>
<p>The table does not exist.</p>
</sp>
<stage type="gesture">(user frowns)</stage>
<sp>
<speaker>USER</speaker>
<p>There is a table in the room.</p>
</sp>
<sp>
<speaker>COMP</speaker>
<p>Ok.</p>
</sp>
<sp>
<speaker>USER</speaker>
<p>What is on the table?</p>
</sp>
<sp>
<speaker>COMP</speaker>
<p>Nothing.</p>
</sp>
<sp>
<speaker>USER</speaker>
<p>There is a black box on the table.</p>
</sp>
<sp>
<speaker>COMP</speaker>
<p>Ok.</p>
</sp>
<sp>
<speaker>USER</speaker>
<p>What is on the table?</p>
</sp>
<sp>
<speaker>COMP</speaker>
<p>A black box.</p>
</sp>
<sp>
<speaker>USER</speaker>
<p>There is a black box on the table.</p>
</sp>
<stage type="technical">(computer beeps frantically)</stage>
<sp>
<speaker>COMP</speaker>
<p>I know.</p>
</sp>
<sp>
<speaker>USER</speaker>
<p>There is a red ball in the black box.</p>
</sp>
<sp>
<speaker>COMP</speaker>
<p>Ok.</p>
</sp>
<sp>
<speaker>USER</speaker>
<p>Where is the black box?</p>
</sp>
<sp>
<speaker>COMP</speaker>
<p>The black box is on the table.</p>
</sp>
<sp>
<speaker>USER</speaker>
<p>What is in the black box?</p>
</sp>
<sp>
<speaker>COMP</speaker>
<p>A red ball.</p>
</sp>
<sp>
<speaker>USER</speaker>
<p>Where is the black ball?</p>
</sp>
<sp>
<speaker>COMP</speaker>
<p>I don't know what black ball you are talking about.</p>
</sp>
<sp>
<speaker>USER</speaker>
<p>Where is the red ball?</p>
</sp>
<sp>
<speaker>COMP</speaker>
<p>In the black box.</p>
</sp>
<sp>
<speaker>USER</speaker>
<p>There is a black ball in the box.</p>
</sp>
<sp>
<speaker>COMP</speaker>
<p>Ok.</p>
</sp>
<sp>
<speaker>USER</speaker>
<p>The red ball is on the table.</p>
</sp>
<sp>
<speaker>COMP</speaker>
<p>In fact the red ball is in the box.</p>
</sp>
<sp>
<speaker>USER</speaker>
<p>The ball in the box is small.</p>
</sp>
<sp>
<speaker>COMP</speaker>
<p>I cannot understand such a sentence at the present time.</p>
</sp>
<sp>
<speaker>USER</speaker>
<p>The black ball is small.</p>
</sp>
<sp>
<speaker>COMP</speaker>
<p>I see.</p>
</sp>
<sp>
<speaker>USER</speaker>
<p>What is in the box?</p>
</sp>
<sp>
<speaker>COMP</speaker>
<p>A small black ball and a red ball.</p>
</sp>
<stage type="exit">(user smiles, stands up, takes a small green ball out of his pocket, walks away throwing and catching the ball)</stage>
<stage type="technical">[
<name type="music.group">Kraftwerk</name>
's "
<name type="music.song">Computer Love</name>
" accompanies the exit]</stage>
</div>
</div>
Example 6. Encoding of stage directions in <stage>.

The TEI Guidelines provide a specialised element for indicating movements of characters: the empty <move> element. It may be used either to complement implicit movement descriptions in stage directions, or to formally document movement of characters when it is absent from the stage directions. Being an empty element, all information is conveyed in specific attributes. The @type attribute can be used to categorise the movement (for example: "entrance" and "exit" for stage entrance and exit, respectively; or "onStage" for movement on stage). The moving character(s) can be indicated in the @who attribute, as a white space separated list of formal codes with which they are identified elsewhere in the transcription (see section 4.1). The @where attribute may be used to specify the direction of the movement. Any system of location information may be used (for example, "C" for “centre,” "L" for “stage left,” "R" for “stage right”), as long as it is identified in the header of the transcription.

In our example, the encoding of the entrance and exit of the user character could be formally enriched with the <move> element:

<stage xmlns="http://www.tei-c.org/ns/1.0" type="entrance">
<move who="#user" type="entrance" where="C"/>
(user enters room, walks towards the table, takes a seat, and reads what's on the screen)</stage>
<!-- ... -->
<stage xmlns="http://www.tei-c.org/ns/1.0" type="exit">
<move who="#user" type="exit" where="L"/>
(user smiles, stands up, takes a small green ball out of his pocket, walks away throwing and catching the ball)</stage>
Example 7. Encoding of movement of actors with <move>.

It is equally possible to distinguish technical stage directions from general stage directions, using specialised elements. Directions regarding sounds can be encoded using the <sound> element. The @type element can indicate what kind of sound is meant, while the @discrete attribute can specify whether the sound overlaps with the surrounding speeches ("false"), or not ("true"). For example:

<stage xmlns="http://www.tei-c.org/ns/1.0" type="setting">In a clean room without windows, a table stands in the middle, carrying a computer screen. The screen blinks,
<sound type="soundEffect">the computer emits random beeps</sound>
.</stage>
<!-- ... -->
<sound xmlns="http://www.tei-c.org/ns/1.0" type="soundEffect" discrete="true">(computer beeps frantically)</sound>
<!-- ... -->
<sound xmlns="http://www.tei-c.org/ns/1.0" type="music">[
<name type="music.group">Kraftwerk</name>
's "
<name type="music.song">Computer Love</name>
" accompanies the exit]</sound>
Example 8. Encoding of sound effects with <sounnd>.

Descriptions of the contents of a screen (usual in transcriptions of screen plays) can be encoded in a <view> element. In our example, this could apply to the description of both screens on the stage:

<stage xmlns="http://www.tei-c.org/ns/1.0" type="technical">[
<view>A big screen on the left hand side of the stage displays the word HELLO, and will be used to project the contents of the computer screen.</view>
<view>A big screen on the right hand stage of the stage displays the word WORD, until the action starts. Then, the user's face is filmed in close up and projected onto this screen.</view>
]</stage>
Example 9. Encoding of screen contents with <view>.

Specific camera directions can be encoded using the <camera> element, whose @type attribute can specify the direction:

<stage xmlns="http://www.tei-c.org/ns/1.0" type="technical">[
<view>A big screen on the left hand side of the stage displays the word HELLO, and will be used to project the contents of the computer screen.</view>
<view>A big screen on the right hand stage of the stage displays the word WORD, until the action starts. Then, the user's face is filmed in
<camera type="angle">close up</camera>
and projected onto this screen.</view>
]</stage>
Example 10. Encoding of camera directions with <camera>.

Directions about text to be displayed on screen (usual in transcriptions of screen plays) can be encoded in a <caption> element. This could be applied to the directions on both screens on the stage:

<stage xmlns="http://www.tei-c.org/ns/1.0" type="technical">[
<view>A big screen on the left hand side of the stage displays the word
<caption>HELLO</caption>
, and will be used to project the contents of the computer screen.</view>
<view>A big screen on the right hand stage of the stage displays the word
<caption>WORD</caption>
, until the action starts. Then, the user's face is filmed in
<camera type="angle">close up</camera>
and projected onto this screen.</view>
]</stage>
Example 11. Encoding of text in a caption on the screen with <caption>.

Other technical stage directions, not meant for the actors can be encoded with the <tech> element, with a @type attribute for classifying the stage direction. The @type attribute can be used for a typology of such technical directions: "light" (a lighting instruction), "sound" (a sound instruction), "prop" (a direction for props), or "block" (a blocking cue, i.e., related to position and movement on stage).

<tech xmlns="http://www.tei-c.org/ns/1.0" type="light">[spotlight follows user]</tech>
Example 12. Encoding of a technical stage direction with <tech>.

Summary

Stage directions, providing more information about the circumstances of the performance, may be transcribed using the <stage> element. The @type attribute can be used to further specify the kind of stage direction. Movement of characters can be formally encoded using the empty <move> element. The type of movement can be specified in a @type attribute, a pointer to the moving character can be provided in the @who attribute, and the location of the movement can be specified in the @where attribute. Technical stage directions can be distinguished from more general ones by means of specific elements. Sound directions can be encoded with the <sound> element, whose @type attribute can specify the kind of sound described, while the @discrete attribute can specify whether the sound overlaps ("false") with the dialogue or not ("true"). Descriptions of screen contents can be encoded with the <view> element. Specific camera instructions can be encoded with <camera>, whose @type attribute specifies the kind of camera instruction. Directions for screen captions can be encoded using the <caption> element. Other technical stage directions can be encoded in the <tech> element, whose @type attribute can be used to specify whether the stage direction concerns lighting cues ("light"), sound cues ("sound"), prop cues ("prop"), or blocking cues ("block").

4. Front and Back Matter

Besides peculiar basic structures in the actual text, drama texts can be preceded or followed by specific structural elements. Consider following fragments preceding and succeeding the play’s body text:

<front> <back>
CHARACTERS: USER: a computer user COMP: a DECPDP-10 computer demigods: PROG: the computer programmer ENGI: an engineer helpdesk, narrator The play is situated in an anonymous computer lab room, at an undetermined time. Technical equipment looks outdated, though, while suggesting naive technological optimism. Prologue, spoken by USER: 'Twas brillig, and the slithy toves Did gyre and gimble in the wabe; All mimsy were the borogoves, And the mome raths outgrabe. "Beware the Jabberwock, my son! The jaws that bite, the claws that catch! Beware the Jubjub bird, and shun The frumious Bandersnatch!"
Epilogue, spoken by PROG: "And hast thou slain the Jabberwock? Come to my arms, my beamish boy! O frabjous day! Callooh! Callay!" He chortled in his joy. 'Twas brillig, and the slithy toves Did gyre and gimble in the wabe; All mimsy were the borogoves, And the mome raths outgrabe. Hello World, and Goodbye. Performed for the first time on the Festival for Computing in the Humanities, at Shakespeare's New Globe Theatre, London, on June 21, 2050. Actors: Alfred Brown - PROG, Barry Crowne - ENGI, Douglas Everett - USER.

Challenge

What structural elements can you distinguish in these front and back sections?

When you’re done, click the arrow! When you’re done, click the arrow!

Solution

Following are significant elements in a drama text’s front and back part:

  • Cast list
  • Description of setting
  • Prologue
  • Epilogue
  • Performance information

The following sections of this tutorial explain how these structures can be encoded using TEI.

4.1. Cast List

The front matter of this play starts with an enumeration of all dramatic characters, and a brief explanation of their respective roles in the play. This could be encoded as a basic TEI <list>, with each character and role set as a distinct <item>. However, the drama module includes a dedicated <castList> element. Inside <castList>, each named character is to be encoded as a distinct <castItem> element. This description of a cast item can consist of a <role> element, describing the name of the dramatic role; a <roleDesc> element, describing the role of that character; and an <actor> element, naming the actor performing the role:

<castList xmlns="http://www.tei-c.org/ns/1.0">
<head>CHARACTERS:</head>
<castItem>
<role>USER</role>
<roleDesc>a computer user</roleDesc>
</castItem>
<castItem>
<role>COMP</role>
<roleDesc>a DECPDP-10 computer</roleDesc>
</castItem>
demigods:
<castItem>
<role>PROG</role>
<roleDesc>the computer programmer</roleDesc>
</castItem>
<castItem>
<role>ENGI</role>
<roleDesc>an engineer</roleDesc>
</castItem>
<castItem>
<roleDesc>helpdesk</roleDesc>
</castItem>
<castItem>
<roleDesc>narrator</roleDesc>
</castItem>
</castList>
Example 13. Encoding of a cast list with <castList>.

This example, however, is incorrect. A <castList> element doesn’t allow plain text, as illustrated by the highlighted phrase “demigods:.” Rather than naming or describing one single character, this functions as a kind of label for the following two character descriptions. This suggests a grouping, which can be accomplished in TEI by wrapping grouped <castItem> elements in a <castGroup> element. The label, then, can be encoded as a <head> for the <castGroup>. The @rend attribute can be used to indicate any typographical indication of this grouping. If in our example, the PROG and ENGI character descriptions are grouped using a brace, this can be expressed by the value "braced" for the @rend attribute:

<castList xmlns="http://www.tei-c.org/ns/1.0">
<head>CHARACTERS:</head>
<castItem>
<role>USER</role>
<roleDesc>a computer user</roleDesc>
</castItem>
<castItem>
<role>COMP</role>
<roleDesc>a DECPDP-10 computer</roleDesc>
</castItem>
<castGroup rend="braced">
<head>demigods:</head>
<castItem>
<role>PROG</role>
<roleDesc>the computer programmer</roleDesc>
</castItem>
<castItem>
<role>ENGI</role>
<roleDesc>an engineer</roleDesc>
</castItem>
</castGroup>
<castItem>
<roleDesc>helpdesk</roleDesc>
</castItem>
<castItem>
<roleDesc>narrator</roleDesc>
</castItem>
</castList>
Example 14. Grouping related <castItm> descriptions in <castGroup>.

If we look closely, we can see that the last two character descriptions could be considered a group as well. Yet, they are a mere enumeration of character names (without any grouping label). Minor “anonymous” roles in a play are often just listed together. Such groups of “anonymous” roles can be grouped in a single <castItem> element, with a @type="list" attribute. Notice how these character descriptions only consist of a role description:

<castList xmlns="http://www.tei-c.org/ns/1.0">
<head>CHARACTERS:</head>
<castItem>
<role>USER</role>
<roleDesc>a computer user</roleDesc>
</castItem>
<castItem>
<role>COMP</role>
<roleDesc>a DECPDP-10 computer</roleDesc>
</castItem>
<castGroup rend="braced">
<head>demigods:</head>
<castItem>
<role>PROG</role>
<roleDesc>the computer programmer</roleDesc>
</castItem>
<castItem>
<role>ENGI</role>
<roleDesc>an engineer</roleDesc>
</castItem>
</castGroup>
<castItem type="list">
<roleDesc>helpdesk</roleDesc>
<roleDesc>narrator</roleDesc>
</castItem>
</castList>
Example 15. Grouping “anonymous” role descriptions in a single <castItem> element.

Notice how the @rend attribute on this <castGroup> element is used to indicate that the grouping of cast items is typographically supported by using braces.

Remember how other elements in the transcription of this drama text referred to the definition of dramatic characters “elsewhere in the transcription” (see sections 3.2 and 3.3)? Well, this is the place! Therefore, we’ll add the identification codes to the respective <role> elements, using the @xml:id attribute:

<castList xmlns="http://www.tei-c.org/ns/1.0">
<head>CHARACTERS:</head>
<castItem>
<role xml:id="user">USER</role>
<roleDesc>a computer user</roleDesc>
</castItem>
<castItem>
<role xml:id="comp">COMP</role>
<roleDesc>a DECPDP-10 computer</roleDesc>
</castItem>
<castGroup rend="braced">
<head>demigods:</head>
<castItem>
<role xml:id="prog">PROG</role>
<roleDesc>the computer programmer</roleDesc>
</castItem>
<castItem>
<role xml:id="engi">ENGI</role>
<roleDesc>an engineer</roleDesc>
</castItem>
<castItem type="list">
<roleDesc>helpdesk</roleDesc>
,
<roleDesc>narrator</roleDesc>
</castItem>
</castGroup>
</castList>
Example 16. Formally identifying <role>s in a cast list with @xml:id.

Summary

A cast list can be encoded with the <castList> element. It consists of a number of <castItem> elements, providing information on the name of the role (<role>), the description of the dramatic role (<roleDesc>), and/or actors who perform(ed) the role (<actor>). Enumerations of minor characters can be encoded in a single <castItem> element, with a <type> attribute whose value is "list". Groups of character descriptions in <castItem> can be wrapped in a <castGroup> element.

4.2. Description of Setting

Sometimes, the front matter of a play contains a general description of the setting. This can be encoded with the specific <set> element. As <set> can’t contain plain text, its text should be wrapped in paragraphs (or lines, for that matter). For example:

Note

Caution! Whereas a general description of the settings in the front matter of a drama text is to be encoded in a <set> element, descriptions of the setting in the body of a drama text should be encoded as stage directions with <stage> (see section 3.3).
<set xmlns="http://www.tei-c.org/ns/1.0">
<p>The play is situated in an anonymous computer lab room, at an undetermined time. Technical equipment looks outdated, though, while suggesting naive technological optimism.</p>
</set>
Example 17. Encoding setting descriptions in <set>.

Summary

If the front part of a drama text contains descriptions of the settings in which the action of the play takes place, these should be encoded in <p> elements inside a <set> element.

4.3. Prologue and Epilogue

A drama text may be preceded and/or concluded by a short speech. Such speeches can be encoded as <prologue> and <epilogue>, respectively. They can be encoded according to their genre-characteristics (most often prose or verse), or according to their rhetoric characteristics (as a speech in <sp>, which is particularly meaningful if the speech contains typical dramatical elements such as stage directions). Here is an example of both approaches:

Note

Notice, that the analysis of a speech as prologue or epilogue is sometimes open to interpretation. When such speeches immediately precede or follow the actual drama text, they may as well be regarded as a separate division of the text body. Notice, however, that they should then be encoded inside the existing dramatic structure, or inside a separate textual division (<div>). When considered as part of the actual drama text, they may not be encoded as <prologue> or <epilogue>.
<front> <back>
<front xmlns="http://www.tei-c.org/ns/1.0">
<!-- ... -->
<prologue>
<head>Prologue, spoken by USER:</head>
<lg type="stanza">
<l>'Twas brillig, and the slithy toves</l>
<l>Did gyre and gimble in the wabe;</l>
<l>All mimsy were the borogoves,</l>
<l>And the mome raths outgrabe.</l>
</lg>
<lg type="stanza">
<l>"Beware the Jabberwock, my son!</l>
<l>The jaws that bite, the claws that catch!</l>
<l>Beware the Jubjub bird, and shun</l>
<l>The frumious Bandersnatch!"</l>
</lg>
</prologue>
<!-- ... -->
</front>
Example 18. Encoding of an introductory speech as <prologue>.
<back xmlns="http://www.tei-c.org/ns/1.0">
<epilogue>
<head>Epilogue, spoken by PROG:</head>
<sp>
<lg type="stanza">
<l>"And hast thou slain the Jabberwock?</l>
<l>Come to my arms, my beamish boy!</l>
<l>O frabjous day! Callooh! Callay!"</l>
<l>He chortled in his joy.</l>
</lg>
<lg type="stanza">
<l>'Twas brillig, and the slithy toves</l>
<l>Did gyre and gimble in the wabe;</l>
<l>All mimsy were the borogoves,</l>
<l>And the mome raths outgrabe.</l>
</lg>
</sp>
</epilogue>
<!-- ... -->
</back>
Example 19. Encoding of a concluding speech as <prologue>.

Summary

Speeches serving as a prologue or epilogue to a play can be encoded with <prologue>, or <epilogue>, respectively.

4.4. Performance Description

The front or back matter of a drama text may include information on how it should be, or has been, performed. Such information should be encoded as structured text in one or more paragraphs. When descriptions of past performances include information on the cast, this can be captured in an embedded <castList> element. The back part of our example happens to feature a performance description:

<back xmlns="http://www.tei-c.org/ns/1.0">
<performance>
<head>Hello World, and Goodbye.</head>
<p>Performed for the first time on the
<name type="event">Festival for Computing in the Humanities</name>
, at
<name type="place.venue">Shakespeare's New Globe Theatre</name>
,
<name type="place.city">London</name>
, on
<date when="2050-06-21">June 21, 2050</date>
.</p>
<castList>
<head>Actors:</head>
<castItem>
<actor>Alfred Brown</actor>
<role>PROG</role>
</castItem>
<castItem>
<actor>Barry Crowne</actor>
<role>ENGI</role>
</castItem>
<castItem>
<actor>Douglas Everett</actor>
<role>USER</role>
</castItem>
</castList>
</performance>
</back>
Example 20. Encoding of information on the performance of a dramatic text in <performance>.

Summary

Information relating to the performance of a drama text, be it descriptions of past performances or general directions for future ones, can be encoded in a <performance> element in the front or back matter of a drama text. Besides a heading and paragraphs, such performance descriptions can contain their own embedded <castList> elements, listing cast for cast lists relating to a particular performance.

5. Summary

This tutorial module has focused on the encoding of specific phenomena of drama texts in TEI. When all of the concepts discussed are applied to the example text, this is how its transcription could look:

<text xmlns="http://www.tei-c.org/ns/1.0">
<front>
<castList>
<head>CHARACTERS:</head>
<castItem>
<role xml:id="user">USER</role>
<roleDesc>a computer user</roleDesc>
</castItem>
<castItem>
<role xml:id="comp">COMP</role>
<roleDesc>a DECPDP-10 computer</roleDesc>
</castItem>
<castGroup rend="braced">
<head>demigods:</head>
<castItem>
<role xml:id="prog">PROG</role>
<roleDesc>the computer programmer</roleDesc>
</castItem>
<castItem>
<role xml:id="engi">ENGI</role>
<roleDesc>an engineer</roleDesc>
</castItem>
<castItem type="list">
<roleDesc>helpdesk</roleDesc>
,
<roleDesc>narrator</roleDesc>
</castItem>
</castGroup>
</castList>
<set>
<p>The play is situated in an anonymous computer lab room, at an undetermined time. Technical equipment looks outdated, though, while suggesting naive technological optimism.</p>
</set>
<prologue>
<head>Prologue, spoken by USER:</head>
<sp>
<lg type="stanza">
<l>'Twas brillig, and the slithy toves</l>
<l>Did gyre and gimble in the wabe;</l>
<l>All mimsy were the borogoves,</l>
<l>And the mome raths outgrabe.</l>
</lg>
<lg type="stanza">
<l>"Beware the Jabberwock, my son!</l>
<l>The jaws that bite, the claws that catch!</l>
<l>Beware the Jubjub bird, and shun</l>
<l>The frumious Bandersnatch!"</l>
</lg>
</sp>
</prologue>
</front>
<body>
<div type="act">
<head>ACT I</head>
<div type="scene">
<head>SCENE 1: HELLO WORLD</head>
<stage>user, computer</stage>
<stage type="setting">In a clean room without windows, a table stands in the middle, carrying a computer screen. The screen blinks,
<sound type="soundEffect">the computer emits random beeps</sound>
.</stage>
<stage type="technical">[
<view>A big screen on the left hand side of the stage displays the word
<caption>HELLO</caption>
, and will be used to project the contents of the computer screen.</view>
<view>A big screen on the right hand stage of the stage displays the word
<caption>WORD</caption>
, until the action starts. Then, the user's face is filmed in
<camera type="angle">close up</camera>
and projected onto this screen.</view>
]</stage>
<stage type="entrance">
<move who="#user" type="entrance" where="C"/>
(user enters room, walks towards the table, takes a seat, and reads what's on the screen)</stage>
<tech type="light">[spotlight follows user]</tech>
<sp>
<speaker>COMP</speaker>
<p>Hello.</p>
</sp>
<stage type="gesture">(user looks around and starts typing)</stage>
<sp>
<speaker>USER</speaker>
<p>What is on the table?</p>
</sp>
<sp>
<speaker>COMP</speaker>
<p>The table does not exist.</p>
</sp>
<stage type="gesture">(user frowns)</stage>
<sp>
<speaker>USER</speaker>
<p>There is a table in the room.</p>
</sp>
<sp>
<speaker>COMP</speaker>
<p>Ok.</p>
</sp>
<sp>
<speaker>USER</speaker>
<p>What is on the table?</p>
</sp>
<sp>
<speaker>COMP</speaker>
<p>Nothing.</p>
</sp>
<sp>
<speaker>USER</speaker>
<p>There is a black box on the table.</p>
</sp>
<sp>
<speaker>COMP</speaker>
<p>Ok.</p>
</sp>
<sp>
<speaker>USER</speaker>
<p>What is on the table?</p>
</sp>
<sp>
<speaker>COMP</speaker>
<p>A black box.</p>
</sp>
<sp>
<speaker>USER</speaker>
<p>There is a black box on the table.</p>
</sp>
<sound type="soundEffect" discrete="true">(computer beeps frantically)</sound>
<sp>
<speaker>COMP</speaker>
<p>I know.</p>
</sp>
<sp>
<speaker>USER</speaker>
<p>There is a red ball in the black box.</p>
</sp>
<sp>
<speaker>COMP</speaker>
<p>Ok.</p>
</sp>
<sp>
<speaker>USER</speaker>
<p>Where is the black box?</p>
</sp>
<sp>
<speaker>COMP</speaker>
<p>The black box is on the table.</p>
</sp>
<sp>
<speaker>USER</speaker>
<p>What is in the black box?</p>
</sp>
<sp>
<speaker>COMP</speaker>
<p>A red ball.</p>
</sp>
<sp>
<speaker>USER</speaker>
<p>Where is the black ball?</p>
</sp>
<sp>
<speaker>COMP</speaker>
<p>I don't know what black ball you are talking about.</p>
</sp>
<sp>
<speaker>USER</speaker>
<p>Where is the red ball?</p>
</sp>
<sp>
<speaker>COMP</speaker>
<p>In the black box.</p>
</sp>
<sp>
<speaker>USER</speaker>
<p>There is a black ball in the box.</p>
</sp>
<sp>
<speaker>COMP</speaker>
<p>Ok.</p>
</sp>
<sp>
<speaker>USER</speaker>
<p>The red ball is on the table.</p>
</sp>
<sp>
<speaker>COMP</speaker>
<p>In fact the red ball is in the box.</p>
</sp>
<sp>
<speaker>USER</speaker>
<p>The ball in the box is small.</p>
</sp>
<sp>
<speaker>COMP</speaker>
<p>I cannot understand such a sentence at the present time.</p>
</sp>
<sp>
<speaker>USER</speaker>
<p>The black ball is small.</p>
</sp>
<sp>
<speaker>COMP</speaker>
<p>I see.</p>
</sp>
<sp>
<speaker>USER</speaker>
<p>What is in the box?</p>
</sp>
<sp>
<speaker>COMP</speaker>
<p>A small black ball and a red ball.</p>
</sp>
<stage type="exit">
<move who="#user" type="exit" where="L"/>
(user smiles, stands up, takes a small green ball out of his pocket, walks away throwing and catching the ball)</stage>
<sound type="music">[
<name type="music.group">Kraftwerk</name>
's "
<name type="music.song">Computer Love</name>
" accompanies the exit]</sound>
</div>
</div>
</body>
<back>
<epilogue>
<head>Epilogue, spoken by PROG:</head>
<sp>
<lg type="stanza">
<l>"And hast thou slain the Jabberwock?</l>
<l>Come to my arms, my beamish boy!</l>
<l>O frabjous day! Callooh! Callay!"</l>
<l>He chortled in his joy.</l>
</lg>
<lg type="stanza">
<l>'Twas brillig, and the slithy toves</l>
<l>Did gyre and gimble in the wabe;</l>
<l>All mimsy were the borogoves,</l>
<l>And the mome raths outgrabe.</l>
</lg>
</sp>
</epilogue>
<performance>
<head>Hello World, and Goodbye.</head>
<p>Performed for the first time on the
<name type="event">Festival for Computing in the Humanities</name>
, at
<name type="place.venue">Shakespeare's New Globe Theatre</name>
,
<name type="place.city">London</name>
, on
<date when="2050-06-21">June 21, 2050</date>
.</p>
<castList>
<head>Actors:</head>
<castItem>
<actor>Alfred Brown</actor>
<role>PROG</role>
</castItem>
<castItem>
<actor>Barry Crowne</actor>
<role>ENGI</role>
</castItem>
<castItem>
<actor>Douglas Everett</actor>
<role>USER</role>
</castItem>
</castList>
</performance>
</back>
</text>
Example 21. A fully encoded transcription of the example text.

6. What’s Next?

You have reached the end of this tutorial module covering the markup of drama texts with TEI. You can now either

  • proceed with other TEI by Example modules
  • have a look at the examples section for TEI by Example Module 5: Drama.
  • take an interactive test. This comes in the form of a set of multiple choice questions, each providing a number of possible answers. Throughout the quiz, your score is recorded and feedback is offered about right and wrong choices. Can you score 100%? Test it here!