Chapter 6. Making Links

This chapter of our documentation is still in beta. We welcome feedback, corrections, and questions while we finalize the page in our 2024–2025 work cycle.

Introduction to Linking Mechanisms

Disambiguation

This page does not address the specialized kind of linking that LEMDO uses to link collations and annotations to the modern text. See Chapter 14. Collation and Chapter 16. Annotations for information on linking from collation and annotation files.

Rationale

LEMDO uses two mechanisms to create most links in editions: the pointer mechanism and the reference mechanism. Using these two mechanisms will allow you to create links to your own edition, to other entities within the LEMDO project, to anchors placed within LEMDO files, to internal and external databases (e.g., BIBL1 and DEEP), and to other Web sites and pages. This documentation will outline the differences between these two mechanisms.
This page will not explain in detail how to determine which linking mechanism to use. See Choose Linking Mechanisms for information on determining which to use.

Overview

The primary difference between the pointer mechanism and the reference mechanism lies in the way that they are processed. The pointer mechanism is encoded with the self-closing <ptr> element, meaning that there is no text node for you to type in. Instead, our processing supplies the text that will appear in your citation. The reference mechanism is encoded with the <ref> element. The <ref> element has a text node, meaning that you can supply the text that you want to appear in your citation.
From an encoding standpoint, using the <ptr> element is beneficial in that processing will provide precise and accurate references based on what you are linking to. You are not required to type that information into your encoded file, nor do you need to worry about updating citations if you make updates to the text that you are linking to. Conversely, the <ref> element allows you greater control over what text renders as citations in the final output of your edition.
While you may choose to use <ref> to link to any entity (internal or external to the LEMDO project), there are restrictions to the scenarios in which you may use the <ptr> element. Additionally, there are scenarios in which LEMDO recommends that you use the <ptr> element. See Choose Linking Mechanisms for more information.

The Pointer Mechanism

The pointer mechanism is useful when you are linking within a single edition. It has three primary uses: 1) linking to your modern text, 2) linking to a <div> with a heading (encoded as a child <head> element) in your critical paratexts, and 3) linking to files in your edition. We do not use the <ptr> element to link outside of a single edition—do not use the <ptr> element to link to other LEMDO editions or to external entities.
Because the <ptr> element is self-closing (i.e., it has no text node), the human-readable text that will render in the final digital and print output of your file is supplied by our processing. When you link to your modern text, it will supply a correctly-formatted canonical reference to the act, scene, or speech that you are linking to or, if you are pointing to a specific point, the scene or speech that contains that point. When you link to a <div> element with a heading, processing will supply the text of that heading as your citation. When you link to an entire file, processing will supply the title of that file as your citation.
In your digital edition, the text supplied as the citation will be hyperlinked. In your print edition, it will simply appear as text.

The Reference Mechanism

The reference mechanism is available to use when linking to any entity internal or external to the LEMDO project. You may use it when linking within your own edition, linking to other LEMDO editions, linking to project-wide databases, linking to external databases, or linking to external Web sites and pages.
When LEMDO builds your edition, it retains the text node of your <ref> element exactly as you typed it.
In your digital edition, the text node of the <ref> element will be hyperlinked. There is no processing of <ref> elements in the print edition, we simply reproduce whatever you have in the text node of <ref> .

Choose Linking Mechanisms

Rationale

LEMDO uses the pointer and reference mechanisms to create most links in our editions. You will determine which linking mechanism to use based on your encoding scenario for each link. This documentation will explain how to choose which linking mechanism to use.

When to Choose the Pointer Mechanism

You may only use the pointer mechanism (encoded using the self-closing <ptr> element) when linking to your edition. We recommend using the <ptr> element for the following scenarios:
When you are linking to an act, scene, speech, or specific point in your modern text.
When you are linking to a speech in your semi-diplomatic transcription.
When you are linking to a <div> in one of your critical paratexts that has a heading (encoded as a <head> element) and you want your citation to match the heading of that <div> .
When you are linking to an entire file in your edition and you want your citation to match the title of your file.
We recommend using the pointer mechanism in these scenarios because it will ensure that citations are consistently formatted across both your edition and the entire LEMDO project.
Once you have determined that you will use the pointer mechanism to encode a link, you must also decide whether to add the @type attribute. You will only add the @type attribute on the <ptr> element in two scenarios: 1) when you are linking to an act, scene, speech, or specific point in your modern text and 2) when you are linking to a speech in your semi-diplomatic transcription. Using the @type attribute with a value of localCit tells our processor to supply a canonical reference (i.e., an Act, Scene, Speech number) as the text of your citation. See Encode Pointer Links for information on how we use the @type attribute when linking to modern texts.

When to Choose the Reference Mechanism

