MLML and the Common Language Infrastructure (ECMA-335)

The Common Language Infrastructure (Standard ECMA-335) constitutes several parts, one which is a comprehensive type system. The type definitions are available in an XML format, which also includes API documentation. To provide an example of MLML use, these definitions were transformed, using XSLT, into MLML format, with document extensions.

The CLI type definitions are distributed in a file called All.xml, which is quite large as it contains 294 types, and includes quite extensive documentation. The size of the file is over 6Mb. To make processing easier, a simple split-all.oml o:XML script was created that produces a separate XML file for each type.

The transformation into MLML was done with cli-to-mlml.xsl, which in turn imports cli-to-document.xsl to produce document markup from the inline API docs.

To produce cross-referenced HTML documentation, a version of the document stylesheets modified for MLML was used: doc2html.xsl. The process was automated by an Ant build.xml build file. By default, the build script splits the original file, but it is equally possible to run the stylesheets directly on All.xml.

If you want to experiment with this process or any of the results, you can download all files in a zip archive here: mlml-cli.zip (993Kb). Basic instructions are contained in the file readme.txt.

The generated documentation is available to browse here.