Activity XML (AXM) is a format for exchanging Activity Data (usually recorded from sensors) that provides the ability to transport just about any measurement that describes an Activity. Although most of Garmin Activities are inspired by the powerful capabilities of this GPS devices recording track logs, AXM is not limited to nor focused on the GeoSpatial capabilities. It is a flexible format that allows most any sensor to report observations or "measurements" regardless of the source.
In addition to the ability to transport any measurement in a flexible manner, AXM provides the ability to personalize Activity Data based on locale, precision and unit of measurement. This "personalization" means that you can transport data that is already formatted to be displayed to an expecting user (proper decimal places, names in expected language, measurements converted to the appropriate unit, etc). This allows a "thin" client to stay thin pushing the server to do most of the customization logic of an activity allowing browser applications to remain simple. Personalization of data is not possible for KML, TCX nor GPX.
AXM does not relay any style information nor user interface details, but rather just pre-formatted data that can be displayed however the client feels appropriate. This is different than KML since style may be included.
We recommend Google's Keyhole Markup Language (KML ), GPS Exchange Format (GPX ) or Training Center XML(TCX ) for transporting geographic data. Geographic Markup Language (GML) is a standard that provides these powerful "personalization" capabilities, however, the language is too complex for most developers and is very geographic oriented. AXM measurements and units were inspired by GML.
Provided is a JAXB XJC generated jar file that marshals and unmarshals XML files into Java Objects.
In the pom.xml of your project, insert the Garmin Developer Repository as follows:
<repositories> <repository> <id>developer.garmin.com</id> <name>Garmin Developer Repository</name> <url>http://developer.garmin.com/maven2</url> </repository> </repositories>
An example of the AXM dependency which would be retrieved from Garmin Developer is:
<dependency> <groupId>com.garmin.schemas</groupId> <artifactId>axm-1.0</artifactId> <version>1.0-SNAPSHOT</version> </dependency>