// a simplified Chemical Markup Language
// www.xml-cml.org - The Site for Chemical Markup Language

Molecule = "<molecule" MoleculeId ">" Atoms Bonds "</molecule>".
Atoms = "<atomArray>" List(Atom) "</atomArray>".
Atom = "<atom" AtomId ElementType HydrogenCount ">" "</atom>".
MoleculeId = "id=" String.
AtomId = "id=" String.
ElementType = "elementType=" String.
HydrogenCount = "hydrogenCount=" String.
Bonds = "<bondArray>" List(Bond) "</bondArray>".
Bond = "<bond" BondId AtomRefs2 "/>".
BondId = "id=" String.
AtomRefs2 = "atomRefs2=" 
  <first> String
  <second> String. 
List(S) ~ {S}.