Publishing TEI Documents

Julia Flanders

2007-05-13/14

Publishing

Now you’ve learned about how to create TEI documents, but we haven’t said anything about what you can do with themߪ

There is a very wide range of things you can do with TEI documents “beyond search”, involving in-depth analysis, data mining, processing to discover patterns of various sorts.

We’re going to focus on “publishing”, both in the narrow sense of "making them readable online" and also in the broader sense of “exploiting the encoding publicly”. But most of the more advanced things you can do with TEI documents use technologies similar to the ones we’re talking about here.

Simple

The simplest approach to publishing TEI documents: just apply a CSS stylesheet.

Some limitations

This is great, but there are some limitations:

Transformations with XSLT

The Extensible Stylesheet Language allows you to transform XML documents in many ways:

Transformation into other XML documents can mean several things:

This transformation can be done as a process that you run in advance, and then use the output. For instance, you might have a set of TEI files which you transform to XHTML, and then mount the XHTML on your web site. When you make an update to the TEI files, you run the transformation again, and remount the resulting XHTML.

Tools you need...

Tools you need for this kind of transformation:

The processor reads the stylesheet, and reads your XML file, and it applies the stylesheet to the file and outputs a result.

Then the result can be used as appropriate: styled with CSS and viewed in a browser if HTML; viewed in a browser or PDF reader if PDF; etc.

Transformations on the fly

You can also run these transformations on the fly, as part of your publication system:

Tools you need...

Tools you use for this kind of transformation: e.g. Cocoon

Some limitations...

This is great, but there are some limitations:

XML Databases

The XML Database universe

These kinds of tools are designed to manage large groups of XML files, and to provide certain kinds of advanced functionality:

XML databases in the larger XML framework

How do databases fit into a larger XML publication framework? What do they do?

Within the XML publication framework, the database sits and waits for queries to come in.

XML Databases

XML databases exist as separate modules that can be used as the basis for XML publishing systems, for instance:

XML publishing systems with database component

But there also exist XML publishing systems which include a database component and also other components which handle other aspects of the process: