Skip to main content

Table 1 Rules of CompChem

From: The semantics of Chemical Markup Language (CML) for computational chemistry : CompChem

dictRef.

Rules

cc:jobList

- A jobList module element MUST have an id attribute the value of which MUST be unique within the module specifying the compchem convention.

 

- A jobList module element MUST contain at least one job module child element.

 

- A jobList module element SHOULD have a title attribute the value of which MUST be a non-empty string specifying a human-readable title for the module.

 

- A jobList module element MAY contain more than one child element in any namespace.

cc:job

- A job module element MUST contain exactly one initialization module child element.

 

- A job module element MAY contain zero or more calculation module child elements.

 

- A job module element MAY contain no more than one finalization module child element.

 

- A job module element MAY contain no more than one environment module element.

 

- The order of the calculation module elements in a job module MUST represent the order of the calculation steps but there is no restriction on the order of other child element types.

 

- If a calculation module element is present, a finalization module element MUST also be present as a child of a job module element.

 

- A job module element SHOULD have a title attribute, the value of which MUST be a non-empty string specifying a human-readable title for the module.

 

- A job module element MAY also contain other child elements in any namespace.

cc:initialization

- An initialization module element MUST NOT contain more than one <molecule> child element. The <molecule> MUST specify a convention using the convention attribute and the convention SHOULD be one of the RECOMMENDED molecular conventions.

 

- An initialization module element MUST NOT contain more than one <parameterList> element.

 

- An initialization module element MAY contain any number of user defined module element.

 

- An initialization module element MUST contain at least one child of molecule, <parameterList> or user defined module elements.

 

- An initialization module element MAY contain more than one child element in any namespace but MUST NOT contain a property child element or a <propertyList> child element.

 

- A job module element MAY also contain other child elements in any namespace.

cc:initialization

- An initialization module element MUST NOT contain more than one <molecule> child element. The <molecule> MUST specify a convention using the convention attribute and the convention SHOULD be one of the RECOMMENDED molecular conventions.

 

- An initialization module element MUST NOT contain more than one <parameterList> element.

 

- An initialization module element MAY contain any number of user defined module element.

 

- An initialization module element MUST contain at least one child of molecule, <parameterList> or user defined module elements.

 

- An initialization module element MAY contain more than one child element in any namespace but MUST NOT contain a property child element or a <propertyList> child element.

cc:calculation

- A calculation module element MUST NOT contain more than one molecule child element. The molecule MUST specify a convention using the convention attribute and the convention SHOULD be one of the RECOMMENDED molecular conventions.

 

- A calculation module element MUST NOT contain more than one <parameterList> element.

 

- A calculation module element MUST NOT contain more than one <propertyList> element.

 

- A calculation module element MAY contain any number of user defined module elements.

 

- A calculation module element MUST contain at least one child of molecule, <parameterList>, <propertyList> or user defined module elements.

 

- A calculation module element MAY contain more than one child element in any namespace.

cc:finalization

- A finalization module element MUST NOT contain more than one molecule child element. The molecule MUST specify a convention using the convention attribute and the convention SHOULD be one of the RECOMMENDED molecular conventions.

 

- A finalization module element MUST NOT contain more than one <propertyList> element.

 

- A finalization module element MAY contain any number of user defined module elements.

 

- A finalization module element MUST contain at least one molecule child, <propertyList> child or user defined module element.

 

- A finalization module element MAY contain more than one child element in any namespace but MUST NOT contain a parameter child element or a <parameterList> child element.

cc:environment

- An environment module element MUST NOT contain more than one <propertyList> element.

 

- Any environment property element MUST be a child of a <propertyList> element.

 

- An environment module element MAY contain more than one child element in any namespace including any number of user defined module elements. However, CompChem can only understand a particular set of concepts.

 

- An environment module MUST contain at least one child of <parameterList> or userDefinedModule elements.

 

- An environment module element MAY contain more than one child element in any namespace but MUST NOT contain a parameter child element or a <parameterList> child element.

  1. The keywords “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in RFC 2119 [37].