Change the Format.WFS to use Format.XML methods instead of

document.createElementNS methods. r=tschaub. (Closes #1278) 


git-svn-id: http://svn.openlayers.org/trunk/openlayers@5868 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
crschmidt
2008-01-24 02:18:56 +00:00
parent 72a1cef5da
commit cff527ba6f
+14 -14
View File
@@ -58,7 +58,7 @@ OpenLayers.Format.WFS = OpenLayers.Class(OpenLayers.Format.GML, {
*/ */
write: function(features) { write: function(features) {
var transaction = document.createElementNS('http://www.opengis.net/wfs', 'wfs:Transaction'); var transaction = this.createElementNS('http://www.opengis.net/wfs', 'wfs:Transaction');
transaction.setAttribute("version","1.0.0"); transaction.setAttribute("version","1.0.0");
transaction.setAttribute("service","WFS"); transaction.setAttribute("service","WFS");
for (var i=0; i < features.length; i++) { for (var i=0; i < features.length; i++) {
@@ -85,9 +85,9 @@ OpenLayers.Format.WFS = OpenLayers.Class(OpenLayers.Format.GML, {
*/ */
createFeatureXML: function(feature) { createFeatureXML: function(feature) {
var geometryNode = this.buildGeometryNode(feature.geometry); var geometryNode = this.buildGeometryNode(feature.geometry);
var geomContainer = document.createElementNS(this.featureNS, "feature:" + this.geometryName); var geomContainer = this.createElementNS(this.featureNS, "feature:" + this.geometryName);
geomContainer.appendChild(geometryNode); geomContainer.appendChild(geometryNode);
var featureContainer = document.createElementNS(this.featureNS, "feature:" + this.featureName); var featureContainer = this.createElementNS(this.featureNS, "feature:" + this.featureName);
featureContainer.appendChild(geomContainer); featureContainer.appendChild(geomContainer);
for(var attr in feature.attributes) { for(var attr in feature.attributes) {
var attrText = document.createTextNode(feature.attributes[attr]); var attrText = document.createTextNode(feature.attributes[attr]);
@@ -95,7 +95,7 @@ OpenLayers.Format.WFS = OpenLayers.Class(OpenLayers.Format.GML, {
if (attr.search(":") != -1) { if (attr.search(":") != -1) {
nodename = attr.split(":")[1]; nodename = attr.split(":")[1];
} }
var attrContainer = document.createElementNS(this.featureNS, "feature:" + nodename); var attrContainer = this.createElementNS(this.featureNS, "feature:" + nodename);
attrContainer.appendChild(attrText); attrContainer.appendChild(attrText);
featureContainer.appendChild(attrContainer); featureContainer.appendChild(attrContainer);
} }
@@ -110,7 +110,7 @@ OpenLayers.Format.WFS = OpenLayers.Class(OpenLayers.Format.GML, {
* feature - {<OpenLayers.Feature.Vector>} * feature - {<OpenLayers.Feature.Vector>}
*/ */
insert: function(feature) { insert: function(feature) {
var insertNode = document.createElementNS(this.wfsns, 'wfs:Insert'); var insertNode = this.createElementNS(this.wfsns, 'wfs:Insert');
insertNode.appendChild(this.createFeatureXML(feature)); insertNode.appendChild(this.createFeatureXML(feature));
return insertNode; return insertNode;
}, },
@@ -124,24 +124,24 @@ OpenLayers.Format.WFS = OpenLayers.Class(OpenLayers.Format.GML, {
*/ */
update: function(feature) { update: function(feature) {
if (!feature.fid) { alert("Can't update a feature for which there is no FID."); } if (!feature.fid) { alert("Can't update a feature for which there is no FID."); }
var updateNode = document.createElementNS(this.wfsns, 'wfs:Update'); var updateNode = this.createElementNS(this.wfsns, 'wfs:Update');
updateNode.setAttribute("typeName", this.layerName); updateNode.setAttribute("typeName", this.layerName);
var propertyNode = document.createElementNS(this.wfsns, 'wfs:Property'); var propertyNode = this.createElementNS(this.wfsns, 'wfs:Property');
var nameNode = document.createElementNS('http://www.opengis.net/wfs', 'wfs:Name'); var nameNode = this.createElementNS('http://www.opengis.net/wfs', 'wfs:Name');
var txtNode = document.createTextNode(this.geometryName); var txtNode = document.createTextNode(this.geometryName);
nameNode.appendChild(txtNode); nameNode.appendChild(txtNode);
propertyNode.appendChild(nameNode); propertyNode.appendChild(nameNode);
var valueNode = document.createElementNS('http://www.opengis.net/wfs', 'wfs:Value'); var valueNode = this.createElementNS('http://www.opengis.net/wfs', 'wfs:Value');
valueNode.appendChild(this.buildGeometryNode(feature.geometry)); valueNode.appendChild(this.buildGeometryNode(feature.geometry));
propertyNode.appendChild(valueNode); propertyNode.appendChild(valueNode);
updateNode.appendChild(propertyNode); updateNode.appendChild(propertyNode);
var filterNode = document.createElementNS('http://www.opengis.net/ogc', 'ogc:Filter'); var filterNode = this.createElementNS('http://www.opengis.net/ogc', 'ogc:Filter');
var filterIdNode = document.createElementNS('http://www.opengis.net/ogc', 'ogc:FeatureId'); var filterIdNode = this.createElementNS('http://www.opengis.net/ogc', 'ogc:FeatureId');
filterIdNode.setAttribute("fid", feature.fid); filterIdNode.setAttribute("fid", feature.fid);
filterNode.appendChild(filterIdNode); filterNode.appendChild(filterIdNode);
updateNode.appendChild(filterNode); updateNode.appendChild(filterNode);
@@ -161,11 +161,11 @@ OpenLayers.Format.WFS = OpenLayers.Class(OpenLayers.Format.GML, {
alert("Can't delete a feature for which there is no FID."); alert("Can't delete a feature for which there is no FID.");
return false; return false;
} }
var deleteNode = document.createElementNS(this.featureNS, 'wfs:Delete'); var deleteNode = this.createElementNS(this.featureNS, 'wfs:Delete');
deleteNode.setAttribute("typeName", this.layerName); deleteNode.setAttribute("typeName", this.layerName);
var filterNode = document.createElementNS('http://www.opengis.net/ogc', 'ogc:Filter'); var filterNode = this.createElementNS('http://www.opengis.net/ogc', 'ogc:Filter');
var filterIdNode = document.createElementNS('http://www.opengis.net/ogc', 'ogc:FeatureId'); var filterIdNode = this.createElementNS('http://www.opengis.net/ogc', 'ogc:FeatureId');
filterIdNode.setAttribute("fid", feature.fid); filterIdNode.setAttribute("fid", feature.fid);
filterNode.appendChild(filterIdNode); filterNode.appendChild(filterIdNode);
deleteNode.appendChild(filterNode); deleteNode.appendChild(filterNode);