Against all ODDS: Hacking and the TEI

Submitted by Sarah Stanley on Wed, 10/08/2014 - 20:06

This is my reflection for Lab 1 of #f14tmn.

I find it strangely appropriate that we completed our TEI practicum after a class discussion about hacking in the digital humanities.

Now, I don't think I would have made this connection before doing this lab. Before, TEI was... just a way to mark up documents. You put tags around things, you made sure your encoding practices reflected your project's goals, you published. Pretty simple once you get used to it, really. And of course, the small assignment for class should be even simpler.

However, as I was first helping my group set up their schema and fill in some parts of the <teiHeader>, I noticed a strange error message: "element <persName> not allowed anywhere." This couldn't be right, I thought, as <persName> is a pretty generic element. So I went to the ODD file in the zip folder we downloaded. Sure enough, <persName> was not included in the namesdates module. So I added it. Configure transformation scenarios, TEI ODD to RELAX NG compact syntax, finished with exit code =0. Aaaand done. I don't even need to reassociate the schema!

Our group then discussed the things we wanted to include: rhetorical questions, exclamations, references to deities, quotations. "Easy enough," I thought, "We can use <s>, <rs> and <quote>." When my group mates began enclosing the textual content they wanted to mark up with tags, they encountered the same error message: Element [x] not allowed anywhere. So, once again, I edited the ODD and generated a new schema.

It was in this moment that I started to think: Is this hacking? I mean, it seems pretty benign. I just added the analysis module and changed, like, two values. The stakes aren't that high anyway, since the validation errors aren't really stopping us from doing anything.¹ Nonetheless, I used my technical knowledge to change what could and couldn't be done within the environment of this assignment. I would like to think that this gave our group leeway to make a more rich and interesting encoding. In another context, these skills could be used to disrupt traditional narratives, decenter the archive, or question existing power structures (blog post on this soon!). But for this assignment, I guess I have to be content with just encoding <persName>.

Update: I've now got the thing actually up-and-running using TEI Boilerplate. It can be found at

¹To be fair, <oXygen/>'s error messages are pretty distracting.