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:
@@ -58,7 +58,7 @@ OpenLayers.Format.WFS = OpenLayers.Class(OpenLayers.Format.GML, {
|
||||
*/
|
||||
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("service","WFS");
|
||||
for (var i=0; i < features.length; i++) {
|
||||
@@ -85,9 +85,9 @@ OpenLayers.Format.WFS = OpenLayers.Class(OpenLayers.Format.GML, {
|
||||
*/
|
||||
createFeatureXML: function(feature) {
|
||||
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);
|
||||
var featureContainer = document.createElementNS(this.featureNS, "feature:" + this.featureName);
|
||||
var featureContainer = this.createElementNS(this.featureNS, "feature:" + this.featureName);
|
||||
featureContainer.appendChild(geomContainer);
|
||||
for(var attr in feature.attributes) {
|
||||
var attrText = document.createTextNode(feature.attributes[attr]);
|
||||
@@ -95,7 +95,7 @@ OpenLayers.Format.WFS = OpenLayers.Class(OpenLayers.Format.GML, {
|
||||
if (attr.search(":") != -1) {
|
||||
nodename = attr.split(":")[1];
|
||||
}
|
||||
var attrContainer = document.createElementNS(this.featureNS, "feature:" + nodename);
|
||||
var attrContainer = this.createElementNS(this.featureNS, "feature:" + nodename);
|
||||
attrContainer.appendChild(attrText);
|
||||
featureContainer.appendChild(attrContainer);
|
||||
}
|
||||
@@ -110,7 +110,7 @@ OpenLayers.Format.WFS = OpenLayers.Class(OpenLayers.Format.GML, {
|
||||
* feature - {<OpenLayers.Feature.Vector>}
|
||||
*/
|
||||
insert: function(feature) {
|
||||
var insertNode = document.createElementNS(this.wfsns, 'wfs:Insert');
|
||||
var insertNode = this.createElementNS(this.wfsns, 'wfs:Insert');
|
||||
insertNode.appendChild(this.createFeatureXML(feature));
|
||||
return insertNode;
|
||||
},
|
||||
@@ -124,24 +124,24 @@ OpenLayers.Format.WFS = OpenLayers.Class(OpenLayers.Format.GML, {
|
||||
*/
|
||||
update: function(feature) {
|
||||
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);
|
||||
|
||||
var propertyNode = document.createElementNS(this.wfsns, 'wfs:Property');
|
||||
var nameNode = document.createElementNS('http://www.opengis.net/wfs', 'wfs:Name');
|
||||
var propertyNode = this.createElementNS(this.wfsns, 'wfs:Property');
|
||||
var nameNode = this.createElementNS('http://www.opengis.net/wfs', 'wfs:Name');
|
||||
|
||||
var txtNode = document.createTextNode(this.geometryName);
|
||||
nameNode.appendChild(txtNode);
|
||||
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));
|
||||
|
||||
propertyNode.appendChild(valueNode);
|
||||
updateNode.appendChild(propertyNode);
|
||||
|
||||
var filterNode = document.createElementNS('http://www.opengis.net/ogc', 'ogc:Filter');
|
||||
var filterIdNode = document.createElementNS('http://www.opengis.net/ogc', 'ogc:FeatureId');
|
||||
var filterNode = this.createElementNS('http://www.opengis.net/ogc', 'ogc:Filter');
|
||||
var filterIdNode = this.createElementNS('http://www.opengis.net/ogc', 'ogc:FeatureId');
|
||||
filterIdNode.setAttribute("fid", feature.fid);
|
||||
filterNode.appendChild(filterIdNode);
|
||||
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.");
|
||||
return false;
|
||||
}
|
||||
var deleteNode = document.createElementNS(this.featureNS, 'wfs:Delete');
|
||||
var deleteNode = this.createElementNS(this.featureNS, 'wfs:Delete');
|
||||
deleteNode.setAttribute("typeName", this.layerName);
|
||||
|
||||
var filterNode = document.createElementNS('http://www.opengis.net/ogc', 'ogc:Filter');
|
||||
var filterIdNode = document.createElementNS('http://www.opengis.net/ogc', 'ogc:FeatureId');
|
||||
var filterNode = this.createElementNS('http://www.opengis.net/ogc', 'ogc:Filter');
|
||||
var filterIdNode = this.createElementNS('http://www.opengis.net/ogc', 'ogc:FeatureId');
|
||||
filterIdNode.setAttribute("fid", feature.fid);
|
||||
filterNode.appendChild(filterIdNode);
|
||||
deleteNode.appendChild(filterNode);
|
||||
|
||||
Reference in New Issue
Block a user