This section gives a detailed specification of the Project script language. Project Script allows you to automatize the creation of (sub)projects by using a set of scripts to do the work for you.
Project script consists of the following elements:
Literal text is allowed if the current context supports it.
For example in a section, literal text is converted into a text paragraph. In the context of an XML document node, literal text is converted into XML text elements.
Nodes is what project script is all about. A textual representation of a normal node in a merge project.
A node always looks like this:
<pm:node> ... </pm:node>
The way you write a node is very similar to XML.
A node always starts with "<pm:" followed by a node type name followed by ">". The end of the node is given by "</pm:" followed by the node type name, followed by ">".
Everything between the start and the end of the node is the content of the node. This can be one or more child nodes, literal text or nothing.
If a node has no content, the node can be written in an even shorter form:
Just as normal nodes in a merge have settings, so do nodes in project scripts. These settings are given in the form of attributes.
<pm:loop name="loop" from="1" to="3"> ... </pm:loop>
In the above a loop node has 3 attributes: name, from and to.
For an overview of the available nodes and their attributes, see the Nodes section under References.