Syntax References represent established works of other organizations. Such works – among others - may define semantic information, topologies, a language for a code set, or dictionaries and facilitate the programmatic evaluation or the lookup of a quantity or unit e.g. in a dictionary or ontology. They may be publicly defined by standard bodies such as IEC or proprietary (e.g. vendor-specific dictionaries).
The Quantities and Unit Model provides a powerful way to relate quantities and units to such Syntax References using the Dictionary References model defined in 10000-19.
Table 33 lists Syntax References that are applied in certain markets. This list may be extended in future versions. Vendors or organizations may also specify additional Syntax References.
An overview for each Syntax Reference in this table is provided in Annex C.
Table 33 – List of Syntax References
Common Name |
Syntax Reference URI |
Full Name |
UCUM |
Unified Code for Units of Measure |
|
QUDT |
Quantities, Units, Dimensions and Types Ontology |
|
IEC CDD |
Common Data Dictionary |
|
UNECE |
Codes for Units of Measure Used in International Trade |
|
LATEX_SIUNITX |
LaTeX SI Unit Extension |
HasDictionaryEntry is used to define the relationship to a Syntax Reference by referencing from quantity or unit Nodes to an instance of a SyntaxReferenceEntryType. Each quantity or unit instance can have zero, one or more such references.
Instances of SyntaxReferenceEntryType have a well-defined NodeId as defined in Table 34.
Table 34 – Definition of NodeId for instances of the SyntaxReferenceEntryType
Name |
Type |
Definition for instances of the SyntaxReferenceEntryType |
NodeId |
structure |
|
namespaceIndex |
UInt16 |
The NamespaceTable index for the Syntax Reference URI (see Table 33). |
IdType |
Enum |
String |
identifier |
* |
The Syntax Reference identifier (SyntaxReferenceId), see 6.3.3 |
When calling the Browse Service for a Quantity or Unit Node, the response includes the HasDictionaryEntry Reference together with the well-defined NodeId for the SyntaxReferenceEntryType instance. The actual instance therefore is not required in the AddressSpace.
Figure 7 provides an example of References to external works.
Figure 7 – References to external works
Table 35 defines the identifiers for each Syntax Reference.
Table 35 – List of Syntax Reference Identifiers
Common Name |
Identifier |
|||||||||
UCUM |
QuantityType instances: The UCUM Syntax ReferenceID for quantities shall include the prefix “quantityKind:” followed by the name of the quantity. |
UnitType instances: The UCUM SyntaxReferenceId for units shall include an expression based on the UCUM syntax making use of the symbols named in the “C/S” entry of the UCUM spec (https://ucum.org/ucum.html). Codes (expressions) for common units are defined in Annex B. |
||||||||
QUDT |
QuantityType instances: The QUDT Syntax ReferenceID for quantities shall include the prefix “quantityKind:” followed by the name of the quantity as in https://www.qudt.org/doc/DOC_VOCAB-QUANTITY-KINDS.html. A few examples:
|
UnitType instances: The QUDT Syntax ReferenceID for units shall include the prefix “unit:” followed by the name of the unit as in https://www.qudt.org/doc/DOC_VOCAB-UNITS.html. . A few examples:
|
||||||||
IEC CDD |
QuantityType instances: The IEC CDD SyntaxReferenceId shall include the IRDI of the respective quantity. A few examples:
|
UnitType instances: The IEC CDD SyntaxReferenceId shall include the IRDI of the respective unit. A few examples:
|
||||||||
UNECE |
QuantityType instances: There are no UNECE Syntax References for quantities. |
UnitType instances: The UNECE SyntaxReferenceId shall include the common code from “Codes for Units of Measurement” published by the “United Nations Centre for Trade Facilitation and Electronic Business” (see https://www.unece.org/cefact/codesfortrade/codes_index.html). A few examples:
|
||||||||
LATEX_SIUNITX |
QuantityType instances: There are no LATEX_SIUNITX Syntax References for quantities. |
UnitType instances: The LATEX_SIUNITX SyntaxReferenceId shall include the leading slash, the keyword of the macro as well as the entire argument. A few examples:
|