The sample course is adaptive in a simple way. There are two versions: an "expert" version that includes Latin names, and a "beginner" version that doesn't. The expert content pages have values of 0.8 for their detail and level properties; the beginner pages have values of 0.4.
The course document is generated by processing the knowledge base with an XSLT template, course_gen.xsl. The top-level template matches the <tree-info> tag of the knowledge base. The template outputs a number of <tp:content> tags for the manually generated content items. Then it uses another template for each tree species in the knowledge base.
For each species, the template generates tags for two lessons: one beginner, one expert. The expert lesson has an accompanying exercise involving the species' Latin name. Then the template generates tags for several graphical multiple-choice exercises for each species. Finally, after handling all species, it generates a number of multiple-choice "identify this tree" exercise tags.
For each lesson and exercise, the tags include a
command attribute giving the command line used
to generate the corresponding core document.
The execution of these commands is performed by
a program generate_content_files,
which scans through a course file and executes
all the commands, naming the results according
to the item's filename attribute.
Next-> Generating lessons