a new TEI publishing infrastructure

Here’s an e-mail to the TEI-L list from Eric Lease Morgan of Notre Dame:

In my copious spare time, I wrote a set of object oriented Perl scripts to manage TEI files — my TEI publisher:


The system is really a relational database application with a Web front-end. There are tables for authors, subjects, TEI templates, XSL stylesheets, and texts. I use these tables to manage authority lists, controlled vocabulary terms, TEI skeletons, transformation files, the various TEI meta data, and of course the content of my writings such as articles, conference presentations, software, and travel logs.

Once data entry for a particular work has been done, I use the system to build the work, save it to the file system, and then transform the work into something readable for the Web. The underlying CSS files make the collection easily navigable as well as nicely printable. I also take advantage of an indexer (swish-e) to enable robust searching. Because everything is in a database, it is easy to create reports against the content. I create on-the-fly reports for subject lists, title indexes, lists of texts by date, as well as sets of static OAI files for harvesting. Here is the process I used to create a work:

  1. Have an idea.
  2. Write it down.
  3. Mark it up in TEI.
  4. Assign subject terms
  5. Make sure they are in the database.
  6. Add the TEI to the database — do data entry.
  7. Build the file.
  8. Check it for validity.
  9. Transform it into XHTML.
  10. Check it for validity.
  11. Index the entire corpus.
  12. Create OAI reports.
  13. Go to Step #1.

The system is NOT a TEI/XML editor. I use my text editor (BBEdit plus a locally created “glossary”) to mark up the body of my TEI files. Everything is placed into fields of XHTML forms and thus into fields of the database. The system took me about three weeks of very hard and very concentrated work to create, but now I can pump out a rich, consistently formatted, valid TEI and XHTML file in about thirty minutes or less.

Through the process of creating the publisher I had to decide what TEI elements to incorporate and to what degree. I believe one of the challenges of using TEI is deciding on these issues. All of my TEI files are available directly from each page.

This entry was posted in General. Bookmark the permalink.