reaction

<h:div class="summary">A chemical reaction or reaction step.</h:div>
<h:div class="description">
  <h:p>
    <h:tt>reaction</h:tt>is a container for reactants, products, conditions, properties and possibly other information relating to the reaction, often within a reactionList. Partial semantics exist:
    <h:ul>
      <h:li>
        <h:b>name</h:b>the name(s) of the reaction</h:li>
      <h:li>
        <h:b>reactantList</h:b>(normally only one) the grouped reactants</h:li>
      <h:li>
        <h:b>spectatorList</h:b>substances with well-defined chemistry which are involved in the reaction but do not change. Examples are side groups in proteins, cofactors, etc. The division between specattor and substance is subjective.</h:li>
      <h:li>
        <h:b>substance</h:b>or
        <h:b>substanceList</h:b>substances present in the reaction but not classified as reactants. Examples might be enzymes, catalysts, solvents, supports, workup, etc.</h:li>
      <h:li>
        <h:b>condition</h:b>conditions of the reaction. These may be text strings, but ideally will have clearer semantics such as scalars for temperature, etc.</h:li>
      <h:li>
        <h:b>productList</h:b>the grouped products. This allows for parallel reactions or other semantics.</h:li>
      <h:li>
        <h:b>property</h:b>properties (often physical) associated with the reaction. Examples might be heat of formation, kinetics or equilibrium constant.</h:li>
    </h:ul>
  </h:p>
</h:div>
<h:div>
  <h:p>Reaction normally refers to an overall reaction or a step within a reactionList. For a complex "reaction", such as in enzymes or chain reactions, it may be best to use
    <h:tt>reactionScheme</h:tt>to hold the overall
    <h:tt>reaction</h:tt>and a
    <h:tt>reactionList</h:tt>of the individual
    <h:tt>reaction</h:tt>steps.</h:p>
</h:div>
<h:div class="example" href="reaction1.xml"/>
<h:div class="example" href="reaction9a.xml"/>
<h:div class="example" href="reaction9b.xml"/>
<h:div class="example" href="reaction10a.xml"/>
<h:div class="example" href="reaction10b.xml"/>
<h:div class="example" href="reaction11.xml"/>

Element Information

Model

anyCml | ANY element from ANY namespace OTHER than 'http://www.xml-cml.org/schema' | ANY element from LOCAL namespace 'No Namespace'
Children: anyCml

Attributes

QName Type Fixed Default Use Inheritable Annotation
atomMap idType optional
<h:div class="summary">A reference to a map providing mappings between atoms</h:div>
<h:div class="description">The map will normally be contained within the same doc and referenced by its ID. It will contain a list of links with from and to attributes linking atoms. The topology of the linking is defined by the application - it could be overlay of molecular fragments, reactant/product mapping, etc. The reserved phrase "USE_IDS" assume that the sets of atoms are of equal size and have 1:1 mapping between each id. This is another way of saying that the atoms mapped by a given ID are "the same atom".</h:div>
bondMap xsd:QName optional
<h:div class="summary">A reference to a map providing mappings between bonds</h:div>
<h:div class="description">The map will normally be contained within the same doc and referenced by its ID. It will contain a list of links with from and to attributes linking bonds. The topology of the linking is defined by the application - it could be overlay of molecular fragments, reactant/product mapping, etc. The reserved phrase "USE_IDS" assume that the sets of bonds are of equal size and have 1:1 mapping between each id. This is another way of saying that the bonds mapped by a given ID are "the same bond".</h:div>
convention namespaceRefType optional
<h:div class="summary">A reference to a convention.</h:div>
<h:div class="description">There is no controlled vocabulary for conventions, but the author must ensure that the semantics are openly available and that there are mechanisms for implementation. The convention is inherited by all the subelements, so that a convention for
  <h:tt>molecule</h:tt>would by default extend to its
  <h:tt>bond</h:tt>and
  <h:tt>atom</h:tt>children. This can be overwritten if necessary by an explicit
  <h:tt>convention</h:tt>.
  <h:p>It may be useful to create conventions with namespaces (e.g.
    <h:tt>iupac:name</h:tt>). Use of
    <h:tt>convention</h:tt>will normally require non-STMML semantics, and should be used with caution. We would expect that conventions prefixed with "ISO" would be useful, such as ISO8601 for dateTimes.</h:p>
  <h:p>There is no default, but the conventions of STMML or the related language (e.g. CML) will be assumed.</h:p>
