generator ​
Implementation level ​
| Type | Status |
|---|---|
| CML extraction template | |
| HTML5 representation |
Template attributes ​
| Attribute | Value |
|---|---|
| source | VASP outcar |
| id | generator |
| name | Program version |
| pattern | \s*vasp\.\d.* |
| endPattern | \s*executed\son.* |
| endOffset | 1 |
| xml:base | generator.xml |
Input ​
vasp.5.3.2 13Sep12 (build Apr 2 2013 11:33:10) complex
executed on LinuxIFC date 2014.03.06 12:09:30
Output text ​
xml
<comment class="example.output" id="generator">
<module cmlx:templateRef="generator">
<scalar dataType="xsd:string" dictRef="cc:program">vasp</scalar>
<scalar dataType="xsd:string" dictRef="cc:subversion">13Sep12 (build Apr 2 2013 11:33:10) complex</scalar>
<scalar dataType="xsd:string" dictRef="v:platform">LinuxIFC</scalar>
<scalar dataType="xsd:date" dictRef="cc:rundate">2014-03-06T12:09:30.000+01:00</scalar>
<scalar dataType="xsd:string" dictRef="cc:programVersion">5.3.2</scalar>
</module>
</comment>Template definition ​
xml
<record>\s*{A,cc:program}\.{I,x:programMajor}\.{I,x:programMinor}.{I,x:programMicro}[\.\s]{X,cc:subversion}</record>
<record repeat="1" />
<record>\s*executed\son{A,v:platform}date{X,x:date}</record>
<transform process="pullup" xpath=".//cml:scalar" repeat="2" />
<transform process="createDate" xpath=".//cml:scalar[@dictRef='x:date']" format="yyyy'.'MM'.'dd HH:mm:ss" />
<transform process="addChild" xpath="." elementName="cml:scalar" dictRef="cc:programVersion" value="$string(concat( //cml:scalar[@dictRef='x:programMajor'], '.' , //cml:scalar[@dictRef='x:programMinor'], '.' ,//cml:scalar[@dictRef='x:programMicro']))" />
<transform process="addAttribute" xpath=".//cml:scalar[@dictRef='cc:programVersion']" name="dataType" value="xsd:string" />
<transform process="addAttribute" xpath=".//cml:scalar[@dictRef='x:date']" name="dictRef" value="cc:rundate" />
<transform process="delete" xpath=".//cml:list" />
<transform process="delete" xpath=".//cml:scalar[contains(@dictRef, 'x:program')]" />