atoms
Type |
Status |
---|---|
CML extraction template |
|
HTML5 representation |
Attribute |
Value |
---|---|
source |
Turbomole control file |
id |
atoms |
name |
Atom definition section |
pattern |
\s*\u0024atoms\s* |
endPattern |
\s*\u0024.* |
endPattern2 |
~ |
endOffset |
0 |
xml:base |
atoms.xml |
Input
$atoms
ru 1 \
basis =ru def2-SVP \
ecp =ru def2-ecp \
jbas =ru def2-SVP
n 2-7 \
basis =n def2-SVP \
jbas =n def2-SVP
h 8-31 \
basis =h def2-SVP \
jbas =h def2-SVP
c 32-61 \
basis =c def2-SVP \
jbas =c def2-SVP
Output text
1<comment class="example.output" id="atoms">
2 <module cmlx:templateRef="atoms">
3 <module cmlx:templateRef="atomdef">
4 <list dictRef="t:atom">
5 <scalar dataType="xsd:string" dictRef="cc:elementType">ru</scalar>
6 <scalar dataType="xsd:string" dictRef="t:atomrange">1</scalar>
7 </list>
8 <list dictRef="t:basis">
9 <scalar dataType="xsd:string" dictRef="cc:elementType">ru</scalar>
10 <scalar dataType="xsd:string" dictRef="t:basis">def2-SVP</scalar>
11 </list>
12 <list dictRef="t:ecp">
13 <scalar dataType="xsd:string" dictRef="cc:elementType">ru</scalar>
14 <scalar dataType="xsd:string" dictRef="t:ecp">def2-ecp</scalar>
15 </list>
16 </module>
17 <module cmlx:templateRef="atomdef">
18 <list dictRef="t:atom">
19 <scalar dataType="xsd:string" dictRef="cc:elementType">n</scalar>
20 <scalar dataType="xsd:string" dictRef="t:atomrange">2-7</scalar>
21 </list>
22 <list dictRef="t:basis">
23 <scalar dataType="xsd:string" dictRef="cc:elementType">n</scalar>
24 <scalar dataType="xsd:string" dictRef="t:basis">def2-SVP</scalar>
25 </list>
26 </module>
27 <module cmlx:templateRef="atomdef">
28 <list dictRef="t:atom">
29 <scalar dataType="xsd:string" dictRef="cc:elementType">h</scalar>
30 <scalar dataType="xsd:string" dictRef="t:atomrange">8-31</scalar>
31 </list>
32 <list dictRef="t:basis">
33 <scalar dataType="xsd:string" dictRef="cc:elementType">h</scalar>
34 <scalar dataType="xsd:string" dictRef="t:basis">def2-SVP</scalar>
35 </list>
36 </module>
37 <module cmlx:templateRef="atomdef">
38 <list dictRef="t:atom">
39 <scalar dataType="xsd:string" dictRef="cc:elementType">c</scalar>
40 <scalar dataType="xsd:string" dictRef="t:atomrange">32-61</scalar>
41 </list>
42 <list dictRef="t:basis">
43 <scalar dataType="xsd:string" dictRef="cc:elementType">c</scalar>
44 <scalar dataType="xsd:string" dictRef="t:basis">def2-SVP</scalar>
45 </list>
46 </module>
47 </module>
48 </comment>
Template definition
1<record repeat="1" />
2<templateList> <template id="atomdef" pattern="\s*[A-Za-z]{1,3}\s*([0-9,-]+)[\s*\\?]+" endPattern="\s*[A-Za-z]{1,3}\s*([0-9,-]+)[\s*\\?]+" endPattern2="~" endOffset="0" repeat="*"> <record>{A,cc:elementType}{X,t:atomrange}\s*\\?\s*</record> <templateList> <template id="basis" pattern="\s*basis.*" endPattern=".*" endOffset="0"> <record>\s*basis\s*=\s*{A,cc:elementType}{X,t:basis}[\s*\\?]+</record> <transform process="addDictRef" xpath=".//cml:list/cml:list" value="t:basis" /> <transform process="pullup" xpath=".//cml:list/cml:list" repeat="2" />
3 </template> <template id="jbas" pattern="\s*jbas.*" endPattern=".*" endOffset="0"> <record>\s*jbas\s*=\s*{A,cc:elementType}{X,t:jbas}[\s*\\?]+</record> <transform process="addDictRef" xpath=".//cml:list/cml:list" value="t:jbas" /> <transform process="pullup" xpath=".//cml:list/cml:list" repeat="2" />
4 </template> <template id="ecp" pattern="\s*ecp.*" endPattern=".*" endOffset="0"> <record>\s*ecp\s*=\s*{A,cc:elementType}{X,t:ecp}[\s*\\?]+</record> <transform process="addDictRef" xpath=".//cml:list/cml:list" value="t:ecp" /> <transform process="pullup" xpath=".//cml:list/cml:list" repeat="2" />
5 </template>
6 </templateList> <transform process="addDictRef" xpath=".//cml:list/cml:list" value="t:atom" /> <transform process="pullup" xpath=".//cml:list/cml:list" />
7 </template>
8 </templateList>
9<transform process="delete" xpath=".//cml:list[count(*)=0]" />
10<transform process="delete" xpath=".//cml:list[count(*)=0]" />
11<transform process="delete" xpath=".//cml:module[count(*)=0]" />