Commits

Anonymous committed a8cd94e Draft

new modular declaratron

Comments (0)

Files changed (74)

+glob:*/target
+glob:tmp/
+regexp:^src/
+regexp:^src\.bak/
+regexp:^.*/\.settings/
+glob:nbactions.xml
+glob:examples/
+glob:.svn/
+glob:.classpath
+glob:.project
+glob:target/*
+glob:*cli-old/*
+^\.settings/
+syntax: regexp
+^jumbo-converters-cif/src/test/resources/dict/peter\.xml$
+syntax: regexp
+^jumbo-converters-cif/src/test/resources/dict/sam\.xml$
+syntax: regexp
+^jumbo-converters-cif/src/test/resources/dict/cif\.xml$
+syntax: regexp
+^jumbo-converters-graphics/morgan\.png$
+syntax: regexp
+^jumbo-converters-graphics/out\.png$
+syntax: regexp
+^jumbo-converters-cif/src/test/resources/dict/sam\.xml$
+syntax: regexp
+^jumbo-converters-cif/units\.txt$
+syntax: glob
+.DS_Store
+glob:*.orig
+
+syntax:regexp
+^\.idea/
+\.iml$
+
+/\.lf/
+^\.idea/
+\.iml$
+\.ipr$
+\.iws$

Binary file added.

declaratron-chem/declaratron-chem-all/pom.xml

+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>cml</groupId>
+        <artifactId>declaratron</artifactId>
+        <version>0.1-SNAPSHOT</version>
+        <relativePath>../../pom.xml</relativePath>
+    </parent>
+
+    <artifactId>declaratron-chem-all</artifactId>
+    <name>declaratron-chem-all</name>
+    <packaging>pom</packaging>
+	
+    <dependencies>
+        <dependency>
+            <groupId>cml</groupId>
+            <artifactId>declaratron-chem-common</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>cml</groupId>
+            <artifactId>declaratron-chem-dummy</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>cml</groupId>
+            <artifactId>declaratron-chem-amber</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+    </dependencies>
+
+</project>
+
+

declaratron-chem/declaratron-chem-amber/pom.xml

+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>cml</groupId>
+        <artifactId>declaratron</artifactId>
+        <version>0.1-SNAPSHOT</version>
+        <relativePath>../../pom.xml</relativePath>
+    </parent>
+
+    <artifactId>declaratron-chem-amber</artifactId>
+    <name>declaratron-chem-amber</name>
+
+    <dependencies>
+        <dependency>
+            <groupId>${jumbo.groupId}</groupId>
+            <artifactId>jumbo</artifactId>
+            <version>${jumbo.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>cml</groupId>
+            <artifactId>declaratron-core</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>cml</groupId>
+            <artifactId>declaratron-chem-common</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>xom</groupId>
+            <artifactId>xom</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>cml</groupId>
+            <artifactId>declaratron-testutils</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+    </dependencies>
+
+</project>
+
+

declaratron-chem/declaratron-chem-amber/src/main/resources/META-INF/declaratron

+org.xmlcml.cml.declaratron.chem.amber.AmberConverters

declaratron-chem/declaratron-chem-amber/src/main/resources/log4j.properties

+log4j.rootLogger=DEBUG, A1
+log4j.appender.A1=org.apache.log4j.ConsoleAppender
+log4j.appender.A1.layout=org.apache.log4j.PatternLayout
+log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
+log4j.logger.uk.ac.cam=DEBUG
+
+log4j.logger.org.xmlcml.cml.converters.marker = INFO

declaratron-chem/declaratron-chem-common/pom.xml

+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>cml</groupId>
+        <artifactId>declaratron</artifactId>
+        <version>0.1-SNAPSHOT</version>
+        <relativePath>../../pom.xml</relativePath>
+    </parent>
+
+    <artifactId>declaratron-chem-common</artifactId>
+    <name>declaratron-chem-common</name>
+
+    <dependencies>
+        <dependency>
+            <groupId>${jumbo.groupId}</groupId>
+            <artifactId>jumbo</artifactId>
+            <version>${jumbo.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>cml</groupId>
+            <artifactId>declaratron-core</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>cml</groupId>
+            <artifactId>declaratron-testutils</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+    </dependencies>
+
+</project>
+
+

declaratron-chem/declaratron-chem-common/src/main/java/org/xmlcml/declaratron/compchem/package-info.java

+/** 
+Common (often base) class for all chem modules
+*/
+package org.xmlcml.declaratron.chem;

declaratron-chem/declaratron-chem-common/src/main/resources/log4j.properties

+log4j.rootLogger=DEBUG, A1
+log4j.appender.A1=org.apache.log4j.ConsoleAppender
+log4j.appender.A1.layout=org.apache.log4j.PatternLayout
+log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
+log4j.logger.uk.ac.cam=DEBUG
+
+log4j.logger.org.xmlcml.cml.converters.marker = INFO

declaratron-chem/declaratron-chem-common/src/main/resources/org/xmlcml/cml/declaratron/chem/cmlxDict.xml

