MoEML’s ePub Developer Documentation
This document is currently in draft. When it has been reviewed and proofed, it will
be
published on the site.
Please note that it is not of publishable quality yet.
MoEML’s ePub Developer Documentation
¶XSLT files responsible for creating MoEML ePubs.
-
Jenkins_to_epub.xsl -
Epub_supplementary_files.xsl -
List_css_for_epub.xsl -
List_fonts_for_epub.xsl -
List_images_for_epub.xsl -
createEpubs.xml
This documentation details the
XSL and XML files responsible for building the ePubs.¶jenkins_to_epub.xsl
This
XSL transformation processes the source XHTML file, retrieved from Jenkins, to make it compatible with the ePub output that we
desire. It mainly deletes components that are not needed in the production of ePubs.
It includes epub_globals.xsl, which has all the required variables and parameters.This transformation results in a
XHTML document with the $docId name, saved in the output folder (as defined in epub_globals.xsl). It removes the following items: top banner, related information, page XML, script elements, breadcrumbs, send feedback, footer menu, document mentions, people’s
contributions, facsimiles, agas.css link, agas_embedded.css, people’s abbreviations, roles played, membership organizations, and social media
logos.Then, jenkins_to_epub.xsl replaces unused
CSS links with new ePub CSS links, and rewrites local links into externals directing to the MoEML website when
necessary. One of the templates rewrites links for graphics to images, and makes full
sized images links into externals.There are templates that move some elements from one position to another, such as
variant spellings and historical figures. One template sorts the personography alphabetically.
¶epub_supplementary_files.xsl
This transformation writes the supplementary files needed for the generation of every
ePub. It includes
epub_globals.xsl. The root template calls the document’s named templates (explained below).-
createMimetypeFilecreates the mimetype file. It is a text output with one line:application/epub+zip. -
createContainerFilecreates thecontainer.xmlfile and stores it inMETA-INFfolder. It is aXMLoutput file, with a rootfile element containing the path topackage.opf. -
createCoverFileThe cover file is anXHTMLfile saved in the main document-specificEPUBfolder. In its head element, this page gets the first title element with a property attribute of valuetitlePage. The actual cover is the cover image that we take from the corresponding PDF document that we build. It is in.pngformat. -
createMetaHybridFileThis template creates another title page that contains hybrid metadata, which includes the title, authors, compilers, and editors, in addition to the publication information. This template contains two conditions, one is when the document at hand is a born digital file and the other is when it is a primary source file. -
createNavCssFileThis template creates theCSSstyling for thenavpage. The resulting document is a.cssfile. The template body is written inCSS. -
createmetaHybridCssFileThis template creates theCSSstyling for themetaHybridpage. The resulting document is a.cssfile. The template body is written inCSS. -
createPackageFileThe package file is in.opfformat. It should list all the files – including images – that are mentioned in the ePub When a file is in the ePub but not mentioned in the package file, the validator will flag an error. It is also erroneous if an item is mentioned in the package file but is not saved in the ePub folder. The template gets the items from the lists that we generate for the creation of the ePub. -
createNavFileThis template is responsible for creating thenav.xhtmlfile. It lists the page contents submenu of a document when a list element with id attributepageContentsis available. It ends with a script element (javascript). -
createTocFileThis template also creates a table of content, with a<navMap>element. The contents have@idattributes and@playOrderattributes. It does not have a<script>element. -
createEpubCssFileThis template creates theCSSstyling for the epub.xhtmlfile. The resulting document is a.cssfile. The template body is written inCSS. It overwrites other styling, unless the platform does not allow it. -
createCoverCssFileThis template creates theCSSstyling for the cover image. The resulting document is a.cssfile. The template body is written inCSS. ThisXSLTalso has unnamed templates. One template rewrites a local link to make it a link from the cover file to the content file, and removes breaks after the title for styling purposes. Another template deals with<ul>elements in ol in thenav.xhtmlfile, as well as rewrites a local link to make it a link from thenavfile to the content file. A third template deals with some styling of lower level<list>elements, also rewriting their links appropriately.
¶list_css_for_epub.xsl
This
XSLT creates the list of CSS files needed for the ePub, which will determine what files will be copied into the
EPUB/CSS folder. The resulting document is a .txt file. The links are retrieved from the source file. Some additional links are hard
coded.¶list_fonts_for_epub.xsl
This
XSLT creates the list of fonts needed for the ePub, which will determine what files will
be copied into the EPUB/fonts folder. The resulting document is a .txt file. The root template contains a variable $cssFiles that reads the CSS files. Variable $tokenizedCss tokenizes the css files, so that variable $allCss can normalize them. The root template then analyzes the strings and applies the necessary
changes to produce the list.¶list_images_for_epub.xsl
This
XSLT creates the list of images needed for the ePub, which will determine what images
will be copied into the EPUB/images folder. It follows the same process as that of list_fonts_for_epub.xsl.¶createEpubs.xml
This
XML file is the Ant application responsible for creating the ePubs. It handles the processing of XHTML documents retrieved from MoEML’s Jenkins. It requires tools located in utilities, and assumes that ant-contrib is installed.A list of properties are defined, most of which are for the paths of necessary files
and/or folders. For instance,
graphicsFolder defines the path of the graphics folder in the SVN repository, from which some images will be copied.-
Target getEpubcheckLocalVersionChecks the current version of theepubcheck.jarfile inutilities. If the file is not available, a value of0.0.0will be returned, which will trigger a download because it is (always) less than the current version. -
Target
getEpubcheckLatestVersionChecks theGitHubrepository for the validator to determine the latest version number. This number will be compared against the current version; if it is lower, then a download is required. -
Target
getEpubcheckChecks whether or notepubcheck.jaris available and up to date. If it is absent or out of date, the latest version gets downloaded. -
Target
vaidateEpubThis target depends on the availability ofepubcheck.jar. It passes the file to the validator, which in turn outputs the results (including any warnings or errors). -
Target
getSourceFileFromJenkinsRetrieves the appropriateHTMLfile from the latest Jenkins build, to be then processed into an ePub. This target creates thesourceFilesfolder if it has not been already created. -
Target
sourceFileToEpubXhtmlProcesses the original source file into a simplified and ePub compatible version of the file. It relies on thejenkins_to_epub.xslstylesheet. -
Target
createCssListCreates a list ofCSSfiles which are in the repository and are referenced in the document being processed, so that we copy them into the corresponding folder, only as needed. It relies on thelist_css_for_epub.xslstylesheet. -
Target
copyCssCopies the set of requiredCSSfiles as per the list created in the previous target. -
Target
createFontsListCreates a list of fonts which are in the repository and are referenced in the document being processed, so that we copy them into the corresponding folder, only as needed. It relies on thelist_fonts_for_epub.xslstylesheet. -
Target
copyFontsCopies the set of required fonts as per the list created in the previous target. -
Target
createImagesListCreates a list of images which are in the repository and are referenced in the document being processed, so that we copy them into the corresponding folder, only as needed. It relies on thelist_images_for_epub.xslstylesheet. -
Traget
copyImagesCopies the set of required images as per the list created in the previous target. This target also creates theEPUB/imagesdirectory, and copies files into it, from directories defined in the properties (as discussed above). -
Target
CreateSupplementaryFilesCreates the supplementary files needed for the ePub being generated. It relies on theepub_supplementary_files.xslstylesheet. -
Target
addSupplementaryFilesAdds the supplementary files, creating the necessary directories:EPUBandMETA-INF. -
Target
processOneFileUses the appropriatedocIdparameter, to retrieve the source document and then process it into the ePub. This target calls the following targets:getSourceFileFromJenkins,sourceFileToEpubXhtml,createCssList,createFontsList,createImagesList,copyCss,copyFonts,copyImages,createSupplementaryFiles,addSupplementaryFiles,buildEpub, andvalidateEpub. -
Target
processMultipleFilesThis is the default target. It uses theidListinput parameter to retrieve selected source documents, and then callsprocessOneFileto process the documents into ePubs. -
Target
buildEpubCreates an ePub file from theXHTMLfile. TheXHTMLfile is found in the parameterinFile. After processing theXHTMLas perjenkins_to_epub.xsl, the ePub folder (with all its contents and child folders) is zipped; the mimetype file should be zipped first, and other folders follow.
Cite this page
MLA citation
.
MoEML’s ePub Developer Documentation.The Map of Early Modern London, Edition 6.6, edited by , U of Victoria, 30 Jun. 2021, mapoflondon.uvic.ca/edition/6.6/epubDev_about.htm. Draft.
Chicago citation
.
MoEML’s ePub Developer Documentation.The Map of Early Modern London, Edition 6.6. Ed. . Victoria: University of Victoria. Accessed June 30, 2021. mapoflondon.uvic.ca/edition/6.6/epubDev_about.htm. Draft.
APA citation
2021. MoEML’s ePub Developer Documentation. In (Ed), The Map of Early Modern London (Edition 6.6). Victoria: University of Victoria. Retrieved from https://mapoflondon.uvic.ca/editions/6.6/epubDev_about.htm. Draft.
RIS file (for RefMan, RefWorks, EndNote etc.)
Provider: University of Victoria Database: The Map of Early Modern London Content: text/plain; charset="utf-8" TY - ELEC A1 - El Hajj, Tracey ED - Jenstad, Janelle T1 - MoEML’s ePub Developer Documentation T2 - The Map of Early Modern London ET - 6.6 PY - 2021 DA - 2021/06/30 CY - Victoria PB - University of Victoria LA - English UR - https://mapoflondon.uvic.ca/edition/6.6/epubDev_about.htm UR - https://mapoflondon.uvic.ca/edition/6.6/xml/standalone/epubDev_about.xml TY - UNP ER -
TEI citation
<bibl type="mla"><author><name ref="#ELHA1"><surname>El Hajj</surname>, <forename>Tracey</forename></name></author>.
<title level="a">MoEML’s ePub Developer Documentation</title>. <title level="m">The
Map of Early Modern London</title>, Edition <edition>6.6</edition>, edited by <editor><name
ref="#JENS1"><forename>Janelle</forename> <surname>Jenstad</surname></name></editor>,
<publisher>U of Victoria</publisher>, <date when="2021-06-30">30 Jun. 2021</date>,
<ref target="https://mapoflondon.uvic.ca/edition/6.6/epubDev_about.htm">mapoflondon.uvic.ca/edition/6.6/epubDev_about.htm</ref>.
Draft.</bibl>
Personography
-
Roles played in the project
-
Project Manager
Ryann McQuarrie-Salik is a member of the following organizations and/or groups:
Ryann McQuarrie-Salik is mentioned in the following documents:
-
-
Tracey El Hajj
TEH
Junior Programmer 2018-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-20 President’s Fellow in Research-Enriched Teaching at UVic, where she taught an advanced course onArtificial Intelligence and Everyday Life.
Tracey was also a member of the Linked Early Modern Drama Online team, between 2019 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.Roles played in the project
-
Author
-
CSS Editor
-
Editor
-
Geo-Coordinate Researcher
-
Junior Programmer
Contributions by this author
Tracey El Hajj is a member of the following organizations and/or groups:
Tracey El Hajj is mentioned in the following documents:
-
-
Joey Takeda
JT
Programmer, 2018-present. Junior Programmer, 2015-2017. Research Assistant, 2014-2017. Joey Takeda was a graduate student at the University of British Columbia in the Department of English (Science and Technology research stream). He completed his BA honours in English (with a minor in Women’s Studies) at the University of Victoria in 2016. His primary research interests included diasporic and indigenous Canadian and American literature, critical theory, cultural studies, and the digital humanities.Roles played in the project
-
Abstract Author
-
Author
-
CSS Editor
-
Compiler
-
Conceptor
-
Copy Editor
-
Editor
-
Encoder
-
Geo-Coordinate Researcher
-
Junior Programmer
-
Markup Editor
-
Metadata Architect
-
Post-Conversion Editor
-
Programmer
-
Proofreader
-
Researcher
-
Toponymist
-
Transcriber
-
Transcription Proofreader
Contributions by this author
Joey Takeda is a member of the following organizations and/or groups:
Joey Takeda is mentioned in the following documents:
Joey Takeda authored or edited the following items in MoEML’s bibliography:
-
Jenstad, Janelle and Joseph Takeda.
Making the RA Matter: Pedagogy, Interface, and Practices.
Making Things and Drawing Boundaries: Experiments in the Digital Humanities. Ed. Jentery Sayers. Minnesota: University of Minnesota Press, 2018. Print.
-
-
Janelle Jenstad
JJ
Janelle Jenstad is Associate Professor of English at the University of Victoria, Director of The Map of Early Modern London, and PI of Linked Early Modern Drama Online. She has taught at Queen’s University, the Summer Academy at the Stratford Festival, the University of Windsor, and the University of Victoria. With Jennifer Roberts-Smith and Mark Kaethler, she co-edited Shakespeare’s Language in Digital Media (Routledge). She has prepared a documentary edition of 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, Renaissance and Reformation,Journal of Medieval and Early Modern Studies, Early Modern Literary Studies, Elizabethan Theatre, Shakespeare Bulletin: A Journal of Performance Criticism, and The Silver Society Journal. Her book chapters have appeared (or will appear) in Institutional Culture in Early Modern Society (Brill, 2004), Shakespeare, Language and the Stage, The Fifth Wall: Approaches to Shakespeare from Criticism, Performance and Theatre Studies (Arden/Thomson Learning, 2005), Approaches to Teaching Othello (Modern Language Association, 2005), Performing Maternity in Early Modern England (Ashgate, 2007), New Directions in the Geohumanities: Art, Text, and History at the Edge of Place (Routledge, 2011), Early Modern Studies and the Digital Turn (Iter, 2016), Teaching Early Modern English Literature from the Archives (MLA, 2015), Placing Names: Enriching and Integrating Gazetteers (Indiana, 2016), Making Things and Drawing Boundaries (Minnesota, 2017), and Rethinking Shakespeare’s Source Study: Audiences, Authors, and Digital Technologies (Routledge, 2018).Roles played in the project
-
Abstract Author
-
Author
-
Compiler
-
Conceptor
-
Copy Editor
-
Course Instructor
-
Course Supervisor
-
Data Manager
-
Editor
-
Encoder
-
Geo-Coordinate Researcher
-
JCURA Co-Supervisor
-
Markup Editor
-
Metadata Architect
-
Peer Reviewer
-
Project Director
-
Proofreader
-
Researcher
-
Toponymist
-
Transcriber
-
Transcription Proofreader
-
Vetter
Contributions by this author
Janelle Jenstad is a member of the following organizations and/or groups:
Janelle Jenstad is mentioned in the following documents:
Janelle Jenstad authored or edited the following items in MoEML’s bibliography:
-
Jenstad, Janelle and Joseph Takeda.
Making the RA Matter: Pedagogy, Interface, and Practices.
Making Things and Drawing Boundaries: Experiments in the Digital Humanities. Ed. Jentery Sayers. Minnesota: University of Minnesota Press, 2018. Print. -
Jenstad, Janelle.
Building a Gazetteer for Early Modern London, 1550-1650.
Placing Names. Ed. Merrick Lex Berman, Ruth Mostern, and Humphrey Southall. Bloomington and Indianapolis: Indiana UP, 2016. 129-145. -
Jenstad, Janelle.
The Burse and the Merchant’s Purse: Coin, Credit, and the Nation in Heywood’s 2 If You Know Not Me You Know Nobody.
The Elizabethan Theatre XV. Ed. C.E. McGee and A.L. Magnusson. Toronto: P.D. Meany, 2002. 181–202. Print. -
Jenstad, Janelle.
Early Modern Literary Studies 8.2 (2002): 5.1–26..The City Cannot Hold You
: Social Conversion in the Goldsmith’s Shop. -
Jenstad, Janelle.
The Silver Society Journal 10 (1998): 40–43.The Gouldesmythes Storehowse
: Early Evidence for Specialisation. -
Jenstad, Janelle.
Lying-in Like a Countess: The Lisle Letters, the Cecil Family, and A Chaste Maid in Cheapside.
Journal of Medieval and Early Modern Studies 34 (2004): 373–403. doi:10.1215/10829636–34–2–373. -
Jenstad, Janelle.
Public Glory, Private Gilt: The Goldsmiths’ Company and the Spectacle of Punishment.
Institutional Culture in Early Modern Society. Ed. Anne Goldgar and Robert Frost. Leiden: Brill, 2004. 191–217. Print. -
Jenstad, Janelle.
Smock Secrets: Birth and Women’s Mysteries on the Early Modern Stage.
Performing Maternity in Early Modern England. Ed. Katherine Moncrief and Kathryn McPherson. Aldershot: Ashgate, 2007. 87–99. Print. -
Jenstad, Janelle.
Using Early Modern Maps in Literary Studies: Views and Caveats from London.
GeoHumanities: Art, History, Text at the Edge of Place. Ed. Michael Dear, James Ketchum, Sarah Luria, and Doug Richardson. London: Routledge, 2011. Print. -
Jenstad, Janelle.
Versioning John Stow’s A Survey of London, or, What’s New in 1618 and 1633?.
Janelle Jenstad Blog. https://janellejenstad.com/2013/03/20/versioning-john-stows-a-survey-of-london-or-whats-new-in-1618-and-1633/. -
Shakespeare, William. The Merchant of Venice. Ed. Janelle Jenstad. Internet Shakespeare Editions. U of Victoria. http://internetshakespeare.uvic.ca/Library/Texts/MV/.
-
Stow, John. A SVRVAY OF LONDON. Contayning the Originall, Antiquity, Increase, Moderne estate, and description of that Citie, written in the yeare 1598. by Iohn Stow Citizen of London. Also an Apologie (or defence) against the opinion of some men, concerning that Citie, the greatnesse thereof. With an Appendix, containing in Latine, Libellum de situ & nobilitate Londini: written by William Fitzstephen, in the raigne of Henry the second. Ed. Janelle Jenstad and the MoEML Team. MoEML. Transcribed.
-
-
Martin D. Holmes
MDH
Programmer at the University of Victoria Humanities Computing and Media Centre (HCMC). Martin ported the MOL project from its original PHP incarnation to a pure eXist database implementation in the fall of 2011. Since then, he has been lead programmer on the project and has also been responsible for maintaining the project schemas. He was a co-applicant on MoEML’s 2012 SSHRC Insight Grant.Roles played in the project
-
Abstract Author
-
Author
-
Conceptor
-
Editor
-
Encoder
-
Geo-Coordinate Researcher
-
Markup Editor
-
Post-Conversion Editor
-
Programmer
-
Proofreader
-
Researcher
Contributions by this author
Martin D. Holmes is a member of the following organizations and/or groups:
Martin D. Holmes is mentioned in the following documents:
-


