Logiqx / gp3s-coros

GPS3S wishlist for future COROS firmware releases
Creative Commons Zero v1.0 Universal
1 stars 0 forks source link

Issue with TCX files being invalid #24

Open Logiqx opened 7 months ago

Logiqx commented 7 months ago

Just like GPX, the TCX format has associated schemas / XSD files. All applications generating TCX files should ensure they generate valid TCX files.

I tweaked the header of a TCX file generated by the COROS app to attempt validating it using freeformatter.com but a number of errors are present.

The COROS developers should look to resolve these issues, much in the same way as I documented for the GPX export.

See summary of GPX validation issues for some pointers:

<?xml version="1.0" encoding="UTF-8"?>
<TrainingCenterDatabase
  xmlns="http://www.garmin.com/xmlschemas/TrainingCenterDatabase/v2"
  xmlns:ns2="http://www.garmin.com/xmlschemas/UserProfile/v2"
  xmlns:ns3="http://www.garmin.com/xmlschemas/ActivityExtension/v2"
  xmlns:ns4="http://www.garmin.com/xmlschemas/ProfileExtension/v1"
  xmlns:ns5="http://www.garmin.com/xmlschemas/ActivityGoals/v1"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="
    http://www.garmin.com/xmlschemas/TrainingCenterDatabase/v2 https://www8.garmin.com/xmlschemas/TrainingCenterDatabasev2.xsd
    http://www.garmin.com/xmlschemas/ActivityExtension/v2 https://www8.garmin.com/xmlschemas/ActivityExtensionv2.xsd"
>
 <Activities>
  <Activity Sport="Other">
   <Id>2022-11-12T12:33:36Z</Id>
   <Lap StartTime="2022-11-12T12:33:36Z">
    <TotalTimeSeconds>1274</TotalTimeSeconds>
    <DistanceMeters>660</DistanceMeters>
    <Intensity>Active</Intensity>
    <TriggerMethod>Manual</TriggerMethod>
    <MaximumHeartRateBpm>
     <Value>147</Value>
    </MaximumHeartRateBpm>
    <AverageHeartRateBpm>
     <Value>94</Value>
    </AverageHeartRateBpm>
    <Track>
     <Trackpoint>
      <Time>2022-11-12T12:33:36Z</Time>
      <DistanceMeters>0</DistanceMeters>
     </Trackpoint>
     <Trackpoint>
      <Time>2022-11-12T12:33:37Z</Time>
      <DistanceMeters>0</DistanceMeters>
      <HeartRateBpm>
       <Value>0</Value>
      </HeartRateBpm>
      <Extensions>
       <ns3:TPX>
        <ns3:Speed>2.560000</ns3:Speed>
       </ns3:TPX>
      </Extensions>
     </Trackpoint>
    </Track>
   </Lap>
   <Creator>
    <Name>Coros Wearables</Name>
   </Creator>
  </Activity>
 </Activities>
</TrainingCenterDatabase>