Cooking with Emily Dickinson, Mary Mitford, and Frankenstein

Teaching TEI as Repurposing

Elisa E. Beshero-Bondar

@epyllia
member, TEI Technical Council

director, Center for the Digital Text @ U. of Pittsburgh, Greensburg

These slides: http://bit.ly/TEI_Repurpose

Presentation for 2017 TEI Conference: 2017-11-13

 

 

Cooking up TEI

a "starter-pack" ms modeling challenge

Cooking up TEI

metadata!

Cooking up TEI

two-part assignment

1. Document analysis and the body element

2. Metadata and the teiHeader

Dickinson by Fascicles: 

Repurposing a web 1.0 project:

Michele Ierardi's Translating Emily (1997) 

Story of the up-translation: http://dickinson16.newtfire.org/about.html

Thanks to the Emily Dickinson Archive for help w/ missing MS images: http://www.edickinson.org/

 

up-conversion in stages

  • printed editions to hypertext (1997)
  • hypertext to TEI P5 critical apparatus  
  • shared goal: encoding and reading interface that
    • reproduces Dickinson's notation of optional variants + treats each as equivalent
    • collates (and compares) alterations imposed by print editions

up-conversion in stages

1997: web 1.0 with JavaScript applet

<br>
<br>As all the Heavens were a Bell,
<br>And Being, but an Ear,
<br>And I, and Silence, some strange race
<br>Wrecked, solitary here--
<br>
<br>And then a Plank in Reason, broke,
<br>And I dropped down , and down--
<br>
<applet code="Variant.class" width=600 height=20>
        <param name="var0" value="And hit a World, at every plunge,">
        <param name="var1" value="And hit a World, at every Crash,">
        <param name="delay" value="2500">
        <param name="fontName" value="Courier">
        <param name="fontSize" value="20">
        <param name="bgColor"  value="ffffcc">
        <param name="fgColor"  value="000000">
</applet>
<br>
<applet code="Variant.class" width=600 height=20>
        <param name="var0" value="And finished knowing--then--">
        <param name="var1" value="And Got through knowing--then--">
        <param name="delay" value="3000">
        <param name="fontName" value="Courier">
        <param name="fontSize" value="20">
        <param name="bgColor"  value="ffffcc">
        <param name="fgColor"  value="000000">
</applet>

up-conversion in stages

2016: TEI critical apparatus . . .


      <TEI xmlns="http://www.tei-c.org/ns/1.0"> 
        [ . . .]
         <head><title>Poem 5 (J 280: 1861/1896)</title></head>
        [ . . .]
         <lg>
            <l>As all the Heavens were a Bell, </l>
            <l>And Being, but an Ear, </l>
            <l>And I, and Silence, some strange Race </l>
            <l>Wrecked, solitary, here— </l>
         </lg>
         <lg>
            <l>And then a Plank in Reason, broke, </l>
            <l>And I dropped down, and down— </l>
            <l>And hit a World, at every <app>
                  <rdg wit="var0">plunge,</rdg>
                  <rdg wit="var1">Crash—</rdg>
               </app>
            </l>
            <l>
               <app>
                  <rdg wit="var0">And Finished </rdg>
                  <rdg wit="var1">And Got through—</rdg>
               </app>knowing—then—</l>
         </lg>
         [ . . .]
    </TEI>
 

up-conversion in stages

2016 HTML reading interface (w/ CSS + JavaScript)

<div class="line"><span class="lineNum">20: </span>
   
     <table>
          <tr class="df16Toggle">
              <td class="df16">
                     <span class="var">VAR 1: </span>And Finished knowing—then—
                     <span class="var">VAR 2: </span>And Got through—knowing—then—
                </td>
             </tr>
      </table>
       <table>
            <tr class="fhToggle">
             <td class="fh">And Finished knowing—then—</td>
            </tr>
       </table>
        <!-- MORE TABLES FOR EACH PUBLISHED VERSION-->

</div>

up-conversion in stages

