Data Types and Data Structure
Overview

STMML defines a number of data types suited to STM. It also defines a number of complex data strucures such as arrays, matrices and tables. the constraints are sometimes created through elements and sometimes through attributes. We classify the general components as follows:

Abstract Data Structures

  • scalar. A scalar quantity, expressible as a string, but with many optional facets such as errors, units, ranges, etc. Most elements may have countType attribute to indicate more than one instance.
  • array. An array of homogeneous scalars whose size is described by sizeType. Delimiters in string representations can ve varied.
  • matrix. A rectangular (often square) matrix of homogeneous scalars. Many matrices have special functions (see matrixType) such as geometric transformations
  • table. An table where the columns are homogeneous arrays.
  • list. A list of heterogeneous components from any namespace.
  • sizeType. Size of arrays
  • delimiterType. A lexical delimiter

Links and References

  • link. Support for simple hyperlinks and link structures
  • refType. A reference to an element
  • namespaceRefType. A reference to an element, including namespace-like prefixes

Data-based simpleTypes

Common attribute types

  • idType. Specifies lexical patterns for IDs
  • id. ID attribute (highly encouraged)
  • title. Title attribute (highly encouraged)
  • conv. Convention attribute