Table Of Contents


This document outlines the modifications made to the International Atomic Energy Agency’s XML Schema for Atomic, Molecular and Solid Data ( XSAMS) version 0.1.1 for use by the VAMDC. The modified schema is the working data model for the VAMDC consortium. The adopted name for the modified schema is XSAMS-VAMDC.

XSAMS version 0.1.1:

XSAMS-VAMDC version 0.2 xsd:

Changes versus official schema v.0.1.1

  1. MolecularState structure has been replaced with case-by-case representation, initially proposed by C.Hill.

    The case-by-case XML description of molecular states within XSAMS is designed to provide a straightforward and flat data structure for representing the quantum numbers and symmetries that denote a molecular state. For full documentation on cases see

    Each MolecularState has Case element of type cases:BaseCase from separate namespace.

    case link to the main schema

    BaseCase type defines the single attribute, caseID, that denotes the case used.

    case definition example

    Each specific case, in turn, extends that BaseCase type, defining specific caseID attribute value and adding QNs element that contains a sequence of quantum numbers and symmetries.

Changes introduced before Cambridge meeting

As things are defined in the current version of schema.

For real changelog see SVN logs and diffs.

Most of the things contributed by Christian Hill.

  1. States element renamed into Species

  2. SourceRef‘s in PrimaryType are now elements of type IDREF, not attribute of type IDREFS

  3. AtomicNumericalData: new elements: HyperfineConstantA and HyperfineConstantB, describing hyperfine structure caused by interaction with magnetic dipole and electric quadrupole nuclear moments.

  4. Environments: added schema part for line shifting/broadening environment. For more details see Environments.

  5. Broadening: added schema part for Broadening.

  6. Shiftings: added schema part for Shifting.

  7. Cross-sections added schema part for Absorption cross-sections.

  8. NuclearSpinSymmetry in MolecularStateCharacterisation is now NuclearSpinIsomer. Expected values are “ortho”, “para”, “meta”,”A”,”E”

  9. Added more units:

  10. Renamed IonStateType into AtomicIonType Renamed IonState element into Ion in Atoms.

  11. Added speciesID attribute to MoleculeType (Molecule element).

    Added speciesID attribute to AtomicIonType in atoms (Atom/Isotope/Ion element).

    In collisions, added optional element speciesRef to Reactants and Products.

    In radiative and nonradiative transitions added optional speciesRef element.

  12. Added InChI and InChIKey elements to atomic ions.

  13. InChIKey is mandatory both for molecules and atomic ions, since it is used for species identification within VAMDC.

  14. Removed Comments element from Methods, since Comment element is inherited from PrimaryType.

  15. ParticleType is now extending PrimaryType.

  16. AtomicState and MoleculeState are now optional elements.

    Since we do have speciesID/speciesRef, it is not always necessary to define exact state of molecule/atom to refer to it.

  17. CML atomArray and bondArray elements within MoleculeStructure element added to describe molecule structure. They replace AtomNType, BondsType, AtomsType and MoleculeNuclearSpins elements and types.

  18. New vector and matrix data types

  19. Introduced schema-wide namespace, with URL.

    All attributes are defined by type now, not by reference.

  20. Removed WavelengthWavenumberType in Processes/Radiative/EnergyWavelengthType. All elements within EnergyWavelengthType are now of type DataType and may occur more than once. Type should be determined by methodref: experiment, theory, ritz

  21. Added element EffectiveLandeFactor of type DataType to RadiativeTransitionProbabilityType.

  22. Added PartitionFunction to MolecularChemicalSpecies element.

    PartitionFunction Element
  23. Added some test examples (broadening test, azulene information test).

Changes introduced after Cambridge meeting (after 31.03.2011)

  1. Organization of ID/IDREF pairs, all IDREF types are now defined and documented in typesAttributes.xsd

  2. Two more units:

    • Suggestion by Aya Awa Ba
  3. Cases are properly linked to the main schema now. Main schema has Case element of type commonTypes:BaseCase, each case extends it.

  4. State expansion is redone as linear combination of Case elements inside BasisState elements

  5. In functions, parameter and argument names are attributes now, not elements.

  6. StateRef type is now called StateRefType for consistency

  7. Removed PrimaryType extension from MoleculesType, AtomsType and SolidsType. Now they are just the containters for respective Molecule, Atom and Solid elements. Removed PrimaryType extension from RadiativeType, NonRadiativeType, CollisionsType. The intention is to prevent mixing and confusion SourceRef‘s in case of merged documents.

  8. Removed unused types in statesMolecules that were overridden by CML description of molecular structure.

  9. Probability in NonRadiativeTransition is optional now

    • suggestion by Peter Loboda
  10. State lifetime in atoms and molecules now has attribute “decay” that may take values in (total, totalRadiative, totalNonRadiative). It can be specified no more than three times, once for each state decay mechanism.

    • suggestion by Peter Loboda
    state decay mechanism attribute in lifetime
  11. Radiative transition has now satellite line properties element

    • suggestion by Peter Loboda
    radiative transition satellite line properties
  12. Added several test XML files to illustrate changes, moved examples into tests/valid

  13. Introduced draft AccuracyType description for DataType

  14. Changes in Collisions:

    In CollisionalTransition.DataSets.DataSet.FitData remove redundant FunctionRef and FitValidityLimits elements, cause they are now kept inside the FitParameters element.

    In CollisionalTransition rename

    • Reactants into Reactant,
    • Products into Product,
    • IntermediateStates into IntermediateState,

    all of them now may appear more then once and are of type SpeciesStateRefType, which has two child elements: SpeciesRef and StateRef. At least one of them must be specified, both also may be specified. It would be kind to always specify SpeciesRef.