Step by Step Howto Update Input Documentation

In order to change the text in the inputfile reference one hast to do the following steps

Locate Documentation Text in the Schema

The schema of the exciting document is quite a lot of XML text, such that navigating in it becomes a bit of a challenge. It actually helps to use special editors to edit the schema. More about that later.

The schema is as described in Writing Input Parameter Documentation is splitt into multiple files for each first level element such as structure, groundstate, structureoptimization , properties, phonons, xs and gw. They are located in


It is usefull to use a schema editor to open this files. One may use eclipse with the XML plugins installed as described here how to setup eclipse as XML editor or Oxigen. The XSD editor (XML Schema Definition editor) of eclipse loocks like this:


In order to browse the elements it is a lot faster and easier then using a normal XML editor. Usually it works best if one uses the design view as above to locate the part of interest and then switches to the text view to edit.

Change the Documentation Text in the Schema

In the eclipse view menu one can activate a properties view which inspects the active element in the schema and allows for editing default values an also the documentation:


Check Changes in PDF

If one wants to check if the changes are correct one simply types

make doc

in the exciting directory.
When completed one can check the PDF version of the input reference in:

Update Wiki

The wiki code for inputfile reference is generated here:


The wikicode is made by the makefile in


In this make file, one may define a prefix for the file names of the wiki pages. This can be used if one wants keep multiple versions of the input reference in the wiki. The prefix is necessary for the links among the pages for the first level elements work correctly and don't get mixed up with other version.

STRPARAM=  --stringparam importancelevels "essential expert" --stringparam prefix "$(PREFIX)"
wiki/*: *.xsd ../schematowikidot.xsl common
    xsltproc $(STRPARAM) ../schematowikidot.xsl   input.xsd >wiki/$(PREFIX)input;\
    xsltproc $(STRPARAM) ../schematowikidot.xsl   structure.xsd >wiki/$(PREFIX)structure;\
    xsltproc $(STRPARAM) ../schematowikidot.xsl   groundstate.xsd >wiki/$(PREFIX)groundstate;\
    xsltproc $(STRPARAM) ../schematowikidot.xsl   phonons.xsd >wiki/$(PREFIX)phonons;\
    xsltproc $(STRPARAM) ../schematowikidot.xsl   properties.xsd >wiki/$(PREFIX)properties;\
    xsltproc $(STRPARAM) ../schematowikidot.xsl   structureoptimization.xsd > wiki/$(PREFIX)structureoptimization;\
    xsltproc $(STRPARAM) ../schematowikidot.xsl   xs.xsd >wiki/$(PREFIX)xs;\
    xsltproc $(STRPARAM) ../schematowikidot.xsl   ../species.xsd >wiki/$(PREFIX)species;\
    xsltproc $(STRPARAM) ../schematowikidot.xsl   gw.xsd >wiki/$(PREFIX)gw;\
    xsltproc $(STRPARAM) --stringparam common "true"  ../schematowikidot.xsl  ../excitinginput.xsd >wiki/$(PREFIX)common
    cd ../../ && $(MAKE)  expandedschema

There is no automatic way to copy the wiki code to the wiki. The pages must be created by hand and the text must be pasted into the editor field.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License