+<?xml version="1.0" encoding="UTF-8"?>
+<cml xmlns="http://www.xml-cml.org/schema">
+  <!-- first try at CompChem dictionary -->
+  <dictionary 
+    xmlns:h="http://www.w3.org/1999/xhtml" 
+    namespace="http://www.xml-cml.org/dictionary/cmlx/"
+    xmlns:convention="http://www.xml-cml.org/convention/" 
+    convention="convention:dictionary"
+    dictionaryPrefix="cmlx" 
+    title="extended CML dictionary" 
+    xmlns="http://www.xml-cml.org/schema"
+    xmlns:cmlx="http://www.xml-cml.org/dictionary/cmlx/"
+    >
+      <definition>
+        <h:p>extended CML dictionary</h:p>
+      </definition>
+      <description>
+        <h:p>Collection of ad hoc and loosely regulated identifiers and terms</h:p>
+      </description>
+    
+    <entry id="junk" term="junk">
+      <definition>
+        <h:p>junk</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+      </description>
+    </entry>
+
+    <entry id="x" term="x">
+      <definition>
+        <h:p>an x coordinate</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+      </description>
+    </entry>
+
+    <entry id="y" term="y">
+      <definition>
+        <h:p>a y coordinate</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+      </description>
+    </entry>
+
+    <entry id="z" term="z">
+      <definition>
+        <h:p>a z coordinate</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+      </description>
+    </entry>
+
+    <entry id="unparsed" term="unparsed information">
+      <definition>
+        <h:p>unparsed information</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+      </description>
+    </entry>
+
+    <entry id="name" term="name">
+      <definition>
+        <h:p>the name of a name-value pair</h:p>
+      </definition>
+      <description>
+        <h:p>Should be accompanied by x:value elements</h:p>
+      </description>
+    </entry>
+
+    <entry id="value" term="value">
+      <definition>
+        <h:p>the value of a name-value pair</h:p>
+      </definition>
+      <description>
+        <h:p>Should be accompanied by x:name elements</h:p>
+      </description>
+    </entry>
+
+  </dictionary>
+</cml>

declaratron-chem/declaratron-chem-common/src/main/resources/org/xmlcml/cml/declaratron/chem/compchem.dtd

