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.