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