About Units and Z39.50
In the Z39.50 ASN.1 definitions, units of measure are expressed using the
ASN.1 definition (from the APDU definitions) Unit and IntUnit:
- Unit is used to express a unit, without a value (for example to
request that a particular value be sent according to a particular unit), for
example "kilometers".
- IntUnit is used to express a value together with a unit, for
example "ten kilometers".
Unit is defined as:
Unit ::= SEQUENCE{
unitSystem [1] InternationalString OPTIONAL,
unitType [2] StringOrNumeric OPTIONAL,
unit [3] StringOrNumeric OPTIONAL,
scaleFactor [4] IMPLICIT INTEGER OPTIONAL}
In the above definition:
- Unit system
- provides the context for the unit type and unit. Systems in common use
in the scientific and technical communities include SI, MKS, CGS, FPS, ENG,
and STN. In addition to existing standard unit systems, the unit system
'z3950' will be used to register those unit types/units needed by
implementors and not defined by other known systems. Values of unit type
and unit under the system 'z3950'will be maintained by the Z39.50
Maintenance Agency.
- Unit type
- is, for example, 'Mass'.
- Unit
- is, for example, 'Kilograms' (when unit type is 'Mass').
- Scale Factor
- is an integer scale factor, base 10. For example, 9 would mean that
the actual value is the given value times 10 to the -9 power.
IntUnit is simply an integer value together with a unit, and is defined as:
IntUnit ::= SEQUENCE{
value [1] IMPLICIT INTEGER,
unitUsed [2] IMPLICIT Unit}
Library
of Congress
Last Updated June 25, 2007