There are two learning map types that you use to collect learning objects and learning groups:
- The learningObject map type contains a single <learningObject> element.
- The learningGroup map type contains a single <learningGroup> object.
Both the learningObject map and learningGroup map are specializations of the base DITA map type. The content models in the DITA 1.3 Specification indicate you can use many of the map elements in these types, but the intent is that they should contain a single learning group or learning object element. The specification does allow you to use <topicref> elements to reference keymaps and other supporting content.
In practical terms, this means that most output transforms will only expect a single learning group or learning object element. You might be able to add additional map elements, but you cannot expect that they will be handled correctly by all processors.
A learning object map has this structure:
<!DOCTYPE learningObjectMap PUBLIC "-//OASIS//DTD DITA 1.3 Learning Object Map//EN" "learningObjectMap.dtd"> <learningObjectMap> <learningObject> ... </learningObject> </learningObjectMap>
A learningGroup map has this structure:
<!DOCTYPE learningGroupMap PUBLIC "-//OASIS//DTD DITA 1.3 Learning Group Map//EN" "learningGroupMap.dtd"> <learningGroupMap> <learningGroup> ... </learningGroup> </learningGroupMap>
Within a learning group element you can embed other learning groups and learning objects. This allows you to reuse topics, lessons, etc. You can also reuse other learning map types by using the <learningObjectMapRef> and <learningGroupMapRef>