tboegi / GpsMaster

https://wiki.openstreetmap.org/wiki/GpsMaster
GNU General Public License v2.0
48 stars 7 forks source link

'desc' element considered invalid #20

Closed IzzySoft closed 3 years ago

IzzySoft commented 3 years ago

When opening one of my GPX files, I always get a warning like

WARNING@: validation failed cvc-complex-type.2.4.a: Invalid content was found starting with element 'desc'. One of '{"http://www.topografix.com/GPX/1/1":link, "http://www.topografix.com/GPX/1/1":sym, "http://www.topografix.com/GPX/1/1":type, "http://www.topografix.com/GPX/1/1":fix, "http://www.topografix.com/GPX/1/1":sat, "http://www.topografix.com/GPX/1/1":hdop, "http://www.topografix.com/GPX/1/1":vdop, "http://www.topografix.com/GPX/1/1":pdop, "http://www.topografix.com/GPX/1/1":ageofdgpsdata, "http://www.topografix.com/GPX/1/1":dgpsid, "http://www.topografix.com/GPX/1/1":extensions}' is expected.

According to Wikipedia (which was the only reference to elements I found up to now), desc is a valid waypoint element – and other viewers (GPX Viewer) show / editors (Viking) show and edit it fine. Could it be the validator is slightly incomplete? The list also does not mention magvar, geoidheight, cmt or src. It however shows desc fine in properties and also lets me edit it – so it might be rather a "minor annoyance" (and nothing "urgent").

Thanks for looking at it – whenever your time permits :smiley:

tboegi commented 3 years ago

@IzzySoft : Is there a chance to get one of you GPX files attached here ? (I know that this contains personal data, so be careful what you want to share) PS: Sometimes we are slow, sometimes fast.

tboegi commented 3 years ago

@IzzySoft (and everyone): Please test the release here (whenever you have time) https://github.com/tboegi/GpsMaster/releases/tag/v0.63.39-rc1

IzzySoft commented 3 years ago

@tboegi stupid me just found the official references, which are right in the header of the GPX file: an XML file with the definitions. Corresponding to this topic:

<xsd:element name="desc" type="xsd:string" minOccurs="0">

(Read: desc is a string that is optional (minOccurs), but can occur max 1 times (no maxOccurs)). To compare, one can have 0 or more (unlimited) link elements:

<xsd:element name="link" type="linkType" minOccurs="0" maxOccurs="unbounded">

As for uploading one of such GPX files: no personal information in there, they are scraped from publicly available material, enriched by other public material (Wikipedia etc) – I'm creating a few "city tours" for rather personal use (learn your surroundings, have something for your guests; amazing what new things one can learn about the area one lives in for 20 years or more already!). As attribution is maintained, I guess it should be OK. Let me give you the smallest one, which is almost in original state as per creator (just some descs shortened and a few entries added/modified): example.zip

Sometimes we are slow, sometimes fast.

Aren't we all? No worries, I know what "maintenance burden" means, I'm maintaining multiple projects myself – and am a maintainer in a bigger project, too. We all do this in our spare time, for free – so no "demands", just friendly questions/suggestions :smiley:

Please test the release here (whenever you have time)

Switching to that. After a quick look: works, and now "Clear" indeed removes the warning triangle :smiley: But it still pops up initially.

(unrelated remark: above mentioned specifications explicitly state for some "sequences" that elements have to appear in a given order – e.g. time must be before name; funny to see how some "official" tools order them otherwise. Luckily, all apps I've tried so far seem not to care about that order… Oh: this was not about GpsMaster, I didn't use GpsMaster for edits yet so I didn't have it export a GPX; as said, "unrelated remark" :wink:)

IzzySoft commented 3 years ago

Ouch. So much about "unrelated":

Found the culprit, one element was "out-of-sequence" (most likely one of the Viking exports), and GpsMaster is sticking to the rules (i.e. insisting on the correct order). So after fixing the order in that messed-up waypoint, the warning is gone.

Apologies for the noise!

So unless you want to switch this issue to "please give a more specific warning/error message" (if it's not too much trouble, maybe checking if the element per se would be valid and hint it might possibly be out-of-sequence – ideally even mentioning which element it is, as in bigger files it might be hard to spot) or "please be lenient with out-of-sequence elements", feel free to close it.

Thanks once more for your great tool, and all your assistance!

tboegi commented 3 years ago

@IzzySoft : No problem about the noise.

When I open the gpx from your examle.zip: I get GPXExtension is not a number! gpsm:marker | org.gpsmaster.marker.WaypointMarker ... a couple of times.

IzzySoft commented 3 years ago

The original file was created by GPS Visualizer in case you want to "more test material". I've meanwhile reworked that file, and consider the originally reported issue solved. Do you need any other input from me? I'm not deep enough into the technical details (to me the file does not look as if any extension was used at all, just the "standard elements").

tboegi commented 3 years ago

@IzzySoft : Let's close this issue, OK ?