The Solution
The basic solution adopted is to make each article a single XML file,
containing all the data and metadata relevant to the article (except
history information). The XML format adopted contains three types
of data:
- XHTML (namespace http://www.w3.org/1999/xhtml) for display
- DublinCore (namespace http://purl.org/dc/elements/1.1/) for metadata
- Annot (namespace http://apache.webthing.com/annot) for annotation and
document management information. This is the only new markup introduced
by this system.
Documents are presented using Apache's namespace support (mod_xmlns),
based on a SAX parser that dispatches to different namespace handlers.
A new namespace module mod_annot_view was developed to handle the
annotations namespace. A second module mod_annot was developed to
edit the articles. Other elements of the site development are a
DTD used to validate document edits, and site design elements
including CSS and Javascript.
The core of the system is therefore the design of the annotations
namespace and document structure, and the implementation of the editor.