You must use the reference mechanism (encoded using the <ref> element) when creating links to anything outside of your edition. You may use the reference mechanism when linking to your edition.
Use the <ref> element in the following scenarios:
When you are linking within your edition and you want to control what text appears in your citation (i.e., you do not want the canonical reference for an act, scene, or speech; you do not want the heading of a <div> that you are linking to; or you do not want the title of the file that you are linking to to appear as the text of your citation).
When you are linking to a different edition in the LEMDO project.
When you are linking to a sitewide database such as BIBL1.
When you are linking to an external database such as DEEP.
When you are linking to an external Web site or page.
What you provide as the value of the @target attribute on your <ref> element depends on which of the above scenarios you are linking for. See Encode Reference Links for more information about encoding the @target attribute on your <ref> element.

Decision Tree

The following decision tree graphically lays out which linking mechanism to use.

                           Flowchart showing laying out the scenarios for using ref and pointer as outlined above.

Hash Character

LEMDO uses the hash character to link to xml:ids within specific documents. This documentation will explain how to use the hash characters to create pathways to xml:ids when encoding links.

Rationale

The pathways that we create using the hash character become the value of the @target attribute on <ptr> and <ref> elements that link to an entity within an anthology. Using these pathways indicates to our processor that the place that we are linking to is in a specific file.

Practice: Use the Hash Character

Follow these steps when creating a pathway to use as the value of @target on either the <ptr> of <ref> element:
Write the prefix doc:. This prefix tells our processor to look in a document within the project.
Write the xml:id of the file that you are linking to. This indicates to the processor which file the entity that you are linking to is in.
Write the hash character. This tells the processor to look for something within that file.
Write the xml:id of the entity that you are linking to. When people click on your link, they will be brought to the enitity with that xml:id.
For example, this: doc:emdDEVI3_M#emdDEVI3_M_sp1 is a pathway to Sp.1 in the Device of the Pageant modern file. This pathway tells our processor to look in a file, that the file it must look in has the xml:id emdDEVI3_M, and that within that file it must look for the xml:id emdDEVI3_M_sp1.

Special Case: Linking Within a Single File

When linking within a single file (i.e., the entity that you are linking to is in the same file as the one that you are linking from), you do not need to specify either the prefix doc: or the file xml:id in your pathway. When there is no file xml:id before the hash character, our processor will look for the entity that you are linking to in the file that you are linking from. Your steps are simplified to:
Write the hash character. This tells the processor to look for something within that file.
Write the xml:id of the entity that you are linking to. When people click on your link, they will be brought to the enitity with that xml:id.
For example, this path: #emdH5_FM_anc_6523 in the Henry V folio modern file links to an anchor with the xml:id emdH5_anc_6523, also in the Henry V folio modern file. This pathway tells the processor to look within the file that the link is in for the xml:id emdH5_anc_6523.

Create Anchors

Rationale

Sometimes we want to link to things that do not have xml:ids or a parent element on which we could add a meaningful xml:id. In these cases, we can add anchors to the target file.
Some of the use cases for anchors include:
Marking the beginning and end of a lemma you want to collate.
Marking the beginning and end of a passage you want to annotate.
Marking the beginning and end of a passage in your modern text or semi-diplomatic transcription you want to cite from your critical paratext.
Generally, you create anchors in your own edition for use in your edition. Because there is nothing canonical about them, they have limited value outside the context of your edition (although anyone could link to them if they knew the URL).

Practice: Make an Anchor

LEMDO has two keyboard shortcuts to create <anchor> elements. One creates two anchors while the other creates only one. Both automatically generate an @xml:id value on the <anchor> element.
If you want to place two anchors around a span of text:
Highlight the text that you wish to place <anchor> elements on either side of.
Hit Ctrl+Shift+A (on a Windows or Linux) or Cmd+Shift+A (on a Mac).
If you wish to add one pointer:
Place your cursor in the spot that you want to add an <anchor> element.
Hit Ctrl+Shift+Space (on a Windows or Linux) or Cmd+Shift+Space (on a Mac).
Select Add a single anchor from the dropdown list.
You may also choose to use the first keyboard shortcut and remove one of the anchors.

Anchor IDs

The xml:id will be automatically generated for you when you add the <anchor> element using one of our keyboard shortcuts. The xml:id of an anchor always ends with this pattern: _anc_1, _anc_2, and so on. The first time you add an anchor to an XML file, the processor will not assign a number to the anchor; the value of the @xml:id will end with _anc_. You need to manually add the number 1 (or numbers 1 and 2 if you have inserted two anchors). Thereafter, our shortcuts will automatically number the anchors for you, using the next available sequential number(s).
Note that the anchors do not have to be in numerical order through your file. They have to be unique in your file, but it does not matter to the processor if the first anchor in the document is number 397. In other words, you can go back and add new anchors to your document at any time in your editorial process. Note also that you may point to the same anchor from multiple different places; there is no need to add two anchors immediately beside each other.

Tips

Do not place anchors between lines or paragraphs. I.e., do not place an anchor between the closing tag of one <p> element and the opening tag of the next <p> element, or between the closing tag of one <l> element and the opening tag of the next <l> element.

