I received an unexpected but nonetheless very welcome comment on yesterday’s blog post from Brent Schlenker. In his remarks, Brent reinforced my own view about the viability of open source-based e-learning development; he said that
I truly do believe that there are enough OpenSource tools out there that we can be creating completely opensource learning solutions/environments. Once people get past their initial fears and the stigma, the Open Source learning development community will grow exponentially.
…thanks for keeping the Open Source movement alive in eLearning.
Now, on with the show.
As discussed in a previous post, we can say that there are certain unresolved philosophical matters surrounding the notion of open environments; I will return to these presently. However, the gratis/libre debate should not preclude you from taking advantage of the range of ‘open’ and ‘free’ tools to develop an effective e-learning solution.
As a reminder, here are the categories of tools I recommend to implement this open development environment:
- Content Creation Tools
- Media Creation and Integration: OSS Tools
- Media Creation and Integration: Proprietary Tools
- Content Delivery Platform
- Optional Proprietary Tools
While the tools themselves are a disparate group, their common characteristic is that they are XML-based. This, in theory at least, means that either the applications or their outputs are interoperable, and this creates the foundation for the “openness” that we seek.
Now read on…
Over the next few days, I will describe in detail the ‘toolkit’ used in this e-learning content development environment, before discussing pedagogical approaches and implementation processes. As the focus here is on developing e-learning in a specific environment, I am making the assumption that the learning content has already been developed, as learning content development and instructional design per se is not the topic being investigated. Click here to find out more about instructional design for e-learning.
The Powerhouse: DocBook and XXE
DocBook is a semantic markup language for technical documentation. While it was originally created for the purpose of writing technical documents for computer hardware and software, its inherent flexibility led to it being used authoring a broad range of documentation, including e-learning. Unlike proprietary word processors, DocBook documents do not describe what their contents “look like,” but rather the meaning of those contents. For example, rather than explaining how an e-learning lesson page might be visually formatted, DocBook simply says that it is a page. An external processing tool or application is required to determine where the lesson page should go, and what it should look like – and to decide whether or not it should be included in the final output at all.
Because DocBook is XML-based, content can be authored and edited with any text editor.
XMLmind XML Editor (XXE) allows content creators to edit large, complex, modular, XML documents. In one sense, it is the friendly face of my open authoring environment. XXE is a ‘nearly’ WYSIWYG (What You See Is What You Get) editor that uses CSS to control the layout and style of DocBook XML (or XHTML) content. It successfully hides the complexities of XML markup from the author, so that the focus can be on the words, rather than the code.
In XXE, the document author does not see the DocBook XML tags; rather, XXE interprets the tags, and the application UI displays the content in the familiar look, feel, and style of a word processor interface (see Figure 1).
Figure 1 Screenshot of XMLmind XML Editor
Using XXE, the content author creates and edits content in the structured XML document by adding elements, setting attributes, selecting, cutting, pasting, and so on, and the editor automatically applies the appropriate styles.
The style is an interpretation of the DocBook DTD to simplify identification of the formatting elements without the need to understand all the XML tags.
Note, however that these styles are not linked to how the content is rendered. The final look and feel of the document is controlled by CSS style sheets.
XXE supports the following features:
- Converts to XSLT-FO format then to PDF format
- Converts to HTML format
- Produces metadata files to support SCORM
- Checks spelling
- Checks that a document conforms to the DTD
- Checks that a document conforms to relevant documentation conventions
- Documents can be rendered as a number of separate files
- Controls document look and feel
Transformations (outputting content to a commonly-used delivery format) are applied to the XXE-authored XML using Formatting Objects Processor. Formatting Objects Processor (FOP) is driven by XSL Formatting Objects (XSL-FO). A Java application reads a formatting object (FO) tree and renders the resulting pages to a specified output.
Currently supported output formats include:
- Portable Document Format (PDF)
- Printer Command Language (PCL)
- PostScript (PS)
- Scalable Vector Graphics (SVG)
- eXtensible Markup Language XML (area tree representation)
- Abstract Window Toolkit (AWT)
- MapInfo Interchange Format (MIF)
- Text File (TXT)
The primary output target is PDF (see Figure 2).
Figure 2 Screenshot of PDF file
generated from XXE via XSL-FO
Other outputs include HTML pages (see Figure 3) and help files…
Figure 3 Screenshot of HTML file
generated from XXE via XSL-FO
These two outputs were generated from a command-line FO, because I’m a bit of a purist about this stuff, though I’m not a coder, so it must be straight-forward and usable!
Depending upon the level of expertise in your organization, you may decide to use a GUI shell to enable content authors to generate their outputs.
Figure 4 Screenshot of XSL-FO command line interface in Windows
XMLMind XML Editor: http://www.xmlmind.com/xmleditor/
HyperWrite Ltd. (2006) Review of XMLmind XML Editor v3.0. [Internet] Available from: http://www.hyperwrite.com/Articles/showarticle.aspx?id=63 Retrieved 24th September 2009
October 07 2009 03:57 pm | e-learning
2 Responses to “Open Environment E-learning: DocBook and XXE”