Creating courses that contain multiple lessons

Until eLML 3 only one lesson (or technically spoken: one XML file) could be transformed at the same time. Since eLML 4 it is possible to transform multiple lessons into one course no matter what the output format is. So technically spoken you can transform multiple XML files into one PDF file or one content package ( term ZIP file). All you have to do is define a so called "course" in your configuration file. Here is how it works:

  1. Be sure that you have a valid configuration file.
  2. Create a child element of the root node called "modules".
  3. The "modules" element can hold as many "course" child elements as you like. Each course will later be transformed into one PDF file or content package. The "course" element offers various attributes like a title for your course, a list of authors responsible for it or the possibility to show or hide the lessons subnavigation.
  4. To define which lessons are part of a course you add "labelname" child elements to it. Each "labelname" element will hold exactly one label name of a lesson (in XPath terms: the attribute value /lesson/@label). Make sure that you don't mistype the label, else the lesson will not be recognized!
  5. Now transform one of the lessons part of the course (You don't have to start with the first lesson, eLML will recognize the order by itself).

Before transforming a lesson eLML checks if the label name of the actual lesson is part of a course defined in the projects config.xml file. If not, the XML file is transformed alone. If it finds a course that contains the lesson label, eLML starts by transforming the first lesson listed in the course and will continue until it reaches the last lesson label. This works for every available format and of course eLML will also create a continuous numeration if you activated the numeration of chapters. The following example shows you how a course is defined in your config.xml. This course contains the four term GITTA database lessons IntroToDBS, DBSysConcept, LogicModelin and RelQueryLang (in this order). To see how this course looks in the PDF version click on the PDF navigation screenshot on your right and download the database course as a PDF file.

Example of a course definition in the config.xml file: this database course contains four lessons Example of a course definition in the config.xml file: this database course contains four lessons


  • All lessons part of a course must be written in the same language!
  • The folder structure of eLML has to be used strictly applied!