MoEML’s PDF Files Process

This document is currently in draft. When it has been reviewed and proofed, it will be published on the site.

View the draft document.

Please note that it is not of publishable quality yet.

MoEML’s PDF Files Process

PDF documents are created by transforming the html source document to an XSL:FO file that gets processed into a fixed (image-like) PDF document. In order to get to the final format that we want, the files are processed multiple times. Our main concern is to preserve as much of the theme and feel of Early Modern works in general, and MoEML works in particular, all the while conforming to the PDF (and XSL:FO) requirements and restrictions. To this end, we carefully create attribute-sets documents that replicate the styling of the source file, within the limitations of FO. This means that we need to account for some inline attributes and values that we cannot know to generate globally for the project, along with the ones that we can generally retrieve from appropriate CSS files. Thus, we parse the style element of each document (inside the <head> element), and we assign an attribute set for each class, with its corresponding attributes and values. Another then parses the source file and assigns appropriate attribute sets to the corresponding FO elements.

PDF Design

The cover page is delicately designed to represent the feel of the project and the primary source MoEML works. The page has the MoEML decorative daisy and a snippet of the Agas map in the centre. The title of the project (Map of Early Modern London) is at the header of every document’s title page, in addition to the work’s title, which is incorporated in the cover page, along with the authors and/or compilers. The type of information present on the cover page depends on the type of the work (born digital vs primary source – primary source documents mainly have authors on their cover pages, while born digital files may have authors or compilers). At the bottom of every cover page, the MoEML release number is indicated so that our audience knows with what version they are working, given that the PDFs get regenerated and updated with new site releases (up for discussion as per publication agreement).
PDFs have a hybrid metadata title page that contains the title of the work, author(s), compiler(s), editor(s), and the publication information, which basically indicates the version of MoEML with which this edition was published, and the corresponding date. The PDFs also list the credits, have a running head, and mostly conform to the layout of traditional books.

PDF Building Process

When building a PDF document, the build application first retrieves the source file from our Jenkins repository. The file gets processed to remove elements and details that are mainly for web purposes including (but not limited to) navigation, breadcrumbs, search, and send feedback. The build application then creates the special styles module, which is the one that contains the document specific styling attributes. This module gets included in the master file. Further, to create the PDF files, we need to copy images and fonts, which is achieved by the build application during the process. The process also checks for the latest version of the FOP application, and downloads it if it is not available.
Note that a global file, named pdf_globals.xsl, contains functions, variables, and parameters that are common to the entire build process and files.
In order to create the final file and document specific XSLT code, we process multiple XSLTs that write and override general PDF code. For example, add_special_styles_to_fo_master.xsl allows us to include a special document styles module in the master XSLT. The PDF global file also has functions that allow us to add specific classes and their attributes to the elements. It also creates a document that contains the classes and attributes, with the name of docID_styles_module.xsl. The resulting XSLT has a function – getAtts – that overwrites attributes and values that would otherwise break the FO file.

PDF Publication

The PDFs will be published on MoEML’s UVic libraries UVicSpace – UVic’s Research and Learning Repository ( MoEML is part of the Endings project, which is in collaboration with the UVic libraries. The PDFs are thus published on the digital space that the library has dedicated to MoEML.
For more detailed information about the PDF building process, please see the developers’ PDF documentation.

Cite this page

MLA citation

El Hajj, Tracey. MoEML’s PDF Files Process. The Map of Early Modern London, edited by Janelle Jenstad, U of Victoria, 26 Jun. 2020,

Chicago citation

El Hajj, Tracey. MoEML’s PDF Files Process. The Map of Early Modern London. Ed. Janelle Jenstad. Victoria: University of Victoria. Accessed June 26, 2020.

APA citation

El Hajj, T. 2020. MoEML’s PDF Files Process. In J. Jenstad (Ed), The Map of Early Modern London. Victoria: University of Victoria. Retrieved from

RIS file (for RefMan, EndNote etc.)

Provider: University of Victoria
Database: The Map of Early Modern London
Content: text/plain; charset="utf-8"

A1  - El Hajj, Tracey
ED  - Jenstad, Janelle
T1  - MoEML’s PDF Files Process
T2  - The Map of Early Modern London
PY  - 2020
DA  - 2020/06/26
CY  - Victoria
PB  - University of Victoria
LA  - English
UR  -
UR  -
ER  - 


RT Web Page
SR Electronic(1)
A1 El Hajj, Tracey
A6 Jenstad, Janelle
T1 MoEML’s PDF Files Process
T2 The Map of Early Modern London
WP 2020
FD 2020/06/26
RD 2020/06/26
PP Victoria
PB University of Victoria
LA English
OL English

TEI citation

<bibl type="mla"><author><name ref="#ELHA1"><surname>El Hajj</surname>, <forename>Tracey</forename></name></author>. <title level="a"><title level="m">MoEML</title>’s PDF Files Process</title>. <title level="m">The Map of Early Modern London</title>, edited by <editor><name ref="#JENS1"><forename>Janelle</forename> <surname>Jenstad</surname></name></editor>, <publisher>U of Victoria</publisher>, <date when="2020-06-26">26 Jun. 2020</date>, <ref target=""></ref>.</bibl>