author: Michel Dagenais
copyright: Michel Dagenais, GNU General Public License, 1997
michel.dagenais@polymtl.ca

Ecole Polytechnique

C.P. 6079, Succ. Centre-Ville

Montreal, Quebec, H3C 3A7
date: 8 October 1997
keyword: SGML
keyword: HTML
keyword: documentation
keyword: program
keyword: library
keyword: wide audience
keyword: reusable

Library and Tools for Processing SGML/HTML Documentation

Abstract

The Standard Generalized Markup Language (SGML) is a structured format for encoding document content. Several SGML Document Type Definitions (DTD) are in common use, like HTML, CALS, and Linuxdoc. A library and several tools have been developped to read and transform SGML documents.

The sgml library parses SGML documents according to their DTD. Several tools use the sgml library to check the structure of SGML documents (sgmlstructure), add the omitted tags (sgmlnormalize), convert to other formats (sgmlconv), and group a tree of several SGML documents into a larger linear one (sgmllinear). The package sgmlobliq exports the objects and methods of the sgml library to the Obliq interpreter; it was used for a prototype of sgmlconv

A number of tools are more directly targeted at documenting Modula-3 packages, based on the m3doc system. These include m3tosgml and sgmltom3 to transform Modula-3 interfaces with embedded documentation into HTML documents, sgmllinear to group several HTML files and documented Modula-3 interfaces into a large linear HTML document, and sgmlconv to convert the resulting HTML file into LaTeX for typesetting and printing. The package m3textohtml is used to convert Modula-3 interfaces documented for processing with m3totex into interfaces suitable for m3tosgml.

Installation

This is the first release for most of these tools and should be considered alpha. On POSIX systems, you may use the main m3makefile to build at once all the contained packages. The packages are built in two phases. In the first phase all the libraries and programs are constructed; the documentation is not processed since the tools are not built yet. In the second phase, everything is build, including the documentation. The HTML documentation may then be found in HTML_INSTALL/sgmltools/src/index.html and the Postscript documentation in DOC_INSTALL/m3doc/index.ps