Further Reading

Encode Pointer Links

Principles of Encoding Pointer Links

Using the <ptr> element will create programatically generated citations.
We only use the <ptr> element to link to <div> elements when they have a child <head> element and to the text in modern and semi-diplomatic files.
We use the @type attribute with a value of localCit when linking to the text in modern and semi-diplomatic files in order to trigger the processing to generate canonical reference numbers for citations.

Practice: Encode the Pointer Element

You will generally follow the same steps when encoding all of your <ptr> elements. The exception to this is when you encode <ptr> elements linking to the text of your modern or semi-diplomatic files; these links require an extra step. See Special Case: Linking to Canonical References. Follow these steps to encode <ptr> links:
Add a <ptr> element to your text. This will become hyperlinked text in the digital output of your edition and a citation in the print output of your edition.
Add a @target attribute to your <ptr> element.
Add the pathway to the entity that you are linking to as the value of the @target attribute. See Hash Character for information on creating pathways.

Special Case: Linking to Canonical References

There is one additional step that you will take when encoding <ptr> elements that link to acts, scenes, speeches, or anchors in your modern and semi-diplomatic texts. We add the @type attribute with a value of localCit on <ptr> elements in these scenarios. This triggers our processor to generate a canonical reference as the hyperlinked text in the digital output and as the citation in the print output of your edition.
Follow these steps when linking to your modern or semi-diplomatic text using the <ptr> element:
Add a <ptr> element to your text.
Add a @type attribute with a value of localCit to your <ptr> element.
Add a @target attribute with a pathway to the act, scene, speech, or anchor that you are linking to as the value. See Hash Character for information on creating pathways.

Special Case: Linking to a Span of Text

There are a few scenarios in which you will link to a span of text by pointing to two entities. Generally, you can simply point to one entity that contains the span of text (i.e., the act, scene, or speech) or point to the anchor at the beginning of the span of text that you are pointing to—this will create a canonical reference citation using the numbers for the act, scene, and speech that your anchor is in and, in the digital edition, will link to the start of the span of text that you are pointing to. However, if the section of text that you wish to point to spans more than a single speech, you will put two values seperated by a space as the value of the @target attribute on your <ptr> element. Note that you will only do this when pointing to your modern or semi-diplomatic text.
Follow these steps:
Add a <ptr> element to your text.
Add a @type attribute with a value of localCit to your <ptr> element.
Add a @target attribute to your <ptr> element.
Add a pathway to the first entity that you wish to link to (i.e., the first speech that you are linking to or the anchor at the beginning of your span of text) as the value of your @target attribute.
Add a space after the first pathway, then add a second pathway to the second entity that you are linking to (i.e., the final speech that you are linking to or the anchor at the end of your span of text).

Examples

This pointer links to a <div> element with a child <head> element that is in the same file as the <ptr> element:
<ptr target="#emdDEVI3_genIntro_crit"/>
In this case, the pointer links from somewhere in the General Introduction to Laurie Ellinghausenʼs edition of Device of the Pageant to the <div> element with an xml:id of emdDEVI3_genIntro_crit.
This pointer links to an entire file:
<ptr target="doc:emdSel_critIntro"/>
In this case, the pointer links to the Critical Introduction to Kirk Melnikoffʼs edition of Selimus, which has the xml:id of emdSel_critIntro.
This pointer links to a canonical reference:
<ptr type="localCit" target="doc:emdAHDM_M#emdAHDM_M_s5_sp1"/>
In this case, the pointer links to Speech 1 in Scene 5 of Eleanor Loweʼs edition of An Humorous Dayʼs Mirth. This pointer would render as Sc5 Sp1 and would bring people to the start of that speech if they clicked the link.
This pointer links to a canonical reference using an anchor:
<ptr type="localCit" target="doc:1HW_M#emd1HW_M_anc_33"/>
In this case, the pointer links to the <anchor> element with an xml:id of emdTim_M_anc_9 in the modern text of Joost Daalderʼs edition of The Honest Whore, Part 1. This anchor is in Act 1, Scene 1, Speech 3, so it would render with the canonical reference A1 Sc1 Sp3. It would bring people to the exact spot where the anchor is if they clicked the link.
This pointer links to a span of speeches:
<ptr type="localCit" target="doc:emdH5_FM#emdH5_FM_a4_s7_sp22 doc:emdH5_FM#emdH5_FM_a4_s7_23"/>
In this case, the pointer links to Speeches 22–23 in James Mardockʼs modern edition of Henry V, Folio.
This pointer links to a span of text using anchors:
<ptr type="localCit" target="doc:emdOth_M#emdOth_M_anc_14 doc:emdOth_M#emdOth_M_anc_12"/>
In this case, the pointer links to a span of text marked at the beginning by an anchor that is partway through Act 1, Scene 1, Speech 3 and marked at the end by an anchor that is partway through Act 1, Scene 1, Speech 4 of Jessica Slightʼs edition of Othello.

