![]() | ![]() | 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 | |||
Any axis of a finite coordinate space can be calibrated with respect to real time. This International Standard provides a notation for specifying real time calibration values, HyTime Calendar Specification Notation (HyCalSpc). It also defines a specialized marker function element, calendar specification (calspec), for use with axes calibrated to real time using the HyCalSpc notation.
The notation HyTime Calendar Specification Notation (HyCalSpc) is used to specify a point in past or future real time in terms of Julian dates or ordinary calendar dates and times of day, with optional adjustments for daylight saving and time zones. The point specified is that occurring at the beginning of the smallest unit of time in the terms by which the point is specified (the smallest granularity available is a Systeme International second).
NOTE 311 For example, the calendar specification "1996-02-07" identifies the point occurring at midnight between February 6th and February 7th of 1996.
The HyCalSpc notation can be used to calibrate axes measured in real time. The calibrate attribute of the fcs element is used to specify the notation in which an axis is calibrated (HyCalSpc), and to give the name of another attribute of the fcs element whose value gives the external context's calibration point, expressed in HyCalSpc notation (see 9.3.1 Axis calibration). Although HyCalSpc notation allows the year not to be specified, it is an error to calibrate an axis without a specification that conforms to either the Julian date or fulldate lexical type.
The HyCalSpc notation also forms the basis of the HyCalFun marker function notation; see 9.9.2 Calendar specification.
The GMT or UTC timescale (GMTorUTC) attribute specifies whether the time expressed is in terms of Greenwich mean time (GMT) or Coordinated Universal Time (UTC). UTC is the default.
NOTE 312 The HyCalSpc notation is described in terms of lexical type declarations, some of which are expressed using Posix regular expressions (REGEX notation) as well as HyLex expressions. The regex notation is declared only as the grammar used to describe the HyCalSpc notation. It is not necessary for applications to support regex notation in order to support HyCalSpc notation; it is only necessary that they be capable of supporting the HyCalSpc notation itself (see C.1 HyTime Lexical Types).
<!-- HyTime Calendar Specification Notation -->
<![ %HyCalSpc; [
<!notation
HyCalSpc -- HyTime Calendar Specification Notation --
-- Clause: 9.9.1 --
-- Specifies a point in real time. The point
specified is that which occurs at the beginning
of the smallest unit of time in terms of which
the point is specified. --
-- Note: For example, the calendar specification
"1996-02-07" identifies the point occurring at
midnight between February 1st and February 2nd of
1996. --
-- Note: Can be used directly for axis calibration
and alignment. Also used as the basis for a
marker function notation; see HyCalFun. --
-- Lextype: ((JULDATE|fulldate|monthday|day)?,
(UTCtime|hrminsec|hrmin|minute)?,
timeoff*) --
-- Constraint: Date must be valid (e.g. not
"2-30"). --
-- Constraint: Valid time followed by list of
applicable non-conflicting time offsets for
daylight-saving or time zones. --
PUBLIC "ISO/IEC 10744:1997//NOTATION
HyTime Calendar Specification Notation//EN"
-- Attributes [sched]: HyCalSpc --
-- CommonAttributes [GenArc]: altreps, included, superdcn --
-- CommonAttributes [base]: bosdatt --
-- CommonAttributes [locs]: egrvplan --
>
<!attlist #NOTATION
HyCalSpc -- HyTime Calendar Specification Notation --
-- Clause: 9.9.1 --
GMTorUTC -- GMT or UTC timescale --
-- Note: (GMT noon = UTC midnight) --
(GMT|UTC)
UTC
>
<!entity % sched "INCLUDE">
]]><!-- HyCalSpc -->The calendar specification (calspec) element form is based on the marker function (markfun) form (see 6.8.1.2 Marker Functions). It is used in the context of axis marker list notation data (see 6.8.1 HyTime axis marker list notation) to specify a single marker in terms of the corresponding calendar date and time. Calendar specifications can be used to express dimensions only on axes calibrated using the HyCalSpc notation.
The content of calendar specifications is always expressed in HyTime calendar marker function notation (HyCalFun), which is exactly like HyCalSpc notation (see 9.9.1 HyTime calendar specification notation) except that it returns an axis marker. If a calendar specification does not specify a year (by specifying either a Julian date or a fulldate), the year specified or implied by the previously specified (that is, syntactically previous) calspec is assumed. If there is no previously-specified year, the year is taken to be the first year of the axis.
If a calspec is used as the first marker of a dimension specification, a positive marker is returned which is the number of the quantum corresponding to the date and time specified in its content, counting from the beginning of the axis. If the calspec is used as the second marker of a dimension specification, a negative marker is returned, giving the number of the quantum corresponding to the date and time specified in its content, counting backwards from the end of the axis.
<!-- Calendar Specification -->
<![ %calspec; [
<!notation
HyCalFun -- HyTime Calendar Marker Function Notation --
-- Clause: 9.9.2 --
-- A calendar specification is a marker function to
be used to specify a quantum along a coordinate
axis whose measurement domain is real time (that
is, SIsecond) and that has been calibrated using
HyCalSpc notation. If used as the first marker
of a dimension specification, a positive marker
is returned. If used as the second marker of a
dimension specification, a negative marker is
returned. --
-- Constraint: highest-order date/time component
specified cannot exceed that specified for axis
calibration. --
-- Constraint: omitted date/time components are
those of previous specified calspec for this
schedule. --
-- Lextype: ((JULDATE|fulldate|monthday|day)?,
(UTCtime|hrminsec|hrmin|minute)?,
timeoff*) --
PUBLIC "ISO/IEC 10744:1997//NOTATION
HyTime Calendar Marker Function Notation//EN"
-- Attributes [sched]: HyCalFun --
-- CommonAttributes [GenArc]: altreps, included, superdcn --
-- CommonAttributes [base]: bosdatt --
-- CommonAttributes [locs]: egrvplan --
>
<!attlist #NOTATION
HyCalFun -- HyTime Calendar Marker Function Notation --
-- Clause: 9.9.2 --
GenArc NAME #FIXED GABridN
superdcn NAME #FIXED HyCalSpc
GMTorUTC -- GMT or UTC timescale --
-- Note: (GMT noon = UTC midnight) --
(GMT|UTC)
UTC
>
<!element
calspec -- Calendar Specification --
-- Clause: 9.9.2 --
O O
(%HyCFC;)* -- Lextype: ((JULDATE|fulldate|monthday|day)?,
(UTCtime|hrminsec|hrmin|minute)?,
timeoff*) --
-- Constraint: If neither JULDATE nor fulldate is
present, previously specified year and other
larger quanta will be assumed. --
-- Attributes [sched]: calspec --
-- CommonAttributes [GenArc]: dafe, dvlatt, etfullnm, id,
ireftype, lextype, opacity --
-- CommonAttributes [base]: activity, conloc, dtxtatt, valueref --
-- CommonAttributes [locs]: refctl, refloc, reftype, rflocspn --
>
<!attlist
calspec -- Calendar Specification --
-- Clause: 9.9.2 --
HyBase NAME #FIXED markfun
notation NOTATION (HyCalFun) #FIXED HyCalFun
GMTorUTC -- GMT or UTC timescale --
-- Note: (GMT noon = UTC midnight) --
(GMT|UTC)
UTC
>
<!entity % HyCalSpc "INCLUDE">
]]><!-- calspec -->| 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.