+<!ENTITY % output      'output          (VERBOSE|NORMAL|NONE)  "NONE"'>
+<!ENTITY % formatType  'formatType      (FORTRAN|WHITESPACE|REGEX)'>
+<!ENTITY % id          'id              CDATA'>
+<!ENTITY % linesToRead 'linesToRead     CDATA'>
+<!ENTITY % makeArray   'makeArray       CDATA'>
+<!ENTITY % name        'name            CDATA'>
+<!ENTITY % names       'names           CDATA'>
+<!ENTITY % pattern     'pattern         CDATA'>
+<!ENTITY % reading     'reading         (WHILE|UNTIL|ALL|ONCE)'>
+
+
+<!ELEMENT include (template*)>
+<!-- parameter entities don't seem to work -->
+<!ELEMENT templateList (include | template*)>
+<!ATTLIST templateList
+    %id;         #REQUIRED
+    >
+<!ELEMENT template (
+    comment|
+    readLines|
+    record|
+    comment|
+    templateList)*>
+<!ATTLIST template
+    id        CDATA #REQUIRED
+    output    CDATA #IMPLIED
+    name      CDATA #IMPLIED
+    pattern   CDATA #IMPLIED
+    >
+
+<!ELEMENT record   (#PCDATA)>
+<!ATTLIST record
+    id          CDATA   #REQUIRED
+    output      CDATA   #IMPLIED
+    formatType  CDATA   #IMPLIED
+    reading     CDATA   #IMPLIED
+    linesToRead CDATA   #IMPLIED
+    makeArray   CDATA   #IMPLIED
+    names       CDATA   #IMPLIED
+    >
+    
+<!ELEMENT readLines (#PCDATA)>
+<!ATTLIST readLines
+    id          CDATA   #REQUIRED
+    output      CDATA   #IMPLIED
+    formatType  CDATA   #IMPLIED
+    reading     CDATA   #IMPLIED
+    linesToRead CDATA   #IMPLIED
+    >
+
+<!ELEMENT comment (#PCDATA)>
+<!ATTLIST comment
+    role CDATA     #IMPLIED
+    >
+    

declaratron-chem/declaratron-chem-common/src/main/resources/org/xmlcml/cml/declaratron/chem/compchemDict.xml

+<?xml version="1.0" encoding="UTF-8"?>
+<cml xmlns="http://www.xml-cml.org/schema">
+  <dictionary 
+    xmlns:h="http://www.w3.org/1999/xhtml"
+    namespace="http://www.xml-cml.org/dictionary/compchem/"
+    xmlns:convention="http://www.xml-cml.org/convention/" 
+    convention="convention:dictionary"
+    dictionaryPrefix="compchem" 
+    title="CompChem dictionary" 
+    xmlns="http://www.xml-cml.org/schema"
+    xmlns:cml="http://www.xml-cml.org/schema"
+    xmlns:cmlx="http://www.xml-cml.org/schema/cmlx"
+    xmlns:si="http://www.xml-cml.org/unit/si/" 
+    xmlns:nonSi="http://www.xml-cml.org/unit/nonSi/" 
+    xmlns:unitType="http://www.xml-cml.org/unit/unitType/" 
+    
+    >
+    <!--
+      <definition>
+        <h:p>Compchem dictionary</h:p>
+      </definition>
+      -->
+      <description>
+        <h:p>terms common more than one code dictionary</h:p>
+      </description>
+
+    <entry id="environment" dataType="xsd:string" units="si:unknown" unitType="unitType:unknown"  term="environment">
+      <definition>
+        <h:p>compchem environment module</h:p>
+      </definition>
+      <description>
+        <h:p>an optional toplevel modules defined by compchem convention
+        </h:p>
+      </description>
+    </entry>
+    
+    <entry id="misc" dataType="xsd:string" units="si:unknown" unitType="unitType:unknown"  term="miscellaneous markup">
+      <definition>
+        <h:p>miscellaneous</h:p>
+      </definition>
+      <description>
+        <h:p>TODO MOVE</h:p>
+      </description>
+    </entry>
+    
+    <entry id="parameter" dataType="xsd:string" units="si:unknown" unitType="unitType:unknown"  term="parameter">
+      <definition>
+        <h:p>parameter</h:p>
+      </definition>
+      <description>
+        <h:p>TODO MOVE</h:p>
+      </description>
+    </entry>
+    <entry id="property" dataType="xsd:string" units="si:unknown" unitType="unitType:unknown"  term="property">
+      <definition>
+        <h:p>property</h:p>
+      </definition>
+      <description>
+        <h:p>TODO MOVE</h:p>
+      </description>
+    </entry>
+
+    <entry id="startid" dataType="xsd:string" units="si:unknown" unitType="unitType:unknown"  term="startid">
+      <definition>
+        <h:p>???</h:p>
+      </definition>
+      <description>
+        <h:p>???</h:p>
+      </description>
+    </entry>
+    
+    <entry id="data" units="si:unknown" unitType="unitType:unknown"  term="data" dataType="xsd:string">
+      <definition>
+        <h:p>data</h:p>
+      </definition>
+      <description>
+        <h:p>TODO MOVE</h:p>
+      </description>
+    </entry>
+    
+    <entry id="title" units="si:unknown" unitType="unitType:unknown"  term="title" dataType="xsd:string">
+      <definition>
+        <h:p>an arbitrary title</h:p>
+      </definition>
+      <description>
+        <h:p>title is not used for reference, though could be used for
+          lexical indexing (e.g. by Solr) TODO MOVE</h:p>
+      </description>
+    </entry>
+    
+    <entry id="iter" units="si:unknown" unitType="unitType:unknown"  term="serial number of iteration" dataType="xsd:integer">
+      <definition>
+        <h:p>serial number of iteration</h:p>
+      </definition>
+      <description>
+        <h:p>serial number of iteration TODO MOVE</h:p>
+      </description>
+    </entry>
+    <!-- unitType should be added to entry attributes <entry id="energy" 
+     dataType="xsd:string" units="si:unknown" unitType="unitType:unknown"  term="energy" dataType="xsd:double" unitType="unitType:energy"> <definition><h:p>energy</h:p></definition> 
+      <description><h:p>energy of unspecified typeTODO MOVE</h:p></description> 
+      </entry> 
+      -->
+    <entry id="energy" units="si:unknown" term="energy" dataType="xsd:double" unitType="unitType:energy">
+      <definition>
+        <h:p>energy</h:p>
+      </definition>
+      <description>
+        <h:p>energy of unspecified typeTODO MOVE</h:p>
+      </description>
+    </entry>
+    
+    <entry id="deltae" units="si:unknown" term="deltae" dataType="xsd:double"
+      unitType="unitType:energy">
+      <definition>
+        <h:p>change in energy between cycles</h:p>
+      </definition>
+      <description>
+        <h:p>change in energy between cycles</h:p>
+      </description>
+    </entry>
+    
+    <entry id="rmsdens" units="si:unknown" unitType="unitType:unknown"  term="RMS electron density" dataType="xsd:double">
+      <definition>
+        <h:p>rms density</h:p>
+      </definition>
+      <description>
+        <h:p>RMS electron density</h:p>
+      </description>
+    </entry>
+    
+    <entry id="diiserr" units="si:unknown" unitType="unitType:unknown"  term="diiserr" dataType="xsd:double">
+      <definition>
+        <h:p>error in DIIS</h:p>
+      </definition>
+      <description>
+        <h:p>error in DIIS</h:p>
+      </description>
+    </entry>
+    
+    <entry id="time" units="si:unknown" unitType="unitType:unknown"  term="cumulative time" dataType="xsd:double">
+      <definition>
+        <h:p>cumulative time</h:p>
+      </definition>
+      <description>
+        <h:p>TODO MOVE</h:p>
+      </description>
+    </entry>
+
+
+    <entry id="sumatomener" units="si:unknown" unitType="unitType:unknown"  term="Sum of atom energies" dataType="xsd:double">
+      <definition>
+        <h:p>Sum of atom energies</h:p>
+      </definition>
+      <description>
+        <h:p>Sum of atom energies</h:p>
+      </description>
+    </entry>
+    
+    <entry id="totener" units="si:unknown" unitType="unitType:unknown"  term="Total energy" dataType="xsd:double">
+      <definition>
+        <h:p>Total energy</h:p>
+      </definition>
+      <description>
+        <h:p>TODO MOVE</h:p>
+      </description>
+    </entry>
+    
+    <entry id="ener1e" units="si:unknown" unitType="unitType:unknown"  term="1-electron energy" dataType="xsd:double">
+      <definition>
+        <h:p>1-electron energy</h:p>
+      </definition>
+      <description>
+        <h:p>1-electron energy</h:p>
+      </description>
+    </entry>
+    
+    <entry id="ener2e" units="si:unknown" unitType="unitType:unknown"  term="TODO ener2e" dataType="xsd:double">
+      <definition>
+        <h:p>TODO</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+      </description>
+    </entry>
+    
+    <entry id="homo" units="si:unknown" unitType="unitType:unknown"  term="HOMO" dataType="xsd:double">
+      <definition>
+        <h:p>Highest Occupied Molecular Orbital</h:p>
+      </definition>
+      <description>
+        <h:p>TODO MOVE</h:p>
+      </description>
+    </entry>
+    
+    <entry id="lumo" units="si:unknown" unitType="unitType:unknown"  term="LUMO" dataType="xsd:double">
+      <definition>
+        <h:p>Lowest Occupied Moecular Orbital</h:p>
+      </definition>
+      <description>
+        <h:p>TODO MOVE</h:p>
+      </description>
+    </entry>
+    
+    <entry id="totaldft" units="si:unknown" unitType="unitType:unknown"  term="Total DFT energy" dataType="xsd:double">
+      <definition>
+        <h:p>Total DFT energy</h:p>
+      </definition>
+      <description>
+        <h:p>TODO MOVE</h:p>
+      </description>
+    </entry>
+
+    <entry id="oneelecener" units="si:unknown" unitType="unitType:unknown"  term="1-electron energy" dataType="xsd:double">
+      <definition>
+        <h:p>1-electron energy</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+      </description>
+    </entry>
+    <entry id="coulomb" units="si:unknown" unitType="unitType:unknown"  term="Coulomb energy" dataType="xsd:double">
+      <definition>
+        <h:p>Coulomb energy</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+      </description>
+    </entry>
+    <entry id="nucrepener" units="si:unknown" unitType="unitType:unknown"  term="Nuclear repulsion energy"
+      dataType="xsd:double">
+      <definition>
+        <h:p>Nuclear repulsion energy</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+      </description>
+    </entry>
+
+    <entry id="atomsym" units="si:unknown" unitType="unitType:unknown"  term="Atom symbol" dataType="cml:elementType">
+      <definition>
+        <h:p>Symbol of the atom</h:p>
+      </definition>
+      <description>
+        <h:p>This may not always be a CML elementType TODO</h:p>
+      </description>
+    </entry>
+    
+    <entry id="atommass" units="si:unknown" unitType="unitType:unknown"  term="Mass of the atom" dataType="xsd:double">
+      <definition>
+        <h:p>Mass of the atom</h:p>
+      </definition>
+      <description>
+        <h:p>May not always be that from a table of atomic masses TODO
+        </h:p>
+      </description>
+    </entry>
+    
+    <entry id="echangecorr" units="si:unknown" unitType="unitType:unknown"  term="Exchange correlation energy"
+      dataType="xsd:double">
+      <definition>
+        <h:p>Exchange correlation energy</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+      </description>
+    </entry>
+    
+    <entry id="basis" units="si:unknown" unitType="unitType:unknown"  term="basis set?" dataType="xsd:string">
+      <definition>
+        <h:p>The basis set</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+      </description>
+    </entry>
+    
+    <entry id="elsym" units="si:unknown" unitType="unitType:unknown"  term="TODO elsym" dataType="cml:elementType">
+      <definition>
+        <h:p>TODO</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+      </description>
+    </entry>
+    <entry id="elemname" units="si:unknown" unitType="unitType:unknown"  term="TODO elemname" dataType="cml:elementType">
+      <definition>
+        <h:p>TODO</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+      </description>
+    </entry>
+
+    <entry id="atnum" units="si:unknown" unitType="unitType:unknown"  term="TODO atnum" dataType="xsd:integer">
+      <definition>
+        <h:p>serial number of atom</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+      </description>
+    </entry>
+
+    <entry id="bfn" units="si:unknown" unitType="unitType:unknown"  term="TODO bfn" dataType="xsd:integer">
+      <definition>
+        <h:p>basis function</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+      </description>
+    </entry>
+
+    <entry id="irrep" dataType="xsd:string" units="si:unknown" unitType="unitType:unknown"  term="Irreducible representation">
+      <definition>
+        <h:p>Irreducible representation</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+        <h:p class="example">TODO</h:p>
+      </description>
+    </entry>
+
+    <entry id="serial" dataType="xsd:string" units="si:unknown" unitType="unitType:unknown"  term="Serial">
+      <definition>
+        <h:p>A serial number</h:p>
+      </definition>
+      <description>
+        <h:p>a serial number from 1...n</h:p>
+        <h:p class="example">TODO</h:p>
+      </description>
+    </entry>
+
+    <entry id="elementType" dataType="xsd:string" units="si:unknown" unitType="unitType:unknown"  term="element type">
+      <definition>
+        <h:p>the type of the element</h:p>
+      </definition>
+      <description>
+        <h:p>the atomic symbol as in CML:@elementTypeS</h:p>
+        <h:p class="example">TODO</h:p>
+      </description>
+    </entry>
+
+    <entry id="atomType" dataType="xsd:string" units="si:unknown" unitType="unitType:unknown"  term="atom type">
+      <definition>
+        <h:p>an atom type</h:p>
+      </definition>
+      <description>
+        <h:p>An atom type (not the element type). Cf cml:atomType</h:p>
+        <h:p class="example">TODO</h:p>
+      </description>
+    </entry>
+
+    <entry id="natoms" dataType="xsd:string" units="si:unknown" unitType="unitType:unknown"  term="atom count">
+      <definition>
+        <h:p>number of atoms</h:p>
+      </definition>
+      <description>
+        <h:p>normally the count of atoms in a molecule or other collection of atoms</h:p>
+        <h:p class="example">TODO</h:p>
+      </description>
+    </entry>
+
+    <entry id="hostname" dataType="xsd:string" units="si:unknown" unitType="unitType:unknown"  term="host name">
+      <definition>
+        <h:p>host name</h:p>
+      </definition>
+      <description>
+        <h:p>uncontrolled vocabulary</h:p>
+        <h:p class="example">TODO</h:p>
+      </description>
+    </entry>
+
+    <entry id="finalization" dataType="xsd:string" units="si:unknown" unitType="unitType:unknown"  term="finalization module">
+      <definition>
+        <h:p>finalization module</h:p>
+      </definition>
+      <description>
+        <h:p>the finalization module in the Compchem convention</h:p>
+        <h:p class="example">TODO</h:p>
+      </description>
+    </entry>
+
+    <entry id="initialization" dataType="xsd:string" units="si:unknown" unitType="unitType:unknown"  term="initialization module">
+      <definition>
+        <h:p>initialization module</h:p>
+      </definition>
+      <description>
+        <h:p>the initialization module in the Compchem convention</h:p>
+        <h:p class="example">TODO</h:p>
+      </description>
+    </entry>
+
+    <entry id="calculation" dataType="xsd:string" units="si:unknown" unitType="unitType:unknown"  term="calculation module">
+      <definition>
+        <h:p>calculation module</h:p>
+      </definition>
+      <description>
+        <h:p>the calculation module in the Compchem convention</h:p>
+        <h:p class="example">TODO</h:p>
+      </description>
+    </entry>
+
+    <entry id="version" dataType="xsd:string" units="si:unknown" unitType="unitType:unknown"  term="program version">
+      <definition>
+        <h:p>program version</h:p>
+      </definition>
+      <description>
+        <h:p>no controlled syntax</h:p>
+        <h:p class="example">TODO</h:p>
+      </description>
+    </entry>
+
+    <entry id="executable" dataType="xsd:string" units="si:unknown" unitType="unitType:unknown"  term="executable program">
+      <definition>
+        <h:p>executable program</h:p>
+      </definition>
+      <description>
+        <h:p>no controlled syntax</h:p>
+        <h:p class="example">TODO</h:p>
+      </description>
+    </entry>
+
+    <entry id="input" dataType="xsd:string" units="si:unknown" unitType="unitType:unknown"  term="program input">
+      <definition>
+        <h:p>program input</h:p>
+      </definition>
+      <description>
+        <h:p>no controlled syntax</h:p>
+        <h:p class="example">TODO</h:p>
+      </description>
+    </entry>
+
+    <entry id="date" dataType="xsd:string" units="si:unknown" unitType="unitType:unknown"  term="date">
+      <definition>
+        <h:p>An unspecified date</h:p>
+      </definition>
+      <description>
+        <h:p>no controlled syntax</h:p>
+        <h:p class="example">TODO</h:p>
+      </description>
+    </entry>
+
+    <entry id="nuclearDipole" dataType="xsd:string" units="si:unknown" unitType="unitType:unknown"  term="nuclear dipole">
+      <definition>
+        <h:p>nuclear dipole</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+        <h:p class="example">TODO</h:p>
+      </description>
+    </entry>
+
+    <entry id="nproc" dataType="xsd:string" units="si:unknown" unitType="unitType:unknown"  term="number of processors">
+      <definition>
+        <h:p>number of processors</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+        <h:p class="example">TODO</h:p>
+      </description>
+    </entry>
+
+    <entry id="centerofmass" dataType="xsd:string" units="si:unknown" unitType="unitType:unknown"  term="center of mass">
+      <definition>
+        <h:p>center of mass</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+        <h:p class="example">TODO</h:p>
+      </description>
+    </entry>
+
+    <entry id="calculationType" dataType="xsd:string" units="si:unknown" unitType="unitType:unknown"  term="Type of calculation">
+      <definition>
+        <h:p>calculationType</h:p>
+      </definition>
+      <description>
+        <h:p>Type of calculation</h:p>
+        <h:p class="example">TODO MOVE</h:p>
+      </description>
+    </entry>
+    
+    <entry id="metadata" dataType="xsd:string" units="si:unknown" unitType="unitType:unknown"  term="metadata">
+      <definition>
+        <h:p>metadata</h:p>
+      </definition>
+      <description>
+        <h:p>Metadata TODO MOVE</h:p>
+      </description>
+    </entry>
+
+    <entry id="x3" dataType="xsd:string" units="si:unknown" unitType="unitType:unknown"  term="CML cartesian x">
+      <definition>
+        <h:p>CML x3 coordinate</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+      </description>
+    </entry>
+
+    <entry id="y3" dataType="xsd:string" units="si:unknown" unitType="unitType:unknown"  term="CML cartesian y">
+      <definition>
+        <h:p>CML y3 coordinate</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+      </description>
+    </entry>
+
+    <entry id="z3" dataType="xsd:string" units="si:unknown" unitType="unitType:unknown"  term="CML cartesian z">
+      <definition>
+        <h:p>CML z3 coordinate</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+      </description>
+    </entry>
+
+    <entry id="program" dataType="xsd:string" units="si:unknown" unitType="unitType:unknown"  term="program">
+      <definition>
+        <h:p>the program being run</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+      </description>
+    </entry>
+
+    <entry id="atomtype" dataType="xsd:string" units="si:unknown" unitType="unitType:unknown"  term="atom type">
+      <definition>
+        <h:p>CML atomType element</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+      </description>
+    </entry>
+
+    <entry id="atomtypeRef" dataType="xsd:string" units="si:unknown" unitType="unitType:unknown"  term="reference to atom type">
+      <definition>
+        <h:p>Reference to CML atomType element</h:p>
+      </definition>
+      <description>
+        <h:p>This should be the normal usage for atomtype symbols/refs</h:p>
+      </description>
+    </entry>
+
+    <entry id="totalener" dataType="xsd:string" units="si:unknown" unitType="unitType:unknown"  term="total energy">
+      <definition>
+        <h:p>The total energy</h:p>
+      </definition>
+      <description>
+        <h:p>This may be a code-specific term so may be overridden by code-specific dictionaries</h:p>
+      </description>
+    </entry>
+
+    <entry id="id" dataType="xsd:string" units="si:unknown" unitType="unitType:unknown"  term="CML id">
+      <definition>
+        <h:p>A CML id</h:p>
+      </definition>
+      <description>
+        <h:p>usable throughout cml documents. Need not be unique</h:p>
+      </description>
+    </entry>
+
+    <entry id="atomicmass" dataType="xsd:string" units="si:unknown" unitType="unitType:unknown"  term="atomic mass">
+      <definition>
+        <h:p>Atomic mass</h:p>
+      </definition>
+      <description>
+        <h:p>normally the mass of an isolated atom, but the isotopic variation may not be clear</h:p>
+      </description>
+    </entry>
+
+    <entry id="grouporder" dataType="xsd:string" units="si:unknown" unitType="unitType:unknown"  term="TODO">
+      <definition>
+        <h:p>TODO</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+      </description>
+    </entry>
+
+    <entry id="twoeener" dataType="xsd:string" units="si:unknown" unitType="unitType:unknown"  term="TODO">
+      <definition>
+        <h:p>TODO</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+      </description>
+    </entry>
+
+   <entry id="groupnumber" dataType="xsd:string" units="si:unknown" unitType="unitType:unknown"  term="TODO">
+      <definition>
+        <h:p>TODO</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+      </description>
+    </entry>
+
+  <entry id="groupname" dataType="xsd:string" units="si:unknown" unitType="unitType:unknown"  term="TODO">
+      <definition>
+        <h:p>TODO</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+      </description>
+    </entry>
+
+  <entry id="mass" dataType="xsd:string" units="si:unknown" unitType="unitType:unknown"  term="TODO">
+      <definition>
+        <h:p>TODO</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+      </description>
+    </entry>
+
+    <entry id="oneeener" dataType="xsd:string" units="si:unknown" unitType="unitType:unknown"  term="TODO">
+      <definition>
+        <h:p>TODO</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+      </description>
+    </entry>
+
+    <entry id="nuclearEnergy" dataType="xsd:string" units="si:unknown" unitType="unitType:unknown"  term="TODO">
+      <definition>
+        <h:p>TODO</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+      </description>
+    </entry>
+    
+    <entry id="cputime" dataType="xsd:string" units="si:unknown" unitType="unitType:unknown"  term="TODO">
+      <definition>
+        <h:p>TODO</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+      </description>
+    </entry>
+    
+    <entry id="walltime" dataType="xsd:string" units="si:unknown" unitType="unitType:unknown"  term="TODO">
+      <definition>
+        <h:p>TODO</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+      </description>
+    </entry>
+
+    <entry id="cell.a" dataType="xsd:string" units="si:unknown" unitType="unitType:unknown"  term="TODO">
+      <definition>
+        <h:p>TODO</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+      </description>
+    </entry>
+
+    <entry id="cell.b" dataType="xsd:string" units="si:unknown" unitType="unitType:unknown"  term="TODO">
+      <definition>
+        <h:p>TODO</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+      </description>
+    </entry>
+
+    <entry id="cell.c" dataType="xsd:string" units="si:unknown" unitType="unitType:unknown"  term="TODO">
+      <definition>
+        <h:p>TODO</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+      </description>
+    </entry>
+
+    <entry id="cell.alpha" dataType="xsd:string" units="si:unknown" unitType="unitType:unknown"  term="TODO">
+      <definition>
+        <h:p>TODO</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+      </description>
+    </entry>
+
+    <entry id="cell.beta" dataType="xsd:string" units="si:unknown" unitType="unitType:unknown"  term="TODO">
+      <definition>
+        <h:p>TODO</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+      </description>
+    </entry>
+
+    <entry id="cell.gamma" dataType="xsd:string" units="si:unknown" unitType="unitType:unknown"  term="TODO">
+      <definition>
+        <h:p>TODO</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+      </description>
+    </entry>
+
+    <entry id="cell.omega" dataType="xsd:string" units="si:unknown" unitType="unitType:unknown"  term="TODO">
+      <definition>
+        <h:p>TODO</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+      </description>
+    </entry>
+
+    <entry id="lattice.recip.units" dataType="xsd:string" units="si:unknown" unitType="unitType:unknown"  term="TODO">
+      <definition>
+        <h:p>TODO</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+      </description>
+    </entry>
+
+    <entry id="citation" dataType="xsd:string" units="si:unknown" unitType="unitType:unknown"  term="TODO">
+      <definition>
+        <h:p>TODO</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+      </description>
+    </entry>
+
+    <entry id="charge" dataType="xsd:string" units="si:unknown" unitType="unitType:unknown"  term="TODO">
+      <definition>
+        <h:p>TODO</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+      </description>
+    </entry>
+
+    <entry id="pointgroup" dataType="xsd:string" units="si:unknown" unitType="unitType:unknown"  term="TODO">
+      <definition>
+        <h:p>TODO</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+      </description>
+    </entry>
+
+    <entry id="compx" term="TODO" dataType="xsd:string" units="units:none"
+      unitType="unitType:none">
+      <definition>
+        <h:p>TODO</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+      </description>
+    </entry>
+
+
+    <entry id="molmass" term="TODO" dataType="xsd:string" units="units:none"
+      unitType="unitType:none">
+      <definition>
+        <h:p>TODO</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+      </description>
+    </entry>
+
+
+    <entry id="basis.coefficient" term="TODO" dataType="xsd:string" units="units:none"
+      unitType="unitType:none">
+      <definition>
+        <h:p>TODO</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+      </description>
+    </entry>
+
+
+    <entry id="tensorname" term="TODO" dataType="xsd:string" units="units:none"
+      unitType="unitType:none">
+      <definition>
+        <h:p>TODO</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+      </description>
+    </entry>
+
+
+    <entry id="basis.shellnum" term="TODO" dataType="xsd:string" units="units:none"
+      unitType="unitType:none">
+      <definition>
+        <h:p>TODO</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+      </description>
+    </entry>
+
+
+    <entry id="atomicNumber" term="TODO" dataType="xsd:string" units="units:none"
+      unitType="unitType:none">
+      <definition>
+        <h:p>TODO</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+      </description>
+    </entry>
+
+
+    <entry id="compz" term="TODO" dataType="xsd:string" units="units:none"
+      unitType="unitType:none">
+      <definition>
+        <h:p>TODO</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+      </description>
+    </entry>
+
+
+    <entry id="compy" term="TODO" dataType="xsd:string" units="units:none"
+      unitType="unitType:none">
+      <definition>
+        <h:p>TODO</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+      </description>
+    </entry>
+
+
+    <entry id="shellsym" term="TODO" dataType="xsd:string" units="units:none"
+      unitType="unitType:none">
+      <definition>
+        <h:p>TODO</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+      </description>
+    </entry>
+
+
+    <entry id="row.z" term="TODO" dataType="xsd:string" units="units:none"
+      unitType="unitType:none">
+      <definition>
+        <h:p>TODO</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+      </description>
+    </entry>
+
+
+    <entry id="row.x" term="TODO" dataType="xsd:string" units="units:none"
+      unitType="unitType:none">
+      <definition>
+        <h:p>TODO</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+      </description>
+    </entry>
+
+
+    <entry id="row.y" term="TODO" dataType="xsd:string" units="units:none"
+      unitType="unitType:none">
+      <definition>
+        <h:p>TODO</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+      </description>
+    </entry>
+
+
+    <entry id="basis.exponent" term="TODO" dataType="xsd:string" units="units:none"
+      unitType="unitType:none">
+      <definition>
+        <h:p>TODO</h:p>
+      </definition>
+      <description>
+        <h:p>TODO</h:p>
+      </description>
+    </entry>
+
+
+
+  </dictionary>
+</cml>

declaratron-chem/declaratron-chem-common/src/main/resources/org/xmlcml/cml/declaratron/chem/doc.css

+.comment {
+    background-color : yellow;
+    }
+    

declaratron-chem/declaratron-chem-common/src/main/resources/org/xmlcml/cml/declaratron/chem/makecompchem.xml

+<transformList>
+
+  <!-- structuring for the compchem convention -->
+  <transform process="createWrapperParameter" 
+      xpath=".//cml:scalar[@dictRef='cc:hostname' or 
+                           @dictRef='cc:jobname' or
+                           @dictRef='cc:method' or
+                           @dictRef='cc:basis'
+                           ]"/>
+  <transform process="createWrapperMetadata" 
+      xpath=".//cml:scalar[@dictRef='cc:version' or
+                           @dictRef='cc:date' or
+                           @dictRef='cc:title']"/>
+  <transform process="createWrapperProperty" 
+      xpath=".//*[@dictRef='cc:electronicstate' or
+                           @dictRef='cc:hfenergy' or
+                           @dictRef='cc:dipole' or
+                           @dictRef='cc:dipolederiv' or
+                           @dictRef='cc:polarizability' or
+                           @dictRef='cc:pointgroup' or
+                           @dictRef='cc:rmsd' or
+                           @dictRef='cc:rmsf']"/>
+  
+
+  <!--  wrap scalars and arrays -->
+  <transform process="addChild" xpath="." elementName="cml:parameterList"/>
+  <transform process="move" xpath=".//cml:parameter" to="./cml:parameterList"/>
+  <transform process="addChild" xpath="." elementName="cml:propertyList"/>
+  <transform process="move" xpath=".//cml:property" to="./cml:propertyList"/>
+  <transform process="addChild" xpath="." elementName="cml:metadataList"/>
+  <transform process="move" xpath=".//cml:metadata" to="./cml:metadataList"/>
+
+  <!-- manage conventions -->  
+  <transform process="addAttribute" xpath="./cml:molecule" name="convention" value="convention:molecular"/>
+  <transform process="addAttribute" xpath="." name="convention" value="convention:compchem"/>
+  <transform process="addNamespace" xpath="." name="convention" value="http://www.xml-cml.org/convention/"/>
+  
+  <!--  finalization -->  
+  <transform process="addDictRef" xpath="." value="compchem:finalization"/>
+  <transform process="addNamespace" xpath="." name="compchem" value="http://www.xml-cml.org/dictionary/compchem/"/>
+
+  <!--  create other parts of cmlcomp -->
+  <!--  job -->
+  <transform process="createWrapper" elementName="cml:module" xpath="." id="job"/>
+  <transform process="createWrapper" elementName="cml:module" xpath="/*" id="jobList"/>
+  <!--  initialization -->
+  <transform process="addChild" elementName="cml:module" xpath="//cml:module[@id='job']" id="initialization"/>
+  <transform process="move" xpath=".//cml:parameterList" to="//cml:module[@id='initialization']"/>
+  <transform process="addDictRef" xpath="//cml:module[@id='initialization']" value="compchem:initialization"/>
+  <!--  environment -->
+  <transform process="addChild" elementName="cml:module" xpath="//cml:module[@id='job']" id="environment"/>
+  <transform process="move" xpath=".//cml:metadataList" to="//cml:module[@id='environment']"/>
+  <transform process="addDictRef" xpath="//cml:module[@id='environment']" value="compchem:environment"/>
+  <!--  calculation -->
+  <transform process="addChild" elementName="cml:module" xpath="//cml:module[@id='job']" id="calculation"/>
+  <transform process="addDictRef" xpath="//cml:module[@id='calculation']" value="compchem:calculation"/>
+  <transform process="move" xpath="//cml:module[@dictRef='compchem:finalization']" to="//cml:module[@id='job']"/>
+  <!--  add namespaces -->  
+  <transform process="addNamespace" xpath="/*" name="cc" value="http://www.xml-cml.org/dictionary/compchem/"/>
+  <transform process="addNamespace" xpath="/*" name="g" value="http://www.xml-cml.org/dictionary/gaussian/"/>
+  <transform process="addNamespace" xpath="/*" name="x" value="http://www.xml-cml.org/dictionary/cmlx/"/>
+  <transform process="addNamespace" xpath="/*" name="si" value="http://www.xml-cml.org/unit/si/"/>
+  <transform process="addNamespace" xpath="/*" name="nonsi" value="http://www.xml-cml.org/unit/nonsi/"/>
+
+  
+</transformList>    
+ 