</h:div>
<h:div class="example" id="ex" href="convGroup1.xml"/>
dictRef namespaceRefType optional
<h:div class="summary">A reference to a dictionary entry.</h:div>
<h:div class="description">Elements in data instances such as _scalar_ may have a
  <h:tt>dictRef</h:tt>attribute to point to an entry in a dictionary. To avoid excessive use of (mutable) filenames and URIs we recommend a namespace prefix, mapped to a namespace URI in the normal manner. In this case, of course, the namespace URI must point to a real XML doc containing _entry_ elements and validated against STMML Schema.
  <h:p>Where there is concern about the dictionary becoming separated from the doc the dictionary entries can be physically included as part of the data instance and the normal XPointer addressing mechanism can be used.</h:p>
  <h:p>This attribute can also be used on _dictionary_ elements to define the namespace prefix</h:p>
</h:div>
<h:div class="example" href="dictRefGroup1.xml"/>
electronMap idType optional
<h:div class="summary">A reference to a map providing mappings between electrons</h:div>
<h:div class="description">The map will normally be contained within the same doc and referenced by its ID. It will contain a list of links with from and to attributes linking electrons. The topology of the linking is defined by the application - it could be reactant/product mapping, etc. The reserved phrase "USE_IDS" assume that the sets of electrons are of equal size and have 1:1 mapping between each id. This is another way of saying that the electrons mapped by a given ID are "the same electron".</h:div>
format reactionFormatType optional
<h:div class="summary">Format of the reaction component.</h:div>
<h:div class="description">Indicates how the components of reactionScheme, reactionStepList, etc. should be processed. No controlled vocabulary. One example is format="cmlSnap" asserts that the processor can assume that the reactants and products can be rendered using the CMLSnap design. Note that the reaction can be interpreted without reference to the format, which is primarily a processing instruction.</h:div>
id idType optional
<h:div class="summary">A unique ID for an element.</h:div>
<h:div class="description">Id is used for machine identification of elements and in general should not have application semantics. It is similar to the XML ID type as containing only alphanumerics, '_', ',' and '-' and and must start with an alphabetic character. Ids are case sensitive. Ids should be unique within local scope, thus all atoms within a molecule should have unique ids, but separated molecules within a doc (such as a published article) might have identical ids. Software should be able to search local scope (e.g. all atoms within a molecule). However this is under constant review.</h:div>
ref refType optional
<h:div class="summary">A reference to an element of given type.</h:div>
<h:div class="description">
  <h:tt>ref</h:tt>modifies an element into a reference to an existing element of that type within the doc. This is similar to a pointer and it can be thought of a strongly typed hyperlink. It may also be used for "subclassing" or "overriding" elements.
  <br xmlns=""/>When referring to an element most of the "data" such as attribute values and element content will be on the full instantiated element. Therefore ref (and possibly id) will normally be the only attributes on the pointing element. However there may be some attributes (title, count, etc.) which have useful semantics, but these are element-specific</h:div>
<h:div class="example" href="refGroup1.xml"/>
role reactionRoleType optional
<h:div class="summary">Role of the reaction.</h:div>
state stateType optional
<h:div class="summary">The physical state of the substance.</h:div>
<h:div class="description">No fixed semantics or default.</h:div>
title xsd:string optional
<h:div class="summary">A title on an element.</h:div>
<h:div class="description">No controlled value.</h:div>
<h:div class="example" href="title1.xml"/>
type reactionTypeType optional
<h:div class="summary">Type of the reaction.</h:div>
yield occupancyType optional
<h:div class="summary">Yield of a reaction or reactionStep.</h:div>
<h:div class="description">Yields can be given on either element. They should lie in the range 0 to 1 inclusive (i.e. percentages will need to be converted). Software may use yield to calculate amounts of substances created during a reaction or series of reactions.</h:div>
Wildcard: ANY attribute from ANY namespace OTHER than 'http://www.xml-cml.org/schema'

Source

