# ##############################################################
#
# File: nmtime.rnc - NMWG Time definitions
# Version: $Id: nmtime.rnc,v 1.6 2006/02/09 05:32:51 zurawski Exp $
# Purpose: This describes a general time format for
# representing measurements. It is far from complete,
# and may be best represented by other methods.
# Reference: http://books.xmlschemata.org/relaxng/page2.html
#
# ##############################################################
# ##############################################################
# Namespace definitions
# ##############################################################
namespace nmtm = "http://ggf.org/ns/nmwg/time/2.0/"
# ##############################################################
# Regular time is attached to a specific datum instance, it is
# essentially the the same as before, but cannot have anything
# 'inside' of it. The type can be simple like UNIX, etc. or it
# could be something like timeRange, or timeInterval. If this is
# the case we would then see the two extra time designators for
# the start and end (or duration)
#
# Example:
#
#
# duration="OPTIONAL_DURATION"
# inclusive="OPTIONAL_INCLUSIVE_FLAG"
# xmlns:nmtm="http://ggf.org/ns/nmwg/time/2.0/">
#
# <!-- TBD OPTIONAL START TIME ELEMENT (USE END TIME OR DURATION) -->
#
# <!-- TBD OPTIONAL END TIME ELEMENT (ONLY WITH START TIME) -->
#
# <!-- TBD OPTIONAL TIME VALUE ELEMENT (USE IF NO VALUE ATTRIBUTE) -->
#
#
#
# ##############################################################
Time =
element
nmtm:time
{
attribute type { xsd:string } &
(
TimeStamp |
(
StartTime &
(
EndTime |
Duration
)
)
)
}
TimeStamp =
attribute value { xsd:string } |
element
nmtm:value
{ xsd:string }
Duration =
attribute duration { xsd:string }
TimeContent =
attribute type { token } &
attribute inclusive { token }? &
TimeStamp
StartTime =
element
nmtm:start
{ TimeContent }
EndTime =
element
nmtm:end
{ TimeContent }