(no commit message)
[utils] / gps / src / main / java / org / wamblee / gpx / gpx.xsd
1 <?xml version="1.0" encoding="utf-8"?>\r
2 <xsd:schema\r
3         xmlns:xsd="http://www.w3.org/2001/XMLSchema"\r
4         xmlns="http://www.topografix.com/GPX/1/1"\r
5         targetNamespace="http://www.topografix.com/GPX/1/1"\r
6         elementFormDefault="qualified">\r
7 \r
8 <xsd:annotation>\r
9  <xsd:documentation>\r
10   GPX schema version 1.1 - For more information on GPX and this schema, visit http://www.topografix.com/gpx.asp\r
11 \r
12   GPX uses the following conventions: all coordinates are relative to the WGS84 datum.  All measurements are in metric units.\r
13  </xsd:documentation>\r
14 </xsd:annotation>\r
15 \r
16   <xsd:element name="gpx"       type="gpxType">\r
17     <xsd:annotation>\r
18       <xsd:documentation>\r
19                 GPX is the root element in the XML file.\r
20           </xsd:documentation>\r
21         </xsd:annotation>\r
22   </xsd:element>\r
23 \r
24   <xsd:complexType name="gpxType">\r
25     <xsd:annotation>\r
26       <xsd:documentation>\r
27                 GPX documents contain a metadata header, followed by waypoints, routes, and tracks.  You can add your own elements\r
28                 to the extensions section of the GPX document.\r
29           </xsd:documentation>\r
30         </xsd:annotation>\r
31         <xsd:sequence>\r
32          <xsd:element name="metadata"   type="metadataType"     minOccurs="0">\r
33           <xsd:annotation>\r
34            <xsd:documentation>\r
35                 Metadata about the file.\r
36            </xsd:documentation>\r
37           </xsd:annotation>\r
38          </xsd:element>\r
39          <xsd:element name="wpt"                        type="wptType"  minOccurs="0" maxOccurs="unbounded">\r
40           <xsd:annotation>\r
41            <xsd:documentation>\r
42                 A list of waypoints.\r
43            </xsd:documentation>\r
44           </xsd:annotation>\r
45          </xsd:element>\r
46          <xsd:element name="rte"                        type="rteType"  minOccurs="0" maxOccurs="unbounded">\r
47           <xsd:annotation>\r
48            <xsd:documentation>\r
49                 A list of routes.\r
50            </xsd:documentation>\r
51           </xsd:annotation>\r
52          </xsd:element>\r
53          <xsd:element name="trk"                        type="trkType"  minOccurs="0" maxOccurs="unbounded">\r
54           <xsd:annotation>\r
55            <xsd:documentation>\r
56                 A list of tracks.\r
57            </xsd:documentation>\r
58           </xsd:annotation>\r
59          </xsd:element>\r
60          <xsd:element name="extensions" type="extensionsType"   minOccurs="0">\r
61       <xsd:annotation>\r
62        <xsd:documentation>\r
63                 You can add extend GPX by adding your own elements from another schema here.\r
64            </xsd:documentation>\r
65           </xsd:annotation>\r
66          </xsd:element>\r
67         </xsd:sequence>\r
68 \r
69         <xsd:attribute name="version" type="xsd:string" use="required" fixed="1.1">\r
70      <xsd:annotation>\r
71       <xsd:documentation>\r
72                 You must include the version number in your GPX document.\r
73           </xsd:documentation>\r
74          </xsd:annotation>\r
75         </xsd:attribute>\r
76         <xsd:attribute name="creator" type="xsd:string" use="required">\r
77      <xsd:annotation>\r
78       <xsd:documentation>\r
79                 You must include the name or URL of the software that created your GPX document.  This allows others to\r
80                 inform the creator of a GPX instance document that fails to validate.\r
81           </xsd:documentation>\r
82          </xsd:annotation>\r
83         </xsd:attribute>\r
84   </xsd:complexType>\r
85 \r
86   <xsd:complexType name="metadataType">\r
87     <xsd:annotation>\r
88       <xsd:documentation>\r
89                 Information about the GPX file, author, and copyright restrictions goes in the metadata section.  Providing rich,\r
90                 meaningful information about your GPX files allows others to search for and use your GPS data.\r
91           </xsd:documentation>\r
92         </xsd:annotation>\r
93     <xsd:sequence>      <!-- elements must appear in this order -->\r
94      <xsd:element name="name"           type="xsd:string"               minOccurs="0">\r
95       <xsd:annotation>\r
96        <xsd:documentation>\r
97                 The name of the GPX file.\r
98            </xsd:documentation>\r
99           </xsd:annotation>\r
100          </xsd:element>\r
101      <xsd:element name="desc"           type="xsd:string"               minOccurs="0">\r
102       <xsd:annotation>\r
103        <xsd:documentation>\r
104                 A description of the contents of the GPX file.\r
105            </xsd:documentation>\r
106           </xsd:annotation>\r
107          </xsd:element>\r
108      <xsd:element name="author"         type="personType"               minOccurs="0">\r
109       <xsd:annotation>\r
110        <xsd:documentation>\r
111                 The person or organization who created the GPX file.\r
112            </xsd:documentation>\r
113           </xsd:annotation>\r
114          </xsd:element>\r
115      <xsd:element name="copyright"      type="copyrightType"    minOccurs="0">\r
116       <xsd:annotation>\r
117        <xsd:documentation>\r
118                 Copyright and license information governing use of the file.\r
119            </xsd:documentation>\r
120           </xsd:annotation>\r
121          </xsd:element>\r
122      <xsd:element name="link"           type="linkType"                 minOccurs="0" maxOccurs="unbounded">\r
123       <xsd:annotation>\r
124        <xsd:documentation>\r
125                 URLs associated with the location described in the file.\r
126            </xsd:documentation>\r
127           </xsd:annotation>\r
128          </xsd:element>\r
129      <xsd:element name="time"           type="xsd:dateTime"             minOccurs="0">\r
130       <xsd:annotation>\r
131        <xsd:documentation>\r
132                 The creation date of the file.\r
133            </xsd:documentation>\r
134           </xsd:annotation>\r
135          </xsd:element>\r
136      <xsd:element name="keywords"       type="xsd:string"               minOccurs="0">\r
137       <xsd:annotation>\r
138        <xsd:documentation>\r
139                 Keywords associated with the file.  Search engines or databases can use this information to classify the data.\r
140            </xsd:documentation>\r
141           </xsd:annotation>\r
142          </xsd:element>\r
143      <xsd:element name="bounds"         type="boundsType"               minOccurs="0">\r
144       <xsd:annotation>\r
145        <xsd:documentation>\r
146                 Minimum and maximum coordinates which describe the extent of the coordinates in the file.\r
147            </xsd:documentation>\r
148           </xsd:annotation>\r
149          </xsd:element>\r
150 \r
151          <xsd:element name="extensions" type="extensionsType"   minOccurs="0">\r
152       <xsd:annotation>\r
153        <xsd:documentation>\r
154                 You can add extend GPX by adding your own elements from another schema here.\r
155            </xsd:documentation>\r
156           </xsd:annotation>\r
157          </xsd:element>\r
158     </xsd:sequence>\r
159   </xsd:complexType>\r
160 \r
161   <xsd:complexType name="wptType">\r
162     <xsd:annotation>\r
163       <xsd:documentation>\r
164                 wpt represents a waypoint, point of interest, or named feature on a map.\r
165           </xsd:documentation>\r
166         </xsd:annotation>\r
167     <xsd:sequence>      <!-- elements must appear in this order -->\r
168           <!-- Position info -->\r
169       <xsd:element name="ele"                   type="xsd:decimal"              minOccurs="0">\r
170                 <xsd:annotation>\r
171                   <xsd:documentation>\r
172                         Elevation (in meters) of the point.\r
173                   </xsd:documentation>\r
174                 </xsd:annotation>\r
175           </xsd:element>\r
176       <xsd:element name="time"                  type="xsd:dateTime"             minOccurs="0">\r
177                 <xsd:annotation>\r
178                   <xsd:documentation>\r
179                         Creation/modification timestamp for element. Date and time in are in Univeral Coordinated Time (UTC), not local time! Conforms to ISO 8601 specification for date/time representation. Fractional seconds are allowed for millisecond timing in tracklogs. \r
180                   </xsd:documentation>\r
181                 </xsd:annotation>\r
182           </xsd:element>\r
183           <xsd:element name="magvar"            type="degreesType"              minOccurs="0">\r
184                 <xsd:annotation>\r
185                   <xsd:documentation>\r
186                         Magnetic variation (in degrees) at the point\r
187                   </xsd:documentation>\r
188                 </xsd:annotation>\r
189           </xsd:element>\r
190           <xsd:element name="geoidheight"       type="xsd:decimal"              minOccurs="0">\r
191                 <xsd:annotation>\r
192                   <xsd:documentation>\r
193                         Height (in meters) of geoid (mean sea level) above WGS84 earth ellipsoid.  As defined in NMEA GGA message.\r
194                   </xsd:documentation>\r
195                 </xsd:annotation>\r
196           </xsd:element>\r
197 \r
198           <!-- Description info -->\r
199           <xsd:element name="name"                      type="xsd:string"               minOccurs="0">\r
200                 <xsd:annotation>\r
201                   <xsd:documentation>\r
202                         The GPS name of the waypoint. This field will be transferred to and from the GPS. GPX does not place restrictions on the length of this field or the characters contained in it. It is up to the receiving application to validate the field before sending it to the GPS.\r
203                   </xsd:documentation>\r
204                 </xsd:annotation>\r
205           </xsd:element>\r
206           <xsd:element name="cmt"                       type="xsd:string"               minOccurs="0">\r
207                 <xsd:annotation>\r
208                   <xsd:documentation>\r
209                         GPS waypoint comment. Sent to GPS as comment. \r
210                   </xsd:documentation>\r
211                 </xsd:annotation>\r
212           </xsd:element>\r
213           <xsd:element name="desc"                      type="xsd:string"               minOccurs="0">\r
214                 <xsd:annotation>\r
215                   <xsd:documentation>\r
216                         A text description of the element. Holds additional information about the element intended for the user, not the GPS.\r
217                   </xsd:documentation>\r
218                 </xsd:annotation>\r
219           </xsd:element>\r
220           <xsd:element name="src"                       type="xsd:string"               minOccurs="0">\r
221                 <xsd:annotation>\r
222                   <xsd:documentation>\r
223                         Source of data. Included to give user some idea of reliability and accuracy of data.  "Garmin eTrex", "USGS quad Boston North", e.g.\r
224                   </xsd:documentation>\r
225                 </xsd:annotation>\r
226           </xsd:element>\r
227       <xsd:element name="link"                  type="linkType"                 minOccurs="0" maxOccurs="unbounded">\r
228                 <xsd:annotation>\r
229                   <xsd:documentation>\r
230                         Link to additional information about the waypoint.\r
231                   </xsd:documentation>\r
232                 </xsd:annotation>\r
233           </xsd:element>\r
234           <xsd:element name="sym"                       type="xsd:string"               minOccurs="0">\r
235                 <xsd:annotation>\r
236                   <xsd:documentation>\r
237                         Text of GPS symbol name. For interchange with other programs, use the exact spelling of the symbol as displayed on the GPS.  If the GPS abbreviates words, spell them out.\r
238                   </xsd:documentation>\r
239                 </xsd:annotation>\r
240           </xsd:element>\r
241           <xsd:element name="type"                      type="xsd:string"               minOccurs="0">\r
242                 <xsd:annotation>\r
243                   <xsd:documentation>\r
244                         Type (classification) of the waypoint.\r
245                   </xsd:documentation>\r
246                 </xsd:annotation>\r
247           </xsd:element>\r
248 \r
249           <!-- Accuracy info -->\r
250           <xsd:element name="fix"                       type="fixType"                  minOccurs="0">\r
251                 <xsd:annotation>\r
252                   <xsd:documentation>\r
253                         Type of GPX fix.\r
254                   </xsd:documentation>\r
255                 </xsd:annotation>\r
256           </xsd:element>\r
257           <xsd:element name="sat"                       type="xsd:nonNegativeInteger"   minOccurs="0">\r
258                 <xsd:annotation>\r
259                   <xsd:documentation>\r
260                         Number of satellites used to calculate the GPX fix.\r
261                   </xsd:documentation>\r
262                 </xsd:annotation>\r
263           </xsd:element>\r
264           <xsd:element name="hdop"                      type="xsd:decimal"              minOccurs="0">\r
265                 <xsd:annotation>\r
266                   <xsd:documentation>\r
267                         Horizontal dilution of precision.\r
268                   </xsd:documentation>\r
269                 </xsd:annotation>\r
270           </xsd:element>\r
271           <xsd:element name="vdop"                      type="xsd:decimal"              minOccurs="0">\r
272                 <xsd:annotation>\r
273                   <xsd:documentation>\r
274                         Vertical dilution of precision.\r
275                   </xsd:documentation>\r
276                 </xsd:annotation>\r
277           </xsd:element>\r
278           <xsd:element name="pdop"                      type="xsd:decimal"              minOccurs="0">\r
279                 <xsd:annotation>\r
280                   <xsd:documentation>\r
281                         Position dilution of precision.\r
282                   </xsd:documentation>\r
283                 </xsd:annotation>\r
284           </xsd:element>\r
285           <xsd:element name="ageofdgpsdata"     type="xsd:decimal"              minOccurs="0">\r
286                 <xsd:annotation>\r
287                   <xsd:documentation>\r
288                         Number of seconds since last DGPS update.\r
289                   </xsd:documentation>\r
290                 </xsd:annotation>\r
291           </xsd:element>\r
292           <xsd:element name="dgpsid"            type="dgpsStationType"  minOccurs="0">\r
293                 <xsd:annotation>\r
294                   <xsd:documentation>\r
295                         ID of DGPS station used in differential correction.\r
296                   </xsd:documentation>\r
297                 </xsd:annotation>\r
298           </xsd:element>\r
299 \r
300          <xsd:element name="extensions"         type="extensionsType"   minOccurs="0">\r
301       <xsd:annotation>\r
302        <xsd:documentation>\r
303                 You can add extend GPX by adding your own elements from another schema here.\r
304            </xsd:documentation>\r
305           </xsd:annotation>\r
306          </xsd:element>\r
307     </xsd:sequence>\r
308 \r
309     <xsd:attribute name="lat"                   type="latitudeType"             use="required">\r
310          <xsd:annotation>\r
311           <xsd:documentation>\r
312                 The latitude of the point.  Decimal degrees, WGS84 datum.\r
313           </xsd:documentation>\r
314          </xsd:annotation>\r
315         </xsd:attribute>\r
316     <xsd:attribute name="lon"                   type="longitudeType"    use="required">\r
317          <xsd:annotation>\r
318           <xsd:documentation>\r
319                 The latitude of the point.  Decimal degrees, WGS84 datum.\r
320           </xsd:documentation>\r
321          </xsd:annotation>\r
322         </xsd:attribute>\r
323   </xsd:complexType>\r
324 \r
325   <xsd:complexType name="rteType">\r
326     <xsd:annotation>\r
327       <xsd:documentation>\r
328                 rte represents route - an ordered list of waypoints representing a series of turn points leading to a destination.\r
329           </xsd:documentation>\r
330         </xsd:annotation>\r
331     <xsd:sequence>\r
332       <xsd:element name="name"                  type="xsd:string"       minOccurs="0">\r
333                 <xsd:annotation>\r
334                   <xsd:documentation>\r
335                         GPS name of route.\r
336                   </xsd:documentation>\r
337                 </xsd:annotation>\r
338           </xsd:element>\r
339           <xsd:element name="cmt"                       type="xsd:string"       minOccurs="0">\r
340                 <xsd:annotation>\r
341                   <xsd:documentation>\r
342                         GPS comment for route.\r
343                   </xsd:documentation>\r
344                 </xsd:annotation>\r
345           </xsd:element>\r
346       <xsd:element name="desc"                  type="xsd:string"       minOccurs="0">\r
347                 <xsd:annotation>\r
348                   <xsd:documentation>\r
349                         Text description of route for user.  Not sent to GPS.\r
350                   </xsd:documentation>\r
351                 </xsd:annotation>\r
352           </xsd:element>\r
353           <xsd:element name="src"                       type="xsd:string"       minOccurs="0">\r
354                 <xsd:annotation>\r
355                   <xsd:documentation>\r
356                         Source of data. Included to give user some idea of reliability and accuracy of data.\r
357                   </xsd:documentation>\r
358                 </xsd:annotation>\r
359           </xsd:element>\r
360       <xsd:element name="link"                  type="linkType"         minOccurs="0" maxOccurs="unbounded">\r
361                 <xsd:annotation>\r
362                   <xsd:documentation>\r
363                         Links to external information about the route.\r
364                   </xsd:documentation>\r
365                 </xsd:annotation>\r
366           </xsd:element>\r
367           <xsd:element name="number"            type="xsd:nonNegativeInteger"   minOccurs="0">\r
368                 <xsd:annotation>\r
369                   <xsd:documentation>\r
370                         GPS route number.\r
371                   </xsd:documentation>\r
372                 </xsd:annotation>\r
373           </xsd:element>\r
374           <xsd:element name="type"                      type="xsd:string"       minOccurs="0">\r
375                 <xsd:annotation>\r
376                   <xsd:documentation>\r
377                         Type (classification) of route.\r
378                   </xsd:documentation>\r
379                 </xsd:annotation>\r
380           </xsd:element>\r
381 \r
382          <xsd:element name="extensions"         type="extensionsType"   minOccurs="0">\r
383       <xsd:annotation>\r
384        <xsd:documentation>\r
385                 You can add extend GPX by adding your own elements from another schema here.\r
386            </xsd:documentation>\r
387           </xsd:annotation>\r
388          </xsd:element>\r
389  \r
390       <xsd:element name="rtept" type="wptType" minOccurs="0" maxOccurs="unbounded">\r
391           <xsd:annotation>\r
392            <xsd:documentation>\r
393                 A list of route points.\r
394            </xsd:documentation>\r
395           </xsd:annotation>\r
396          </xsd:element>\r
397     </xsd:sequence>\r
398   </xsd:complexType>\r
399 \r
400   <xsd:complexType name="trkType">\r
401     <xsd:annotation>\r
402       <xsd:documentation>\r
403                 trk represents a track - an ordered list of points describing a path.\r
404           </xsd:documentation>\r
405         </xsd:annotation>\r
406     <xsd:sequence>\r
407       <xsd:element name="name"                  type="xsd:string"               minOccurs="0">\r
408                 <xsd:annotation>\r
409                   <xsd:documentation>\r
410                         GPS name of track.\r
411                   </xsd:documentation>\r
412                 </xsd:annotation>\r
413           </xsd:element>\r
414           <xsd:element name="cmt"                       type="xsd:string"               minOccurs="0">\r
415                 <xsd:annotation>\r
416                   <xsd:documentation>\r
417                         GPS comment for track.\r
418                   </xsd:documentation>\r
419                 </xsd:annotation>\r
420           </xsd:element>\r
421       <xsd:element name="desc"                  type="xsd:string"               minOccurs="0">\r
422                 <xsd:annotation>\r
423                   <xsd:documentation>\r
424                         User description of track.\r
425                   </xsd:documentation>\r
426                 </xsd:annotation>\r
427           </xsd:element>\r
428           <xsd:element name="src"                       type="xsd:string"               minOccurs="0">\r
429                 <xsd:annotation>\r
430                   <xsd:documentation>\r
431                         Source of data. Included to give user some idea of reliability and accuracy of data.\r
432                   </xsd:documentation>\r
433                 </xsd:annotation>\r
434           </xsd:element>\r
435       <xsd:element name="link"                  type="linkType"                 minOccurs="0" maxOccurs="unbounded">\r
436                 <xsd:annotation>\r
437                   <xsd:documentation>\r
438                         Links to external information about track.\r
439                   </xsd:documentation>\r
440                 </xsd:annotation>\r
441           </xsd:element>\r
442           <xsd:element name="number"            type="xsd:nonNegativeInteger"   minOccurs="0">\r
443                 <xsd:annotation>\r
444                   <xsd:documentation>\r
445                         GPS track number.\r
446                   </xsd:documentation>\r
447                 </xsd:annotation>\r
448           </xsd:element>\r
449           <xsd:element name="type"                      type="xsd:string"               minOccurs="0">\r
450                 <xsd:annotation>\r
451                   <xsd:documentation>\r
452                         Type (classification) of track.\r
453                   </xsd:documentation>\r
454                 </xsd:annotation>\r
455           </xsd:element>\r
456 \r
457          <xsd:element name="extensions" type="extensionsType"   minOccurs="0">\r
458       <xsd:annotation>\r
459        <xsd:documentation>\r
460                 You can add extend GPX by adding your own elements from another schema here.\r
461            </xsd:documentation>\r
462           </xsd:annotation>\r
463          </xsd:element>\r
464   \r
465      <xsd:element name="trkseg"         type="trksegType"               minOccurs="0" maxOccurs="unbounded">\r
466       <xsd:annotation>\r
467        <xsd:documentation>\r
468                 A Track Segment holds a list of Track Points which are logically connected in order. To represent a single GPS track where GPS reception was lost, or the GPS receiver was turned off, start a new Track Segment for each continuous span of track data.\r
469            </xsd:documentation>\r
470           </xsd:annotation>\r
471          </xsd:element>\r
472     </xsd:sequence>\r
473   </xsd:complexType>\r
474  \r
475   <xsd:complexType name="extensionsType">\r
476    <xsd:annotation>\r
477     <xsd:documentation>\r
478          You can add extend GPX by adding your own elements from another schema here.\r
479     </xsd:documentation>\r
480    </xsd:annotation>\r
481     <xsd:sequence>\r
482          <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded">\r
483            <xsd:annotation>\r
484                 <xsd:documentation>\r
485                  You can add extend GPX by adding your own elements from another schema here.\r
486                 </xsd:documentation>\r
487            </xsd:annotation>\r
488          </xsd:any>\r
489     </xsd:sequence>\r
490   </xsd:complexType>\r
491 \r
492   <xsd:complexType name="trksegType">\r
493    <xsd:annotation>\r
494     <xsd:documentation>\r
495          A Track Segment holds a list of Track Points which are logically connected in order. To represent a single GPS track where GPS reception was lost, or the GPS receiver was turned off, start a new Track Segment for each continuous span of track data.\r
496     </xsd:documentation>\r
497    </xsd:annotation>\r
498    <xsd:sequence>       <!-- elements must appear in this order -->\r
499          <xsd:element name="trkpt"      type="wptType" minOccurs="0" maxOccurs="unbounded">\r
500       <xsd:annotation>\r
501        <xsd:documentation>\r
502                 A Track Point holds the coordinates, elevation, timestamp, and metadata for a single point in a track.\r
503            </xsd:documentation>\r
504           </xsd:annotation>\r
505          </xsd:element>\r
506 \r
507          <xsd:element name="extensions" type="extensionsType"   minOccurs="0">\r
508       <xsd:annotation>\r
509        <xsd:documentation>\r
510                 You can add extend GPX by adding your own elements from another schema here.\r
511            </xsd:documentation>\r
512           </xsd:annotation>\r
513          </xsd:element>\r
514     </xsd:sequence>\r
515   </xsd:complexType>\r
516 \r
517   <xsd:complexType name="copyrightType">\r
518    <xsd:annotation>\r
519     <xsd:documentation>\r
520          Information about the copyright holder and any license governing use of this file.  By linking to an appropriate license,\r
521          you may place your data into the public domain or grant additional usage rights.\r
522     </xsd:documentation>\r
523    </xsd:annotation>\r
524    <xsd:sequence>       <!-- elements must appear in this order -->\r
525     <xsd:element name="year"            type="xsd:gYear"        minOccurs="0">\r
526          <xsd:annotation>\r
527           <xsd:documentation>\r
528                 Year of copyright.\r
529           </xsd:documentation>\r
530          </xsd:annotation>\r
531         </xsd:element>\r
532     <xsd:element name="license"         type="xsd:anyURI"       minOccurs="0">\r
533          <xsd:annotation>\r
534           <xsd:documentation>\r
535                 Link to external file containing license text.\r
536           </xsd:documentation>\r
537          </xsd:annotation>\r
538         </xsd:element>\r
539    </xsd:sequence>\r
540    <xsd:attribute name="author" type="xsd:string" use="required">\r
541          <xsd:annotation>\r
542           <xsd:documentation>\r
543                 Copyright holder (TopoSoft, Inc.)\r
544           </xsd:documentation>\r
545          </xsd:annotation>\r
546         </xsd:attribute>\r
547   </xsd:complexType>\r
548 \r
549   <xsd:complexType name="linkType">\r
550    <xsd:annotation>\r
551     <xsd:documentation>\r
552          A link to an external resource (Web page, digital photo, video clip, etc) with additional information.\r
553     </xsd:documentation>\r
554    </xsd:annotation>\r
555    <xsd:sequence>       <!-- elements must appear in this order -->\r
556     <xsd:element name="text"            type="xsd:string"               minOccurs="0">\r
557          <xsd:annotation>\r
558           <xsd:documentation>\r
559                 Text of hyperlink.\r
560           </xsd:documentation>\r
561          </xsd:annotation>\r
562         </xsd:element>\r
563     <xsd:element name="type"            type="xsd:string"               minOccurs="0">\r
564          <xsd:annotation>\r
565           <xsd:documentation>\r
566                 Mime type of content (image/jpeg)\r
567           </xsd:documentation>\r
568          </xsd:annotation>\r
569         </xsd:element>\r
570    </xsd:sequence>\r
571    <xsd:attribute name="href" type="xsd:anyURI" use="required">\r
572          <xsd:annotation>\r
573           <xsd:documentation>\r
574                 URL of hyperlink.\r
575           </xsd:documentation>\r
576          </xsd:annotation>\r
577         </xsd:attribute>\r
578   </xsd:complexType>\r
579 \r
580   <xsd:complexType name="emailType">\r
581    <xsd:annotation>\r
582     <xsd:documentation>\r
583          An email address.  Broken into two parts (id and domain) to help prevent email harvesting.\r
584     </xsd:documentation>\r
585    </xsd:annotation>\r
586    <xsd:attribute name="id"                     type="xsd:string"               use="required">\r
587          <xsd:annotation>\r
588           <xsd:documentation>\r
589                 id half of email address (billgates2004)\r
590           </xsd:documentation>\r
591          </xsd:annotation>\r
592         </xsd:attribute>\r
593    <xsd:attribute name="domain"         type="xsd:string"               use="required">\r
594          <xsd:annotation>\r
595           <xsd:documentation>\r
596                 domain half of email address (hotmail.com)\r
597           </xsd:documentation>\r
598          </xsd:annotation>\r
599         </xsd:attribute>\r
600   </xsd:complexType>\r
601 \r
602   <xsd:complexType name="personType">\r
603    <xsd:annotation>\r
604     <xsd:documentation>\r
605          A person or organization.\r
606     </xsd:documentation>\r
607    </xsd:annotation>\r
608     <xsd:sequence>      <!-- elements must appear in this order -->\r
609       <xsd:element name="name"          type="xsd:string"               minOccurs="0">\r
610          <xsd:annotation>\r
611           <xsd:documentation>\r
612                 Name of person or organization.\r
613           </xsd:documentation>\r
614          </xsd:annotation>\r
615         </xsd:element>\r
616       <xsd:element name="email"         type="emailType"                minOccurs="0">\r
617          <xsd:annotation>\r
618           <xsd:documentation>\r
619                 Email address.\r
620           </xsd:documentation>\r
621          </xsd:annotation>\r
622         </xsd:element>\r
623       <xsd:element name="link"          type="linkType"                 minOccurs="0">\r
624          <xsd:annotation>\r
625           <xsd:documentation>\r
626                 Link to Web site or other external information about person.\r
627           </xsd:documentation>\r
628          </xsd:annotation>\r
629         </xsd:element>\r
630         </xsd:sequence>\r
631   </xsd:complexType>\r
632 \r
633   <xsd:complexType name="ptType">\r
634    <xsd:annotation>\r
635     <xsd:documentation>\r
636          A geographic point with optional elevation and time.  Available for use by other schemas.\r
637     </xsd:documentation>\r
638    </xsd:annotation>\r
639    <xsd:sequence>       <!-- elements must appear in this order -->\r
640     <xsd:element name="ele"                     type="xsd:decimal"              minOccurs="0">\r
641          <xsd:annotation>\r
642           <xsd:documentation>\r
643                 The elevation (in meters) of the point.\r
644           </xsd:documentation>\r
645          </xsd:annotation>\r
646         </xsd:element>\r
647     <xsd:element name="time"            type="xsd:dateTime"             minOccurs="0">\r
648          <xsd:annotation>\r
649           <xsd:documentation>\r
650                 The time that the point was recorded.\r
651           </xsd:documentation>\r
652          </xsd:annotation>\r
653         </xsd:element>\r
654    </xsd:sequence>\r
655     <xsd:attribute name="lat"                   type="latitudeType"             use="required">\r
656          <xsd:annotation>\r
657           <xsd:documentation>\r
658                 The latitude of the point.  Decimal degrees, WGS84 datum.\r
659           </xsd:documentation>\r
660          </xsd:annotation>\r
661         </xsd:attribute>\r
662     <xsd:attribute name="lon"                   type="longitudeType"    use="required">\r
663          <xsd:annotation>\r
664           <xsd:documentation>\r
665                 The latitude of the point.  Decimal degrees, WGS84 datum.\r
666           </xsd:documentation>\r
667          </xsd:annotation>\r
668         </xsd:attribute>\r
669   </xsd:complexType>\r
670 \r
671   <xsd:complexType name="ptsegType">\r
672    <xsd:annotation>\r
673     <xsd:documentation>\r
674          An ordered sequence of points.  (for polygons or polylines, e.g.)\r
675     </xsd:documentation>\r
676    </xsd:annotation>\r
677    <xsd:sequence>       <!-- elements must appear in this order -->\r
678          <xsd:element name="pt" type="ptType"   minOccurs="0" maxOccurs="unbounded">\r
679            <xsd:annotation>\r
680                 <xsd:documentation>\r
681                  Ordered list of geographic points.\r
682                 </xsd:documentation>\r
683            </xsd:annotation>\r
684          </xsd:element>\r
685    </xsd:sequence>\r
686   </xsd:complexType>\r
687 \r
688   <xsd:complexType name="boundsType">\r
689    <xsd:annotation>\r
690     <xsd:documentation>\r
691          Two lat/lon pairs defining the extent of an element.\r
692     </xsd:documentation>\r
693    </xsd:annotation>\r
694     <xsd:attribute name="minlat"                type="latitudeType"             use="required">\r
695          <xsd:annotation>\r
696           <xsd:documentation>\r
697                 The minimum latitude.\r
698           </xsd:documentation>\r
699          </xsd:annotation>\r
700         </xsd:attribute>\r
701     <xsd:attribute name="minlon"                type="longitudeType"    use="required">\r
702          <xsd:annotation>\r
703           <xsd:documentation>\r
704                 The minimum longitude.\r
705           </xsd:documentation>\r
706          </xsd:annotation>\r
707         </xsd:attribute>\r
708     <xsd:attribute name="maxlat"                type="latitudeType"             use="required">\r
709          <xsd:annotation>\r
710           <xsd:documentation>\r
711                 The maximum latitude.\r
712           </xsd:documentation>\r
713          </xsd:annotation>\r
714         </xsd:attribute>\r
715     <xsd:attribute name="maxlon"                type="longitudeType"    use="required">\r
716          <xsd:annotation>\r
717           <xsd:documentation>\r
718                 The maximum longitude.\r
719           </xsd:documentation>\r
720          </xsd:annotation>\r
721         </xsd:attribute>\r
722   </xsd:complexType>\r
723 \r
724 \r
725   <xsd:simpleType name="latitudeType">\r
726          <xsd:annotation>\r
727           <xsd:documentation>\r
728                 The latitude of the point.  Decimal degrees, WGS84 datum.\r
729           </xsd:documentation>\r
730          </xsd:annotation>\r
731     <xsd:restriction base="xsd:decimal">\r
732       <xsd:minInclusive value="-90.0"/>\r
733       <xsd:maxInclusive value="90.0"/>\r
734     </xsd:restriction>\r
735   </xsd:simpleType>\r
736 \r
737   <xsd:simpleType name="longitudeType">\r
738          <xsd:annotation>\r
739           <xsd:documentation>\r
740                 The longitude of the point.  Decimal degrees, WGS84 datum.\r
741           </xsd:documentation>\r
742          </xsd:annotation>\r
743     <xsd:restriction base="xsd:decimal">\r
744       <xsd:minInclusive value="-180.0"/>\r
745       <xsd:maxExclusive value="180.0"/>\r
746     </xsd:restriction>\r
747   </xsd:simpleType>\r
748 \r
749   <xsd:simpleType name="degreesType">\r
750          <xsd:annotation>\r
751           <xsd:documentation>\r
752                 Used for bearing, heading, course.  Units are decimal degrees, true (not magnetic).\r
753           </xsd:documentation>\r
754          </xsd:annotation>\r
755     <xsd:restriction base="xsd:decimal">\r
756       <xsd:minInclusive value="0.0"/>\r
757       <xsd:maxExclusive value="360.0"/>\r
758     </xsd:restriction>\r
759   </xsd:simpleType>\r
760 \r
761   <xsd:simpleType name="fixType">\r
762          <xsd:annotation>\r
763           <xsd:documentation>\r
764                 Type of GPS fix.  none means GPS had no fix.  To signify "the fix info is unknown, leave out fixType entirely. pps = military signal used\r
765           </xsd:documentation>\r
766          </xsd:annotation>\r
767     <xsd:restriction base="xsd:string">\r
768       <xsd:enumeration value="none"/>\r
769       <xsd:enumeration value="2d"/>\r
770       <xsd:enumeration value="3d"/>\r
771       <xsd:enumeration value="dgps"/>\r
772       <xsd:enumeration value="pps"/>\r
773     </xsd:restriction>\r
774   </xsd:simpleType>\r
775 \r
776   <xsd:simpleType name="dgpsStationType">\r
777    <xsd:annotation>\r
778     <xsd:documentation>\r
779          Represents a differential GPS station.\r
780     </xsd:documentation>\r
781    </xsd:annotation>\r
782     <xsd:restriction base="xsd:integer">\r
783       <xsd:minInclusive value="0"/>\r
784       <xsd:maxInclusive value="1023"/>\r
785     </xsd:restriction>\r
786   </xsd:simpleType>\r
787 \r
788 </xsd:schema>\r