Untitled diff

Created Diff never expires
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0"?>
<xsd:schema xmlns="http://www.garmin.com/xmlschemas/TrainingCenterDatabase/v1" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.garmin.com/xmlschemas/TrainingCenterDatabase/v1" xmlns:tc1="http://www.garmin.com/xmlschemas/TrainingCenterDatabase/v1" elementFormDefault="qualified">
<xsd:schema xmlns="http://www.garmin.com/xmlschemas/TrainingCenterDatabase/v2" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
<xsd:annotation>
targetNamespace="http://www.garmin.com/xmlschemas/TrainingCenterDatabase/v2" xmlns:tc2="http://www.garmin.com/xmlschemas/TrainingCenterDatabase/v2"
<xsd:documentation>
elementFormDefault="qualified">
This schema defines the Garmin Training Center file format.
<xsd:annotation>
</xsd:documentation>
<xsd:documentation>This schema defines the Garmin Training Center file format.</xsd:documentation>
</xsd:annotation>
</xsd:annotation>
<xsd:element name="TrainingCenterDatabase" type="TrainingCenterDatabase_t"/>
<xsd:element name="TrainingCenterDatabase" type="TrainingCenterDatabase_t">
<xsd:keyref name="ActivityIdKeyRef" refer="tc2:ActivityIdMustBeUnique">
<xsd:selector xpath=".//tc2:ActivityRef"/>
<xsd:field xpath="tc2:Id"/>
</xsd:keyref>
<xsd:key name="ActivityIdMustBeUnique">
<xsd:selector xpath=".//tc2:Activities/tc2:Activity"/>
<xsd:field xpath="tc2:Id"/>
</xsd:key>
<xsd:keyref name="MultisportActivityIdKeyRef" refer="tc2:MultisportActivityIdMustBeUnique">
<xsd:selector xpath=".//tc2:MultisportActivityRef"/>
<xsd:field xpath="tc2:Id"/>
</xsd:keyref>
<xsd:key name="MultisportActivityIdMustBeUnique">
<xsd:selector xpath=".//tc2:Activities/tc2:MultiSportSession"/>
<xsd:field xpath="tc2:Id"/>
</xsd:key>
<xsd:keyref name="WorkoutNameKeyRef" refer="tc2:WorkoutNameMustBeUnique">
<xsd:selector xpath=".//tc2:WorkoutNameRef"/>
<xsd:field xpath="tc2:Id"/>
</xsd:keyref>
<xsd:key name="WorkoutNameMustBeUnique">
<xsd:selector xpath=".//tc2:Workouts/tc2:Workout"/>
<xsd:field xpath="tc2:Name"/>
</xsd:key>
<xsd:keyref name="CourseNameKeyRef" refer="tc2:CourseNameMustBeUnique">
<xsd:selector xpath=".//tc2:CourseNameRef"/>
<xsd:field xpath="tc2:Id"/>
</xsd:keyref>
<xsd:key name="CourseNameMustBeUnique">
<xsd:selector xpath=".//tc2:Courses/tc2:Course"/>
<xsd:field xpath="tc2:Name"/>
</xsd:key>
</xsd:element>
<xsd:complexType name="TrainingCenterDatabase_t">
<xsd:complexType name="TrainingCenterDatabase_t">
<xsd:sequence>
<xsd:sequence>
<xsd:element name="History" type="History_t" minOccurs="0"/>
<xsd:element name="Folders" type="Folders_t" minOccurs="0"/>
<xsd:element name="Workouts" type="Workouts_t" minOccurs="0">
<xsd:element name="Activities" type="ActivityList_t" minOccurs="0"/>
<xsd:element name="Workouts" type="WorkoutList_t" minOccurs="0"/>
<xsd:element name="Courses" type="CourseList_t" minOccurs="0"/>
<xsd:element name="Author" type="AbstractSource_t" minOccurs="0"/>
<xsd:element name="Extensions" type="Extensions_t" minOccurs="0">
<xsd:annotation>
<xsd:annotation>
<xsd:documentation>
<xsd:documentation>You can extend Training Center by adding your own elements from another schema here.</xsd:documentation>
The workouts stored in a workout file should have unique names.
</xsd:documentation>
</xsd:annotation>
</xsd:annotation>
<xsd:unique name="WorkoutNameMustBeUnique">
<xsd:selector xpath="tc1:Workout"/>
<xsd:field xpath="tc1:Name"/>
</xsd:unique>
</xsd:element>
</xsd:element>
<xsd:element name="Courses" type="Courses_t" minOccurs="0">
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Folders_t">
<xsd:sequence>
<xsd:element name="History" type="History_t" minOccurs="0"/>
<xsd:element name="Workouts" type="Workouts_t" minOccurs="0"/>
<xsd:element name="Courses" type="Courses_t" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ActivityList_t">
<xsd:sequence>
<xsd:element name="Activity" type="Activity_t" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="MultiSportSession" type="MultiSportSession_t" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="WorkoutList_t">
<xsd:sequence>
<xsd:element name="Workout" type="Workout_t" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:annotation>
<xsd:documentation>
<xsd:documentation>
The courses stored in a course file should have unique names.
The StepId should be unique within a workout and should not
</xsd:documentation>
exceed 20. This restricts the number of steps in a workout to 20.
</xsd:documentation>
</xsd:annotation>
</xsd:annotation>
<xsd:unique name="CourseNameMustBeUnique">
<xsd:unique name="StepIdMustBeUnique">
<xsd:selector xpath="tc1:Course"/>
<xsd:selector xpath=".//*"/>
<xsd:field xpath="tc1:Name"/>
<xsd:field xpath="tc2:StepId"/>
</xsd:unique>
</xsd:unique>
</xsd:element>
</xsd:element>
<xsd:element name="Extensions" type="Extensions_t" minOccurs="0">
</xsd:sequence>
<xsd:annotation>
</xsd:complexType>
<xsd:documentation>You can extend Training Center by adding your own elements from another schema here.</xsd:documentation>
<xsd:complexType name="CourseList_t">
</xsd:annotation>
<xsd:sequence>
</xsd:element>
<xsd:element name="Course" type="Course_t" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:sequence>
</xsd:complexType>
</xsd:complexType>
<xsd:complexType name="History_t">
<xsd:complexType name="History_t">
<xsd:sequence>
<xsd:sequence>
<xsd:element name="Running" type="HistoryFolder_t"/>
<xsd:element name="Running" type="HistoryFolder_t"/>
<xsd:element name="Biking" type="HistoryFolder_t"/>
<xsd:element name="Biking" type="HistoryFolder_t"/>
<xsd:element name="Other" type="HistoryFolder_t"/>
<xsd:element name="Other" type="HistoryFolder_t"/>
<xsd:element name="MultiSport" type="MultiSportFolder_t"/>
<xsd:element name="MultiSport" type="MultiSportFolder_t"/>
<xsd:element name="Extensions" type="Extensions_t" minOccurs="0">
<xsd:element name="Extensions" type="Extensions_t" minOccurs="0">
<xsd:annotation>
<xsd:annotation>
<xsd:documentation>You can extend Training Center by adding your own elements from another schema here.</xsd:documentation>
<xsd:documentation>You can extend Training Center by adding your own elements from another schema here.</xsd:documentation>
</xsd:annotation>
</xsd:annotation>
</xsd:element>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ActivityReference_t">
<xsd:sequence>
<xsd:element name="Id" type="xsd:dateTime"/>
</xsd:sequence>
</xsd:sequence>
</xsd:complexType>
</xsd:complexType>
<xsd:complexType name="HistoryFolder_t">
<xsd:complexType name="HistoryFolder_t">
<xsd:sequence>
<xsd:sequence>
<xsd:element name="Folder" type="HistoryFolder_t" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="Folder" type="HistoryFolder_t" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="Run" type="Run_t" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="ActivityRef" type="ActivityReference_t" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="Week" type="Week_t" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="Week" type="Week_t" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="Notes" type="xsd:string" minOccurs="0"/>
<xsd:element name="Notes" type="xsd:string" minOccurs="0"/>
<xsd:element name="Extensions" type="Extensions_t" minOccurs="0">
<xsd:element name="Extensions" type="Extensions_t" minOccurs="0">
<xsd:annotation>
<xsd:annotation>
<xsd:documentation>You can extend Training Center by adding your own elements from another schema here.</xsd:documentation>
<xsd:documentation>You can extend Training Center by adding your own elements from another schema here.</xsd:documentation>
</xsd:annotation>
</xsd:annotation>
</xsd:element>
</xsd:element>
</xsd:sequence>
</xsd:sequence>
<xsd:attribute name="Name" type="xsd:string" use="required"/>
<xsd:attribute name="Name" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:complexType>
<xsd:complexType name="MultiSportFolder_t">
<xsd:complexType name="MultiSportFolder_t">
<xsd:sequence>
<xsd:sequence>
<xsd:element name="Folder" type="MultiSportFolder_t" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="Folder" type="MultiSportFolder_t" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="MultiSportSession" type="MultiSportSession_t" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="MultisportActivityRef" type="ActivityReference_t" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="Week" type="Week_t" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="Week" type="Week_t" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="Notes" type="xsd:string" minOccurs="0"/>
<xsd:element name="Notes" type="xsd:string" minOccurs="0"/>
<xsd:element name="Extensions" type="Extensions_t" minOccurs="0">
<xsd:element name="Extensions" type="Extensions_t" minOccurs="0">
<xsd:annotation>
<xsd:annotation>
<xsd:documentation>You can extend Training Center by adding your own elements from another schema here.</xsd:documentation>
<xsd:documentation>You can extend Training Center by adding your own elements from another schema here.</xsd:documentation>
</xsd:annotation>
</xsd:annotation>
</xsd:element>
</xsd:element>
</xsd:sequence>
</xsd:sequence>
<xsd:attribute name="Name" type="xsd:string" use="required"/>
<xsd:attribute name="Name" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:complexType>
<xsd:complexType name="Week_t">
<xsd:complexType name="Week_t">
<xsd:sequence>
<xsd:sequence>
<xsd:annotation>
<xsd:annotation>
<xsd:documentation>
<xsd:documentation>
The week is written out only if the notes are present.
The week is written out only if the notes are present.
</xsd:documentation>
</xsd:documentation>
</xsd:annotation>
</xsd:annotation>
<xsd:element name="Notes" type="xsd:string" minOccurs="0"/>
<xsd:element name="Notes" type="xsd:string" minOccurs="0"/>
</xsd:sequence>
</xsd:sequence>
<xsd:attribute name="StartDay" type="xsd:date" use="required"/>
<xsd:attribute name="StartDay" type="xsd:date" use="required"/>
</xsd:complexType>
</xsd:complexType>
<xsd:complexType name="MultiSportSession_t">
<xsd:complexType name="MultiSportSession_t">
<xsd:sequence>
<xsd:sequence>
<xsd:element name="Id" type="xsd:dateTime"/>
<xsd:element name="FirstSport" type="FirstSport_t"/>
<xsd:element name="FirstSport" type="FirstSport_t"/>
<xsd:element name="NextSport" type="NextSport_t" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="NextSport" type="NextSport_t" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="Notes" type="xsd:string" minOccurs="0"/>
<xsd:element name="Notes" type="xsd:string" minOccurs="0"/>
</xsd:sequence>
</xsd:sequence>
</xsd:complexType>
</xsd:complexType>
<xsd:complexType name="FirstSport_t">
<xsd:complexType name="FirstSport_t">
<xsd:sequence>
<xsd:sequence>
<xsd:element name="Run" type="Run_t"/>
<xsd:element name="Activity" type="Activity_t"/>
</xsd:sequence>
</xsd:sequence>
<xsd:attribute name="Sport" type="Sport_t" use="required"/>
</xsd:complexType>
</xsd:complexType>
<xsd:complexType name="NextSport_t">
<xsd:complexType name="NextSport_t">
<xsd:sequence>
<xsd:sequence>
<xsd:annotation>
<xsd:annotation>
<xsd:documentation>
<xsd:documentation>
Each sport contains an optional transition and a run.
Each sport contains an optional transition and a run.
</xsd:documentation>
</xsd:documentation>
</xsd:annotation>
</xsd:annotation>
<xsd:element name="Transition" type="ActivityLap_t" minOccurs="0"/>
<xsd:element name="Transition" type="ActivityLap_t" minOccurs="0"/>
<xsd:element name="Run" type="Run_t"/>
<xsd:element name="Activity" type="Activity_t"/>
</xsd:sequence>
</xsd:sequence>
<xsd:attribute name="Sport" type="Sport_t" use="required"/>
</xsd:complexType>
</xsd:complexType>
<xsd:simpleType name="Sport_t">
<xsd:simpleType name="Sport_t">
<xsd:restriction base="xsd:token">
<xsd:restriction base="Token_t">
<xsd:enumeration value="Running"/>
<xsd:enumeration value="Running"/>
<xsd:enumeration value="Biking"/>
<xsd:enumeration value="Biking"/>
<xsd:enumeration value="Other"/>
<xsd:enumeration value="Other"/>
</xsd:restriction>
</xsd:restriction>
</xsd:simpleType>
</xsd:simpleType>
<xsd:complexType name="Run_t">
<xsd:complexType name="Activity_t">
<xsd:sequence>
<xsd:sequence>
<xsd:element name="Id" type="xsd:dateTime"/>
<xsd:element name="Lap" type="ActivityLap_t" maxOccurs="unbounded"/>
<xsd:element name="Lap" type="ActivityLap_t" maxOccurs="unbounded"/>
<xsd:element name="Notes" type="xsd:string" minOccurs="0"/>
<xsd:element name="Notes" type="xsd:string" minOccurs="0"/>
<xsd:element name="Training" type="Training_t" minOccurs="0"/>
<xsd:element name="Training" type="Training_t" minOccurs="0"/>
<xsd:element name="Creator" type="AbstractSource_t" minOccurs="0"/>
<xsd:element name="Extensions" type="Extensions_t" minOccurs="0">
<xsd:element name="Extensions" type="Extensions_t" minOccurs="0">
<xsd:annotation>
<xsd:annotation>
<xsd:documentation>You can extend Training Center by adding your own elements from another schema here.</xsd:documentation>
<xsd:documentation>You can extend Training Center by adding your own elements from another schema here.</xsd:documentation>
</xsd:annotation>
</xsd:annotation>
</xsd:element>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="Sport" type="Sport_t" use="required"/>
</xsd:complexType>
<xsd:complexType name="AbstractSource_t" abstract="true">
<xsd:sequence>
<xsd:element name="Name" type="Token_t"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Device_t">
<xsd:annotation>
<xsd:documentation>Identifies the originating GPS device that tracked a run or
used to identify the type of device capable of handling
the data for loading.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="AbstractSource_t">
<xsd:sequence>
<xsd:element name="UnitId" type="xsd:unsignedInt"/>
<xsd:element name="ProductID" type="xsd:unsignedShort"/>
<xsd:element name="Version" type="Version_t"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="Application_t">
<xsd:annotation>
<xsd:documentation>Identifies a PC software application.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="AbstractSource_t">
<xsd:sequence>
<xsd:element name="Build" type="Build_t"/>
<xsd:element name="LangID" type="LangID_t"/>
<xsd:element name="PartNumber" type="PartNumber_t"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:simpleType name="LangID_t">
<xsd:annotation>
<xsd:documentation>Specifies the two character ISO 693-1 language id that identifies the installed language of this application.
see http://www.loc.gov/standards/iso639-2/ for appropriate ISO identifiers</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="Token_t">
<xsd:length value="2"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="PartNumber_t">
<xsd:annotation>
<xsd:documentation>The formatted XXX-XXXXX-XX Garmin part number of a PC application.
</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="Token_t">
<xsd:pattern value="[\p{Lu}\d]{3}-[\p{Lu}\d]{5}-[\p{Lu}\d]{2}"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="Token_t">
<xsd:annotation>
<xsd:documentation>Token must be defined as a type because of a bug in the MSXML parser which
does not correctly process xsd:token using the whiteSpace value of "collapse"
</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:token">
<xsd:whiteSpace value="collapse"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="Build_t">
<xsd:sequence>
<xsd:element name="Version" type="Version_t"/>
<xsd:element name="Type" type="BuildType_t" minOccurs="0"/>
<xsd:element name="Time" type="Token_t" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
A string containing the date and time when an application was built.
Note that this is not an xsd:dateTime type because this string is
generated by the compiler and cannot be readily converted to the
xsd:dateTime format.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Builder" type="Token_t" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
The login name of the engineer who created this build.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="BuildType_t">
<xsd:restriction base="Token_t">
<xsd:enumeration value="Internal"/>
<xsd:enumeration value="Alpha"/>
<xsd:enumeration value="Beta"/>
<xsd:enumeration value="Release"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="Version_t">
<xsd:sequence>
<xsd:element name="VersionMajor" type="xsd:unsignedShort"/>
<xsd:element name="VersionMinor" type="xsd:unsignedShort"/>
<xsd:element name="BuildMajor" type="xsd:unsignedShort" minOccurs="0"/>
<xsd:element name="BuildMinor" type="xsd:unsignedShort" minOccurs="0"/>
</xsd:sequence>
</xsd:sequence>
</xsd:complexType>
</xsd:complexType>
<xsd:complexType name="Training_t">
<xsd:complexType name="Training_t">
<xsd:sequence>
<xsd:sequence>
<xsd:element name="QuickWorkoutResults" type="QuickWorkout_t" minOccurs="0"/>
<xsd:element name="QuickWorkoutResults" type="QuickWorkout_t" minOccurs="0"/>
<xsd:element name="Plan" type="Plan_t" minOccurs="0"/>
<xsd:element name="Plan" type="Plan_t" minOccurs="0"/>
</xsd:sequence>
</xsd:sequence>
<xsd:attribute name="VirtualPartner" type="xsd:boolean" use="required"/>
<xsd:attribute name="VirtualPartner" type="xsd:boolean" use="required"/>
</xsd:complexType>
</xsd:complexType>
<xsd:complexType name="QuickWorkout_t">
<xsd:complexType name="QuickWorkout_t">
<xsd:sequence>
<xsd:sequence>
<xsd:element name="TotalTimeSeconds" type="xsd:double"/>
<xsd:element name="TotalTimeSeconds" type="xsd:double"/>
<xsd:element name="DistanceMeters" type="xsd:double"/>
<xsd:element name="DistanceMeters" type="xsd:double"/>
</xsd:sequence>
</xsd:sequence>
</xsd:complexType>
</xsd:complexType>
<xsd:complexType name="Plan_t">
<xsd:complexType name="Plan_t">
<xsd:sequence>
<xsd:sequence>
<xsd:element name="Name" type="RestrictedToken_t" minOccurs="0"/>
<xsd:element name="Name" type="RestrictedToken_t" minOccurs="0"/>
<xsd:element name="Extensions" type="Extensions_t" minOccurs="0">
<xsd:element name="Extensions" type="Extensions_t" minOccurs="0">
<xsd:annotation>
<xsd:annotation>
<xsd:documentation>You can extend Training Center by adding your own elements from another schema here.</xsd:documentation>
<xsd:documentation>You can extend Training Center by adding your own elements from another schema here.</xsd:documentation>
</xsd:annotation>
</xsd:annotation>
</xsd:element>
</xsd:element>
</xsd:sequence>
</xsd:sequence>
<xsd:attribute name="Type" type="TrainingType_t" use="required"/>
<xsd:attribute name="Type" type="TrainingType_t" use="required"/>
<xsd:attribute name="IntervalWorkout" type="xsd:boolean" use="required"/>
<xsd:attribute name="IntervalWorkout" type="xsd:boolean" use="required"/>
</xsd:complexType>
</xsd:complexType>
<xsd:simpleType name="TrainingType_t">
<xsd:simpleType name="TrainingType_t">
<xsd:restriction base="xsd:token">
<xsd:restriction base="Token_t">
<xsd:enumeration value="Workout"/>
<xsd:enumeration value="Workout"/>
<xsd:enumeration value="Course"/>
<xsd:enumeration value="Course"/>
</xsd:restriction>
</xsd:restriction>
</xsd:simpleType>
</xsd:simpleType>
<xsd:complexType name="ActivityLap_t">
<xsd:complexType name="ActivityLap_t">
<xsd:sequence>
<xsd:sequence>
<xsd:element name="TotalTimeSeconds" type="xsd:double"/>
<xsd:element name="TotalTimeSeconds" type="xsd:double"/>
<xsd:element name="DistanceMeters" type="xsd:double"/>
<xsd:element name="DistanceMeters" type="xsd:double"/>
<xsd:element name="MaximumSpeed" type="xsd:double" minOccurs="0"/>
<xsd:element name="MaximumSpeed" type="xsd:double" minOccurs="0"/>
<xsd:element name="Calories" type="xsd:unsignedShort"/>
<xsd:element name="Calories" type="xsd:unsignedShort"/>
<xsd:element name="AverageHeartRateBpm" type="xsd:unsignedByte" minOccurs="0"/>
<xsd:element name="AverageHeartRateBpm" type="HeartRateInBeatsPerMinute_t" minOccurs="0"/>
<xsd:element name="MaximumHeartRateBpm" type="xsd:unsignedByte" minOccurs="0"/>
<xsd:element name="MaximumHeartRateBpm" type="HeartRateInBeatsPerMinute_t" minOccurs="0"/>
<xsd:element name="Intensity" type="Intensity_t"/>
<xsd:element name="Intensity" type="Intensity_t"/>
<xsd:element name="Cadence" type="xsd:unsignedByte" minOccurs="0"/>
<xsd:element name="Cadence" type="CadenceValue_t" minOccurs="0"/>
<xsd:element name="TriggerMethod" type="TriggerMethod_t"/>
<xsd:element name="TriggerMethod" type="TriggerMethod_t"/>
<xsd:element name="Track" type="Track_t" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="Track" type="Track_t" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="Notes" type="xsd:string" minOccurs="0"/>
<xsd:element name="Notes" type="xsd:string" minOccurs="0"/>
<xsd:element name="Extensions" type="Extensions_t" minOccurs="0">
<xsd:element name="Extensions" type="Extensions_t" minOccurs="0">
<xsd:annotation>
<xsd:annotation>
<xsd:documentation>You can extend Training Center by adding your own elements from another schema here.</xsd:documentation>
<xsd:documentation>You can extend Training Center by adding your own elements from another schema here.</xsd:documentation>
</xsd:annotation>
</xsd:annotation>
</xsd:element>
</xsd:element>
</xsd:sequence>
</xsd:sequence>
<xsd:attribute name="StartTime" type="xsd:dateTime" use="required"/>
<xsd:attribute name="StartTime" type="xsd:dateTime" use="required"/>
</xsd:complexType>
</xsd:complexType>
<xsd:simpleType name="CadenceValue_t">
<xsd:restriction base="xsd:unsignedByte">
<xsd:maxInclusive value="254"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="TriggerMethod_t">
<xsd:simpleType name="TriggerMethod_t">
<xsd:restriction base="xsd:token">
<xsd:restriction base="Token_t">
<xsd:enumeration value="Manual"/>
<xsd:enumeration value="Manual"/>
<xsd:enumeration value="Distance"/>
<xsd:enumeration value="Distance"/>
<xsd:enumeration value="Location"/>
<xsd:enumeration value="Location"/>
<xsd:enumeration value="Time"/>
<xsd:enumeration value="Time"/>
<xsd:enumeration value="HeartRate"/>
<xsd:enumeration value="HeartRate"/>
</xsd:restriction>
</xsd:restriction>
</xsd:simpleType>
</xsd:simpleType>
<xsd:complexType name="Track_t">
<xsd:complexType name="Track_t">
<xsd:sequence>
<xsd:sequence>
<xsd:element name="Trackpoint" type="Trackpoint_t" maxOccurs="unbounded"/>
<xsd:element name="Trackpoint" type="Trackpoint_t" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:sequence>
</xsd:complexType>
</xsd:complexType>
<xsd:complexType name="Trackpoint_t">
<xsd:complexType name="Trackpoint_t">
<xsd:sequence>
<xsd:sequence>
<xsd:element name="Time" type="xsd:dateTime"/>
<xsd:element name="Time" type="xsd:dateTime"/>
<xsd:element name="Position" type="Position_t" minOccurs="0"/>
<xsd:element name="Position" type="Position_t" minOccurs="0"/>
<xsd:element name="AltitudeMeters" type="xsd:double" minOccurs="0"/>
<xsd:element name="AltitudeMeters" type="xsd:double" minOccurs="0"/>
<xsd:element name="DistanceMeters" type="xsd:double" minOccurs="0"/>
<xsd:element name="DistanceMeters" type="xsd:double" minOccurs="0"/>
<xsd:element name="HeartRateBpm" type="xsd:unsignedByte" minOccurs="0"/>
<xsd:element name="HeartRateBpm" type="HeartRateInBeatsPerMinute_t" minOccurs="0"/>
<xsd:element name="Cadence" type="xsd:unsignedByte" minOccurs="0"/>
<xsd:element name="Cadence" type="CadenceValue_t" minOccurs="0"/>
<xsd:element name="SensorState" type="SensorState_t" minOccurs="0"/>
<xsd:element name="SensorState" type="SensorState_t" minOccurs="0"/>
<xsd:element name="Extensions" type="Extensions_t" minOccurs="0">
<xsd:element name="Extensions" type="Extensions_t" minOccurs="0">
<xsd:annotation>
<xsd:annotation>
<xsd:documentation>You can extend Training Center by adding your own elements from another schema here.</xsd:documentation>
<xsd:documentation>You can extend Training Center by adding your own elements from another schema here.</xsd:documentation>
</xsd:annotation>
</xsd:annotation>
</xsd:element>
</xsd:element>
</xsd:sequence>
</xsd:sequence>
</xsd:complexType>
</xsd:complexType>
<xsd:complexType name="Position_t">
<xsd:complexType name="Position_t">
<xsd:sequence>
<xsd:sequence>
<xsd:element name="LatitudeDegrees" type="DegreesLatitude_t"/>
<xsd:element name="LatitudeDegrees" type="DegreesLatitude_t"/>
<xsd:element name="LongitudeDegrees" type="DegreesLongitude_t"/>
<xsd:element name="LongitudeDegrees" type="DegreesLongitude_t"/>
</xsd:sequence>
</xsd:sequence>
</xsd:complexType>
</xsd:complexType>
<xsd:simpleType name="DegreesLongitude_t">
<xsd:simpleType name="DegreesLongitude_t">
<xsd:annotation>
<xsd:annotation>
<xsd:documentation/>
<xsd:documentation/>
</xsd:annotation>
</xsd:annotation>
<xsd:restriction base="xsd:double">
<xsd:restriction base="xsd:double">
<xsd:maxExclusive value="180.0"/>
<xsd:maxExclusive value="180.0"/>
<xsd:minInclusive value="-180.0"/>
<xsd:minInclusive value="-180.0"/>
</xsd:restriction>
</xsd:restriction>
</xsd:simpleType>
</xsd:simpleType>
<xsd:simpleType name="DegreesLatitude_t">
<xsd:simpleType name="DegreesLatitude_t">
<xsd:annotation>
<xsd:annotation>
<xsd:documentation/>
<xsd:documentation/>
</xsd:annotation>
</xsd:annotation>
<xsd:restriction base="xsd:double">
<xsd:restriction base="xsd:double">
<xsd:maxInclusive value="90.0"/>
<xsd:maxInclusive value="90.0"/>
<xsd:minInclusive value="-90.0"/>
<xsd:minInclusive value="-90.0"/>
</xsd:restriction>
</xsd:restriction>
</xsd:simpleType>
</xsd:simpleType>
<xsd:simpleType name="SensorState_t">
<xsd:simpleType name="SensorState_t">
<xsd:restriction base="xsd:token">
<xsd:restriction base="Token_t">
<xsd:enumeration value="Present"/>
<xsd:enumeration value="Present"/>
<xsd:enumeration value="Absent"/>
<xsd:enumeration value="Absent"/>
</xsd:restriction>
</xsd:restriction>
</xsd:simpleType>
</xsd:simpleType>
<xsd:complexType name="Workouts_t">
<xsd:complexType name="Workouts_t">
<xsd:sequence>
<xsd:sequence>
<xsd:element name="Running" type="WorkoutFolder_t">
<xsd:element name="Running" type="WorkoutFolder_t">
<xsd:unique name="RunningSubFolderNamesMustBeUnique">
<xsd:unique name="RunningSubFolderNamesMustBeUnique">
<xsd:selector xpath="tc1:Folder"/>
<xsd:selector xpath="tc2:Folder"/>
<xsd:field xpath="@Name"/>
<xsd:field xpath="@Name"/>
</xsd:unique>
</xsd:unique>
</xsd:element>
</xsd:element>
<xsd:element name="Biking" type="WorkoutFolder_t">
<xsd:element name="Biking" type="WorkoutFolder_t">
<xsd:unique name="BikingSubFolderNamesMustBeUnique">
<xsd:unique name="BikingSubFolderNamesMustBeUnique">
<xsd:selector xpath="tc1:Folder"/>
<xsd:selector xpath="tc2:Folder"/>
<xsd:field xpath="@Name"/>
<xsd:field xpath="@Name"/>
</xsd:unique>
</xsd:unique>
</xsd:element>
</xsd:element>
<xsd:element name="Other" type="WorkoutFolder_t">
<xsd:element name="Other" type="WorkoutFolder_t">
<xsd:unique name="OtherSubFolderNamesMustBeUnique">
<xsd:unique name="OtherSubFolderNamesMustBeUnique">
<xsd:selector xpath="tc1:Folder"/>
<xsd:selector xpath="tc2:Folder"/>
<xsd:field xpath="@Name"/>
<xsd:field xpath="@Name"/>
</xsd:unique>
</xsd:unique>
</xsd:element>
</xsd:element>
<xsd:element name="Extensions" type="Extensions_t" minOccurs="0">
<xsd:element name="Extensions" type="Extensions_t" minOccurs="0">
<xsd:annotation>
<xsd:annotation>
<xsd:documentation>You can extend Training Center by adding your own elements from another schema here.</xsd:documentation>
<xsd:documentation>You can extend Training Center by adding your own elements from another schema here.</xsd:documentation>
</xsd:annotation>
</xsd:annotation>
</xsd:element>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="NameKeyReference_t">
<xsd:sequence>
<xsd:element name="Id" type="RestrictedToken_t"/>
</xsd:sequence>
</xsd:sequence>
</xsd:complexType>
</xsd:complexType>
<xsd:complexType name="WorkoutFolder_t">
<xsd:complexType name="WorkoutFolder_t">
<xsd:sequence>
<xsd:sequence>
<xsd:element name="Folder" type="WorkoutFolder_t" minOccurs="0" maxOccurs="unbounded">
<xsd:element name="Folder" type="WorkoutFolder_t" minOccurs="0" maxOccurs="unbounded">
<xsd:unique name="SubFolderNamesMustBeUnique">
<xsd:unique name="SubFolderNamesMustBeUnique">
<xsd:selector xpath="tc1:Folder"/>
<xsd:selector xpath="tc2:Folder"/>
<xsd:field xpath="@Name"/>
<xsd:field xpath="@Name"/>
</xsd:unique>
</xsd:unique>
</xsd:element>
</xsd:element>
<xsd:element name="Workout" type="Workout_t" minOccurs="0" maxOccurs="unbounded">
<xsd:element name="WorkoutNameRef" type="NameKeyReference_t" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="Extensions" type="Extensions_t" minOccurs="0">
<xsd:annotation>
<xsd:annotation>
<xsd:documentation>
<xsd:documentation>You can extend Training Center by adding your own elements from another schema here.</xsd:documentation>
The StepId should be unique within a workout and should not
exceed 20. This restricts the number of steps in a workout to 20.
</xsd:documentation>
</xsd:annotation>
</xsd:annotation>
<xsd:unique name="StepIdMustBeUnique">
<xsd:selector xpath=".//*"/>
<xsd:field xpath="tc1:StepId"/>
</xsd:unique>
</xsd:element>
</xsd:element>
<xsd:element name="Extensions" type="Extensions_t" minOccurs="0">
<xsd:annotation>
<xsd:documentation>You can extend Training Center by adding your own elements from another schema here.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:sequence>
<xsd:attribute name="Name" type="xsd:string" use="required"/>
<xsd:attribute name="Name" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:complexType>
<xsd:complexType name="Workout_t">
<xsd:complexType name="Workout_t">
<xsd:sequence>
<xsd:sequence>
<xsd:element name="Name" type="RestrictedToken_t"/>
<xsd:element name="Name" type="RestrictedToken_t"/>
<xsd:element name="Step" type="AbstractStep_t" maxOccurs="unbounded"/>
<xsd:element name="Step" type="AbstractStep_t" maxOccurs="unbounded"/>
<xsd:element name="ScheduledOn" type="xsd:date" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="ScheduledOn" type="xsd:date" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="Notes" type="xsd:string" minOccurs="0"/>
<xsd:element name="Notes" type="xsd:string" minOccurs="0"/>
<xsd:element name="Creator" type="AbstractSource_t" minOccurs="0"/>
<xsd:element name="Extensions" type="Extensions_t" minOccurs="0">
<xsd:element name="Extensions" type="Extensions_t" minOccurs="0">
<xsd:annotation>
<xsd:annotation>
<xsd:documentation>You can extend Training Center by adding your own elements from another schema here.</xsd:documentation>
<xsd:documentation>You can extend Training Center by adding your own elements from another schema here.</xsd:documentation>
</xsd:annotation>
</xsd:annotation>
</xsd:element>
</xsd:element>
</xsd:sequence>
</xsd:sequence>
<xsd:attribute name="Sport" type="Sport_t" use="required"/>
</xsd:complexType>
</xsd:complexType>
<xsd:simpleType name="RestrictedToken_t">
<xsd:simpleType name="RestrictedToken_t">
<xsd:restriction base="xsd:token">
<xsd:restriction base="Token_t">
<xsd:minLength value="1"/>
<xsd:minLength value="1"/>
<xsd:maxLength value="15"/>
<xsd:maxLength value="15"/>
</xsd:restriction>
</xsd:restriction>
</xsd:simpleType>
</xsd:simpleType>
<xsd:complexType name="AbstractStep_t" abstract="true">
<xsd:complexType name="AbstractStep_t" abstract="true">
<xsd:sequence>
<xsd:sequence>
<xsd:element name="StepId" type="StepId_t"/>
<xsd:element name="StepId" type="StepId_t"/>
</xsd:sequence>
</xsd:sequence>
</xsd:complexType>
</xsd:complexType>
<xsd:simpleType name="StepId_t">
<xsd:simpleType name="StepId_t">
<xsd:restriction base="xsd:positiveInteger">
<xsd:restriction base="xsd:positiveInteger">
<xsd:maxInclusive value="20"/>
<xsd:maxInclusive value="20"/>
</xsd:restriction>
</xsd:restriction>
</xsd:simpleType>
</xsd:simpleType>
<xsd:complexType name="Repeat_t">
<xsd:complexType name="Repeat_t">
<xsd:complexContent>
<xsd:complexContent>
<xsd:extension base="AbstractStep_t">
<xsd:extension base="AbstractStep_t">
<xsd:sequence>
<xsd:sequence>
<xsd:element name="Repetitions" type="Repetitions_t"/>
<xsd:element name="Repetitions" type="Repetitions_t"/>
<xsd:element name="Child" type="AbstractStep_t" maxOccurs="unbounded"/>
<xsd:element name="Child" type="AbstractStep_t" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:sequence>
</xsd:extension>
</xsd:extension>
</xsd:complexContent>
</xsd:complexContent>
</xsd:complexType>
</xsd:complexType>
<xsd:simpleType name="Repetitions_t">
<xsd:simpleType name="Repetitions_t">
<xsd:restriction base="xsd:positiveInteger">
<xsd:restriction base="xsd:positiveInteger">
<xsd:minInclusive value="2"/>
<xsd:minInclusive value="2"/>
<xsd:maxInclusive value="99"/>
<xsd:maxInclusive value="99"/>
</xsd:restriction>
</xsd:restriction>
</xsd:simpleType>
</xsd:simpleType>
<xsd:complexType name="Step_t">
<xsd:complexType name="Step_t">
<xsd:complexContent>
<xsd:complexContent>
<xsd:extension base="AbstractStep_t">
<xsd:extension base="AbstractStep_t">
<xsd:sequence>
<xsd:sequence>
<xsd:element name="Name" type="RestrictedToken_t" minOccurs="0"/>
<xsd:element name="Name" type="RestrictedToken_t" minOccurs="0"/>
<xsd:element name="Duration" type="Duration_t"/>
<xsd:element name="Duration" type="Duration_t"/>
<xsd:element name="Intensity" type="Intensity_t"/>
<xsd:element name="Intensity" type="Intensity_t"/>
<xsd:element name="Target" type="Target_t"/>
<xsd:element name="Target" type="Target_t"/>
</xsd:sequence>
</xsd:sequence>
</xsd:extension>
</xsd:extension>
</xsd:complexContent>
</xsd:complexContent>
</xsd:complexType>
</xsd:complexType>
<xsd:complexType name="Duration_t" abstract="true"/>
<xsd:complexType name="Duration_t" abstract="true"/>
<xsd:simpleType name="Intensity_t">
<xsd:simpleType name="Intensity_t">
<xsd:restriction base="xsd:token">
<xsd:restriction base="Token_t">
<xsd:enumeration value="Active"/>
<xsd:enumeration value="Active"/>
<xsd:enumeration value="Resting"/>
<xsd:enumeration value="Resting"/>
</xsd:restriction>
</xsd:restriction>
</xsd:simpleType>
</xsd:simpleType>
<xsd:complexType name="Target_t" abstract="true"/>
<xsd:complexType name="Target_t" abstract="true"/>
<xsd:complexType name="Time_t">
<xsd:complexType name="Time_t">
<xsd:complexContent>
<xsd:complexContent>
<xsd:extension base="Duration_t">
<xsd:extension base="Duration_t">
<xsd:sequence>
<xsd:sequence>
<xsd:element name="Seconds" type="xsd:unsignedShort"/>
<xsd:element name="Seconds" type="xsd:unsignedShort"/>
</xsd:sequence>
</xsd:sequence>
</xsd:extension>
</xsd:extension>
</xsd:complexContent>
</xsd:complexContent>
</xsd:complexType>
</xsd:complexType>
<xsd:complexType name="Distance_t">
<xsd:complexType name="Distance_t">
<xsd:complexContent>
<xsd:complexContent>
<xsd:extension base="Duration_t">
<xsd:extension base="Duration_t">
<xsd:sequence>
<xsd:sequence>
<xsd:element name="Meters" type="xsd:unsignedShort"/>
<xsd:element name="Meters" type="xsd:unsignedShort"/>
</xsd:sequence>
</xsd:sequence>
</xsd:extension>
</xsd:extension>
</xsd:complexContent>
</xsd:complexContent>
</xsd:complexType>
</xsd:complexType>
<xsd:complexType name="HeartRateAbove_t">
<xsd:complexType name="HeartRateAbove_t">
<xsd:complexContent>
<xsd:complexContent>
<xsd:extension base="Duration_t">
<xsd:extension base="Duration_t">
<xsd:sequence>
<xsd:sequence>
<xsd:element name="HeartRate" type="HeartRateValue_t"/>
<xsd:element name="HeartRate" type="HeartRateValue_t"/>
</xsd:sequence>
</xsd:sequence>
</xsd:extension>
</xsd:extension>
</xsd:complexContent>
</xsd:complexContent>
</xsd:complexType>
</xsd:complexType>
<xsd:complexType name="HeartRateValue_t" abstract="true"/>
<xsd:complexType name="HeartRateValue_t" abstract="true"/>
<xsd:complexType name="HeartRateBelow_t">
<xsd:complexType name="HeartRateBelow_t">
<xsd:complexContent>
<xsd:complexContent>
<xsd:extension base="Duration_t">
<xsd:extension base="Duration_t">
<xsd:sequence>
<xsd:sequence>
<xsd:element name="HeartRate" type="HeartRateValue_t"/>
<xsd:element name="HeartRate" type="HeartRateValue_t"/>
</xsd:sequence>
</xsd:sequence>
</xsd:extension>
</xsd:extension>
</xsd:complexContent>
</xsd:complexContent>
</xsd:complexType>
</xsd:complexType>
<xsd:complexType name="CaloriesBurned_t">
<xsd:complexType name="CaloriesBurned_t">
<xsd:complexContent>
<xsd:complexContent>
<xsd:extension base="Duration_t">
<xsd:extension base="Duration_t">
<xsd:sequence>
<xsd:sequence>
<xsd:element name="Calories" type="xsd:unsignedShort"/>
<xsd:element name="Calories" type="xsd:unsignedShort"/>
</xsd:sequence>
</xsd:sequence>
</xsd:extension>
</xsd:extension>
</xsd:complexContent>
</xsd:complexContent>
</xsd:complexType>
</xsd:complexType>
<xsd:complexType name="UserInitiated_t">
<xsd:complexType name="UserInitiated_t">
<xsd:complexContent>
<xsd:complexContent>
<xsd:extension base="Duration_t"/>
<xsd:extension base="Duration_t"/>
</xsd:complexContent>
</xsd:complexContent>
</xsd:complexType>
</xsd:complexType>
<xsd:complexType name="Speed_t">
<xsd:complexType name="Speed_t">
<xsd:complexContent>
<xsd:complexContent>
<xsd:extension base="Target_t">
<xsd:extension base="Target_t">
<xsd:sequence>
<xsd:sequence>
<xsd:element name="SpeedZone" type="Zone_t"/>
<xsd:element name="SpeedZone" type="Zone_t"/>
</xsd:sequence>
</xsd:sequence>
</xsd:extension>
</xsd:extension>
</xsd:complexContent>
</xsd:complexContent>
</xsd:complexType>
</xsd:complexType>
<xsd:complexType name="HeartRate_t">
<xsd:complexType name="HeartRate_t">
<xsd:complexContent>
<xsd:complexContent>
<xsd:extension base="Target_t">
<xsd:extension base="Target_t">
<xsd:sequence>
<xsd:sequence>
<xsd:element name="HeartRateZone" type="Zone_t"/>
<xsd:element name="HeartRateZone" type="Zone_t"/>
</xsd:sequence>
</xsd:sequence>
</xsd:extension>
</xsd:extension>
</xsd:complexContent>
</xsd:complexContent>
</xsd:complexType>
</xsd:complexType>
<xsd:complexType name="Cadence_t">
<xsd:complexType name="Cadence_t">
<xsd:complexContent>
<xsd:complexContent>
<xsd:extension base="Target_t">
<xsd:extension base="Target_t">
<xsd:sequence>
<xsd:sequence>
<xsd:element name="Low" type="xsd:double"/>
<xsd:element name="Low" type="xsd:double"/>
<xsd:element name="High" type="xsd:double"/>
<xsd:element name="High" type="xsd:double"/>
</xsd:sequence>
</xsd:sequence>
</xsd:extension>
</xsd:extension>
</xsd:complexContent>
</xsd:complexContent>
</xsd:complexType>
</xsd:complexType>
<xsd:complexType name="None_t">
<xsd:complexType name="None_t">
<xsd:complexContent>
<xsd:complexContent>
<xsd:extension base="Target_t"/>
<xsd:extension base="Target_t"/>
</xsd:complexContent>
</xsd:complexContent>
</xsd:complexType>
</xsd:complexType>
<xsd:complexType name="Zone_t" abstract="true"/>
<xsd:complexType name="Zone_t" abstract="true"/>
<xsd:complexType name="PredefinedSpeedZone_t">
<xsd:complexType name="PredefinedSpeedZone_t">
<xsd:complexContent>
<xsd:complexContent>
<xsd:extension base="Zone_t">
<xsd:extension base="Zone_t">
<xsd:sequence>
<xsd:sequence>
<xsd:element name="Number" type="SpeedZoneNumbers_t"/>
<xsd:element name="Number" type="SpeedZoneNumbers_t"/>
</xsd:sequence>
</xsd:sequence>
</xsd:extension>
</xsd:extension>
</xsd:complexContent>
</xsd:complexContent>
</xsd:complexType>
</xsd:complexType>
<xsd:simpleType name="SpeedZoneNumbers_t">
<xsd:simpleType name="SpeedZoneNumbers_t">
<xsd:restriction base="xsd:positiveInteger">
<xsd:restriction base="xsd:positiveInteger">
<xsd:maxInclusive value="10"/>
<xsd:maxInclusive value="10"/>
</xsd:restriction>
</xsd:restriction>
</xsd:simpleType>
</xsd:simpleType>
<xsd:complexType name="CustomSpeedZone_t">
<xsd:complexType name="CustomSpeedZone_t">
<xsd:complexContent>
<xsd:complexContent>
<xsd:extension base="Zone_t">
<xsd:extension base="Zone_t">
<xsd:sequence>
<xsd:sequence>
<xsd:element name="ViewAs" type="SpeedType_t"/>
<xsd:element name="ViewAs" type="SpeedType_t"/>
<xsd:element name="LowInMetersPerSecond" type="SpeedInMetersPerSecond_t"/>
<xsd:element name="LowInMetersPerSecond" type="SpeedInMetersPerSecond_t"/>
<xsd:element name="HighInMetersPerSecond" type="SpeedInMetersPerSecond_t"/>
<xsd:element name="HighInMetersPerSecond" type="SpeedInMetersPerSecond_t"/>
</xsd:sequence>
</xsd:sequence>
</xsd:extension>
</xsd:extension>
</xsd:complexContent>
</xsd:complexContent>
</xsd:complexType>
</xsd:complexType>
<xsd:simpleType name="SpeedInMetersPerSecond_t">
<xsd:simpleType name="SpeedInMetersPerSeco
<xsd:restriction base="xsd:double">
<xsd:minExclusive value="0"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="SpeedType_t">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="Pace"/>
<xsd:enumeration value="Speed"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="PredefinedHeartRateZone_t">
<xsd:complexContent>
<xsd:extension base="Zone_t">
<xsd:sequence>
<xsd:element name="Number" type="HeartRateZoneNumbers_t"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:simpleType name="HeartRateZoneNumbers_t">
<xsd:restriction base="xsd:positiveInteger">
<xsd:maxInclusive value="5"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="CustomHeartRateZone_t">
<xsd:complexContent>
<xsd:extension base="Zone_t">
<xsd:sequence>
<xsd:element name="Low" type="HeartRateValue_t"/>
<xsd:element name="High" type="HeartRateValue_t"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="HeartRateInBeatsPerMinute_t">
<xsd:complexContent>
<xsd:extension base="HeartRateValue_t">
<xsd:sequence>
<xsd:element name="Value" type="xsd:unsignedByte"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="HeartRateAsPercentOfMax_t">
<xsd:complexContent>
<xsd:extension base="HeartRateValue_t">
<xsd:sequence>
<xsd:element name="Value" type="PercentOfMax_t"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:simpleType name="PercentOfMax_t">
<xsd:restriction base="xsd:unsignedByte">
<xsd:minInclusive value="0"/>
<xsd:maxInclusive value="100"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="Courses_t">
<xsd:sequence>
<xsd:element name="CourseFolder" type="CourseFolder_t">
<xsd:unique name="CourseSubFolderNamesMustBeUnique">
<xsd:selector xpath="tc1:CourseFolder"/>
<xsd:field xpath="@Name"/>
</xsd:unique>
</xsd:element>
<xsd:element name="Extensions" type="Extensions_t" minOccurs="0">
<xsd:annotation>
<xsd:documentation>You can extend Training Center by adding your own elements from another schema here.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CourseFolder_t">
<xsd:sequence>
<xsd:element name="Folder" type="CourseFolder_t" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="Course" type="Course_t" minOccurs="0" maxOccurs="unbounded">
<xsd:unique name="CourseNamesMustBeUnique">
<xsd:selector xpath="tc1:Course"/>
<xsd:field xpath="tc1:Name"/>
</xsd:unique>
</xsd:element>
<xsd:element name="Notes" type="xsd:string" minOccurs="0"/>
<xsd:element name="Extensions" type="Extensions_t" minOccurs="0">
<xsd:annotation>
<xsd:documentation>You can extend Training Center by adding your own elements from another schema here.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="Name" type="xsd:string" use="required"/>
</xsd:complexType>
<xsd:complexType name="Course_t">
<xsd:sequence>
<xsd:element name="Name" type="RestrictedToken_t"/>
<xsd:element name="Lap" type="CourseLap_t" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="Track" type="Track_t" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="Notes" type="xsd:string" minOccurs="0"/>
<xsd:element name="CoursePoint" type="CoursePoint_t" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="Extensions" type="Extensions_t" minOccurs="0">
<xsd:annotation>
<xsd:documentation>You can extend Training Center by adding your own elements from another schema here.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CourseLap_t">
<xsd:sequence>
<xsd:element name="TotalTimeSeconds" type="xsd:double"/>
<xsd:element name="DistanceMeters" type="xsd:double"/>
<xsd:element name="BeginPosition" type="Position_t" minOccurs="0"/>
<xsd:element name="BeginAltitudeMeters" type="xsd:double" minOccurs="0"/>
<xsd:element name="EndPosition" type="Position_t" minOccurs="0"/>
<xsd:element name="EndAltitudeMeters" type="xsd:double" minOccurs="0"/>
<xsd:element name="AverageHeartRateBpm" type="xsd:unsignedByte" minOccurs="0"/>
<xsd:element name="MaximumHeartRateBpm" type="xsd:unsignedByte" minOccurs="0"/>
<xsd:element name="Intensity" type="Intensity_t"/>
<xsd:element name="Cadence" type="xsd:unsignedByte" minOccurs="0"/>
<xsd:element name="Extensions" type="Extensions_t" minOccurs="0">
<xsd:annotation>
<xsd:documentation>You can extend Training Center by adding your own elements from another schema here.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CoursePoint_t">
<xsd:sequence>
<xsd:element name="Name" type="CoursePointName_t"/>
<xsd:element name="Time" type="xsd:dateTime"/>
<xsd:element name="Position" type="Position_t"/>
<xsd:element name="AltitudeMeters" type="xsd:double" minOccurs="0"/>
<xsd:element name="PointType" type="CoursePointType_t"/>
<xsd:element name="Notes" type="xsd:string" minOccurs="0"/>
<xsd:element name="Extensions" type="Extensions_t" minOccurs="0">
<xsd:annotation>
<xsd:documentation>You can extend Training Center by adding your own elements from another schema here.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="CoursePointName_t">
<xsd:restriction base="xsd:token">
<xsd:minLength value="1"/>
<xsd:maxLength value="10"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="CoursePointType_t">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="Generic"/>
<xsd:enumeration value="Summit"/>
<xsd:enumeration value="Valley"/>
<xsd:enumeration value="Water"/>
<xsd:enumeration value="Food"/>
<xsd:enumeration value="Danger"/>
<xsd:enumeration value="Left"/>
<xsd:enumeration value="Right"/>
<xsd:enumeration value="Straight"/>
<xsd:enumeration value="First Aid"