l9999.final ​
Implementation level ​
Type | Status |
---|---|
CML extraction template | |
HTML5 representation |
Template attributes ​
Attribute | Value |
---|---|
source | Gaussian log |
id | l9999.final |
name | Final structure |
repeat | * |
pattern | \s*Final structure.* |
endPattern | \s*([^ABD][^\d].*)? |
xml:base | l9999/l9999.final.xml |
Input ​
Final structure in terms of initial Z-matrix:
C
C,1,B1
C,1,B2,2,A1
C,1,B3,2,A2,3,D1,0
C,1,B4,2,A3,3,D2,0
H,1,B14,2,A13,3,D12,0
Variables:
A10=144.25020869
A11=116.31414116
A12=96.15014513
B1=1.39971945
A9=98.08838206
Output text ​
xml
<comment class="example.output" id="l9999.final">
<module cmlx:templateRef="l9999.final">
<list cmlx:templateRef="atom1">
<scalar dataType="xsd:string" dictRef="g:elementType">C</scalar>
</list>
<list cmlx:templateRef="atom2">
<list>
<scalar dataType="xsd:string" dictRef="g:elementType">C</scalar>
<scalar dataType="xsd:integer" dictRef="x:atomid">1</scalar>
<scalar dataType="xsd:string" dictRef="x:varid">B1</scalar>
</list>
</list>
<list cmlx:templateRef="atom3">
<list>
<scalar dataType="xsd:string" dictRef="g:elementType">C</scalar>
<scalar dataType="xsd:integer" dictRef="x:atomid">1</scalar>
<scalar dataType="xsd:string" dictRef="x:varid">B2</scalar>
<scalar dataType="xsd:integer" dictRef="x:atomid">2</scalar>
<scalar dataType="xsd:string" dictRef="x:varid">A1</scalar>
</list>
</list>
<list cmlx:templateRef="atom4">
<list>
<scalar dataType="xsd:string" dictRef="g:elementType">C</scalar>
<scalar dataType="xsd:integer" dictRef="x:atomid">1</scalar>
<scalar dataType="xsd:string" dictRef="x:varid">B3</scalar>
<scalar dataType="xsd:integer" dictRef="x:atomid">2</scalar>
<scalar dataType="xsd:string" dictRef="x:varid">A2</scalar>
<scalar dataType="xsd:integer" dictRef="x:atomid">3</scalar>
<scalar dataType="xsd:string" dictRef="x:varid">D1</scalar>
<scalar dataType="xsd:integer" dictRef="g:xxx">0</scalar>
</list>
<list>
<scalar dataType="xsd:string" dictRef="g:elementType">C</scalar>
<scalar dataType="xsd:integer" dictRef="x:atomid">1</scalar>
<scalar dataType="xsd:string" dictRef="x:varid">B4</scalar>
<scalar dataType="xsd:integer" dictRef="x:atomid">2</scalar>
<scalar dataType="xsd:string" dictRef="x:varid">A3</scalar>
<scalar dataType="xsd:integer" dictRef="x:atomid">3</scalar>
<scalar dataType="xsd:string" dictRef="x:varid">D2</scalar>
<scalar dataType="xsd:integer" dictRef="g:xxx">0</scalar>
</list>
<list>
<scalar dataType="xsd:string" dictRef="g:elementType">H</scalar>
<scalar dataType="xsd:integer" dictRef="x:atomid">1</scalar>
<scalar dataType="xsd:string" dictRef="x:varid">B14</scalar>
<scalar dataType="xsd:integer" dictRef="x:atomid">2</scalar>
<scalar dataType="xsd:string" dictRef="x:varid">A13</scalar>
<scalar dataType="xsd:integer" dictRef="x:atomid">3</scalar>
<scalar dataType="xsd:string" dictRef="x:varid">D12</scalar>
<scalar dataType="xsd:integer" dictRef="g:xxx">0</scalar>
</list>
</list>
<map id="variableMap">
<link to="144.25020869" from="A10" />
<link to="116.31414116" from="A11" />
<link to="96.15014513" from="A12" />
<link to="1.39971945" from="B1" />
<link to="98.08838206" from="A9" />
</map>
</module>
</comment>
Template definition ​
xml
<record id="final" />
<record id="atom1">{A,g:elementType}</record>
<record id="atom2" repeat="1">{A,g:elementType},{I,x:atomid},{A,x:varid}</record>
<record id="atom3" repeat="1">{A,g:elementType},{I,x:atomid},{A,x:varid},{I,x:atomid},{A,x:varid}</record>
<record id="atom4" repeat="*">{A,g:elementType},{I,x:atomid},{A,x:varid},{I,x:atomid},{A,x:varid},{I,x:atomid},{A,x:varid},{I,g:xxx}</record>
<record id="variables">\s*Variables:\s*</record>
<record id="map" repeat="*">\s*{A,g:name}\s*=\s*{F,g:value}</record>
<transform process="addMap" xpath="." id="variableMap" from="./cml:list[@cmlx:templateRef='map']/cml:list/cml:scalar[@dictRef='g:name']" to="./cml:list[@cmlx:templateRef='map']/cml:list/cml:scalar[@dictRef='g:value']" />
<transform process="delete" xpath="./cml:list[@cmlx:templateRef='map']" />
<transform process="delete" xpath=".//cml:list[count(*)=0]" />
<transform process="delete" xpath=".//cml:list[count(*)=0]" />