Skip to main content
June 12, 2017

Using the learningContent DITA topic type

A few weeks ago, the blog post DITA for learning content introduced the DITA Learning and Training specialization and described how the specialization can help those creating content for electronic delivery through a learning management system (LMS) or other eLearning tool. This post gives a more detailed view on the learningContent topic type.

Course instruction text can encompass a wide range of learning activities. You can use the learningContent topic to present learning activities such as:

Painting of an 18th Century school room

Photo: Saint Louis Art Museum

  • Concepts
  • Exercises
  • Readings
  • Case studies
  • Multimedia presentations
  • Guided discussions
  • Projects

Just as with any other DITA topic type, each learningContent topic should document a single idea.

The learningContent topic type has a basic structure that is much like other DITA topic types. It contains a required <title>, followed by optional <shortdesc> (or <abstract>), <prolog>, and <learningContentbody> elements. For example:

<learningContent id="example1">
   <title>Video: Solar energy options</title>
   <shortdesc>Directs the student to view Solar Energy Options</shortdesc>
   <prolog>
      <author type="creator">Ped A. Gogy</author>
   </prolog>
   <learningContentbody>
      ...
   </learningContentbody>
</learningContent>

The difference with other topic types is found in the <learningContentbody>. It can contain:

  • <lcIntro>—Introductory text
  • <lcDuration>—The duration of the content
  • <lcObjectives>—One or more objectives for the content
  • <lcChallenge>—One or more challenges that describe the reasons for the learning activity
  • <lcInstruction>—The learning activity content
  • <section>—Additional sections

All elements within <learningContentbody> are optional. This allows you to use them in different ways, depending on the requirements of your content. The following example shows the <learningContentbody> body element from the example above. It uses the <lcIntro>, <lcChallenge>, and <lcInstruction> elements:

<learningContentbody>
   <lcIntro>
      <p>One renewable energy alternative is the power of the sun. </p>
   </lcIntro>
   <lcChallenge>
      <p>Consider how you could apply solar energy to your farm.</p>
   </lcChallenge>
   <lcInstruction>
      <p>View the video "Solar Energy Options".</p>
      <object>
         <param name="source" keyref="mp4_solar_options"/>
      </object>
   </lcInstruction>
</learningContentbody>

One reason that <lcInstruction> element is optional is because the <learningContentbody> element can be followed by nested concept, task, or reference topics. This gives you alternative ways of presenting content and allows you to reuse content. This example shows a complete learningContent topic that includes a task topic (somewhat abbreviated):

<learningContent id="example2">
   <title>Lab: Build a windmill</title>
   <shortdesc>
      Directs the student to build a functioning model of a windmill generator. 
   </shortdesc>
   <prolog>
      <author type="creator">Ped A. Gogy</author>
   </prolog>
   <learningContentbody>
      <lcIntro>
         <p>
         Harness the power of the wind by building a functioning windmill generator.
         </p>
      </lcIntro>
      <lcChallenge>
         <p>
         Look for problems you might face when building a full-scale windmill.
         </p>
      </lcChallenge>
   </learningContentbody>
   <task id="task_example">
      <title>Assembling the windmill generator</title>
      <taskbody>
         <prereq>
            <p>Make sure you have the following supplies:</p>
            <ul>...</ul>
         </prereq>
         <steps>
            <step>
               <cmd>Attach the electric motor (generator) to the base.</cmd>
               <info>Ensure the armature is vertical. </info>
            </step>
            <step>
               <cmd>Attach the blade assembly to the motor.</cmd>
            </step>
            ...
         </steps>
      </taskbody>
   </task>
</learningContent>

The learningContent topic is quite flexible. In LearningDITA.com content, we use the learningContent topic in at least two different ways:

  • The lesson introductions are learningContent topics that contain an introduction (<lcIntro>) and objectives (<lcObjectives>).
  • The specific learning activities are learningContent topics that use <lcInstruction> for the learning content. If the learning activity includes an an exercise, it is contained in a nested task topic that follows the <learningContentbody>.

Use a DITA map to organize the learningContent topics (and other Learning and Training specialization topics) into lessons, modules, and courses. LearningDITA uses DITA maps to organize each lesson; all lessons are organized into courses using another map.

To see the Learning and Training specialization in use, view the DITA sources for LearningDITA.com on GitHub at https://github.com/ScriptoriumDev/LearningDITA.