OMDoc Tools
OMDoc DTDs and Schemata
OMDoc is an XML vocabulary, which basically means that OMDocs must be valid XML (i.e. have a balanced set of element tags).
The set of OMDoc valid documents is determined by the OMDoc Specification. Certain syntactical aspects can be checked by validating documents with the OMDoc document type definition.
The XML community has recently standardized a more expressive approach to specifying well-formed XML documents: RelaxNG: The OMDoc schema is currently the best validation resource.
Tools to support the management and creation of OMDocs
- the MBase system, which is a database based on OMDoc, it can be used to store, query and reference mathematical documents represented in OMDoc.
- and a bunch of XSL style files to present OMDoc to the user and transform it into input formats of various mathematical software systems.
- The CMU Course Capsules Project provides a native OMDoc mode for the emacs editor and the CPoint system, which allows to annotate M$ PowerPoint slides and export OMDoc
- The ActiveMath Project has provided some authoring tools as well.
- The sTeX system is a semantic extension of TeX/LaTeX that supports translation into OMDoc
See also the home pages of OMDoc-related projects for further information.
We will try to upgrade the tools developed by the OpenMath project to cope with OMDoc.
Do it Yourself
Apart from these tools, you will need general XML support, which is luckily relatively easy to get and free (some even open-source).
- For best results viewing OMDoc, use a
DOM-compliant browser
with JavaScript enabled, e.g.
Mozilla.
Mozilla is also a good choice for having native MathML-presentation rendering. - XML parsers: we are mostly using James Clark's Java parser XP.
- XSL Transformers: we
use xsltproc from libxslt for production work for its stability, speed and availabilitiy.
Otherwise, saxon, XT, and xalan-j also work well.
Following the instructions of these tools and having a look at the various makefiles in the repository should make it quite easy to get started.