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.
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