From d4ff6a4c8b7808de5786f97f58582ee72d7d19fa Mon Sep 17 00:00:00 2001 From: crschmidt Date: Tue, 18 Dec 2007 12:17:34 +0000 Subject: [PATCH] XML Serialization doesn't wrap nodes in documents. This breaks or changes serialization in some browsers. This fixes the XML Format based tests in Safari. (Closes #1218) git-svn-id: http://svn.openlayers.org/trunk/openlayers@5487 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf --- lib/OpenLayers/Format/XML.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/OpenLayers/Format/XML.js b/lib/OpenLayers/Format/XML.js index 357622cc43..1de3cd3ebc 100644 --- a/lib/OpenLayers/Format/XML.js +++ b/lib/OpenLayers/Format/XML.js @@ -110,7 +110,15 @@ OpenLayers.Format.XML = OpenLayers.Class(OpenLayers.Format, { data = node.xml; } else { var serializer = new XMLSerializer(); - data = serializer.serializeToString(node); + if (node.nodeType == 1) { + // Add nodes to a document before serializing. Everything else + // is serialized as is. This may need more work. See #1218 . + var doc = document.implementation.createDocument("", "", null); + doc.appendChild(node); + data = serializer.serializeToString(doc); + } else { + data = serializer.serializeToString(node); + } } return data; },