Technical Summary


All of the primary texts in The Digital Page are encoded in TEI, in accordance with the P5 Guidelines for Electronic Text Encoding and Interchange which “make recommendations about suitable ways of representing those features of textual resources which need to be identified explicitly in order to facilitate processing by computer programs.”

As a genetic edition seeking to reconstruct the various stages of the writing process, The Digital Page makes extensive use of the TEI tagset developed for this purpose, as outlined in sections (Additions and Deletions) and 11.7 (Changes) of the TEI guidelines. The tagset allows for the markup of both the document and the text. Markup of the document represents the material nature and layout of the document; markup of the text represents the stages of revision of a text irrespective of their physical manifestation. In our markup we focus exclusively on the second kind of markup, on the markup of the text. We have made the decision to do so for the following reasons:

  • All of our markup is linked to images of the relevant portions of the document page. Providing a textual description of the visual appearance of a document, which is readily available as digital images, strikes us as unnecessary.
  • Documentary markup can be extremely complex and time-consuming, well beyond the resources of The Digital Page.

That being said, there is no reason why our textual markup cannot be complemented by documentary markup at a later stage, if this is seen to be desirable and practical.


The Digital Page is implemented as an XSLT Version 3.0 stylesheet, compatible with W3C Last Call Working Draft 2, dated October 2014. The stylesheet reads from two input files:

  • The primary TEI XML document
  • An auxiliary XML file, representing the precise geometric location and shape of each revision, relative to a scanned image of each manuscript page

The stylesheet generates a single output file, which contains:

  • TEI document content expressed in XHTML
  •  SVG markup, visually overlaying revision indicators on top of the scanned manuscript page image
  •  User interface components that allow interactive manipulation of the content (e.g., panning, zooming, page navigation, highlighting revision groups, manipulating views, etc.)
  • Supporting code, including dynamically generated CSS stylesheets, and JavaScript

The output markup is designed in a manner that allows a variety of different renderings of the content to be encoded in this single XHTML file. For example, it permits us to selectively render only those revisions that occurred as part of a specified editing session, or range of editing sessions. It also permits us to render the same content in one of three different views, “process”, “product” and “reading”, which each present alternate visual representations of the content and its revisions.

The end user selects among these rendering options by interacting with user interface controls, also encoded in the XHTML. These interactions invoke JavaScript code that manipulates the Document Object Model, for example by selectively enabling/disabling specific CSS styles, to effect the desired rendering change. These manipulations are carried out entirely on the client side, by the user’s browser, without ever reinvoking the XSLT to generate alternate renderings.

Web Development

The Digital Page website is deployed on the Drupal 7 content management system. The site uses a customized Bootstrap theme  and JQuery. The Digital Page archived content is stored in Fedora (see below), and is uploaded and managed through the Islandora module for Drupal.

A custom Drupal module (Digitalus) extends Islandora, and is used to import the archive material: XHTML(+SVG) core file (see above), custom document CSS styles, and digital images of archived pages. Each document object is encoded with MODS metadata. The module also contains the javaScript libraries used for the Digital Page Reader and creates the template for displaying object streams of combined material through the interface. 

The Digital Page Timeline uses a custom Drupal module called Timescape (a fork of TimeView) using the Simile Timeline javaScript library.


The Digital Page is hosted by the Canadian Writing Research Collaboratory, which is funded by the Canada Foundation for Innovation. The scanned archival images for The Digital Page are held in CWRC’s Fedora Repository as part of the Modernist Commons collection of the Editing Modernism in Canada project. The Digital Page website is hosted by CWRC as a Drupal multisite and maintained by the The Digital Page project.