]> gitweb.fperrin.net Git - GpsPrune.git/blobdiff - tim/prune/save/GpxExporter.java
Version 18.2, December 2015
[GpsPrune.git] / tim / prune / save / GpxExporter.java
index 1b2263bc8260d6dc49115f969de5e9c40be1ffcb..ff2c98fb6c57971d7925ffbaae9119f930f1b267 100644 (file)
@@ -535,11 +535,15 @@ public class GpxExporter extends GenericFunction implements Runnable
                source = replaceGpxTags(source, "lat=\"", "\"", inPoint.getLatitude().output(Coordinate.FORMAT_DECIMAL_FORCE_POINT));
                source = replaceGpxTags(source, "lon=\"", "\"", inPoint.getLongitude().output(Coordinate.FORMAT_DECIMAL_FORCE_POINT));
                source = replaceGpxTags(source, "<ele>", "</ele>", inPoint.getAltitude().getStringValue(UnitSetLibrary.UNITS_METRES));
-               source = replaceGpxTags(source, "<time>", "</time>", inPoint.getTimestamp().getText(Timestamp.FORMAT_ISO_8601));
+               source = replaceGpxTags(source, "<time>", "</time>", inPoint.getTimestamp().getText(Timestamp.Format.ISO8601));
                if (inPoint.isWaypoint())
                {
-                       source = replaceGpxTags(source, "<name>", "</name>", inPoint.getWaypointName());
-                       source = replaceGpxTags(source, "<description>", "</description>",
+                       source = replaceGpxTags(source, "<name>", "</name>", XmlUtils.fixCdata(inPoint.getWaypointName()));
+                       if (source != null)
+                       {
+                               source = source.replaceAll("<description>", "<desc>").replaceAll("</description>", "</desc>");
+                       }
+                       source = replaceGpxTags(source, "<desc>", "</desc>",
                                XmlUtils.fixCdata(inPoint.getFieldValue(Field.DESCRIPTION)));
                }
                // photo / audio links
@@ -685,20 +689,20 @@ public class GpxExporter extends GenericFunction implements Runnable
                if (inPoint.hasTimestamp() && inTimestamps)
                {
                        inWriter.write("\t\t<time>");
-                       inWriter.write(inPoint.getTimestamp().getText(Timestamp.FORMAT_ISO_8601));
+                       inWriter.write(inPoint.getTimestamp().getText(Timestamp.Format.ISO8601));
                        inWriter.write("</time>\n");
                }
                // write waypoint name after elevation and time
                inWriter.write("\t\t<name>");
-               inWriter.write(inPoint.getWaypointName().trim());
+               inWriter.write(XmlUtils.fixCdata(inPoint.getWaypointName().trim()));
                inWriter.write("</name>\n");
                // description, if any
                String desc = XmlUtils.fixCdata(inPoint.getFieldValue(Field.DESCRIPTION));
                if (desc != null && !desc.equals(""))
                {
-                       inWriter.write("\t\t<description>");
+                       inWriter.write("\t\t<desc>");
                        inWriter.write(desc);
-                       inWriter.write("</description>\n");
+                       inWriter.write("</desc>\n");
                }
                // Media links, if any
                if (inPhoto && inPoint.getPhoto() != null)
@@ -757,7 +761,7 @@ public class GpxExporter extends GenericFunction implements Runnable
                if (inPoint.hasTimestamp() && inTimestamps)
                {
                        inWriter.write("\t\t\t\t<time>");
-                       inWriter.write(inPoint.getTimestamp().getText(Timestamp.FORMAT_ISO_8601));
+                       inWriter.write(inPoint.getTimestamp().getText(Timestamp.Format.ISO8601));
                        inWriter.write("</time>\n");
                }
                // photo, audio