What are IDs?
Every element in CML and XML in general can be addressed via the value of an associated attribute called an ID. XML specifies that the value of ID must start with a character, e.g. id=”a1″. In CML for example, it is essential that e.g. each atom within a molecule be given a unique ID if it will be addressed in any bonding specification. Molecules should similarly have unique IDs. These IDs should be unique within the document so that the addressing is not ambiguous. Part of the process of validating a document involves establishing that the IDs are indeed unique and do not conflict with each other. A much more difficult problem to solve is when e.g. CML components from several different sources are consolidated into a single document, since then the addressing may no longer be unique on a global scale. In the future, resources to assign e.g. globally unique IDs to molecules may become available to address issues such as this.