George V. Reilly

XML Scripts -- For the Theater

For the last three years, I’ve been involved with The Wild Geese Players of Seattle, an amateur group that does readings of Irish literature, par­tic­u­lar­ly the works of James Joyce and W.B. Yeats. Our big event every year is Bloomsday, June 16th, com­mem­o­rat­ing Joyce’s Ulysses, which takes place on June 16th, 1904. It’s a tale of a Jewish everyman, Leopold Bloom, wandering through Dublin one day, and of the young writer (and Joyce’s alter ego), Stephen Dedalus. We’re working our way through the book, reading a chapter or two each year. In this, our eighth year, we’ll be reading Chapter 11, Sirens, at the Brechemin Auditorium in the School of Music at the University of Washington, on Thursday 16th and Saturday 18th. Con­gress­man Jim McDermott will be reading the part of Bloom on the Saturday.

Last year and this year, I have been the assistant dramaturge, helping to turn chapters into a script to be read by 15-20 readers. In previous years, the director made a photocopy of the book, wrote at­tri­bu­tions ("Narrator 1", "Bloom", "Stephen", etc) on the paper, then pho­to­copied that text and handed it out to the readers. Since the script was a moving target, everyone ended up with a set of scruffy, tatty, in­con­sis­tent­ly hand-annotated sheets. It was a mess.

I knew there had to be a better way. Now, we’ve adapted the etext of the 1922 Paris Edition, prepared by Project Gutenberg, which saves a lot of typing. The script is marked up in XML and styled with XSLT to produce an HTML page. After a rehearsal or two, when it’s apparent that the script isn’t quite right, it’s an easy matter to make a few changes, render fresh HTML, and print new scripts.

The XSLT required is fairly straight­for­ward. About the only mildly in­ter­est­ing thing is defining one template in terms of another; e.g., I want all the speakers to share the same styling, so I defined a pa­ra­me­ter­ized speaker template:

<xsl:template name="speaker">
    <xsl:param name="name" />
    <div class="speaker">
        <span class="speaker"><xsl:value-of select="$name"/>: </span>
        <xsl:apply-templates />
    </div>
</xsl:template>

which is called thus:

<xsl:template match="bloom">
    <xsl:call-template name="speaker">
        <xsl:with-param name="name">Bloom</xsl:with-param>
    </xsl:call-template>
</xsl:template>

The real challenge in preparing the script is dra­matur­gi­cal. Ulysses is a no­to­ri­ous­ly difficult and dense text, woven through with Bloom’s stream-of-con­scious­ness interior monologue. Each chapter is written in a different style. Sirens, for example, has musical themes running through it, and we’ll be ac­com­pa­nied by a piano player this year.

What would you do with this?

Bloom heard a jing, a little sound. He’s off. Light sob of breath Bloom sighed on the silent bluehued flowers. Jingling. He’s gone. Jingle. Hear.

Here’s what we came up with:

N1: Bloom heard a jing, a little sound.
Bloom: He’s off.
N1: Light sob of breath Bloom sighed on the silent bluehued flowers. Jingling.
Bloom: He’s gone.
N1: Jingle.
Bloom: Hear.

Or with this paragraph?

–Yes, Mr Bloom said, teasing the curling catgut line. It certainly is. Few lines will do. My present. All that Italian florid music is. Who is this wrote? Know the name you know better. Take out sheet notepaper, envelope: un­con­cerned. It’s so char­ac­ter­is­tic.

We chose this:

Bloom (Aloud): Yes.
N1: Mr Bloom said, teasing the curling catgut line.
Bloom (Aloud): It certainly is.
Bloom: Few lines will do. My present.
Bloom (Aloud): All that Italian florid music is.
Bloom: Who is this wrote? Know the name you know better. Take out sheet notepaper, envelope: un­con­cerned.
Bloom (Aloud): It’s so char­ac­ter­is­tic.

We ended up with three narrators in this chapter: N1 deals with Bloom, primarily; N2 is mostly for Miss Douce and Miss Kennedy, the siren barmaids; and N3 handles the other characters.

Lest I scare you off, much of the chapter is quite clear and often very funny, even for people who are unfamiliar with the book.

The James Joyce Portal is a good starting point for matters Joycean.

blog comments powered by Disqus
Printf Tricks » « A Harry Potter prophecy