1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251
|
<?xml version="1.0" encoding="UTF-8"?>
<schema targetNamespace="http://www.opengis.net/gml" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml" elementFormDefault="qualified" version="3.1.1 2010-01-28">
<annotation>
<appinfo source="urn:opengis:specification:gml:schema-xsd:temporalReferenceSystems:3.1.1"/>
<documentation xml:lang="en">The Temporal Reference Systems schema for GML 3.1 provides constructs for handling various styles of temporal reference system.
This schema reflects a partial implementation of the model described in ISO 19108:2002.
GML is an OGC Standard.
Copyright (c) 2001,2005,2010 Open Geospatial Consortium, Inc. All Rights Reserved.
To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
</documentation>
</annotation>
<!-- ================================================================== -->
<include schemaLocation="temporalTopology.xsd"/>
<include schemaLocation="dictionary.xsd"/>
<!-- ================================================================== -->
<!-- == Time Reference System == -->
<!-- ================================================================== -->
<element name="_TimeReferenceSystem" type="gml:AbstractTimeReferenceSystemType" abstract="true" substitutionGroup="gml:Definition">
<annotation>
<documentation>Abstract element serves primarily as the head of a substitution group for temporal reference systems.</documentation>
</annotation>
</element>
<!-- ===================================== -->
<complexType name="AbstractTimeReferenceSystemType" abstract="true">
<annotation>
<documentation xml:lang="en">A value in the time domain is measured relative to a temporal reference system. Common
types of reference systems include calendars, ordinal temporal reference systems, and
temporal coordinate systems (time elapsed since some epoch, e.g. UNIX time).</documentation>
</annotation>
<complexContent>
<extension base="gml:DefinitionType">
<sequence>
<element name="domainOfValidity" type="string" minOccurs="0"/>
</sequence>
</extension>
</complexContent>
</complexType>
<!-- ================================================================== -->
<!-- == Time Coordinate System == -->
<!-- ================================================================== -->
<element name="TimeCoordinateSystem" type="gml:TimeCoordinateSystemType" substitutionGroup="gml:_TimeReferenceSystem"/>
<!-- ===================================== -->
<complexType name="TimeCoordinateSystemType">
<annotation>
<documentation xml:lang="en">A temporal coordinate system is based on a continuous interval scale defined in terms of a single time interval.</documentation>
</annotation>
<complexContent>
<extension base="gml:AbstractTimeReferenceSystemType">
<sequence>
<choice>
<element name="originPosition" type="gml:TimePositionType"/>
<element name="origin" type="gml:TimeInstantPropertyType"/>
</choice>
<element name="interval" type="gml:TimeIntervalLengthType"/>
</sequence>
</extension>
</complexContent>
</complexType>
<!-- ================================================================== -->
<!-- == Time Ordinal System == -->
<!-- ================================================================== -->
<element name="TimeOrdinalReferenceSystem" type="gml:TimeOrdinalReferenceSystemType" substitutionGroup="gml:_TimeReferenceSystem"/>
<!-- ===================================== -->
<complexType name="TimeOrdinalReferenceSystemType">
<annotation>
<documentation xml:lang="en">In an ordinal reference system the order of events in time can be well
established, but the magnitude of the intervals between them can not be
accurately determined (e.g. a stratigraphic sequence).</documentation>
</annotation>
<complexContent>
<extension base="gml:AbstractTimeReferenceSystemType">
<sequence>
<element name="component" type="gml:TimeOrdinalEraPropertyType" maxOccurs="unbounded"/>
</sequence>
</extension>
</complexContent>
</complexType>
<!-- ================================================================== -->
<element name="TimeOrdinalEra" type="gml:TimeOrdinalEraType"/>
<!-- ===================================== -->
<complexType name="TimeOrdinalEraType">
<annotation>
<documentation xml:lang="en">Ordinal temporal reference systems are often hierarchically structured
such that an ordinal era at a given level of the hierarchy includes a
sequence of shorter, coterminous ordinal eras. This captured using the member/group properties.
Note that in this schema, TIme Ordinal Era is patterned on TimeEdge, which is a variation from ISO 19108.
This is in order to fulfill the requirements of ordinal reference systems based on eras delimited by
named points or nodes, which are common in geology, archeology, etc.
This change is subject of a change proposal to ISO</documentation>
</annotation>
<complexContent>
<extension base="gml:DefinitionType">
<sequence>
<element name="relatedTime" type="gml:RelatedTimeType" minOccurs="0" maxOccurs="unbounded"/>
<element name="start" type="gml:TimeNodePropertyType"/>
<element name="end" type="gml:TimeNodePropertyType"/>
<element name="extent" type="gml:TimePeriodPropertyType" minOccurs="0"/>
<element name="member" type="gml:TimeOrdinalEraPropertyType" minOccurs="0" maxOccurs="unbounded">
<annotation>
<documentation>An Era may be composed of several member Eras. The "member" element implements the association to the Era at the next level down the hierarchy. "member" follows the standard GML property pattern whereby its (complex) value may be either described fully inline, or may be the target of a link carried on the member element and described fully elsewhere, either in the same document or from another service.</documentation>
</annotation>
</element>
<element name="group" type="gml:ReferenceType" minOccurs="0">
<annotation>
<documentation>In a particular Time System, an Era may be a member of a group. The "group" element implements the back-pointer to the Era at the next level up in the hierarchy.
If the hierarchy is represented by describing the nested components fully in the their nested position inside "member" elements, then the parent can be easily inferred, so the group property is unnecessary.
However, if the hierarchy is represented by links carried on the "member" property elements, pointing to Eras described fully elsewhere, then it may be useful for a child (member) era to carry an explicit pointer back to its parent (group) Era.</documentation>
</annotation>
</element>
</sequence>
</extension>
</complexContent>
</complexType>
<!-- ================================================================== -->
<complexType name="TimeOrdinalEraPropertyType">
<sequence minOccurs="0">
<element ref="gml:TimeOrdinalEra"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<!-- ================================================================== -->
<!-- == Calendar == -->
<!-- ================================================================== -->
<element name="TimeCalendar" type="gml:TimeCalendarType" substitutionGroup="gml:_TimeReferenceSystem"/>
<!-- ===================================== -->
<complexType name="TimeCalendarType">
<annotation>
<documentation xml:lang="en">A calendar is a discrete temporal reference system
that provides a basis for defining temporal position to a resolution of one day.
A single calendar may reference more than one calendar era.</documentation>
</annotation>
<complexContent>
<extension base="gml:AbstractTimeReferenceSystemType">
<sequence>
<element name="referenceFrame" type="gml:TimeCalendarEraPropertyType" maxOccurs="unbounded">
<annotation>
<documentation>Link to the CalendarEras that it uses as a reference for dating.</documentation>
</annotation>
</element>
</sequence>
</extension>
</complexContent>
</complexType>
<!-- ================================================================== -->
<complexType name="TimeCalendarPropertyType">
<sequence minOccurs="0">
<element ref="gml:TimeCalendar"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<!-- ================================================================== -->
<element name="TimeCalendarEra" type="gml:TimeCalendarEraType" substitutionGroup="gml:Definition"/>
<!-- ===================================== -->
<complexType name="TimeCalendarEraType">
<annotation>
<documentation xml:lang="en">In every calendar, years are numbered relative to the date of a
reference event that defines a calendar era.
In this implementation, we omit the back-pointer "datingSystem".</documentation>
</annotation>
<complexContent>
<extension base="gml:DefinitionType">
<sequence>
<element name="referenceEvent" type="gml:StringOrRefType">
<annotation>
<documentation>Name or description of a mythical or historic event which fixes the position of the base scale of the calendar era.</documentation>
</annotation>
</element>
<element name="referenceDate" type="date" default="0001-01-01" minOccurs="0">
<annotation>
<documentation>Date of the referenceEvent expressed as a date in the given calendar.
In most calendars, this date is the origin (i.e., the first day) of the scale, but this is not always true.</documentation>
</annotation>
</element>
<element name="julianReference" type="decimal">
<annotation>
<documentation>Julian date that corresponds to the reference date.
The Julian day numbering system is a temporal coordinate system that has an
origin earlier than any known calendar,
at noon on 1 January 4713 BC in the Julian proleptic calendar.
The Julian day number is an integer value;
the Julian date is a decimal value that allows greater resolution.
Transforming calendar dates to and from Julian dates provides a
relatively simple basis for transforming dates from one calendar to another.</documentation>
</annotation>
</element>
<element name="epochOfUse" type="gml:TimePeriodPropertyType">
<annotation>
<documentation>Period for which the calendar era was used as a basis for dating.</documentation>
</annotation>
</element>
</sequence>
</extension>
</complexContent>
</complexType>
<!-- ================================================================== -->
<complexType name="TimeCalendarEraPropertyType">
<sequence minOccurs="0">
<element ref="gml:TimeCalendarEra"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<!-- ================================================================== -->
<!-- == Clock == -->
<!-- ================================================================== -->
<element name="TimeClock" type="gml:TimeClockType" substitutionGroup="gml:_TimeReferenceSystem"/>
<!-- ===================================== -->
<complexType name="TimeClockType" final="#all">
<annotation>
<documentation xml:lang="en">A clock provides a basis for defining temporal position within a day.
A clock must be used with a calendar in order to provide a complete description of a temporal position
within a specific day.</documentation>
</annotation>
<complexContent>
<extension base="gml:AbstractTimeReferenceSystemType">
<sequence>
<element name="referenceEvent" type="gml:StringOrRefType">
<annotation>
<documentation>Name or description of an event, such as solar noon or sunrise,
which fixes the position of the base scale of the clock.</documentation>
</annotation>
</element>
<element name="referenceTime" type="time">
<annotation>
<documentation>time of day associated with the reference event expressed as
a time of day in the given clock. The reference time is usually the origin of the clock scale.</documentation>
</annotation>
</element>
<element name="utcReference" type="time">
<annotation>
<documentation>24 hour local or UTC time that corresponds to the reference time.</documentation>
</annotation>
</element>
<element name="dateBasis" type="gml:TimeCalendarPropertyType" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</extension>
</complexContent>
</complexType>
<!-- ================================================================== -->
<complexType name="TimeClockPropertyType">
<sequence minOccurs="0">
<element ref="gml:TimeClock"/>
</sequence>
<attributeGroup ref="gml:AssociationAttributeGroup"/>
</complexType>
<!-- ================================================================== -->
</schema>
|