\section{CML produced from a Gaussian log file}
\label{appendix:appendix3}
\linespread{0.5}

A complete semantic parse for a Gaussian log file (Dr Anna Croft, for methane CH4). The log files describes two chained jobs, 
the first an optimization and the second the calculation of frequencies and thermochemistry. All significant information is 
captured, but much is repetitious and much is omitted here for brevity. Some fields have been truncated for clarity - 
no precision is lost in parsing. The complete parse can be found at


\begin{verbatim}

<?xml version="1.0" encoding="UTF-8"?>
<module          convention="convention:compchem" xmlns="http://www.xml-cml.org/schema" 
  xmlns:cmlx="http://www.xml-cml.org/schema/cmlx" 
  xmlns:convention="http://www.xml-cml.org/convention/" 
  xmlns:cc="http://www.xml-cml.org/dictionary/compchem/" 
  xmlns:compchem="http://www.xml-cml.org/dictionary/compchem/" 
  xmlns:g="http://www.xml-cml.org/dictionary/gaussian/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
  xmlns:nonsi="http://www.xml-cml.org/unit/nonSi/" 
  xmlns:cml="http://www.xml-cml.org/dictionary/cml/">

  <!-- all dictRef values prefixed by cc are linked to the general compchem dictionary. The "g"
       prefix links to a code-specific dictionary -->
  
  <!-- the log file describes two jobs under a parent jobList -->  
  <module id="jobList1" dictRef="cc:jobList">
    <!-- the first job --
    <module          dictRef="cc:job" id="job1">
      <!-- mandatory environment module -->
      <module id="environment" dictRef="cc:environment">
        <parameterList>
          <parameter dictRef="cc:program"><scalar >Gaussian 03</scalar></parameter>
          <parameter dictRef="cc:hostname"><scalar >GINC-DEEPTHOUGHT</scalar></parameter>
          <parameter dictRef="cc:jobname"><scalar >WWW-DATA</scalar></parameter>
          <parameter dictRef="cc:date">
            <scalar dataType="xsd:date">2006-11-20T00:00:00Z</scalar></parameter>
          <parameter dictRef="cc:title"><scalar >CH4</scalar></parameter>
          <parameter dictRef="cc:version"><scalar >x86-Linux-G03RevB.04</scalar></parameter>
          <parameter dictRef="cc:run.date"><scalar >20-Nov-2006</scalar></parameter>
          <parameter dictRef="cc:program"><scalar >Gaussian 03</scalar></parameter>
          <parameter dictRef="cc:program.date"><scalar >2-Jun-2003</scalar></parameter>
          <parameter dictRef="cc:version"><scalar >x86-Linux-G03RevB.04</scalar></parameter>
        </parameterList>
      </module>
      <!-- mandatory intialization module -->
      <module id="initialization" dictRef="cc:initialization">
        <parameterList>
          <parameter dictRef="cc:nactiveatoms"><scalar dataType="xsd:integer">5</scalar></parameter>
          <parameter dictRef="cc:natoms"><scalar dataType="xsd:integer">5</scalar></parameter>
          <parameter dictRef="cc:betae"><scalar dataType="xsd:integer">5</scalar></parameter>
          <parameter dictRef="cc:alphae"><scalar dataType="xsd:integer">5</scalar></parameter>
          <parameter dictRef="cc:basiscount"><scalar dataType="xsd:integer">23</scalar></parameter>
          <parameter dictRef="cc:diffuse"><scalar >(6D, 7F)</scalar></parameter>
          <parameter dictRef="cc:basis"><scalar >6-31G(d)</scalar></parameter>
          <parameter dictRef="cc:degfreedom"><scalar dataType="xsd:integer" >1</scalar></parameter>
          <parameter dictRef="cc:frameworkgroup"><scalar >TD[O(C),4C3(H)]</scalar></parameter>
          <parameter dictRef="cc:pointgroup"><scalar >TD</scalar></parameter>
          <parameter dictRef="cc:method"><scalar >RB3LYP</scalar></parameter>
          <parameter dictRef="cc:basis"><scalar >6-31G(d)</scalar></parameter>
          <!-- Gaussian specific keyword -->
          <parameter dictRef="g:operation"><scalar >FOpt</scalar></parameter>
          <parameter dictRef="g:keyword"><scalar >#N</scalar></parameter>
          <parameter dictRef="g:keyword"><scalar >B3LYP/6-31G(D)</scalar></parameter>
          <parameter dictRef="g:keyword"><scalar >OPT</scalar></parameter>
          <parameter dictRef="g:keyword"><scalar >FREQ</scalar></parameter>
        </parameterList>
        <!-- mandatory input molecule -->
        <molecule id="mol.l202.orient"         >
          <atomArray>
            <atom id="a1" elementType="C" x3="0.0" y3="0.0" z3="0.0"/>
            <atom id="a2" elementType="H" x3="0.0" y3="0.0" z3="1.113"/>
            <atom id="a3" elementType="H" x3="1.049347" y3="0.0" z3="-0.371"/>
            <atom id="a4" elementType="H" x3="-0.524673" y3="-0.908761" z3="-0.371"/>
            <atom id="a5" elementType="H" x3="-0.524673" y3="0.908761" z3="-0.371"/>
          </atomArray>
          <formula formalCharge="0" concise="C 1 H 4"/>
          <bondArray>
            <bond atomRefs2="a1 a2" id="a1_a2" order="S"/>
            <bond atomRefs2="a1 a3" id="a1_a3" order="S"/>
            <bond atomRefs2="a1 a4" id="a1_a4" order="S"/>
            <bond atomRefs2="a1 a5" id="a1_a5" order="S"/>
          </bondArray>
        </molecule>
        <module id="otherComponents" dictRef="cc:userDefinedModule"> ...</module>
      </module>
      <!-- mandatory calculation module -->
      <module id="calculation" dictRef="cc:calculation">
        <module id="otherComponents" dictRef="cc:userDefinedModule">
          <scalar dataType="xsd:double" dictRef="cc:nucrepener">13.1577484238</scalar>
          <module         >
            <scalar  dictRef="g:stoichiometry">CH4</scalar>
            <scalar  dictRef="cc:frameworkgroup">TD[O(C),4C3(H)]</scalar>
            <scalar dataType="xsd:integer" dictRef="cc:degfreedom">1</scalar>
          </module>
          <module         >
            <array dataType="xsd:double" dictRef="cc:rotconst" size="3">
              157.5433763 157.5433763 157.5433763</array>
          </module>
          <scalar dataType="xsd:double" dictRef="cc:nucrepener" >13.4043316016</scalar>
          <!-- module/link specific information -->
          <module         >
            <list         >
              <array dataType="xsd:integer" dictRef="cc:adapted" size="4">8 5 5 5</array>
              <array  dictRef="cc:symm" size="4">A B1 B2 B3</array>
            </list>
                <scalar dataType="xsd:integer" dictRef="cc:basiscount">23</scalar>
                <scalar dataType="xsd:integer" dictRef="g:primbasis">44</scalar>
                <scalar dataType="xsd:integer" dictRef="cc:cartesianbasis">23</scalar>
                <scalar dataType="xsd:integer" dictRef="cc:alphae">5</scalar>
                <scalar dataType="xsd:integer" dictRef="cc:betae">5</scalar>
                <scalar dataType="xsd:integer" dictRef="cc:natoms">5</scalar>
                <scalar dataType="xsd:integer" dictRef="cc:nactiveatoms">5</scalar>
                <scalar dataType="xsd:integer" dictRef="cc:uniqatoms">2</scalar>
                <scalar dataType="xsd:double" dictRef="g:sfac">5.66</scalar>
                <scalar dataType="xsd:integer" dictRef="g:natfmm">60</scalar>
                <scalar  dictRef="g:big">F</scalar>
          </module>
          ...
          <!-- convergence information -->
          <module          dictRef="cc:userDefinedModule">
            <list         >
              <array  dictRef="g:item"/>
              <array dataType="xsd:double" dictRef="g:val" size="4">4.5E-4 3.E-4 .0018 .0012</array>
              <array dataType="xsd:double" dictRef="g:threshold" size="4">0.0 0.0 0.0 0.0</array>
              <array  dictRef="g:converged" size="4">NO NO YES YES</array>
            </list>
          </module>
        </module>
      </module>
      <!-- mandatory finalization module -->
      <module id="finalization" dictRef="cc:finalization">
        <propertyList>
          <property dictRef="cc:jobtime"><scalar >PT16.200S</scalar></property>
          <property dictRef="cc:jobdatetime.end">
            <scalar dataType="xsd:date">2006-11-20T14:40:23Z</scalar></property>
          <property dictRef="cc:electronicstate"><scalar >1-A1</scalar></property>
          <property dictRef="cc:hfenergy">
            <scalar dataType="xsd:double" units="nonsi:hartree">-40.5183892</scalar></property>
          <property dictRef="cc:rmsd">
            <scalar dataType="xsd:double" units="nonsi:unknown">2.782E-9</scalar></property>
          <property dictRef="cc:rmsf">
            <scalar dataType="xsd:double" units="nonsi:unknown">8.238E-8</scalar></property>
          <property dictRef="cc:dipole">
            <array dataType="xsd:double" units="nonsi:debye" size="3">0.0 0.0 0.0</array></property>
          <property dictRef="cc:multipole">
            <list >
              <array dataType="xsd:double" dictRef="cc:dipole" size="3">0.0 0.0 0.0</array>
              <scalar dataType="xsd:double" dictRef="x:dipole">0.0</scalar>
              <array dataType="xsd:double" dictRef="cc:quadrupole" size="6">
                 -8.3036 -8.3036 -8.3036 0.0 0.0 0.0</array>
              <array dataType="xsd:double" dictRef="cc:octapole" size="10">0.0 ... -0.7195</array>
              <array dataType="xsd:double" dictRef="cc:hexadecapole" size="15">-16.22 ... .0</array>
            </list></property>
          <property dictRef="cc:virtualorbs"><array delimiter="|"  size="18">
            |(A1)|(T2)|(T2)|...|(T2)|(A1)|</array></property>
        </propertyList>
        <!-- final molecule -->
        <molecule id="mol9999">
          <atomArray>
            <atom id="a1" elementType="C" x3="0.0" y3="0.0" z3="0.0"/>
            <atom id="a2" elementType="H" x3="9.95E-8" y3="1.925E-7" z3="1.09326594"/>
            <atom id="a3" elementType="H" x3="1.0307409799" y3="1.096E-7" z3="-0.3644220738"/>
            <atom id="a4" elementType="H" x3="-0.5153703892" y3="-0.8926480531" z3="-0.3644217759"/>
            <atom id="a5" elementType="H" x3="-0.5153706902" y3="0.892647751" z3="-0.3644220902"/>
          </atomArray>
          <formula formalCharge="0" concise="C 1 H 4" dictRef="cc:formula.calc"/>
          <bondArray>
            <bond atomRefs2="a1 a2" id="a1_a2" order="S"/>
            <bond atomRefs2="a1 a3" id="a1_a3" order="S"/>
            <bond atomRefs2="a1 a4" id="a1_a4" order="S"/>
            <bond atomRefs2="a1 a5" id="a1_a5" order="S"/>
          </bondArray>
          <formula concise="C 1 H 4" dictRef="cc:formula.user"/>
        </molecule>
      </module>
    </module>
    <!-- final job (takes input from job 1) -->
    <module dictRef="cc:job" id="job2">
      <module id="environment" dictRef="cc:environment">
        <parameterList>
          <parameter dictRef="cc:date">
            <scalar dataType="xsd:date">2006-11-20T00:00:00Z</scalar></parameter>
        </parameterList>
      </module>
      <module id="initialization" dictRef="cc:initialization">
        <parameterList>
          <parameter dictRef="g:keyword"><scalar >GEOM=ALLCHECK</scalar></parameter>
          <parameter dictRef="g:keyword"><scalar >GUESS=READ</scalar></parameter>
          <parameter dictRef="g:keyword"><scalar >SCRF=CHECK</scalar></parameter>
          <parameter dictRef="g:keyword"><scalar >GENCHK</scalar></parameter>
          <parameter dictRef="g:keyword"><scalar >RB3LYP/6-31G(D)</scalar></parameter>
          <parameter dictRef="g:keyword"><scalar >FREQ</scalar></parameter>
        </parameterList>
      </module>
      <module id="calculation" dictRef="cc:calculation">
        <module id="otherComponents" dictRef="cc:userDefinedModule">
        <scalar dataType="xsd:double" dictRef="cc:nucrepener" >13.3952533229</scalar>
        </module>
      </module>
      <!-- final coordinates and properties -->
      <module id="finalization" dictRef="cc:finalization">
        <propertyList>
          <property dictRef="cc:jobtime"><scalar >PT12.700S</scalar></property>
          <property dictRef="cc:jobdatetime.end">
            <scalar dataType="xsd:date">2006-11-20T14:40:36Z</scalar></property>
          <property dictRef="g:l601.pol.exact">
            <array dataType="xsd:double" size="6">12.353 .0 12.353 .0 .0 12.353</array></property>
          <property dictRef="cc:frequencies">
            <table id="l716.forcematrix">
              <array dataType="xsd:integer" dictRef="x:serial" size="9">1 2 3 4 5 6 7 8 9</array>
              <array delimiter="|"  dictRef="cc:irrep" size="9">|T2|T2|T2|E|E|A1|T2|T2|T2|</array>
              <array dataType="xsd:double" dictRef="cc:frequency" size="9">
                1373.49 1373.49 1373.49 1593.96 1593.96 3053.59 3163.92 3163.92 3163.92</array>
              <array dataType="xsd:double" dictRef="cc:redmass" size="9">
                1.1787 1.1787 1.1787 1.0078 1.0078 1.0078 1.1019 1.1019 1.1019</array>
              <array dataType="xsd:double" dictRef="cc:forceconst" size="9">
                1.3101 1.3101 1.3101 1.5087 1.5087 5.5368 6.4991 6.4991 6.4991</array>
              <array dataType="xsd:double" dictRef="cc:irintensity" size="9">
                15.4253 15.4253 15.4253 0.0 0.0 0.0 26.421 26.421 26.421</array>
            </table></property>
          <property dictRef="cc:thermochemistry">
            <list id="l716.thermochemistry">
              <scalar dataType="xsd:double" dictRef="cc:temp">298.15</scalar>
              <scalar dataType="xsd:double" dictRef="cc:press">1.0</scalar>
              <scalar dataType="xsd:double" dictRef="cc:molmass">16.0313</scalar>
              <matrix rows="3" columns="3" dataType="xsd:double" dictRef="cc:moi.eigenvectors">
                0.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 0.0</matrix>
              <array dataType="xsd:double" dictRef="cc:moi" size="3">11.471 11.471 11.471</array>
                <scalar  dictRef="g:top">spherical</scalar>
                <scalar dataType="xsd:integer" dictRef="cc:symmnumber">12</scalar>
              <array dataType="xsd:double" dictRef="cc:rottemp" size="3">7.550 7.550 7.550</array>
              <array dataType="xsd:double" dictRef="cc:rotconst" size="3">
                157.33005 157.33005 157.33005</array>
              <scalar dataType="xsd:double" dictRef="cc:zpe" units="u:jmol-1">118752.0</scalar>
              <array dataType="xsd:double" dictRef="cc:vibtemp" size="9">
                1976.16 1976.16 1976.16 2293.35 2293.35 4393.44 4552.17 4552.17 4552.17</array>
            </list></property>
          <property dictRef="cc:zeropoint">
            <list id="l716.zeropoint">
                <scalar  dictRef="cc:zpe.correction">0.04523</scalar>
                <scalar  dictRef="cc:zpe.thermalcorrener">0.048094</scalar>
                <scalar  dictRef="cc:zpe.thermalcorrenthalpy">0.049039</scalar>
                <scalar  dictRef="cc:zpe.thermalcorrgfe">0.027907</scalar>
                <scalar  dictRef="cc:zpe.sumelectzpe">-40.473159</scalar>
                <scalar  dictRef="cc:zpe.sumelectthermal">-40.470295</scalar>
                <scalar  dictRef="cc:zpe.sumelectthermal">-40.469351</scalar>
                <scalar  dictRef="cc:zpe.sumelectthermalfe">-40.490482</scalar>
            </list></property>
          <property dictRef="cc:electronicstate"><scalar >1-A1</scalar></property>
          <property dictRef="cc:hfenergy">
            <scalar dataType="xsd:double" units="nonsi:hartree">-40.5183892</scalar></property>
          <property dictRef="cc:rmsd">
            <scalar dataType="xsd:double" units="nonsi:unknown">8.723E-11</scalar></property>
          <property dictRef="cc:rmsf">
            <scalar dataType="xsd:double" units="nonsi:unknown">8.224E-8</scalar></property>
          <property dictRef="cc:dipole">
            <array dataType="xsd:double" units="nonsi:debye" size="3">0.0 0.0 0.0</array></property>
          <property dictRef="cc:multipole">...</property>
          <property dictRef="cc:virtualorbs"><array delimiter="|"  size="18">
            |(A1)|(T2)|(T2)|(T2)...|(T2)|(T2)|(A1)|</array></property>
        </propertyList>
        <module id="otherComponents" dictRef="cc:userDefinedModule">
          <module dictRef="cc:userDefinedModule">
            <array dataType="xsd:double" dictRef="cc:dipolederiv" units="nonsi:unknown" size="45">
              7.872E-4 0.0 0.0 0.0 7.871E-4 0.0 0.0 0.0 7.871E-4 ... 0.0488271</array>
            <array dataType="xsd:double" dictRef="cc:polarizability" units="nonsi:unknown" size="6">
              12.3528403 0.0 12.3528403 0.0 0.0 12.3528403</array>
            <scalar  dictRef="cc:pointgroup">TD [O(C1),4C3(H1)]</scalar>
            <array dataType="xsd:double" dictRef="cc:forceConstants" size="120">
              0.55936081 0.0 0.55936081 0.0 0.0 0.55936081...</array>
            <array dataType="xsd:double" dictRef="cc:forces" size="15">0.0 0.0.... -5.0E-8</array>
          </module>
        </module>
        <!-- final molecule. Atoms may have child properties -->
        <molecule id="mol9999">
          <atomArray>
            <atom id="a1" elementType="C" x3="0.0" y3="0.0" z3="0.0">
              <property dictRef="cc:vibdisplacements">
                <list>
                  <array dataType="xsd:double" size="3" dictRef="cc:displacement">.0 .0 0.12</array>
                  ... 9 in total ...
                </list></property>
              <property dictRef="cc:force">
                <array dataType="xsd:double" size="3">0.0 0.0 0.0</array></property>
              <property dictRef="cc:mulliken">
                <scalar dataType="xsd:double">-0.628247</scalar></property>
            </atom>
            <atom id="a2" elementType="H" x3="9.95E-8" y3="1.925E-7" z3="1.09326594">...</atom>
            <atom id="a3" elementType="H" x3="1.0307409799" y3="1.096E-7" z3="-0.3644220738">...</atom>
            <atom id="a4" elementType="H" x3="-0.5153703892" y3="-0.8926" z3="-0.3644">...</atom>
            <atom id="a5" elementType="H" x3="-0.5153706902" y3="0.8926" z3="-0.3644">...</atom>
          </atomArray>
          <formula formalCharge="0" concise="C 1 H 4" dictRef="cc:formula.calc"/>
          <bondArray>
            <bond atomRefs2="a1 a2" id="a1_a2" order="S"/>
            <bond atomRefs2="a1 a3" id="a1_a3" order="S"/>
            <bond atomRefs2="a1 a4" id="a1_a4" order="S"/>
            <bond atomRefs2="a1 a5" id="a1_a5" order="S"/>
          </bondArray>
        </molecule>
      </module>
    </module>
  </module>
</module>

\end{verbatim}