Integrate Pointers into Your Prose

Rationale

You will want to think carefully about how to integrate local pointers (i.e., pointers to other parts of your own edition) into your prose. Your job is to make the pointers; LEMDOʼs job is to turn those pointers into citations that make sense for the publication medium. LEMDO editions are published as digital editions (where we cite by A.S.Sp. for primary dramatic texts and by paragraphs for critical paratexts) and as print editions (where we cite by the line numbers assigned to the printed text in the final stages of layout). You will need to think about whether you need to put your pointers in parentheses or integrate them into your prose. This documentation explains how our processing renders pointers and how you can use that information to determine how to integrate pointers into your prose.

How LEMDO Processing Renders Pointers

Our processing turns your encoding into reader-friendly citations. There are two ways that this can happen in the digital edition:
If you are linking to your modernized text or semi-diplomatic transcription: We use the A.S.Sp. system. Our processing will use the value of the @xml:id attribute on the speech that you are citing. If you are linking to anchors, our processing will use the value of the @xml:id of the speech that contains the anchor. For example, this: <ptr type="localCit" target="doc:emdH5_FM#emdH5_FM_a1_s2_sp18"/> would render as A1 S2 Sp18. Note that semi-diplomatic transcriptions do not use act or scene numbers in their @xml:id values, so they will only be cited by speech number.
If you are linking to a <div> in a critical paratext: Our processing will use the text from the <head> of the <div> that you are citing. For example, this: <ptr target="doc:emdH5_GenIntro#emdH5_GenIntro_theaterKingship"/>, which links to a <div> with a <head> of Theatre and Kingship would render as Theatre and Kingship.
In the print editions, our processing gives the act and scene number of the thing that you are citing as in the digital edition, but uses the line numbers that are assigned during page layout rather than speech numbers.

Practice: Integrate Pointers into your Prose

Pointers are very helpful for directing readers to the exact point that you want them to look at. They also ensure that our citations are consistently formatted across the LEMDO platform. Knowing how our processing renders pointers in the final output of your edition allows you to incorporate them naturally into your prose. You will extrapolate what will happen to the pointer when you are writing to be certain that it fits and makes sense in your text. So, if you are writing a sentence and want to talk about text in your play, you can add in a pointer to that text knowing that it will appear as an A.S.Sp. citation in the final output of your edition. Similarly, if you want to write about a section in a critical paratext, you can incorporate a pointer into the sentence knowing that it will appear as the heading of that section wrapped in quotation marks.
For example, you might want to write the following sentence:
In Act 1 Scene 3 of Honest Whore, Part 1, the Duke instructs servants to ‘uncurtain Infelice ʼ (Act 1 Scene 3 Speech 5).
Knowing how LEMDO renders pointers, you can use two pointers in that sentence:
<p>In <ptr type="localCit" target="doc:emd1HW_M#emd1HW_M_a1_s3"/> of <title level="m">Honest Whore, Part 1</title>, the Duke instructs servants to <quote>uncurtain <supplied>Infelice</supplied>
</quote> (<ptr type="localCit" target="doc:emd1HW_M#emd1HW_M_a1_s3_sp5"/>).</p>
You will expect it to render on the LEMDO site as follows:
In A1 S3 of Honest Whore, Part 1, the Duke instructs servants to ‘uncurtain Infelice ʼ (A1 S3 Sp5).
Where A1 S3 and A1 S3 Sp5 are links to the modern text.
Similarly, you might want to link readers to a specific section in a critical paratext, as follows:
As I explain in the Ingestion and Egestion section of the General Introduction
You can encode that sentence as:
<p>As I explain in the <ptr target="doc:emdAHDM_GenIntro#emdAHDM_GenIntro_Ingestion"/> section of the <ptr target="doc:emdAHDM_GenIntro"/>
  <!-- Paragraph continues. -->
</p>
And expect it to render as:
As I explain in the Ingestion and Egestion section of the General Introduction
Where Ingestion and Egestion and General Introduction are both links. The benefit of using <ptr> elements is that, if you choose to change the header of the <div> that you point to, your citations will automatically update to reflect that change.
Remember that you may use <ref> elements rather then pointers. With a <ref> element, you have complete control over what appears in the output. See Choose Linking Mechanisms for more information about the process of deciding whether to use a <ptr> or <ref> element and Encode Reference Links for information on encoding the <ref> element.

Examples

