Doctools > Docbook, Namespaces & Mortality

Docbook, Namespaces & Mortality

Katherine Flavel, Water-Powered Ideas

$Id: namespaces.xml 239 2007-11-04 20:49:31Z kate $

Abstract

A recap is given of the author's experiences of the past few years of writing software to process documents. A review of the author's own implementations is given, and a proposal outlined for a system of software development for documentation processing which will hopefully not stagnate after her death.

The intended audience are those who are desperately unhappy with Docbook, care about the quality of typesetting of their documents, but want to produce output for various media.


Table of Contents

History
Experiences
Fear of the unknown
The last two percent
Practicality and the edge case
Multiple format output
Quality and reinvention
Keeping up
Authoring
Previous implementations
Non-XML things
Report
Doctools
Generating TeX
Proposal
Namespaced input
Anatomy of a module
Versioning and dependencies
Summary
Implementation
Hierarchy and code reuse
Interface
Roadmap
Notes
A. Proposed components
Modules
Options
Output formats

History

I started thinking about document processing in around 1995. I was trying to find ways to collate articles on various subjects in a form which would be expandable, and readily accessible through a taxonomy. I came up with a few non-extensible formats to express documents and categorise their subjects, though I didn't have access to the Internet, and I was unaware of tools such as SGML.

Through university, I toyed with various systems for producing coursework. I'd realised that my preferences for choices of output media varied wildly (I found fan-fold dot matrix output convenient at the time), and so I concentrated on storing my writings in various ways under a “write once, render many” principle.

My undergraduate writing climaxed with a BSc dissertation written in an XML schema I'd gradually come up with over those years. The schema was structured much as Docbook is today, with “modules” which could be brought in by referencing various DTDs. It had no concept of XML namespaces. Output was to ConTeXt via XSLT, with post-processing to attempt to clean up the mess inherent with producing TeX syntax from XSLT.

Shortly afterwards, I abandoned that implementation. I took with me the ideas which I'd come up with along the way.