This page is part of the documentation for the CMLComp FormalStandards

CMLComp Microformats

CMLComp is built from a series of components, represented by microformats in the CML language.

The currently-used ones are defined in the schema: http://uszla.me.uk/gitweb/CMLComp.git/master:/Microformats.rnc

To validate a document against Microformats (which is to say - a document may contain any amount of any XML dialect, but if it uses CMLComp microformats, it uses them correctly), then it must validate against http://uszla.me.uk/gitweb/CMLComp.git/master:/CMLMicro.rnc (see http://cmlcomp.org/validator/)

This page holds the documentation for these microformats.

In short, these consist of

  • scalar/array/matrix combinations of character, logical, integer, real, and complex data. See CmlData.

NB - The representation of numerical data presents particular problems in XML - see FloatingPointXml.

  • metadata - in simple name/value pairs, no controlled vocabulary, and lists of metadata. See CmlMetadata
  • parameters - which are essentially input quantities, and lists of parameters. See CmlParameters
  • properties - which are essentially output, calculated, quantities - and lists of properties. See CmlProperties
  • molecules - which are a set of 3-D atomic coordinates, with at least a label for each atom. See CmlMolecules?
  • lattices - defining a crystal lattice by means of three lattice vectors. See CmlLattices?
  • crystals - defining a crystal lattice by means of three lengths & three angles. See CmlCrystals?