My Blog

Hands-on Digital Publishing with XSLT 2019


Do you have some Word, ODF, or XML documents that you want to publish to the web
or publish as an ePub? Do you want to learn more XSLT in a hands-on format,
learning from people who use XSLT in their daily jobs? This course will show you
how to use XSLT2 to make a good-looking website or ePub from your Word or XML
documents. This is a hands-on course that follows on from the Hands-on Introduction to

We’ll use XSLT 2 to transform sample Word files into JATS (the Journal Article
Tag Suite format), learning lots of techniques along the way. We’ll then show
you how to further convert that XML into HTML5, and how to style the pages to
look good using CSS. We’ll show you how to create an ePub from the HTML and CSS
and how to use Ruby as a scripting language to automate the process, so you can
easily make changes and create new versions of the final product. We will supply
computers with the software installed, and you can take the code you develop
home with you.

Prerequisites: You should know at least as much XSLT as is taught in the Hands-on Introduction to
, but advanced XSLT knowledge is not necessary. We do not expect you
to know any scripting languages, although experience in Perl, Python, Ruby, or
some other scripting language is an advantage. We’ll teach you enough to give
you a good introduction to how powerful even a small amount of scripting can

This course is chaired by Dr Lauren Wood and taught by Dr Lauren Wood, Matt Patterson, Norm Walsh, and Dr Peter Flynn.

Classes for 2019

The Hands-on Digital Publishing With XSLT course runs on

Introduction to JATS

Taught by Lauren Wood.

The Journal Article Tag Suite set of tags
is the format of choice for most scientific journals. We will give you an
introduction to JATS, just enough to understand most commonly used elements and

Exercise: on paper, you’ll mark up a sample document in JATS, ready for use in
the following hands-on sessions.

Creating JATS from Word and other sources of information

Taught by Peter Flynn.

Word and Libre Office files are often inputs to the publishing process, but by
default they are intended to be read by humans, not programs. Both of them use
largely ‘flat’ XML to store the content and appearance, without much of the
hierarchy or containment needed for a production environment. But both systems
have Named Styles available which authors and editors can use to provide both
formatting and functional identity.

The first part of the class uses the XML features of Word and Libre Office to
present some guidelines for optimising the document styling with minimal
editorial intervention. A worked example is combined with exercises to create a
styled document ready for input.

The second part explains some of the techniques for transforming styled word
processor files with XSLT2 into JATS. Techniques covered include the imposition
of containment, getting the most out of the document content, and the use of
intermediate formats. The final exercise is to write some XSLT2 to transform the
example document from the earlier exercise.

We provide some helper functions and model solutions.


Taught by Lauren Wood.

HTML is used for most websites and is also the basis of ePubs, while CSS is used
as the basis for styling both modern websites and ePubs. CSS has features to
enable designs that look good on a desktop browser, your smartphone, or another
mobile device. This class will cover many of the useful features in CSS3, in
particular the design principles used in creating sites that look good on
multiple screen sizes, in the context of semantic HTML.

Converting JATS to HTML

Taught by Norm Walsh.

There are certain things to watch for when converting XML (in this case, JATS) to
HTML. For standard schemas there are often existing transformation stylesheets
that are far more than you need for your website or your ePub. This class will
present guidelines for converting from a standard XML format to the HTML that
you need.

Exercise: We will provide some XML sample files for you to convert to HTML
using XSLT, and the basic stylesheet to get you started.

Creating ePubs

Taught by Peter Flynn.

The core (preferred) ePub syntax has a substantial overlap with XHTML, but the
features available are restricted by the limitations of reader devices and apps.
Recent changes have simplified some of the ePub structure, but there are still
many users requiring older systems, which presents challenges for the publisher.

This class explains how to get around some of the restrictions, and how to use
XSLT2 to create the different files needed It also looks at some of the
additional features and the ancillary structures which make an ePub work, and
provides enough information to let you create an ePub in the hands-on exercise.

Automate, script, and unzip

Taught by Matt Patterson.

There are lots of steps involved with creating a website or ePub. Many of these
can be automated using a scripting language. This class will show you how to use
Ruby to automate those small tasks such as pulling the actual XML out of a Word
XML file (which is really a zip file), copy the file to another directory, and
run the XSLT transformation.