--- /dev/null
+# basic attributes
+
+attrs = {
+ "id" => trace.id,
+ "name" => trace.name,
+ "user" => trace.user.display_name,
+ "visibility" => trace.visibility,
+ "pending" => trace.inserted ? "false" : "true",
+ "timestamp" => trace.timestamp.xmlschema
+}
+
+if trace.inserted
+ attrs["lat"] = trace.latitude.to_s
+ attrs["lon"] = trace.longitude.to_s
+end
+
+xml.gpx_file(attrs) do |trace_xml_node|
+ trace_xml_node.description(trace.description)
+ trace.tags.each do |t|
+ trace_xml_node.tag(t.tag)
+ end
+end