![]() | ![]() | Copyright © 1992, 1997 International Organization for Standardization. All rights reserved. This electronic document is for use during development and review of International Standards. Official printed copies of International Standards can be purchased from the ISO and the national standards organization of your country. | ||
| Next Clause | Previous Clause | |||
At the root of any standardized measurement system there must be a base that is not open to conflicting interpretations. In HyTime, that base is called a "standard measurement unit" (SMU). In the introduction to coordinate addressing (6.8 Coordinate Specifications), the SMU was a "generic quantum" -- a virtual measurement suitable only for expressing relative sizes and positions. However, when the scheduling module is used, there are also real and other virtual SMUs. The real SMUs are based on Systeme International (SI) units, such as the SI second and the SI meter.
In order to guarantee consistency in the meaning of SMUs, they are declared with formal public identifiers in notation declarations. SMUs can be declared by applications, but HyTime provides an initial set (see 9.2.3.1 Common Standard Measurement Units).
An SMU is unlikely to be the correct granularity for all hypermedia applications, or even for all extent specifications in a single application. It is therefore possible to create a "measurement domain definition" that establishes a set of base granules, all defined ultimately in terms of the SMU of that domain. For further flexibility, "HyTime Measurement Units (HMUs)" can be used by defining them as a ratio of a granule.
NOTE 258 For example, HMUs with such values as 24 and 30 per second can be used for synchronization with motion pictures and video.
The element form measurement domain definition (measure) establishes a set of base granules, each defined as a ratio of a "reference granule", and all defined ultimately in terms of the SMU of the domain.
NOTE 259 For example, a measurement domain based on the SI second could include granules for "hour" and "microsecond".
The attribute domain SMU (SMU) specifies the standard measurement unit for the domain. It must have been declared as the notation name of a data content notation with a formal public identifier that is a measurement unit. If the domain is virtual, the text identifier component of the public identifier must be "Virtual Measurement Unit".
Multiple measurement domain definitions with the same domain SMU are treated as defining a single measurement domain.
NOTE 260 This rule makes it easy to supplement a standard measurement domain definition with granules needed for a specific document.
Instances of the element form granule definition (granule) define granules in terms of the domain SMU. For each instance, the attribute granule name (gn) names the granule, and the content of the element is its definition. The definition is expressed in the notation specified by the attribute granule definition notation (gdnot).
Granule names are case-sensitive.
NOTE 261 For example, "mm" and "Mm" are two distinct granule names in the SI meter domain.
A granule name cannot be the same as another granule name in the same measurement domain.
A granule name cannot be the same as the SMU name of its measurement domain. As granule names are case-sensitive and SMU names are not, case is ignored when applying this rule.
NOTE 262 For example, the granule name "sisecond" is not permitted in the measurement domain "SIsecond" because the granule name and SMU name are the same when case is ignored.
<!-- Measurement Domain Definition -->
<![ %measure; [
<![ %HyGrand; [
<!entity % dgdnot "HyGrand">
]]>
<!entity %
dgdnot -- Default granule definition notation --
-- Clause: 9.2.1 --
"#REQUIRED"
>
<!element
measure -- Measurement domain definition --
-- Clause: 9.2.1 --
-- Defines a set of granules in terms of a standard
measurement unit (SMU). Multiple measurement
domain definitions for the same SMU comprise one
domain. --
- O
(granule+)
-- Attributes [sched]: measure --
-- CommonAttributes [GenArc]: dafe, dvlatt, etfullnm, id,
ireftype, lextype, opacity --
-- CommonAttributes [base]: activity, conloc, dtxtatt, valueref --
-- CommonAttributes [locs]: refctl, refloc, reftype, rflocspn --
>
<!attlist
measure -- Measurement domain definition --
-- Clause: 9.2.1 --
smu -- Standard measurement unit --
-- The standard measurement unit for the domain --
NAME -- Lextype: SMU --
#REQUIRED
>
<!element
granule -- Granule definition --
-- Clause: 9.2.1 --
-- The content of a granule definition element
defines the mathematical relationship between the
granule being defined and the measurement domain's
SMU. --
-- Note: The relationship may be defined in terms of
another granule of the same measurement domain. --
- O
(%HyCFC;)*
-- Attributes [sched]: granule --
-- CommonAttributes [GenArc]: dafe, dvlatt, etfullnm, id,
ireftype, lextype, opacity --
-- CommonAttributes [base]: activity, conloc, dtxtatt, valueref --
-- CommonAttributes [locs]: refctl, refloc, reftype, rflocspn --
>
<!attlist
granule -- Granule definition --
-- Clause: 9.2.1 --
gn -- Granule name --
-- The granule name being defined. Granule names are
not normalized as SGML names (that is, they are
case-sensitive). --
CDATA -- Lextype: granule --
-- Constraint: unique within measurement domain --
-- Constraint: cannot be same as SMU name (with case
ignored) --
#REQUIRED
gdnot -- Granule definition notation --
-- Notation used to specify the relationship between
the granule being defined and the measurement
domain's SMU. --
NAME -- Lextype: NOTATION --
%dgdnot;
>
]]><!-- measure -->By default, the HyTime granule definition notation (HyGrand) is used to define granules.
A HyGrand expression defines a granule (that is, a quantum type) as a ratio of it to a "reference" granule. The ratio is specified as a pair of numbers, the first being the numerator and the second being the denominator. The reference granule can be any granule that was defined without reference (direct or indirect) to the granule being defined.
<!-- HyTime Granule Definition Notation -->
<![ %HyGrand; [
<!notation
HyGrand -- HyTime Granule Definition Notation --
-- Clause: 9.2.2 --
-- The mathematical relationship between a granule
and its measurement domain's SMU is specified as
a ratio of the granule being defined to either
the SMU or another granule of the same domain. --
-- Lextype: (ratio,(granule|SMU)) --
-- Constraint: A granule may not be defined in terms of
itself, either directly or indirectly. --
PUBLIC "ISO/IEC 10744:1997//NOTATION
HyTime Granule Definition Notation//EN"
-- CommonAttributes [GenArc]: altreps, included, superdcn --
-- CommonAttributes [base]: bosdatt --
-- CommonAttributes [locs]: egrvplan --
>
<!entity % measure "INCLUDE">
]]><!-- HyGrand -->HyTime includes measurement domain definitions for virtual time (virTime), virtual space (virSpace), real time (SIsecond), and real space (SImeter), in addition to an explicit domain definition for the generic quantum (gQuantum) (see 9.2.3.2 Measurement domain definitions).
NOTE 263 Differences in granule names can be meaningful to an application, even when they are equivalent to HyTime (for example, "thumb" and "inch" in the SImeter domain).
NOTE 264 The wide range of granules allows convenient choices for diverse applications.
NOTE 265 Real measurement in a computer is not a continuum. There is a discrete number of computer clock ticks per second and a discrete number of points of resolution on a display or printer. This fact simplifies measurement calculations for HyTime.
The following notation declarations provide Standard Measurement Units required for most hypermedia applications.
<!-- Measurement Units -->
<![ %sched; [
<!notation
gQuantum -- Generic quantum --
-- Reference unit of generic quanta --
PUBLIC "ISO/IEC 10744:1997//NOTATION
Virtual Measurement Unit//EN"
>
<!notation
SIsecond -- Systeme International second --
-- Reference unit of real time --
PUBLIC "ISO/IEC 10744:1997//NOTATION
Systeme International second//EN"
>
<!notation
SImeter -- Systeme International meter --
-- Reference unit of real length --
PUBLIC "ISO/IEC 10744:1997//NOTATION
Systeme International meter//EN"
>
<!notation
virTime -- Virtual Time --
-- Reference unit of virtual time --
PUBLIC "ISO/IEC 10744:1997//NOTATION
Virtual Measurement Unit//EN"
>
<!notation
virSpace -- Virtual Space --
-- Reference unit of virtual space --
PUBLIC "ISO/IEC 10744:1997//NOTATION
Virtual Measurement Unit//EN"
>
]]><!-- sched -->HyTime defines five measurement domain definitions for the useful SMU notation declarations, that can be referenced as public text using the following SGML formal public identifier:
"ISO/IEC 10744:1997//TEXT Useful Measurement Domain Definitions//EN"
The element and attribute list declarations for "measure" and "granule" are not included here. They are identical to the definitions of the architectural forms, except that the content of "granule" is declared to be #PCDATA.
NOTE 266 As the set of granules is unbounded, these measurement domain definitions are necessarily incomplete. Therefore, the absence of a granule should not be construed as a rejection. Granules can be added easily using the facilities described in 9.2.1 Measurement domain definition. For example, granules could be added to represent clock ticks for various computer systems.
<measure smu=gQuantum> <granule gn=quantum> 1 1 gQuantum <granule gn=bit-combination> 1 1 quantum <granule gn=token> 1 1 quantum <granule gn=node> 1 1 quantum <granule gn=cell> 1 1 quantum </measure>
<measure smu=virTime> <granule gn=vtu> 1 1 virTime <granule gn=tact> 1 1 vtu <granule gn=metronom> 1 1 vtu </measure>
<measure smu=SIsecond>
<granule gn=ysec> 1 1000 zsec
<granule gn=zsec> 1 1000 asec
<granule gn=asec> 1 1000 fsec
<granule gn=fsec> 1 1000 psec
<granule gn=psec> 1 1000 nsec
<granule gn=nsec> 1 1000 usec
<granule gn=usec> 1 1000 msec
<granule gn=msec> 1 10 csec
<granule gn=csec> 1 10 dsec
<granule gn=dsec> 1 10 second
<granule gn=SMPTE-50> 1 50 second
<granule gn=V1250> 1 50 second
<granule gn=NTSC> 1 30 second
<granule gn=SMPTE-240M> 1 30 second
<granule gn=SMPTE-30> 1 30 second
<granule gn=SMPTE-30-drop> 100 2997 second
<granule gn=SMPTE-25> 1 25 second
<granule gn=PAL> 1 25 second
<granule gn=SECAM> 1 25 second
<granule gn=European> 1 25 second
<granule gn=SMPTE-24> 1 24 second
<granule gn=motion-picture> 1 24 second
<granule gn=SMPTE-24-drop> 100 2396 second
<granule gn=PC-tick> 10 182 second
<granule gn=second> 1 1 SIsecond
<granule gn=dasec> 10 1 second
<granule gn=hsec> 10 1 dasec
<granule gn=ksec> 10 1 hsec
<granule gn=Msec> 1000 1 ksec
<granule gn=Gsec> 1000 1 Msec
<granule gn=Tsec> 1000 1 Gsec
<granule gn=Psec> 1000 1 Tsec
<granule gn=Esec> 1000 1 Psec
<granule gn=Zsec> 1000 1 Esec
<granule gn=Ysec> 1000 1 Zsec
<granule gn=minute> 60 1 second
<granule gn=quarter-hour> 15 1 minute
<granule gn=half-hour> 30 1 minute
<granule gn=hour> 60 1 minute
<granule gn=day> 24 1 hour
<granule gn=week> 7 1 day
<granule gn=fortnight> 2 1 week
<!-- Year and the granules based on it might not be accurate enough
for some applications. -->
<granule gn=year> 3652422 10000 day
<granule gn=decade> 10 1 year
<granule gn=century> 10 1 decade
<granule gn=millennium> 1000 1 year
</measure><measure smu=SImeter>
<granule gn=ym> 1 1000 zm
<granule gn=zm> 1 1000 am
<granule gn=am> 1 1000 fm
<granule gn=fm> 1 1000 pm
<granule gn=pm> 1 1000 nm
<granule gn=angstrom> 1 10 nm
<granule gn=nm> 1 1000 um
<granule gn=um> 1 1000 mm
<granule gn=mm> 1 10 cm
<granule gn=cm> 1 10 dm
<granule gn=dm> 1 10 meter
<granule gn=meter> 1 1 SImeter
<granule gn=dam> 10 1 meter
<granule gn=hm> 10 1 dam
<granule gn=km> 10 1 hm
<granule gn=Mm> 1000 1 km
<granule gn=nautical-mile> 1852 1 meter
<granule gn=Gm> 1000 1 Mm
<granule gn=AU> 1 206265 parsec
<granule gn=Tm> 1000 1 Gm
<granule gn=lightyear> 100 326 parsec
<granule gn=Pm> 1000 1 Tm
<granule gn=parsec> 3086 1 Tm
<granule gn=Em> 1000 1 Pm
<granule gn=Zm> 1000 1 Em
<granule gn=Ym> 1000 1 Zm
<granule gn=microinch> 1 1000 milliinch
<granule gn=milliinch> 1 1000 inch
<!-- Point and pica are the rounded versions commonly used in computer
systems and might not be accurate enough for some applications. -->
<granule gn=point> 1 12 pica
<granule gn=pica> 1 6 inch
<granule gn=barleycorn> 1 3 inch
<granule gn=nail> 1 16 yard
<granule gn=inch> 254 100 cm
<granule gn=thumb> 1 1 inch
<granule gn=hand> 4 1 inch
<granule gn=Roman-foot> 1164 100 inch
<granule gn=foot> 12 1 inch
<granule gn=Greek-foot> 1244 100 inch
<granule gn=Northern-foot> 11 10 foot
<granule gn=cubit> 18 1 inch
<granule gn=Sumerian-cubit> 495 10 cm
<granule gn=royal-cubit> 2062 100 inch
<granule gn=yard> 3 1 foot
<granule gn=ell> 5 4 yard
<granule gn=fathom> 6 1 foot
<granule gn=perch> 11 2 yard
<granule gn=pole> 1 1 perch
<granule gn=rod> 1 1 perch
<granule gn=chain> 66 1 feet
<granule gn=furlong> 220 1 yard
<granule gn=quarter-mile> 440 1 yard
<granule gn=mile> 1760 1 yard
<granule gn=league> 3 1 mile
</measure>The following notation declarations can be used for virtual reality applications or other situations that require units of measure other than temporal, spatial, and generic quanta. They comprise the remaining Systeme International base units and supplementary units.
<![ %sched; [
<!notation
SIkg -- Systeme International kilogram --
-- Reference unit of mass --
PUBLIC "ISO/IEC 10744:1997//NOTATION
Systeme International kilogram//EN"
>
<!notation
SIkelvin -- Systeme International kelvin --
-- Reference unit of thermodynamic temperature --
PUBLIC "ISO/IEC 10744:1997//NOTATION
Systeme International kelvin//EN"
>
<!notation
SIcd -- Systeme International candela --
-- Reference unit of luminous intensity --
PUBLIC "ISO/IEC 10744:1997//NOTATION
Systeme International candela//EN"
>
<!notation
SIampere -- Systeme International ampere --
-- Reference unit of electric current --
PUBLIC "ISO/IEC 10744:1997//NOTATION
Systeme International ampere//EN"
>
<!notation
SImole -- Systeme International mole --
-- Reference unit of amount of substance --
PUBLIC "ISO/IEC 10744:1997//NOTATION
Systeme International mole//EN"
>
<!notation
SIradian -- Systeme International radian --
-- Reference unit of plane angle --
PUBLIC "ISO/IEC 10744:1997//NOTATION
Systeme International radian//EN"
>
<!notation
SIsr -- Systeme International steradian --
-- Reference unit of solid angle --
PUBLIC "ISO/IEC 10744:1997//NOTATION
Systeme International steradian//EN"
>
]]><!-- sched -->Declarations for other SI derived units should be constructed similarly: the notation name should consist of the letters "SI" followed by the special name of the derived unit if it is 6 characters or less, otherwise by the symbol for the derived unit. (The special name and the symbol can be found in ISO 31-0:1991.) For example:
<![ %sched; [
<!notation
SIC -- Systeme International degree Celsius --
-- Reference unit of celsius temperature --
PUBLIC "ISO/IEC 10744:1997//NOTATION
Systeme International degree Celsius//EN"
>
]]><!-- sched -->Declarations of primary units of national currency should be constructed as follows: the notation name should consist of the nation's three character country code as specified in ISO 3166, followed by the first five characters of the name of the currency. For example:
<![ %sched; [
<!notation
CHNYUAN -- Yuan currency unit of China --
PUBLIC "ISO/IEC 10744:1997//NOTATION
Yuan currency unit of China//EN"
>
<!notation
GBRPOUND -- Pound currency unit of United Kingdom --
PUBLIC "ISO/IEC 10744:1997//NOTATION
Pound currency unit of United Kingdom//EN"
>
]]><!-- sched -->| Next Clause | Previous Clause |
HTML generated from the original SGML source using a DSSSL style specification and the SGML output back-end of the JADE DSSSL engine.