Work in Oxygen

Prior Reading

This documentation assumes that you have downloaded Oxygen and know how to open the LEMDO project file (lemdo-all.xpr):
It is very important that the lemdo-all.xpr file is open when you work. This file contains the schema that your files will be validated against. Put simply, the schema is the rule-set that catches your mistakes and makes sure you do not commit broken files to the repository. See LEMDO Oxygen Project.

Practice: Save your File in Oxygen

There are three ways to save a file in Oxygen:
Use the Ctrl+S (Cmd+S on Mac) keyboard shortcut.
In the top left corner of your Oxygen window, there is an icon that looks like a blue floppy disk. This is the save button. Click it to save your work.
Select File → Save.

Practice: Validate your File in Oxygen

Validating your file against the LEMDO schema determines whether your file has any errors that need to be corrected before you commit the file to the repository. If Oxygen shows that your file has errors, you must fix them before committing the file. There are three ways to validate your file:
In the Oxygen toolbar, there is an icon that looks like a piece of paper with a red check mark on it. This the validate button. Click it to validate your file.
Use the Ctrl+Shift+Alt+V (Cmd+Option+Shift+V on Mac) keyboard shortcut.
Select Document → Validate → Validate
You must always save and validate the file you are working on before committing to the centralized repository.
If you have a validation error related to duplicate xml:ids in your file, see Create a Unique Value for an xml:id Attribute

Practice: Create XML Comments

XML comments are how we add notes to ourselves or to other encoders in our files. Everything written inside of an XML comment is ignored by the processor. Note that XML comments are green and begin with an angle bracket, exclamation mark, two hyphens, and a space:
<p><!-- This is a comment. --></p>
There are three ways to add XML comments to your file:
Type an angle bracket and an exclamation mark. Oxygen will create the rest of the comment for you automatically.
Highlight text that you would like to turn into an XML comment and use the keyboard shortcut Ctrl+Shift+, (Cmd+Shift+M on Mac).
Highlight text that you would like to turn into an XML comment, navigate to Document in the Oxygen toolbar, click Edit, and select Toggle Comment (Ctrl+Shift+Comma).

Practice: Use the Character Map

Oxygen comes with a built-in character map, giving you full access to most of the symbols and characters in the Unicode database. You can access the character map by navigating to Edit in the toolbar and clicking Insert from Character Map:

                           The edit menu in the Oxygen app with Insert from Character Map... selected
Once you have opened the character map, you can search for the special character you want and press Insert:

                           The Character Map window in Oxygen
The character map is a simple way to insert vowel digraphs (i.e, æ, œ), nasal tildes over vowels (i.e., ã, ẽ, ĩ, õ, ũ), macrons over vowels (i.e., ā, ē, ī, ō, ū), and more. See Special Characters: Encode Characters from the Character Map for more information.

Practice: Use the Find/Replace Box

One of the most helpful features of Oxygen is Find All. Use the shortcut Ctrl+F (Cmd+F on Mac) or navigate to Find in the toolbar and click Find Replace to see the find/replace box:

                           Oxygen’s Find/Replace window
Use the find/replace box to find words or pieces of encoding in your document. Clicking Find All in the find/replace box will generate a list of hits in a window at the bottom of your screen:

                           An Oxygen window with the Find/Replace window open. The Find text box reads: less-than angle bracket sp who = double quotation marks #emdLeir_M_Skallinger double quotation marks greater-than angle bracket. A results bar is open in the main Oxygen window with a list of the 8 matches found.
Clicking on a hit will take you to the place in the document where it appears.
If you would like to replace all of the hits with something else, type what you want to replace the original text with in the Replace with box. Be careful using the Replace All button. Only use it when you are positive that it will not create any errors in your file.

Special Case: Find and Replace in Multiple Files

You can search through multiple files at once by right clicking on the folder you want to search in the Project panel and clicking Find/Replace in Files:

                           Project view in Oxygen with with a dropdown menu on top. Find/Replace in Files... Ctrl+Shift+H is selected in the dropdown menu.
You will see a find/replace box for cross-file searching:

                           Oxygen’s Find/Replace in Files window. Text to find text box reads: LEBE1
This find/replace box allows you to search entire folders. It also generates list of hits, but groups them by file:

                           A results bar reads: Description - 31 items. Below is a list of results with LEBE1 hightlighted.
Double-click on a hit to open the file and jump to the location of that hit in the file.

Exercises

Now that you have an idea of how to use Oxygen, it is time to try some encoding. See Introduction to Markup, XML, and TEI if you need a refresher on elements, attributes, and values.
Open Oxygen and follow these steps:
Click File in the toolbar and click New
Choose XML Document and click Create
Now you should have an empty XML document. The first thing you will need to do is create a root element, the element that all the content of your file will be nested within. At LEMDO, we often use <TEI> as the root element for our files. In your empty document, type <TEI> . Notice that once you type the opening tag, Oxygen will automatically supply the closing tag:
<TEI/>
Now nest a <name> element in the <TEI> element:
<TEI>
  <name/>
</TEI>
Notice that when you delete the closing <name> element, the squiggly red line tells you that there is an error in your encoding. Oxygen also shows you an error message: element type <name> must be terminated by the matching end-tag </name> .
Once you add back the closing </name> element, type your full name within the <name> element:
<TEI>
  <name>Kathryn Reese LeBere</name>
