[9 Sep (Sun) Morning] Half-day Workshops

Publishing TEI on the Web without XSLT: CETEIcean (/sɪˈti:ʃn/)

Raffaele Viglianti (University of Maryland), Hugh Cayless (Duke University)
(Room A1)

This half-day workshop will introduce CETEIcean (pronounced /sɪˈti:ʃn/, similarly to the word “cetacean”), a JavaScript library for displaying TEI in a web browser. Instead of sticking with the semantically poor element set of HTML, CETEIcean reframes an isomorphic transformation of TEI as HTML, by registering modified TEI elements with the browser using the new Custom Elements technology. Loading a TEI document with CETEIcean will make it fully usable by the browser: TEI elements can be styled with CSS and manipulated for interaction with JavaScript, just like HTML and thus avoiding XSLT transformation steps. CETEIcean’s approach is inspired by TEI Boilerplate (http://teiboilerplate.org/), but it is based on web standards and is more flexible. It does not require an in-browser XSLT step, nor any modification to the source XML; TEI content can be loaded in the browser via an AJAX call, or via server-side processing.


Many scholarly publications powered by the TEI rely on server side infrastructure for publication, typically by leveraging XML technologies such as XSLT and XQuery (via XML databases). The capability and flexibility of these tools is undeniable, so why use a different approach?

  • Web technologies for web publication. XSLT/XQuery are not sufficient, by themselves, to create a digital publication on the web, they are simply a means to transforming TEI into HTML. But to create a fully featured publication on the web, HTML needs to be supported by CSS for styling and JavaScript for user interaction. What if we could skip the transformation part and focus on the web technologies needed for a digital publication?
  • Getting started faster. By focusing on web technologies, new TEI users will not have to learn XSLT as well as the TEI to publish their first document. Semantics. Converting TEI to HTML is the most common and most practical way of publishing TEI texts on the web, but HTML lacks what TEI has: a very well-considered and mature set of semantic tags for encoding texts. When converting TEI to HTML the semantic distinctions in the markup are often lost in favor of typographic distinctions in the display. In other words, the data model represented in the TEI fails to carry over to the online version.
  • Preservation. XSLT/XQuery transformations are often performed “on the fly” by server-side technology to provide data to a front-end application (written in HTML, CSS, and JavaScript). By using CETEIcean, TEI can be built into “static sites” that do not require server-side computation, making it easier to preserve the application into the future.



This half-day workshop will cover the following topics.

  • Introduction to CETEIcean and motivations.
  • Using CETEIcean to build a static site from a provided HTML template. We will discuss the structure of the template and how to change it for future use.
  • Using CSS to style CETEIcean TEI. No previous knowledge of CSS required.
  • Adding user interactivity to your TEI via CSS and simple JavaScript. We will discuss a number of examples and address questions/requests from the attendees.
  • Publishing on-line. We will look at simple ways of publishing a CETEIcean-powered site on-line for free via GitHub, DropBox, others.