declaratron-chem/declaratron-chem-common/src/test/java/org/xmlcml/declaratron/chem/common/CompchemTest.java

+package org.xmlcml.declaratron.chem.common;
+
+import org.junit.Test;
+
+public class CompchemTest {
+	@Test
+	public void dummy() {
+		
+	}
+}

declaratron-chem/declaratron-chem-dummy/pom.xml

+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>cml</groupId>
+        <artifactId>declaratron</artifactId>
+        <version>0.1-SNAPSHOT</version>
+        <relativePath>../../pom.xml</relativePath>
+    </parent>
+
+    <artifactId>declaratron-chem-dummy</artifactId>
+    <name>declaratron-chem-dummy</name>
+
+    <dependencies>
+        <dependency>
+            <groupId>${jumbo.groupId}</groupId>
+            <artifactId>jumbo</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>cml</groupId>
+            <artifactId>declaratron-core</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>cml</groupId>
+            <artifactId>declaratron-chem-common</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>cml</groupId>
+            <artifactId>declaratron-testutils</artifactId>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+
+</project>
+
+

declaratron-chem/declaratron-chem-dummy/src/main/java/org/xmlcml/declaratron/chem/dummy/DummyModule.java

+package org.xmlcml.declaratron.chem.dummy;
+
+
+/**
+ * @author pm286
+ */
+public class DummyModule /*extends AbstractConverterModule */ {
+
+
+    public DummyModule() {
+    	super();
+    }
+
+}

