Menu

Stylesheets

Tom Elliott Elli Mylonas BODARD Gabriel Ryan Baumann

XSLT for transformation of EpiDoc XML files into HTML or text versions in Leiden. Includes various XML files containing parameters and other options.

License:

These scripts are copyright Zaneta Au, Gabriel Bodard and all other contributors. See LICENSE.txt for license details.

To cite these stylesheets in a conventional bibliography, please include the following information:

Tom Elliott, Zaneta Au, Gabriel Bodard, Hugh Cayless, Carmen Lanz, Faith Lawrence, Scott Vanderbilt, Raffaele Viglianti, et al. (2008-2017), EpiDoc Reference Stylesheets (version 9). Available: https://sourceforge.net/p/epidoc/wiki/Stylesheets/

Technical requirements:

These scripts are written in XSLT 2.0 and may be transformed using any conformant XSLT processor.

To our knowledge at the time of writing, the only freely available XSLT processors that support the 2.0 specifications are the Saxon 9 series processors (the earlier 6 series only supports XSLT 1.0). Saxon comes in several "editions" (as distinct from "series"). Any of the editions (home = HE, professional = PE, or enterprise = EE) should work with these stylesheets, provided their version number starts with "9". The browser based Saxon Client Edition (= CE) also works. The Stylesheets were last tested with Saxon-HE™ 9.2.0.6.

Using a processor other than the Saxon 9 series, therefore, will likely result in error messages and unpredictable or missing output.

How to obtain the stylesheets:

Method 1: check out using Git

On a Mac or Linux machine with Git installed, on the command-line enter:

git clone https://github.com/EpiDoc/Stylesheets.git

Method 2: check out using Subversion

On a Mac or Linux machine with Subversion installed, simply create a directory into which you want to check out the xslt, and then on the command-line enter:

svn checkout \
    https://github.com/EpiDoc/Stylesheets.git \
    your_directory

On Windows, using a client such as TortoiseSVN or Oxygen's SynchroSVN, check out the repo from https://github.com/EpiDoc/Stylesheets.git to your local repository.

Method 3: download the latest packaged, stable release from the SourceForge repository

at https://sourceforge.net/projects/epidoc/files/epidoc-xsl/

Notes on stylesheet migration to Git from SourceForge Subversion:

On July 12th, 2017, the example-p5-xslt subdirectory of the SourceForge EpiDoc Subversion repository was migrated to Git (and GitHub) at https://github.com/EpiDoc/Stylesheets. An svn:externals entry with the name example-p5-xslt pointing at this Git repository was then added to the Subversion repository. This has a few implications for users with existing checkouts of example-p5-xslt:

  • If you were previously using an svn checkout of https://epidoc.svn.sourceforge.net/svnroot/epidoc/trunk/ instead of the example-p5-xslt subdirectory, there should be no significant changes in workflow for you - the svn:externals should fetch the Stylesheets repository for you. You may get a warning about accepting the GitHub SSL certificate the first time you update or checkout.
  • If you were previously using an svn checkout of https://epidoc.svn.sourceforge.net/svnroot/epidoc/trunk/example-p5-xslt, you will need to point this at the new GitHub URL, as described above (the same URL works for both Git and Subversion). If you were relying on the checkout creating a directory named example-p5-xslt, you will now need to specify this as the last parameter to your checkout or clone command, e.g. svn checkout https://github.com/EpiDoc/Stylesheets.git example-p5-xslt.
  • If you were previously specifying a revision of your stylesheets checkout, e.g. -r 2168, you will need to look up the corresponding revision in the new Git repository. If you run svn log https://github.com/EpiDoc/Stylesheets.git | less you can page through the revision history, looking at the git-svn-id entries, where the number after the @ in the URL is the old revision number. So for revision 2168, I see the git-svn-id: https://svn.code.sf.net/p/epidoc/code/trunk/example-p5-xslt@2168 under the new revision 313, and would use that as my revision specifier for the new repository. You can use a similar process inside a git clone of the new repository to find the corresponding git commit ID.

How to use it:

XSLT may be run on an individual EpiDoc XML file, creating a single file output (e.g. via a command-line Saxon™ call or an Oxygen™ transformation scenario) or batch-run upon a large collection of files via some other process (e.g. an Oxygen™ project, set of batch files, etc.). Call the start-edition.xsl stylesheet to create a HTML version of the output (this xsl calls both generic and specialized files needed), or start-txt.xsl to create a version that contains the inscription text and apparatus only.

(add specific commandline and Oxygen scenario help. Maybe even create a downloadable .xpr?)

Transformations are parameterised so that they may be used by different projects with only a change in local parameters, the scripts themselves being identical for all users. Change the parameters either by (a) changing the global-parameters.xml in your local copy (please do not commit these changes to SVN), or (b) setting local variables in your Saxon command-line, Oxygen scenario, etc.

Transformation parameters for the XSLTs are defined in a separate document.

Limitations:

Please note that the Epidoc Stylesheets are based on stylesheets that were originally written for the Inscriptions of Aphrodisias and Duke Databank projects. They handle and display most Epidoc features, but the output will reflect the requirements and interface choices of those projects. There is a great deal of control available via the parameters listed above, especially for managing the display of inscription text. However, metadata and other supporting material may need to be modified for your project. If you are mainly using the Epidoc stylesheets to output the text of your inscription(s), then run the stylesheets using start-txt.xsl, as noted above.


Related

Home: Guidelines
Home: Home
Home: Parameters
Home: ReleaseProc