Snips of the XSLT (1): 2016 HTML reading interface

 <xsl:template match="l">
    <div class="line">
       <span class="lineNum">
           <xsl:value-of select="count(preceding::l) + 1"/>
           <xsl:text>: </xsl:text>
        </span>
            <div class="lineContent">
              <xsl:variable name="currentLine" select="current()"/>
                 <xsl:for-each select="$witness">
                   <table>
                     <xsl:choose>   
                       <xsl:when test="current() = 'df16'">
                          <xsl:apply-templates select="$currentLine" mode="row_df16"/>
                        </xsl:when>
                        <xsl:otherwise>
                           <xsl:apply-templates select="$currentLine" mode="row">
                               <xsl:with-param name="wit" select="current()" as="xs:string" tunnel="yes"/>
                           </xsl:apply-templates>
                         </xsl:otherwise>
                       </xsl:choose>
                     </table>
                 </xsl:for-each>
            </div>
        </div>
    </xsl:template>

up-conversion in stages

Snips of the XSLT (2): 2016 HTML reading interface

 <xsl:template match="l" mode="row">
        <xsl:param name="wit" tunnel="yes"/>
        <tr class="{$wit}Toggle">
        <xsl:for-each select="node()">
          <xsl:choose>
            <xsl:when test="current()/rdg[contains(@wit, $wit)]">
                  <td class="{$wit}">
                      <xsl:apply-templates select="." mode="row"/>
                  </td>                
            </xsl:when>
            <xsl:otherwise>
                <td class="{$wit}text">
                    <xsl:apply-templates select="."/>
                </td>
            </xsl:otherwise>
          </xsl:choose>
        </xsl:for-each>
        </tr>
    </xsl:template>

Frankenstein Bicentennial Project

  • another up-conversion challenge from web 1.0 with versioning
  • multi-institutional collaboration: Pitt-CMU-MITH
  • to complete by May 2018, bicentennial of Frankenstein's first publication

Frankenstein Bicentennial Project

Learning process with colleagues:​​

  • restructure original "Pennsylvania Electronic Edition" (separate 1818 and 1831 documents) and fold in two new witnesses
    (ms-notebook, 1818, 1823, 1831)
    1. prepare plain text files of each edition
    2. automated collation with collateX
    3. build up a single TEI P5 file from critical apparatus markup
    4. standoff mechanism: point to locations in the Shelley-Godwin Archive TEI edition of the Frankenstein notebooks.
  • ​​https://github.com/ebeshero/Pittsburgh_Frankenstein

Portuguese WhatsApp

(new TEI project, Fall 2017) 

Portuguese WhatsApp

Teaching TEI is Reading Together and Discussing

"Our Village": Learning to code collaboratively

Digital Mitford project goals

1. to produce the first comprehensive scholarly edition of the works and letters of Mary Russell Mitford, and

2. to share knowledge of TEI XML and other related humanities computing practices with all serious scholars interested in contributing to the project.

* Mitford's Our Village = her most popular publication, a series of sketches about community interactions in an English country village

 

 

 

 

 

 

 

What I learned from running the Digital Mitford Coding School and building a Digital Studies program:

  • TEI projects can be busy hives of teaching and research

  • recycling (repurposing) stimulates the hive! Can we rescue this?

  • discussion and dissent and revision = a thriving project (how we restore from the dead)

  • Let your students take charge of the rescue: students want to get involved and teach your colleagues (and you, too).

 

 

 

 

 

 

 

Power up your XPath with us at DHSI 2018:

week 2: 11-15 June

Copy of Teaching TEI as Repurposing; Or, Cooking with Frankenstein, Mary Mitford and Emily Dickinson

By Elisa Beshero-Bondar

Copy of Teaching TEI as Repurposing; Or, Cooking with Frankenstein, Mary Mitford and Emily Dickinson

presentation for 13 November 2017 at the Text Encoding Initiative (TEI) 2017 Conference: http://hcmc.uvic.ca/tei2017/schedule.php

  • 1,739