Introduction

Declarative markup languages have been around for many years. There were declarative systems built from Unix troff macro libraries in the 1970s and 1980s, and of course SGML, Scribe, LaTeX and many others attempt to be more or less declarative and more or less general ways to represent and process documents with computers.

The choice of which markup system to use should be based on clear well-understood criteria. These might include:

Very often, the emotional aspects of the decision outweigh the technical aspects. This paper primarily explores the technical aspects, but also provides the reader with some ammunition to make an effective presentation in the emotional arena.

The examples of criteria enumerated above do not include the single most important aspects of a decision: the context and the situation. The context is an emergent property of organizational culture, fashion, predicted usage, and much more; some of this is listed explicitly here and some not. The situation, or the circumstances around the decision, must be viewed in terms of the wider context: instructions for identifying radioactive material in a nuclear power plant might have to be understood for a hundred years or more; a financial transaction must be archived for a period determined by a legal statute of limitation; British laws are written on vellum and stored in a stone tower in some cases for a thousand years or more. But over the lifetime of the information the context in which it is used may change: a financial record might be read by corporate accounting staff or, later, by a government auditor.

The available tools will vary, but the organization may have a legal need to make information available regardless of applications originally used to process it. Similarly, software applications, operating systems, even display and user interface hardware constraints, all change over time. But a bigger question is who determines the format: who determines what information is stored, and how, and how is it to be used. A document that is read by an application to configure user preferences is likely designed by a programmer; a transcription of a mediaeval manuscript is more likely to be represented in ways determined by the people working with the text itself rather than with any particular application.

The following sections attempt to identify good and less successful contexts for different markup formats, and, again, to provide ways of describing these contexts.