Module 5: Drama

1. Introduction

This module treats the encoding of texts that are meant to be performed in some way, or 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 note that their recommendations apply to written representations of performance texts. Because these texts have particular structural characteristics, these are treated in a separate chapter of the TEI Guidelines, 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 TBE Module 8: Customising TEI, ODD, Roma of this tutorial series.

Note:

It is important to note 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 TEI Guidelines, 8. Transcriptions of Speech.

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]
 
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, as well as its own specific structural features. Common structural text elements can be encoded with the elements discussed in TBE Module 1: Common Structure and Elements 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 here!
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 be 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>
<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>
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, <seg> 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 segment (<seg>).
For example, the last three speech lines in the example can be encoded as follows:
<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>
Note 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. It could of course be encoded with a <lb/> element before the last speech.
The <sp> element provides an alternative 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 who="#comp">
<speaker>COMP</speaker>
<p>I see.</p>
</sp>
<sp who="#user">
<speaker>USER</speaker>
<p>What is in the box?</p>
</sp>
<sp who="#comp">
<speaker>COMP</speaker>
<p>A small black ball and a red ball.</p>
</sp>
Note how this example assumes that both characters are identified elsewhere in the transcription, with comp and user as respective @xml:id attribute values. 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 4.1. Cast List 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 whitespace.
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 the first example in this section) may suffice. It may make equal sense to use both systems (transcription in <speaker> and formal identification in the @who attribute), as in the second example in this section. If the text source 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:
<sp who="#comp">
<p>I see.</p>
</sp>
<sp who="#user">
<p>What is in the box?</p>
</sp>
<sp who="#comp">
<p>A small black ball and a red ball.</p>
</sp>

Note:

It is important to distinguish the different nature of both identification mechanisms for speakers: <speaker> can only contain a literal transcription of a speaker label in the text source; @who can only contain an abstract identification code provided by the encoder.

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 <seg> 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 text source. In our example, the stage directions (between parentheses or square brackets) can be encoded as follows:
<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, 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>
The TEI Guidelines provide a specialised element for indicating movements of characters: the <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 whitespace-separated list of formal codes with which they are identified elsewhere in the transcription (see 4.1. Cast List). 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 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 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>
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 the surrounding speeches (false), or not (true). For example:
<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>
<!-- ... -->
<sound type="soundEffect" discrete="true">(computer beeps frantically)</sound>
<!-- ... -->
<sound type="music">[<name type="music.group">Kraftwerk</name>'s "<name type="music.song">Computer Love</name>" accompanies the exit]</sound>
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 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>
Specific camera directions can be encoded using the <camera> element, whose @type attribute can specify the direction:
<stage 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>
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 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>
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 must have one of following values: light, sound, prop, or block, indicating that the technical direction consist of a lighting, sound, prop, or blocking (i.e. related to position and movement on stage) cue, respectively.
<tech type="light">[spotlight follows user]</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. More 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 here!
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>
<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>
This example, however, is incorrect. A <castList> element doesn't allow unstructured 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>
<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>
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. Minor characters in a play are often just listed together. Such a list can be encoded in a single <castItem> element, using a @type attribute with value list. Note how these character descriptions only consist of a role description:
<castList>
<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>
Note how the @rend attribute on the <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 3.2. The basic building block: speeches, 3.3. Stage directions)? Well, this is the place! Therefore, we'll add the identifier codes to the respective <role> elements, using the @xml:id attribute:
<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>

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 unstructured text, its text should be wrapped in paragraphs (or lines, for that matter). For example:
<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>

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 3.3. Stage directions).

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:
front back
<front>
<!-- ... -->
<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>
<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>
<!-- ... -->
</back>

Note:

Note, 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. Note, 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>.

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:
<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>

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>
<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>

6. What's next?

You have reached the end of this tutorial module covering the markup of primary source materials with TEI. You can now either
  • proceed with other TEI by Example modules
  • have a look at the examples section for the primary sources module.
  • 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!