SGML-Based Document Assembly and Rendering at Perot
The ECOS infrastructure platform developed at Perot Systems aimed
to permit the same document being delivered via multiple delivery
mechanisms, such as the Web, fax, and plaintext. To meet this
objective, I designed and developed a two-tier document assembly and
rendering system based on SGML (the precursor to XML).
The system composed a document using the following steps:
- A template for the document was created off-line, showing the
static contents and the slots into which dynamic data should
be substituted at run-time. The slots were expressed in a proprietary
templating language that handled substitution, multi-level looping,
conditionals, and inclusions (see documentation).
- A business application generated the dynamic data.
- A document assembly process merged the template with the dynamic
data, generating an SGML document containing the information to be
displayed.
- A rendering process was picked according to the output medium,
and converted the SGML document to the desired output. HTML was
handled using OmniMark. Fax
was handled using the Unix utilities troff. ASCII text was generated
using the Unix utilities tbl (for table generation) and troff.
This document assembly process was tested through several
iterations and used to deliver a large Web-site for a major client in
1998.
Rujith de Silva
Created 2001-02-07; modified 2001-02-07