Example of an inline reference to two disparate points in the text:
<p><!-- Beginning of paragraph. -->The copy-text for this edition is Q1, apart from the passage at <ptr type="localCit" target="doc:emd1H4_M#emd1H4_M_anc_3231"/> to <ptr type="localCit" target="doc:emd1H4_M_anc_3232"/> where prior authority is given to Q0.<!-- Paragraph continues. --></p>
When we build the digital edition, the pointers and targets will be converted to A.S.Sp. references, each hyperlinked directly to the beginning and end points of this long passage. When we build the print edition, the pointer and targets will be converted to A.S.L numbers that correspond to the line numbers generated for the print edition. Thus, the digital edition will look like this:
The copy-text for this edition is Q1, apart from the passage at A1 S3 Sp26 to A2 S2 Sp45 where prior authority is given to Q0.
Example of an inline reference marking a point in the text:
<p><!-- Beginning of paragraph. -->At <ptr type="localCit" target="doc:emdSel_M#emdSel_M_anc_109 doc:emdSel_M#emdSel_M_anc_110"/> Tonombey describes his father as being <quote>lineally descend<supplied>ed</supplied>
</quote> from Usumcasane<!-- Paragraph continues. --></p>
When we build the digital edition, the pointer will be converted to an A.S.Sp. reference that hyperlinks directly to this point in the text. It will render as follows:
… At S26 Sp2 Tonombey describes his father as being ‘lineally descended ʼ from Usumcasane …
Example of a parenthetical citation that spans two lines of text:
<p><!-- Beginning of paragraph. --> For both he delivers an affectionate, but clear-sighted epitaph. His farewell to Hotspur begins, <quote>Fare thee well, great heart! Ill-weaved ambition, how much art thou shrunk!</quote> (<ptr type="localCit" target="doc:emd1H4_M#emd1H4_M_anc_3234 doc:emd1H4_M#emd1H4_M_anc_3235"/>) and to Falstaff he says, <quote>Poor Jack, Farewell! / I could have better spared a better man</quote> (<ptr type="localCit" target="doc:emd1H4_M#emd1H4_M_anc3236 doc:emd1H4_M#emd1H4_M_anc_3237"/>).<!-- Paragraph continues. --></p>
When we build the digital edition, the pointers and targets will be converted to a single A.S.Sp. reference that links directly to the beginning of the quotation in the modern primary text. When we build the print edition, the pointers and targets will convert to a parenthetical citation indicating the line numbers of both the beginning and end points of the quotation, thus: (A.S.L-A.S.L).

Encode Reference Links

Rationale

The reference link is one of the linking mechanisms that we use. Unlike pointer links, reference links allow you to control what you want to appear in a parenthetical citation.

Principles

The <ref> element allows you to control what text appears as a hyperlinked citation in the digital output of your edition.
You will always use the <ref> element to link outside of your edition (e.g., to other LEMDO editions, to project-wide databases, and to external sources).
You may choose to use the <ref> element to link within your edition.
While the <ref> element grants you more control over what appears in citations, it also leaves more room for human error.

Step-By-Step

You will follow many of the same steps when encoding your <ref> elements. The exception to this is when you encode <ref> elements linking to LEMDOʼs project-wide bibliography (BIBL1) and production database (PROD1); these links require an extra step. See Practice: Link to LEMDO Databases. Follow these steps to encode <ref> links:
Add a <ref> element to your text.
Add your citation to the text node of the <ref> element. This will become hyperlinked text in the digital output of your edition. Note that if you are adding your <ref> link to pre-existing text (i.e., you have already typed everything out before encoding link in it), you can simply highlight the text that you wish to be hyperlinked and wrap it with the <ref> element.
Add a @target attribute to your <ref> element with either a pathway or a URL as the value. Note that the value of @target depends on what type of entity you are linking to; see Practice: Link to a LEMDO Edition, Practice: Link to LEMDO Databases, Practice: Link to MoEML Entities, and Practice: Link to External Sources for more information.

Practice: Link to a LEMDO Edition

There are two practices for linking to editions within the LEMDO ecosystem: 1)Practice for linking to an edition within your anthology (including linking to your own edition) and 2) Practice for linking to an edition in a different anthology.
When you link to an edition within your anthology, use a pathway as the value of the @target attribute on your <ref> element. See Hash Character for information on creating pathways. When you link to editions in your anthology, you may only link to files that will be published at the same time as your edition. This means that when you create your link, you must ensure that the file that you are linking to will be published in the same release as the file that you are linking from.
When you link to an edition in a different LEMDO anthology, treat the entity that you are linking to as an external source. Use the URL for the entity that you wish to link to as the value of the @target attribute on your <ref> element. You may only link to LEMDO editions that have already been published.

Practice: Link to LEMDO Databases

You will use the <ref> element to encode links to LEMDOʼs project-wide bibliography (BIBL1) and to our project-wide production database (PROD1). There is one additional step when you encode <ref> elements that link to either of these databases. We add the @type attribute with a value of bibl (when linking to BIBL1) or prod (when linking to PROD1).
Follow these steps when linking to BIBL1 or PROD1:
Ensure that the source you are citing is in the correct database. You can do this by searching for bibliography entries and for productions. If your source is not in our databases, follow the instructions outlined in Prepare Edition Bibliography.
Add a <ref> element around your citation.
Add a @type attribute on your <ref> element. If you are linking to BIBL1, give the @type attribute a value of bibl. If you are linking to PROD1, give @type a value of prod.
Add a @target attribute on your <ref> element. If you are linking to BIBL1, give the @target attribute a value of bibl: followed by the xml:id for your source as given in . If you are linking to PROD1, give @target a value of prod: followed by the xml:id for your production as given in .