</TEI>
You can also tag each part of your name separately. If you highlight your first name and press Ctrl+E, a textbox will appear. Type the <firstName> element in the text field and click Ok or press Enter and Oxygen will wrap your name in the <firstName> element. You can do the same with the other parts of your name and the relevant elements:
<TEI>
  <name>
    <firstName>Kathryn</firstName>
    <middleName>Reese</middleName>
    <lastName>LeBere</lastName>
  </name>
</TEI>
The Ctrl+E keyboard shortcut will save you a lot of time when encoding.
Now let’s try adding attributes and values. Write a sentence and tag the parts of the sentence with different elements of your choosing:
<TEI>The <adjective>new</adjective>
  <noun>Research Assistant</noun>
  <verb>encoded</verb> the <noun>text</noun>.</TEI>
Now try specifying an element with an attribute and value. Remember that attributes are like categories, and values specify the categories:
<TEI>The <adjective>new</adjective>
  <noun type="person">Research Assistant</noun>
  <verb>encoded</verb> the <noun type="thing">text</noun>.</TEI>
Using Oxygen takes practice. The more you encode, the faster and more precise you will become.

Prosopography

Janelle Jenstad

Janelle Jenstad is a Professor of English at the University of Victoria, Director of The Map of Early Modern London, and Director of Linked Early Modern Drama Online. With Jennifer Roberts-Smith and Mark Beatrice Kaethler, she co-edited Shakespeare’s Language in Digital Media: Old Words, New Tools (Routledge). She has edited John Stow’s A Survey of London (1598 text) for MoEML and is currently editing The Merchant of Venice (with Stephen Wittek) and Heywood’s 2 If You Know Not Me You Know Nobody for DRE. Her articles have appeared in Digital Humanities Quarterly, Elizabethan Theatre, Early Modern Literary Studies, Shakespeare Bulletin, Renaissance and Reformation, and The Journal of Medieval and Early Modern Studies. She contributed chapters to Approaches to Teaching Othello (MLA); Teaching Early Modern Literature from the Archives (MLA); Institutional Culture in Early Modern England (Brill); Shakespeare, Language, and the Stage (Arden); Performing Maternity in Early Modern England (Ashgate); New Directions in the Geohumanities (Routledge); Early Modern Studies and the Digital Turn (Iter); Placing Names: Enriching and Integrating Gazetteers (Indiana); Making Things and Drawing Boundaries (Minnesota); Rethinking Shakespeare Source Study: Audiences, Authors, and Digital Technologies (Routledge); and Civic Performance: Pageantry and Entertainments in Early Modern London (Routledge). For more details, see janellejenstad.com.

Joey Takeda

Joey Takeda is LEMDO’s Consulting Programmer and Designer, a role he assumed in 2020 after three years as the Lead Developer on LEMDO.

Mahayla Galliford

Project manager, 2025-present; research assistant, 2021-present. Mahayla Galliford (she/her) graduated with a BA (Hons with distinction) from the University of Victoria in 2024. Mahayla’s undergraduate research explored early modern stage directions and civic water pageantry. Mahayla continues her studies through UVic’s English MA program and her SSHRC-funded thesis project focuses on editing and encoding girls’ manuscripts, specifically Lady Rachel Fane’s dramatic entertainments, in collaboration with LEMDO.

Martin Holmes

Martin Holmes has worked as a developer in the UVic’s Humanities Computing and Media Centre for over two decades, and has been involved with dozens of Digital Humanities projects. He has served on the TEI Technical Council and as Managing Editor of the Journal of the TEI. He took over from Joey Takeda as lead developer on LEMDO in 2020. He is a collaborator on the SSHRC Partnership Grant led by Janelle Jenstad.

Navarra Houldin

Training and Documentation Lead 2025–present. LEMDO project manager 2022–2025. Textual remediator 2021–present. Navarra Houldin (they/them) completed their BA with a major in history and minor in Spanish at the University of Victoria in 2022. Their primary research was on gender and sexuality in early modern Europe and Latin America. They are continuing their education through an MA program in Gender and Social Justice Studies at the University of Alberta where they will specialize in Digital Humanities.

Nicole Vatcher

Technical Documentation Writer, 2020–2022. Nicole Vatcher completed her BA (Hons.) in English at the University of Victoria in 2021. Her primary research focus was women’s writing in the modernist period.

Tracey El Hajj

Junior Programmer 2019–2020. Research Associate 2020–2021. Tracey received her PhD from the Department of English at the University of Victoria in the field of Science and Technology Studies. Her research focuses on the algorhythmics of networked communications. She was a 2019–2020 President’s Fellow in Research-Enriched Teaching at UVic, where she taught an advanced course on Artificial Intelligence and Everyday Life. Tracey was also a member of the Map of Early Modern London team, between 2018 and 2021. Between 2020 and 2021, she was a fellow in residence at the Praxis Studio for Comparative Media Studies, where she investigated the relationships between artificial intelligence, creativity, health, and justice. As of July 2021, Tracey has moved into the alt-ac world for a term position, while also teaching in the English Department at the University of Victoria.

Orgography

LEMDO Team (LEMD1)

The LEMDO Team is based at the University of Victoria and normally comprises the project director, the lead developer, project manager, junior developers(s), remediators, encoders, and remediating editors.

Glossary

Oxygen
“The application that we use to encode and edit LEMDO’s XML files.”
repository or repo
“The repository contains all the files in the LEMDO project. The LEMDO repository is saved to a server in the basement of the Clearihue Building at UVic. All LEMDO files are under version control through Subversion, a repository maintenance tool that keeps a complete history of every change ever made to every LEMDO file.”
validate
“The process you run in Oxygen to check files for errors.”

Metadata