A framework for creating documents that requires four core mechanisms for defining the structure, scripting, populating (filling) and output channels of documents.
1. Structure definition consists of tools to define components (e.g., title, author, introduction, conclusion) and their sequence (e.g., “introductions” precede “conclusions”). The defined sequence cannot be modified or removed through editing.
2. Scripting is procedural logic that defines how to derive (i.e., calculate) content, and how to access or create queries that test and conditionally incorporate content from external sources (e.g., databases), other applications and content repositories.
3. Populating executes scripts against the structural definition to create an instance of the content model expressed in the document definition. This includes executing data and content retrieval, queries and computations to generate a fleshed-out document (an “instance”) from the document skeleton defined by the structural and scripting elements.
4. Output channels control the content so that the same content can be formatted and composed for multiple media, such as print, Web or CD-ROM delivery.