Practice: Link to MoEML Entities

Practice: Link to External Sources

To link to external Web sources, give the URL of the source as the value on the @target attribute. Note that even if the text that you wrap in the <ref> element is the sourceʼs URL, you still need to use the URL as the value of @target.

Examples

This <ref> element links to a LEMDO edition in the DRE anthology:
<p>
<!-- ... -->
(<ref target="doc:emdAHDM_emStaging#emdAHDM_emStaging_Doors">
  <title level="a">Early Modern Staging</title>
</ref>).</p>
This example assumes that 1) The edition we are linking from is also in the DRE anthology and 2) That the edition that we link to will be published in the same release as the edition that we are linking from. When someone clicks this link, it will bring them to the section titled Doors in the page Early Modern Staging in Eleanorʼs edition of An Humorous Dayʼs Mirth.
This <ref> element links to a published LEMDO edition in the MoMS anthology:
<p>
<!-- ... -->
(<ref target="https://lemdo.uvic.ca/moms/emdDEVI3_M.html">
  <title level="m">Device of the Pageant</title>
</ref>).</p>
This example assumes that the edition we are linking from is not in the MoMS anthology. When someone clicks this link, it will bring them to Laurie Ellinghausenʼs modern edition of Device of the Pageant on the published MoMS website.
This <ref> element links to an entry in BIBL1:
<p>
<!-- ... -->
(<ref type="bibl" target="bibl:ALEX1">Alexander and Wells</ref>).</p>
When someone clicks this link, a pane will open up on the right side of the page with the bibliography entry for Alexander and Wellʼs Shakespeare and Race.
This <ref> element links to an entry in PROD1:
<p>
<!-- ... -->
(<ref type="prod" target="prod:MUAT1">Muat</ref>).</p>
When someone clicks this link, a pane will open up on the right side of the page with the production entry for Maria Muatʼs production of Twelfth Night from Shakespeare: The Animated Tales.
This <ref> element links to an external source:
<p>
<!-- ... -->
(<ref target="http://deep.sas.upenn.edu/">
  <title level="m">Database of Early English Playbooks</title>
</ref>).</p>
When someone clicks this link, it will bring them to the homepage for the Database of Early English Playbooks.

Stable Entities

A stable entity always has an xml:id—an alphanumeric string that is unique in the ecosystem of the project. In some cases, the stable entity is a function of our file system (e.g., file names). In other cases, the stable entity is a logical structural feature of the text (e.g., acts, scenes, speeches, paragraphs, figures), or an entity that we have captured in one of LEMDOʼs sitewide shared databases. We can also create a stable entity in the form of an anchor, precisely so that we can link to strings of text that donʼt have a logical container to which we can link.
Stable entities include:
XML files
Divisions within an XML file (acts and scenes in the primary texts, or sections in born-digital files)
Paragraphs within an XML file (prose passages in primary non-dramatic texts, or paragraphs in born-digital files)
Speeches
Figures
Entities (contributors, historical people, bibliography items)
Anchors (arbitrary strings you want to annotate, collate, or link to for some other reason)

XML Files as Stable Entities

All XML files in the LEMDO system have a unique xml:id. This id can be found on the root element of the file (i.e., the <TEI> element). You will also note that the xml:id of the file is the final part of the URL when you view the file on the site. You can also look for the xml:id of any file in the LEMDO A–Z Index. Note that XML files are stable only within your own anthology.

Divisions as Stable Entities

We use the <div> element for a variety of purposes at LEMDO.
In modern primary texts; acts, scenes, and other units of text are wrapped in the <div> element. See Literary Divisions in Modern Texts.
In born-digital texts (e.g., about pages, critical paratexts), sections are wrapped in <div> elements and paragraphs in <p> elements.
LEMDO has a Schematron rule that <div> elements must be given an xml:id. That makes it possible to link to any div element using its xml:id, a hash tag, and the xml:id of the division.

Paragraphs as Stable Entities

We use the <p> element for a variety of purposes at LEMDO. We always assign xml:ids to the following types of paragraphs:
Primary non-dramatic texts (usually supplementary texts): prose paragraphs
Critical paratexts: prose paragraphs
About pages (if the page offers information that others might like to cite, such as the pages on the Queenʼs Men company on the QME site): prose paragraphs
The xml:id on a <p> element ends with the pattern _p1, _p2, _p3, and so on (where p1 is paragraph 1). You can link to any <p> element using its xml:id and the <ref> element or the <ptr> element.
Note that the paragraphs in documentation files are not numbered because we are constantly adding new material.

Canonical References in Modern Texts as Stable Entities

Canonical References in Semi-Diplomatic Transcriptions as Stable Entities

Speeches as Stable Entities

