Although the main motivation for CML was to manage molecular data, much of the material is generic to a wide range of scientific disciplines. After browsing publications from a wide range of journals I compiled the approximate table below. To support this I developed a generic scientific language, TecML, and wrote a number of tcl and Java-based classes for it. As XML continues to develop, however, standard tools may support some of these components, and I hope that much of TecML may eventually become redundant. I took the decision at an early stage to limit the number of ElementTypes in TecML to about 15, roughly mirroring the Table and a few extra subelements.
Flexibility is achieved by widespread use of attributes.
It may yet be made obsolete by the XML-TYPE proposal from Tim Bray and others. From this example and others it is clear that hyperlinking is a powerful means of resolving semantics. It is also the simplest way of avoiding namespace collisions in TecML documents. Specifically, but not exclusively, supporting Molecular Science. Resolving semantics through hyperlinking to documents or Java methods.