<?xml version="1.0" encoding="utf-8"?>
<!-- topografix.xsd version 0.3: Private GPX extensions used by TopoGrafix products -->
<xsd:schema
	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
	xmlns:gpx="http://www.topografix.com/GPX/1/1"
	xmlns="http://www.topografix.com/GPX/Private/TopoGrafix/0/3"
	targetNamespace="http://www.topografix.com/GPX/Private/TopoGrafix/0/3"
	elementFormDefault="qualified">
<xsd:import namespace="http://www.topografix.com/GPX/1/1" schemaLocation="http://www.topografix.com/GPX/1/1/gpx.xsd"/>


<!-- Metadata section definitions -->

  <!-- Base URL definition -->
  <xsd:element name="base_url" type="xsd:anyURI">
    <xsd:annotation>
      <xsd:documentation>
        The base url for resolving relative urls in the file.  Analogous to html's base href.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>

  <!-- Active Point definition -->
  <xsd:element name="active_point" type="gpx:ptType">
    <xsd:annotation>
      <xsd:documentation>
        The point used as the origin for distance/bearing calculations.  Set by user at point of interest.
      </xsd:documentation>
    </xsd:annotation>
  </xsd:element>

  <!-- Use Doc Style definition -->
  <xsd:element name="use_doc_style" type="xsd:boolean">
	 <xsd:annotation>
	  <xsd:documentation>
		Overrides the stylesheets in the application in favor of the styles included in the GPX document.
		Use this tag if you want your document to always be displayed as YOU styled it.  You are imposing your
		style on the user - so use discretion!
	  </xsd:documentation>
	 </xsd:annotation>
  </xsd:element>

<!-- Cased definition: draw cased line on map -->
 <xsd:element name="cased" type="xsd:boolean">
	 <xsd:annotation>
	  <xsd:documentation>
		Draw a cased (outlined) line on the map
	  </xsd:documentation>
	 </xsd:annotation>
 </xsd:element>

<!-- Point Symbol definition -->
 <xsd:element name="point_symbol">
  <xsd:simpleType>
	 <xsd:annotation>
	  <xsd:documentation>
		The data field to use when labeling the waypoint on the map
	  </xsd:documentation>
	 </xsd:annotation>
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="none"/>
      <xsd:enumeration value="symbol"/>
      <xsd:enumeration value="marker"/>
    </xsd:restriction>
  </xsd:simpleType>
 </xsd:element>

<!-- selection_pt definition -->
  <xsd:element name="selection_pt" type="gpx:ptType">
	 <xsd:annotation>
	  <xsd:documentation>
		The point of interest on a linear feature (route/track).
	  </xsd:documentation>
	 </xsd:annotation>
  </xsd:element>

<!-- selection_range definition -->
 <xsd:element name="selection_range">
  <xsd:complexType>
   <xsd:annotation>
    <xsd:documentation>
	 Two points defining the start and end of a selection (on a linear feature like rte or trk)
    </xsd:documentation>
   </xsd:annotation>
   <xsd:sequence>	<!-- elements must appear in this order -->
	 <xsd:element name="pt_start"	type="gpx:ptType"	minOccurs="1" maxOccurs="1">
	  <xsd:annotation>
	   <xsd:documentation>
		Starting point of the selection.
	   </xsd:documentation>
	  </xsd:annotation>
	 </xsd:element>
	 <xsd:element name="pt_end"		type="gpx:ptType"	minOccurs="1" maxOccurs="1">
	  <xsd:annotation>
	   <xsd:documentation>
		Ending point of the selection.
	   </xsd:documentation>
	  </xsd:annotation>
	 </xsd:element>
   </xsd:sequence>
  </xsd:complexType>
 </xsd:element>

<!-- marker definition -->
 <xsd:element name="marker">
  <xsd:complexType>
   <xsd:annotation>
    <xsd:documentation>
	 A vector-based symbol.
    </xsd:documentation>
   </xsd:annotation>
	<xsd:attribute name="category" type="xsd:string" use="required">
     <xsd:annotation>
      <xsd:documentation>
		The category or group that the marker comes from.
	  </xsd:documentation>
	 </xsd:annotation>
	</xsd:attribute>
	<xsd:attribute name="symbol" type="xsd:string" use="required">
     <xsd:annotation>
      <xsd:documentation>
		The name of the specific marker to use.
	  </xsd:documentation>
	 </xsd:annotation>
	</xsd:attribute>
  </xsd:complexType>
 </xsd:element>

</xsd:schema>