Speeches are tagged with the <sp> element in all primary texts.
In semi-diplomatic primary texts: speeches are wrapped in the <p> element and numbered consecutively from the first <sp> element to the last. Their xml:ids always end with this pattern: _sp1, sp2, and so on (where sp1 is speech 1).
In modern primary texts, speeches are wrapped in the <sp> element. Numbering is consecutive through each scene. Their xml:ids always end with this pattern: _a2_s1_sp1 (where a2 is act 2, s1 is scene 1, and sp1 is the first speech in the scene). See Number Speeches for more information on speech numbering.

Figures as Stable Entities

All figures are given xml:ids once the file is stable. Doing so allows you to link from your prose to a figure in the same file, or to a figure in another part of your edition. The classic case is the parenthetical (i.e., See Figure 1). You may also want to link from an annotation to a figure in your critical introduction.
The xml:id of a figure always ends with this pattern: _f1, _f2, and so on (where f1 is figure 1).

Formal Entities

LEMDO has a number of shared databases upon which all contributors can draw and to which we all collectively contribute. (Read more about them in the chapter on Introduction to Sitewide Data Files.) Each contributor, historical figure, bibliography item, production, organization, and witness has a unique, pre-assigned xml:id. These xml:ids consist of four letters + a number, following this pattern: ABCD1. You will find all of these in the LEMDO A–Z Index, but it will be much faster to search the individual database files, all of which are linked from Resources on the LEMDO-dev site.

Anchors as Stable Entities

Sometimes we want to link to things that do not have xml:ids or a parent element on which we could add a meaningful xml:id (e.g., lemmas we want to collate, passages we want to annotate, and passages we want to quote in critical paratexts). In these cases, we can add anchors to the target file.
All anchor elements have an @xml:id ending with this pattern: _anc_1, _anc_2, and so on. We use the <ptr> element to point to those anchors. See Create Anchors for information on how to create anchors and point to anchors.

Encode Entities

Rationale

Entities are individual organizations, people, places, and bibliography entries. LEMDO tags entities for multiple reasons:
To link names of contributors to their bio-bibliographical entry
To link names of historical people to biographical information
To identify and link organizations to a brief description
To link in-text citations to full citation entries
To facilitate our current processing (counting, linking, giving credit)
To identify London placenames and enrich MoEML
To identify placenames for a future placeography
To prepare for future ingestion of our entities into the LINCS triplestore where they can be connected to other projects about early modern people, places, and texts

Practice

LEMDO has a few sitewide data files that contain many xml:ids used to identify things from people to works editors have cited: the Personography (PERS1.xml), Prosopography (PROS1.xml), Orgography (ORGS1.xml), Bibliography (BIBL1.xml), and Production Database (PROD1.xml). When you want to link to an entity within one of these sitewide data files from the file you are working in, you need to point to an xml:id from one of these sitewide data files.
In short, to encode an entity you need to (1) identify the text node that you want to become the link, (2) wrap the text node in the appropriate element, and (3) add the appropriate attributes and values (prefix + the value of the entityʼs @xml:id). Which element, attribute, and value prefix you use depend on what type of entity you want to tag. The table below summarizes this data:
Type of Entity Sitewide Data File Element Attribute Value Prefix
MoEML Personography MoEML <persName> @ref mol:
MoEML Editions and Pages MoEML <ref> @target mol:
Modern Person PERS1 <persName> @ref pers:
Historical person PROS1 <persName> @ref pros:
Organization ORGS1 <name> @ref org:
Souce/Citation BIBL1 <ref> @type, @target bibl, bibl:
Production PROD1 <ref> @type, @target prod, prod:
London Toponym MoEML <placeName> @ref mol:

People

There are two files that contain the xml:ids of people: the Personography (PERS1.xml) and the Prosopography (PROS1.xml). The Personography contains the xml:ids for people such as LEMDO contributors, editors, and research assistants. The Prosopography contains the xml:ids of historical people.
To create a link to someone in the Personography, use the <persName> element, @ref attribute, and pers: prefix + xml:id:
<persName ref="pers:LEBE1">Kate LeBere</persName>
For people in the Prosopography, use the pros: value prefix + xml:id:
<persName ref="pros:SHAK1">William Shakespeare</persName>

Organizations

The xml:ids of orgainzations are stored in the Orgography (ORGS1.xml).
To create a link to an organization, use the <name> element, @ref attribute, and orgs: prefix:
<name ref="org:UVIC1">University of Victoria</name>

Bibliography Entries

The xml:ids of sources cited by editors (books, journal articles, newspaper articles, etc.) are stored in the Bibliography (BIBL1.xml).
To create a link to a source, use the <ref> element, @type attribute with a bibl value, and a @target attribute with the bibl: prefix + xml:id:
<ref type="bibl" target="bibl:MANL1">Manley and MacLean 93-96</ref>
When tagging an in-text citation, note that the author name and page number are both included in the text node:
<p>Londoners certainly knew the play: Henslowe’s accounts confirm that the Queen’s Men acted it on the Bankside during the Easter season of 1594 (<ref type="bibl" target="bibl:FOAK2">Foakes 21</ref>); it was probably performed as well at city innyards such as the Bull in Bishopsgate Street and the Bell Savage near Ludgate (<ref type="bibl" target="bibl:KATH1">Kathman 68-75</ref>).</p>

