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 ClausePrevious Clause  

homeParent clauseNext major clausePrevious major clauseNext clause at this levelPrevious clause at this level


9 Scheduling module

9.9 Calibrated real time axes

Subclauses:


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.

9.9.1 HyTime calendar specification 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 -->

9.9.2 Calendar specification

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 ClausePrevious Clause  

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.


HTML generated from the original SGML source using a DSSSL style specification and the SGML output back-end of the JADE DSSSL engine.