diff --git a/lib/OpenLayers/Format/GPX.js b/lib/OpenLayers/Format/GPX.js index 401321519a..f3f0fce313 100644 --- a/lib/OpenLayers/Format/GPX.js +++ b/lib/OpenLayers/Format/GPX.js @@ -218,12 +218,11 @@ OpenLayers.Format.GPX = OpenLayers.Class(OpenLayers.Format.XML, { write: function(features, metadata) { features = OpenLayers.Util.isArray(features) ? features : [features]; - var gpx = this.createElementNS(this.namespaces["gpx"], "gpx"); + var gpx = this.createElementNSPlus("gpx:gpx"); gpx.setAttribute("version", "1.1"); - this.setAttributeNS( - gpx, this.namespaces["xsi"], - "xsi:schemaLocation", this.schemaLocation - ); + this.setAttributes(gpx, { + "xsi:schemaLocation": this.schemaLocation + }); if (metadata && typeof metadata == 'object') { gpx.appendChild(this.buildMetadataNode(metadata)); @@ -243,11 +242,11 @@ OpenLayers.Format.GPX = OpenLayers.Class(OpenLayers.Format.XML, { */ buildMetadataNode: function(metadata) { var types = ['name', 'desc', 'author'], - node = this.createElementNS(this.namespaces["gpx"], 'metadata'); + node = this.createElementNSPlus('gpx:metadata'); for (var i=0; i < types.length; i++) { var type = types[i]; if (metadata[type]) { - var n = this.createElementNS(this.namespaces["gpx"], type); + var n = this.createElementNSPlus("gpx:" + type); n.appendChild(this.createTextNode(metadata[type])); node.appendChild(n); } @@ -276,7 +275,7 @@ OpenLayers.Format.GPX = OpenLayers.Class(OpenLayers.Format.XML, { var wpt = this.buildWptNode(feature); return wpt; } else { - var trkNode = this.createElementNS(this.namespaces["gpx"], "trk"); + var trkNode = this.createElementNSPlus("gpx:trk"); this.appendAttributesNode(trkNode, feature); var trkSegNodes = this.buildTrkSegNode(geometry); trkSegNodes = OpenLayers.Util.isArray(trkSegNodes) ? @@ -304,7 +303,7 @@ OpenLayers.Format.GPX = OpenLayers.Class(OpenLayers.Format.XML, { nodes; if (geometry.CLASS_NAME == "OpenLayers.Geometry.LineString" || geometry.CLASS_NAME == "OpenLayers.Geometry.LinearRing") { - node = this.createElementNS(this.namespaces["gpx"], "trkseg"); + node = this.createElementNSPlus("gpx:trkseg"); for (i = 0, len=geometry.components.length; i < len; i++) { point = geometry.components[i]; node.appendChild(this.buildTrkPtNode(point)); @@ -330,7 +329,7 @@ OpenLayers.Format.GPX = OpenLayers.Class(OpenLayers.Format.XML, { * {DOMElement} A trkpt node */ buildTrkPtNode: function(point) { - var node = this.createElementNS(this.namespaces["gpx"], "trkpt"); + var node = this.createElementNSPlus("gpx:trkpt"); node.setAttribute("lon", point.x); node.setAttribute("lat", point.y); return node; @@ -347,7 +346,7 @@ OpenLayers.Format.GPX = OpenLayers.Class(OpenLayers.Format.XML, { * {DOMElement} A wpt node */ buildWptNode: function(feature) { - var node = this.createElementNS(this.namespaces["gpx"], "wpt"); + var node = this.createElementNSPlus("gpx:wpt"); node.setAttribute("lon", feature.geometry.x); node.setAttribute("lat", feature.geometry.y); this.appendAttributesNode(node, feature); @@ -363,11 +362,11 @@ OpenLayers.Format.GPX = OpenLayers.Class(OpenLayers.Format.XML, { * feature - {} */ appendAttributesNode: function(node, feature) { - var name = this.createElementNS(this.namespaces["gpx"], 'name'); + var name = this.createElementNSPlus('gpx:name'); name.appendChild(this.createTextNode( feature.attributes.name || feature.id)); node.appendChild(name); - var desc = this.createElementNS(this.namespaces["gpx"], 'desc'); + var desc = this.createElementNSPlus('gpx:desc'); desc.appendChild(this.createTextNode( feature.attributes.description || this.defaultDesc)); node.appendChild(desc);