Skip to main content

Table 2 Rules of data containers

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

CML element

Rules

<scalar>

- A <scalar> MUST conform to the CML Schema.

 

- The data type of <scalar> is REQUIRED and MUST be specified using a @dataType attribute. The value of @dataType attribute MUST be a primitive data type, e.g., xsd:integer, xsd:double, xsd:real, xsd:float, xsd:boolean, etc.

 

- A <scalar> MUST have units unless the @dataType is an xsd:string. (si:none for dimensionless units).

 

- A <scalar> MUST NOT have unit and unit type if the @dataType is an xsd:string.

<array>

- An <array> MUST conform to the CML Schema.

 

- The data type of <array> is REQUIRED and MUST be specified using the @dataType attribute. The value of @dataType attribute MUST be a primitive data type, e.g., xsd:integer, xsd:double, xsd:real, xsd:float, xsd:boolean, etc., but it MUST not be an xsd:string.

 

- An <array> MUST have units even if they are dimensionless (si:none for dimensionless units).

 

- The size of <array> is OPTIONAL and is specified using the @size attribute with the minimum value of 1.

 

- The @delimiter attribute is OPTIONAL. If not set, the array entries are separated by whitespace.

<matrix>

- A <matrix> MUST conform to the CML Schema.

 

- The data type of <matrix> is REQUIRED and MUST be specified using the @dataType attribute. The value of @dataType attribute MUST be a primitive data type, e.g., xsd:integer, xsd:double, xsd:real, xsd:float, xsd:boolean, etc., but it MUST not be an xsd:string.

 

- A <matrix> MUST have units even if it is dimensionless (si:none for dimensionless units).

 

- The dimension of a <matrix> is REQUIRED and MUST be specified using @rows and @columns attributes with the minimum values of 1.

 

- The @delimiter attribute is OPTIONAL. If not set, the matrix entries are separated by whitespace.

<zMatrix>

- A <zMatrix> MUST conform to the schema of CML matrix.

 

- A <zMatrix> SHOULD be a child of a <molecule> in molecular convention.

 

- A <zMatrix> MAY contain any number of <length>, <angle> and <torsion>, which MUST also conform to the CML Schema.

  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].