do not hard-code the namespaceURIs multiple times

This commit is contained in:
Bart van den Eijnden
2013-10-14 16:08:50 +02:00
committed by Bart van den Eijnden
parent 429a2e455b
commit 01c9448c3c
+12 -13
View File
@@ -23,8 +23,8 @@ goog.require('ol.style.Text');
*/
ol.parser.ogc.SLD_v1 = function() {
this.defaultNamespaceURI = 'http://www.opengis.net/sld';
this.readers = {
'http://www.opengis.net/sld': {
this.readers = {};
this.readers[this.defaultNamespaceURI] = {
'StyledLayerDescriptor': function(node, sld) {
sld.version = node.getAttribute('version');
this.readChildNodes(node, sld);
@@ -93,7 +93,7 @@ ol.parser.ogc.SLD_v1 = function() {
);
},
'Label': function(node, symbolizer) {
var ogcreaders = this.readers['http://www.opengis.net/ogc'];
var ogcreaders = this.readers[this.filter_.defaultNamespaceURI];
var value = ogcreaders._expression.call(this, node);
if (value) {
symbolizer.text = value;
@@ -115,7 +115,7 @@ ol.parser.ogc.SLD_v1 = function() {
});
},
'Radius': function(node, symbolizer) {
var ogcreaders = this.readers['http://www.opengis.net/ogc'];
var ogcreaders = this.readers[this.filter_.defaultNamespaceURI];
var radius = ogcreaders._expression.call(this, node);
goog.asserts.assertInstanceof(radius, ol.expr.Literal,
'radius expected to be an ol.expr.Literal');
@@ -217,7 +217,7 @@ ol.parser.ogc.SLD_v1 = function() {
var cssProperty = node.getAttribute('name');
var symProperty = ol.parser.ogc.SLD_v1.cssMap_[cssProperty];
if (symProperty) {
var ogcreaders = this.readers['http://www.opengis.net/ogc'];
var ogcreaders = this.readers[this.filter_.defaultNamespaceURI];
symbolizer[symProperty] = ogcreaders._expression.call(this, node);
}
},
@@ -264,15 +264,15 @@ ol.parser.ogc.SLD_v1 = function() {
graphic.graphicName = this.getChildValue(node);
},
'Opacity': function(node, obj) {
var ogcreaders = this.readers['http://www.opengis.net/ogc'];
var ogcreaders = this.readers[this.filter_.defaultNamespaceURI];
obj.opacity = ogcreaders._expression.call(this, node);
},
'Size': function(node, obj) {
var ogcreaders = this.readers['http://www.opengis.net/ogc'];
var ogcreaders = this.readers[this.filter_.defaultNamespaceURI];
obj.size = ogcreaders._expression.call(this, node);
},
'Rotation': function(node, obj) {
var ogcreaders = this.readers['http://www.opengis.net/ogc'];
var ogcreaders = this.readers[this.filter_.defaultNamespaceURI];
obj.rotation = ogcreaders._expression.call(this, node);
},
'OnlineResource': function(node, obj) {
@@ -283,10 +283,9 @@ ol.parser.ogc.SLD_v1 = function() {
'Format': function(node, graphic) {
graphic.graphicFormat = this.getChildValue(node);
}
}
};
this.writers = {
'http://www.opengis.net/sld': {
this.writers = {};
this.writers[this.defaultNamespaceURI] = {
'StyledLayerDescriptor': function(sld) {
var node = this.createElementNS('sld:StyledLayerDescriptor');
node.setAttribute('version', this.version);
@@ -380,7 +379,8 @@ ol.parser.ogc.SLD_v1 = function() {
if (rule.elseFilter === true) {
this.writeNode('ElseFilter', null, null, node);
} else if (filter) {
this.writeNode('Filter', filter, 'http://www.opengis.net/ogc', node);
this.writeNode('Filter', filter, this.filter_.defaultNamespaceURI,
node);
}
var minResolution = rule.getMinResolution();
if (minResolution > 0) {
@@ -585,7 +585,6 @@ ol.parser.ogc.SLD_v1 = function() {
this.filter_.writeOgcExpression(value, node);
return node;
}
}
};
this.filter_ = new ol.parser.ogc.Filter_v1_0_0();
for (var uri in this.filter_.readers) {