Multidoc SGML Browser

The Multidoc SGML browser was a commercial browser by Citec that was used to display and style SGML documents on the fly. The browser was discontinued in 2000, when the licence for the Synex Viewport SGML/HyTime browser engine upon which it was based expired. Before it was discontinued, the browser was used by several humanities computing projects, including the first two CD-ROMs in SEENET's Piers Plowman Electronic Archive.

The browser was quite advanced for its time. It had sophisticated searching and styling capabilities: searching could be done by text or SGML context; SGML documents were styled using external stylesheets that were themselves SGML documents (thus anticipating subsequent developments in XSL). Elements in the SGML document were styled using a template model, moreover, and could be controlled using variable and contextual expressions including a primitive precursor to XPATH. Although it was not originally designed to do so, the stylesheet language and engine proved adept at effecting SGML to HTML translations (See http://people.uleth.ca/~daniel.odonnell/offPrints/multidoc/multidoc.htm for a description of this method).

Although it can be considered in some sense an SGML precursor of XSL, the Multidoc Stylesheet model differed from XSL differed from the later language in several important respects. Like CSS, it was conceived primarily of as a means of associated style with specific elements. It did not construct a model of the input or export documents, and, as a result, could not be used to effect true 'transformations: with a few exceptions (mainly for note-type elements), elements could not be moved, copied, or otherwise reordered from their position in the input document. There was also no requirement that the output text be valid SGML, XML, or HTML--or indeed direct method of exporting output in any of these formats (in actual practice, SGML, XML, or HTML could be exported by printing-to-file from a generic/plain text print driver and saving the result with the correct extension.