# ############################################################## # # 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 }