Comparing Groundspeak namespaces
Closed this issue · 1 comments
Groundspeak 1.0 vs. 1.0.1
There is just one change from Groundspeak GPX extension 1.0 to 1.0.1. Version 1.0.1 adds the new inc
attribute to the attribute
element:
<xs:element name="attribute" msdata:Prefix="groundspeak" nillable="true" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:simpleContent msdata:ColumnName="attribute_Text" msdata:Ordinal="1"> <xs:extension base="xs:string"> <xs:attribute name="id" form="unqualified" type="xs:string" /> <xs:attribute name="inc" form="unqualified" type="xs:byte" /> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element>
inc
is used as boolean (0 or 1). This effectively changes the attributes from boolean to tri-state:
- attribute not present
- attribut with inc="0" (negative attribute, e.g. "not at night")
- attribute with inc="1" (positive attribute, e.g. "only at night")
Geocaching.com allows users to export Topografix 1.0 + Groundspeak 1.0, but none of the Opencaching sites do, and the users don't complain.
Sure. They simply assume inc="1" if it's missing.
If only new elements were added, why didn't Groundspeak simply add them as optional elements to the existing XML namespace?
I guess because (a) they didn't know better and (b) no GPX-reading application evaluates the XSDs. Developers just download sample GPX files, analyze them and parse them accordingly. I have parsed several XML file types in my applications, but I never cared about schema definitions.
Groundspeak 1.0.1 vs. 1.1
There are lots of changes from Groundspeak GPX extension 1.0.1 to 1.1:
- A
GUID
attribute is added to the elements that represent caches, logs, users and travelbugs. - The date subelements
lastUpdated
andexported
are added to thecache
element. - Changed types of lots of elements from "string" to either "long", "decimal", "double" or "date".
- Introduced a new enumeration type "logType" for the type log elements (instead of type "string").
- Bugfix: changed "maxOccurs" of the
attributes
,logs
andtravelbugs
elements from "unbounded" to 1.
Thanks. I'll try to describe these changes in the article.
If only new elements were added, why didn't Groundspeak simply add them as optional elements to the existing XML namespace?
I guess because (a) they didn't know better and (b) no GPX-reading application evaluates the XSDs. Developers just download sample GPX files, analyze them and parse them accordingly. I have parsed several XML file types in my applications, but I never cared about schema definitions.
Moved this to a separate thread.