Reading and writing the 'escapeChar' attribute for Filter Encoding 1.1.0. r=ahocevar (closes #2301)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9732 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
@@ -156,17 +156,6 @@ OpenLayers.Format.Filter.v1 = OpenLayers.Class(OpenLayers.Format.XML, {
|
||||
this.readChildNodes(node, filter);
|
||||
obj.filters.push(filter);
|
||||
},
|
||||
"PropertyIsLike": function(node, obj) {
|
||||
var filter = new OpenLayers.Filter.Comparison({
|
||||
type: OpenLayers.Filter.Comparison.LIKE
|
||||
});
|
||||
this.readChildNodes(node, filter);
|
||||
var wildCard = node.getAttribute("wildCard");
|
||||
var singleChar = node.getAttribute("singleChar");
|
||||
var esc = node.getAttribute("escape");
|
||||
filter.value2regex(wildCard, singleChar, esc);
|
||||
obj.filters.push(filter);
|
||||
},
|
||||
"Literal": function(node, obj) {
|
||||
obj.value = OpenLayers.String.numericIf(
|
||||
this.getChildValue(node));
|
||||
@@ -348,18 +337,6 @@ OpenLayers.Format.Filter.v1 = OpenLayers.Class(OpenLayers.Format.XML, {
|
||||
this.writeNode("UpperBoundary", filter, node);
|
||||
return node;
|
||||
},
|
||||
"PropertyIsLike": function(filter) {
|
||||
var node = this.createElementNSPlus("ogc:PropertyIsLike", {
|
||||
attributes: {
|
||||
wildCard: "*", singleChar: ".", escape: "!"
|
||||
}
|
||||
});
|
||||
// no ogc:expression handling for now
|
||||
this.writeNode("PropertyName", filter, node);
|
||||
// convert regex string to ogc string
|
||||
this.writeNode("Literal", filter.regex2value(), node);
|
||||
return node;
|
||||
},
|
||||
"PropertyName": function(filter) {
|
||||
// no ogc:expression handling for now
|
||||
return this.createElementNSPlus("ogc:PropertyName", {
|
||||
|
||||
@@ -68,6 +68,17 @@ OpenLayers.Format.Filter.v1_0_0 = OpenLayers.Class(
|
||||
});
|
||||
this.readChildNodes(node, filter);
|
||||
obj.filters.push(filter);
|
||||
},
|
||||
"PropertyIsLike": function(node, obj) {
|
||||
var filter = new OpenLayers.Filter.Comparison({
|
||||
type: OpenLayers.Filter.Comparison.LIKE
|
||||
});
|
||||
this.readChildNodes(node, filter);
|
||||
var wildCard = node.getAttribute("wildCard");
|
||||
var singleChar = node.getAttribute("singleChar");
|
||||
var esc = node.getAttribute("escape");
|
||||
filter.value2regex(wildCard, singleChar, esc);
|
||||
obj.filters.push(filter);
|
||||
}
|
||||
}, OpenLayers.Format.Filter.v1.prototype.readers["ogc"]),
|
||||
"gml": OpenLayers.Format.GML.v2.prototype.readers["gml"],
|
||||
@@ -96,6 +107,18 @@ OpenLayers.Format.Filter.v1_0_0 = OpenLayers.Class(
|
||||
this.writeNode("Literal", filter.value, node);
|
||||
return node;
|
||||
},
|
||||
"PropertyIsLike": function(filter) {
|
||||
var node = this.createElementNSPlus("ogc:PropertyIsLike", {
|
||||
attributes: {
|
||||
wildCard: "*", singleChar: ".", escape: "!"
|
||||
}
|
||||
});
|
||||
// no ogc:expression handling for now
|
||||
this.writeNode("PropertyName", filter, node);
|
||||
// convert regex string to ogc string
|
||||
this.writeNode("Literal", filter.regex2value(), node);
|
||||
return node;
|
||||
},
|
||||
"BBOX": function(filter) {
|
||||
var node = this.createElementNSPlus("ogc:BBOX");
|
||||
this.writeNode("PropertyName", filter, node);
|
||||
|
||||
@@ -78,6 +78,17 @@ OpenLayers.Format.Filter.v1_1_0 = OpenLayers.Class(
|
||||
});
|
||||
this.readChildNodes(node, filter);
|
||||
obj.filters.push(filter);
|
||||
},
|
||||
"PropertyIsLike": function(node, obj) {
|
||||
var filter = new OpenLayers.Filter.Comparison({
|
||||
type: OpenLayers.Filter.Comparison.LIKE
|
||||
});
|
||||
this.readChildNodes(node, filter);
|
||||
var wildCard = node.getAttribute("wildCard");
|
||||
var singleChar = node.getAttribute("singleChar");
|
||||
var esc = node.getAttribute("escapeChar");
|
||||
filter.value2regex(wildCard, singleChar, esc);
|
||||
obj.filters.push(filter);
|
||||
}
|
||||
}, OpenLayers.Format.Filter.v1.prototype.readers["ogc"]),
|
||||
"gml": OpenLayers.Format.GML.v3.prototype.readers["gml"],
|
||||
@@ -110,6 +121,18 @@ OpenLayers.Format.Filter.v1_1_0 = OpenLayers.Class(
|
||||
this.writeNode("Literal", filter.value, node);
|
||||
return node;
|
||||
},
|
||||
"PropertyIsLike": function(filter) {
|
||||
var node = this.createElementNSPlus("ogc:PropertyIsLike", {
|
||||
attributes: {
|
||||
wildCard: "*", singleChar: ".", escapeChar: "!"
|
||||
}
|
||||
});
|
||||
// no ogc:expression handling for now
|
||||
this.writeNode("PropertyName", filter, node);
|
||||
// convert regex string to ogc string
|
||||
this.writeNode("Literal", filter.regex2value(), node);
|
||||
return node;
|
||||
},
|
||||
"BBOX": function(filter) {
|
||||
var node = this.createElementNSPlus("ogc:BBOX");
|
||||
this.writeNode("PropertyName", filter, node);
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
'<ogc:Literal>1065512599</ogc:Literal>' +
|
||||
'</ogc:UpperBoundary>' +
|
||||
'</ogc:PropertyIsBetween>' +
|
||||
'<ogc:PropertyIsLike wildCard="*" singleChar="." escape="!">' +
|
||||
'<ogc:PropertyIsLike wildCard="*" singleChar="." escapeChar="!">' +
|
||||
'<ogc:PropertyName>cat</ogc:PropertyName>' +
|
||||
'<ogc:Literal>*dog.food!*good</ogc:Literal>' +
|
||||
'</ogc:PropertyIsLike>' +
|
||||
|
||||
Reference in New Issue
Block a user