Production Entries

The xml:ids of productions cited by editors (theatre performances, movies, etc.) are stored in the Production Database (PROD1.xml).
To create a link to a production, use the <ref> element, @type attribute with a prod value, and a @target attribute with the prod: prefix + xml:id:
<ref type="prod" target="prod:BRAN2">Branagh</ref>

London Toponyms

Tag places in London with their ids from the Map of Early Modern London (MoEML) project. Follow these steps:
Identify the location correctly using the resources of MoEML:
Placeography (organized by type of location)
Gazetteer of variant placenames. Further information on how the gazetteer was created and how to use it effectively is also available; see The MoEML Gazetteer of Early Modern London.
Find the unique MoEML xml:id for the location (also known as a mol:id in the MoEML project), using either the gazetteer or this page listing all locations by authority name.
Wrap the toponym in the <placeName> element, as in the example below. Do not include deictics or articles in the text node of placeName.

Examples

<p>In former ages, he was not encompassed with such glories; no such firmaments of stars were to be seen in <ref target="mol:CHEA2">Cheapside</ref>.</p>
<!-- Note that we wrap the ref element only around the word Globe. --> <p>The play was first performed at the <ref target="mol:GLOB1">Globe</ref>.</p>

Notes

1.To be published, a document has to have three things: (1) it must have the value of published for the @status attribute on the <revisionDesc> element, (2) it has to be included in an anthology, and (3) it has to have been released in a static release of that anthology.

Prosopography

Isabella Seales

Isabella Seales is a fourth year undergraduate completing her Bachelor of Arts in English at the University of Victoria. She has a special interest in Renaissance and Metaphysical Literature. She is assisting Dr. Jenstad with the MoEML Mayoral Shows anthology as part of the Undergraduate Student Research Award program.

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 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.

Kate LeBere

Project Manager, 2020–2021. Assistant Project Manager, 2019–2020. Textual Remediator and Encoder, 2019–2021. Kate LeBere completed her BA (Hons.) in History and English at the University of Victoria in 2020. During her degree she published papers in The Corvette (2018), The Albatross (2019), and PLVS VLTRA (2020) and presented at the English Undergraduate Conference (2019), Qualicum History Conference (2020), and the Digital Humanities Summer Institute’s Project Management in the Humanities Conference (2021). While her primary research focus was sixteenth and seventeenth century England, she completed her honours thesis on Soviet ballet during the Russian Cultural Revolution. She is currently a student at the University of British Columbia’s iSchool, working on her masters in library and information science.

Mahayla Galliford

Research assistant, remediator, encoder, 2021–present. Mahayla Galliford is a fourth-year student in the English Honours and Humanities Scholars programs at the University of Victoria. She researches early modern drama and her Jamie Cassels Undergraduate Research Award project focused on approaches to encoding early modern stage directions.

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

Project manager 2022–present. Textual remediator 2021–present. Navarra Houldin (they/them) completed their BA in History and Spanish at the University of Victoria in 2022. During their degree, they worked as a teaching assistant with the University of Victoriaʼs Department of Hispanic and Italian Studies. Their primary research was on gender and sexuality in early modern Europe and Latin America.

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.

Rylyn Christensen

Rylyn Christensen is an English major at the University of Victoria.

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.

William Shakespeare

Bibliography

Alexander, Catherine M.S., and Stanley Wells, eds. Shakespeare and Race. Cambridge: Cambridge University Press, 2000. WSB aab892.
Branagh, Kenneth, dir. Henry V. Renaissance Films, 1989.
Foakes, R.A., ed. Henslowe’s Diary, 2nd ed. Cambridge: Cambridge University Press, 2002. WSB aah397.
Kathman, David. London Inns as Playing Venues for the Queen’s Men. Locating the Queen’s Men, 1583–1603: Material Practices and Conditions of Playing. Ed. Helen Ostovich, Holger Schott Syme, and Andrew Griffin. Farnham, Surrey: Ashgate, 2009. 65–75. WSB aay90.
Manley, Lawrence and Sally-Beth MacLean. Lord Strange’s Men and their Plays. New Haven, CT: Yale University Press, 2014. WSB aaad207.
Muat, Maria, dir. Twelfth Night. Shakespeare: The Animated Tales. Christmas Films, 1992. WSB cb22.

Orgography

University of Victoria (UVIC1)

https://www.uvic.ca/

Glossary

canonical reference
“A number for a stable entity like a verse line, speech, act, scene, or paragraph. These numbers can be used for citation purposes. In the LEMDO system, the canonical reference is part of a precise URL.”

Metadata