Creating eBooks with eLML using ePub Format

The term ePub-Format is an XML-based packaging format for eBooks, like SCORM or IMS CP but with a differnt manifest file. It is currently supported by most popular eBook readers (except for Amazon Kindle!) and it became even more popular with Apple's announcement to support it on its iPad. Therefore in 2010 the eLML team decided to create an ePub-converter for eLML.

GITTA lesson as eBook on a iPad GITTA lesson as eBook on a iPad
eLML website as eBook on a iPad eLML website as eBook on a iPad
iPad-eBook table of content iPad-eBook table of content

The iPad allows also a two-page view The iPad allows also a two-page view If you are interested in the ePub standard, you should check out the ePub-Wikipedia entry and then head over to for the full standard specification. For an easy introduction into creating eBooks we recommend having a look at this ePub-tutorial. The ePub-standard is based on XHTML 1.1 Strict and therefore the same configuration settings as when you would transform your lesson into plain HTML apply. Some settings like the HTML-Version or the prohibition of JavaScripts like lightwindow are already set in the transformation file and cannot be changed (thus if you change those values in the configuration file, eLML will simply ignore it). Please note that the default layout is white background with black default font. If you want, you can also create your custom layout similar as you do it with your online version.

How to create an ePub file?

  1. Open your lesson or the "Introduction to Database Systems" lesson XML file in oXygen (or XMLSpy).
  2. In oXygen click on the "Apply transformation scenario" button. Since you didn't yet define a "Transformation Scenario" for ePub-transformation you will need to do this now.
  3. Choose the file ../../../../core/presentation/epub/elml.xsl file as "XSL URL" XSLT file.
  4. Zip your whole folder myproject/mylesson/language/, make sure that the folders "html", "images", "multimedia", "META-INF", the mimetype file etc. are in the root of your ZIP file and name it "mylesson.epub"! If you want to make it super-correct, create the ZIP file with "mimetype" as first file (see example below) but most eBook-readers dont care about this.

Example using Shell/Terminal-Commands (Step 4 from list above):

To create an eBook of the whole eLML website I use the following terminal commands after having transformed the file:
cd elml/website/en/
zip elmlwebsite.epub mimetype
zip -r elmlwebsite.epub content.opf toc.ncx META-INF/ html/ image/ multimedia/

As mentioned above, you can also ignore the two-step zipping because most browser dont care (only epubcheck will regonize the difference) and simply ZIP using the following command:
zip -r elmlwebsite.epub *

Compatibility comments

Please considering the following comments when creating eBooks:

  • Currently only JPG, PNG, GIF and SVG are supported. Any other media files (movies, animations etc.) are not yet supported by eBook-readers like the iPad and are therefore ignored.
  • The ePub-format is based on XHTML 1.1 Strict code and will not work with the older XHTML 1.0 Transition code.
  • In ePub no Java Script and no forms are allowed: The scripts for glossary terms, label-references, lightwindow and selfCheck-assessments are therefore disabled in ePub.
  • We recommend using creating many single HTMl-pages and thus setting the $pagebreak_level=lo in your configuration file.
  • Columns cause problems in iPads and other readers. Therefore by default they are disabled and columns are displayed one after another. If you want to enable them, set $display_columns to "yes" in your XSLT file.
  • If you want to customize the way your eBook looks, create your own templates, similar to the way you created your own online template.
  • Only a single lesson can be transformed into an eBook, the creation of courses is not yet supported (but will be in future releses)

eBook-readers and software

The eLML-website-eBook viewed in Calibre The eLML-website-eBook viewed in Calibre eBooks can be viewed with any regular computer or with special devices like eBook-readers or smartphones. Here is an overview:

  • eBook-Readers (Hardware): Apple iPad, Amazon Kindle, Sony Reader, ...
  • Smartphones with eBook-reader software: Apple iPhone, Android-Phones, Blackberry, Palm, ...
  • Webbased eBook-readers: EPUBReader-Firefox-Plugin, Bookworm, BookGlutton
  • Mac OSX Software: Calibre, Reader Library, Stanza, Adobe Digital Editions, ...
  • Windows: Adobe Digital Editions, Calibre, Stanza, Mobipocket, ...
  • Linux: Calibre, FBReader, ...

More Hard- and Software for eBooks are popping up every week. You might want to check this list or consult Wikipedia or Google for up-to-date information.