After browsing publications from a wide range of journals I compiled Table 1. 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 be eventually become redundant. The X- prefixes were used to avoid clashes with elements within HTML and other DTDs that might be used. At an early stage I decided to limit the number of ElementTypes in TecML to about 15, roughly mirroring those in Table 1 along with a few extra subelements.
Flexibility is achieved by widespread use of attributes.
Using this code, the number of ElementTypes could soon reach millions. It may yet be made obsolete by the XML-TYPE proposal from Tim Bray and others. The preceding example makes it 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.