declaratron-chem/declaratron-chem-dummy/src/main/java/org/xmlcml/declaratron/chem/dummy/package-info.java

+/** 
+Converters for Dummy files to XML, CML
+Serves as a cloneable stub for other codes
+*/
+package org.xmlcml.declaratron.chem.dummy;

declaratron-chem/declaratron-chem-dummy/src/main/resources/META-INF/declaratron

+org.xmlcml.cml.converters.compchem.dummy.DummyConverters

declaratron-chem/declaratron-chem-dummy/src/main/resources/log4j.properties

+log4j.rootLogger=DEBUG, A1
+log4j.appender.A1=org.apache.log4j.ConsoleAppender
+log4j.appender.A1.layout=org.apache.log4j.PatternLayout
+log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
+log4j.logger.uk.ac.cam=DEBUG
+
+log4j.logger.org.xmlcml.cml.converters.marker = INFO

declaratron-chem/declaratron-chem-dummy/src/test/java/org/xmlcml/declaratron/chem/dummy/RegressionTest.java

+ package org.xmlcml.declaratron.chem.dummy;
+
+import org.junit.Test;
+
+
+/**
+ *
+ * @author ojd20
+ */
+public class RegressionTest {
+
+    @Test
+    public void dummyLog2XML() {
+    }
+}