<xsd:element name="reaction" id="el.reaction" substitutionGroup="anyCml">
  <xsd:annotation>
    <xsd:documentation>
      <h:div class="summary">A chemical reaction or reaction step.</h:div>
      <h:div class="description">
        <h:p>
          <h:tt>reaction</h:tt>is a container for reactants, products, conditions, properties and possibly other information relating to the reaction, often within a reactionList. Partial semantics exist:
          <h:ul>
            <h:li>
              <h:b>name</h:b>the name(s) of the reaction</h:li>
            <h:li>
              <h:b>reactantList</h:b>(normally only one) the grouped reactants</h:li>
            <h:li>
              <h:b>spectatorList</h:b>substances with well-defined chemistry which are involved in the reaction but do not change. Examples are side groups in proteins, cofactors, etc. The division between specattor and substance is subjective.</h:li>
            <h:li>
              <h:b>substance</h:b>or
              <h:b>substanceList</h:b>substances present in the reaction but not classified as reactants. Examples might be enzymes, catalysts, solvents, supports, workup, etc.</h:li>
            <h:li>
              <h:b>condition</h:b>conditions of the reaction. These may be text strings, but ideally will have clearer semantics such as scalars for temperature, etc.</h:li>
            <h:li>
              <h:b>productList</h:b>the grouped products. This allows for parallel reactions or other semantics.</h:li>
            <h:li>
              <h:b>property</h:b>properties (often physical) associated with the reaction. Examples might be heat of formation, kinetics or equilibrium constant.</h:li>
          </h:ul>
        </h:p>
      </h:div>
      <h:div>
        <h:p>Reaction normally refers to an overall reaction or a step within a reactionList. For a complex "reaction", such as in enzymes or chain reactions, it may be best to use
          <h:tt>reactionScheme</h:tt>to hold the overall
          <h:tt>reaction</h:tt>and a
          <h:tt>reactionList</h:tt>of the individual
          <h:tt>reaction</h:tt>steps.</h:p>
      </h:div>
      <h:div class="example" href="reaction1.xml"/>
      <h:div class="example" href="reaction9a.xml"/>
      <h:div class="example" href="reaction9b.xml"/>
      <h:div class="example" href="reaction10a.xml"/>
      <h:div class="example" href="reaction10b.xml"/>
      <h:div class="example" href="reaction11.xml"/>
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexType>
    <xsd:annotation>
      <xsd:documentation>
        <h:div>
          <h:p>The semantics of the content model are</h:p>
          <h:ul>
            <h:li>metadataList for general metadata</h:li>
            <h:li>label for classifying or describing the reaction (e.g. "hydrolysis")</h:li>
            <h:li>identifier for unique identification. This could be a classification such as EC (enzyme commission) or an IChI-like string generated from the components.</h:li>
            <h:li>these are followed by the possible components of the reaction and/or a reactionList of further details.</h:li>
          </h:ul>.</h:div>
      </xsd:documentation>
    </xsd:annotation>
    <xsd:choice minOccurs="0" maxOccurs="unbounded">
      <xsd:element ref="anyCml"/>
      <xsd:any namespace="##other" processContents="lax"/>
      <xsd:any namespace="##local" processContents="lax"/>
    </xsd:choice>
    <xsd:attributeGroup ref="dictRef"/>
    <xsd:attributeGroup ref="convention"/>
    <xsd:attributeGroup ref="title"/>
    <xsd:attributeGroup ref="id"/>
    <xsd:attributeGroup ref="reactionFormat"/>
    <xsd:attributeGroup ref="ref"/>
    <xsd:attributeGroup ref="reactionRole"/>
    <xsd:attributeGroup ref="reactionType"/>
    <xsd:attributeGroup ref="state"/>
    <xsd:attributeGroup ref="atomMap"/>
    <xsd:attributeGroup ref="electronMap"/>
    <xsd:attributeGroup ref="bondMap"/>
    <xsd:attributeGroup ref="yield">
      <xsd:annotation>
        <xsd:documentation>
          <h:div class="specific">
            <h:p>The yield of the reaction. Note that this lies in the range 0-1.</h:p>
          </h:div>
        </xsd:documentation>
      </xsd:annotation>
    </xsd:attributeGroup>
    <xsd:anyAttribute namespace="##other" processContents="lax"/>
  </xsd:complexType>
</xsd:element>

Sample