WWP TEI Tutorials
The tutorials listed below have been adapted from the slides and lecture notes developed for the Women Writers Project’s seminar and workshop series, with generous funding from the National Endowment for the Humanities. All tutorials are listed on this page with a brief description of what the tutorial entails. For versions of these materials that were used in a specific seminar or workshop, please visit the site for the event in question.
Set-up for Tutorials
Before you begin, see our tutorial set-up page. This provides instructions on working in oXygen XML Editor, downloading the files for hands-on exercises, and using the tutorials.
An Introduction to XML
This tutorial outlines the fundamental rules of XML, what XML is, and how it relates to the TEI. This tutorial will also explain why your project may want to use XML, as opposed to some other type of markup system.
Overview of Text Encoding and the TEI
This tutorial contains an overview of the TEI within the context of the larger field of digital humanities. We explain the rationale behind scholarly text encoding, and discuss why you may want to use TEI on your project.
This tutorial describes the basic elements used to encode a TEI document, focusing on the fundamental structural elements for marking up your text (in particular, for basic prose, poetry, and drama). Building from these foundational elements, the tutorial discusses phrase-level elements, such as names, references, and linguistic features. These slides also cover: how to correct, regularize, or modernize the text while still acknowledging the original; how to encode authorial or editorial deletions and revisions of the text; and how to show uncertainty about your reading of the text.
Advanced Markup Concepts
This tutorial builds upon the basic encoding tutorial to cover topics such as how to demonstrate connections between various parts of the text—such as a note and the material it is annotating—through linking. This tutorial also covers: displaying page images (facsimiles) with your markup; linking between fragmented textual features (i.e. features where your markup and the textual divisions don’t line up perfectly); and encoding the appearance of the text (through marking changes in rendition and handwritten additions).
Basic Manuscript Encoding
This tutorial describes the basic elements used to encode a TEI document, focusing on the fundamental structural elements for marking up your text (in particular, for basic prose, poetry, and drama). Building on these foundational elements, this tutorial discusses: encoding phrase-level elements, like names, references, and linguistic features; correcting, regularizing, or modernizing the text, while still acknowledging the original; encoding authorial or editorial deletions and revisions of the text; and showing uncertainty about your reading of the text.
Advanced Manuscript Encoding
This tutorial is particularly important to those who want to encode manuscripts. The tutorial includes: how to mark different hands and to show where a given person’s handwriting starts and ends; and how to encode revisions, additions, and deletions. This tutorial also describes some of the particular challenges of encoding manuscripts, such as irregular and hard-to-organize structures.
Metadata and the TEI Header
This tutorial outlines the types of contextual information (or metadata) that one might want to provide for an encoded document. Metadata is important for many audiences of encoded documents because it can provide information that may not be explicit in the text itself. For example, one might include metadata about the birth and death dates of people in a historical novel, or provide contextual information about the publishers of a given book. This tutorial discusses the basic mechanisms the TEI provides for encoding such information; metadata and the encoding of other contextual information are covered more extensively in the Contextual Encoding Primer.
Customization and the TEI
This tutorial provides a very brief overview of TEI customization, what it is and why one might want to do it. You should use this tutorial if you are new to TEI customization and wondering if your project might benefit from customizing the TEI. Customization is covered in greater detail in the Customization Primer.
Encoding Contextual Information
This tutorial defines the TEI’s mechanism for contextual encoding, providing information on how to create structured data about certain things contained within your texts—persons, places, organizations, etc.—using TEI elements. Also covered is the encoding of various interpretations of a text through the creation of thematic or interpretive keywords. Similarly, this section will cover how to encode more structured, taxonomic information, such as genre. Finally, this tutorial provides recommendations for where to store the contextual and interpretive information you create.
This tutorial tackles the more nuanced aspects of contextual encoding. For example: How do you record changes in a person’s identity or status over time? How do you record relationships between people, places, and things? How might one handle indirect references or references to groups? This section builds upon the material from the “Encoding Contextual Information” tutorial.
This tutorial provides an overview of XML publication platforms and outlines the basic framework for the rest of the tutorials in Transformation and Publication. Covered here is why one might want to publish TEI data, and how one might go about publishing it.
This tutorial discusses how to begin an XSLT stylesheet and some basic transformations one can perform with XSLT. This tutorial provides important conceptual information about how an XSLT stylesheet processes information, which is necessary to understand how to structure a stylesheet.
This tutorial is meant to introduce the XSLT debugger view in Oxygen. It is a supplement to the XSLT Introduction tutorial that discusses the mechanics of using XSL files to transform XML files into plain text, and into XHTML. This tutorial is important for using the example files in this and other XSLT tutorials.
This tutorial continues the discussion of how XSLT stylesheets process their input information to create a new output. It also describes namespaces and languages, which are important to keep in mind when transforming from one XML language into another.
This slide set builds on the previous XSLT tutorials by discussing XPath, which is a way of navigating an XML tree. It is particularly important for XSLT and publication because it allows the selection of specific elements depending on their context. So, for example, perhaps you want to render “quote” in a particular way when it comes up in “epigraph” and in another way when it occurs in “p.” XPath allows you to specify context for a given element, which makes transformations more nuanced.
This tutorial, continuing the set of tutorials focused on XSLT, outlines how to set up conditional statements for your transformations. This tutorial, through examples, explains the two conditional branching structures available in XSL: “if” and “choose.” For an additional branching structure using XPath, see: XPath if-then-else.
This tutorial is designed as a supplement to the XSL Conditionals tutorial, which covers two conditional branching structures in detail, but does not cover XPath if-then-else. XPath if-then-else is explained in this tutorial on slide 4. An example of a possible solution to an XSLT task using XPath if-then-else is given on slide 5.
XTF and TEI Boilerplate
This tutorial contains a broad overview of two publication tools. TEI Boilerplate allows you to easily publish simple versions of your encoded texts online. XTF (or the eXtensible Text Framework) is much more complex than TEIBP, but it is useful for indexing TEI data to make it more searchable and accessible. This tutorial provides conceptual understandings of the two frameworks and resources for more information.
This tutorial focuses on the basics of ODD editing and schema customization. It discusses why one may want or need to customize a new TEI schema, and how the TEI is structured, which will help in customizing documents. In particular, this tutorial covers modules and classes (the TEI’s mechanisms for grouping elements).
Introduction to Writing ODDs
This tutorial discusses the mechanics of ODD customization: how to either delete or include elements from the generic TEI schema; how to change delete attributes by class or for specific elements; how to constrain lists of attribute values, or change the content that can go within a given element. For this tutorial, it is probably best to follow along with your XML editor open, so that you can try out the customizations as you go.
This tutorial outlines methods for documenting changes to an ODD file. It discusses the importance of documenting project practices, and the forms of documentation a project might maintain for various audiences: collaborators, employees or volunteers, and yourself.
XPath and Schematron for TEI Customization
This tutorial contains an overview of Schematron, an open schema language that tests conditions that you set, and provides you with error messages when a condition fails. This schema language, which can conveniently fit right into an ODD file, is useful for catching errors that a closed schema cannot. This section relies heavily on XPath, so we recommend completing the XPath tutorial before starting this section.