declaratron-chem/declaratron-chem-testutils/pom.xml

+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>cml</groupId>
+        <artifactId>declaratron</artifactId>
+        <version>0.1-SNAPSHOT</version>
+        <relativePath>../../pom.xml</relativePath>
+    </parent>
+
+    <artifactId>declaratron-chem-testutils</artifactId>
+
+    <name>declaratron-chem-testutils</name>
+
+    <dependencies>
+        <dependency>
+            <groupId>${jumbo.groupId}</groupId>
+            <artifactId>jumbo</artifactId>
+            <version>${jumbo.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>cml</groupId>
+            <artifactId>declaratron-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>cml</groupId>
+            <artifactId>declaratron-chem-common</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>cml</groupId>
+            <artifactId>declaratron-testutils</artifactId>
+        </dependency>
+
+    </dependencies>
+
+</project>
+
+

declaratron-chem/pom.xml

+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>cml</groupId>
+        <artifactId>declaratron</artifactId>
+        <version>0.1-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>declaratron-chem</artifactId>
+    <packaging>pom</packaging>
+    <name>declaratron-chem</name>
+
+    <modules>
+        <module>declaratron-chem-all</module>
+        <module>declaratron-chem-amber</module>
+        <module>declaratron-chem-common</module>
+        <module>declaratron-chem-dummy</module>
+    </modules>
+
+
+</project>
+
+

declaratron-core/pom.xml

+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+         xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>cml</groupId>
+        <artifactId>declaratron</artifactId>
+        <version>0.1-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>declaratron-core</artifactId>
+    <name>declaratron-core</name>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.xml-cml</groupId>
+            <artifactId>jumbo</artifactId>
+            <version>6.1-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>commons-io</groupId>
+            <artifactId>commons-io</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jtidy</groupId>
+            <artifactId>jtidy</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>log4j</groupId>
+            <artifactId>log4j</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>xom</groupId>
+            <artifactId>xom</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.xml-cml</groupId>
+            <artifactId>jumbo-testutil</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+    </dependencies>
+</project>

declaratron-core/src/main/java/org/xmlcml/declaratron/Dumm