diff --git a/lib/OpenLayers/Format/WMSCapabilities/v1.js b/lib/OpenLayers/Format/WMSCapabilities/v1.js index 9c7add8019..c200819122 100644 --- a/lib/OpenLayers/Format/WMSCapabilities/v1.js +++ b/lib/OpenLayers/Format/WMSCapabilities/v1.js @@ -345,6 +345,12 @@ OpenLayers.Format.WMSCapabilities.v1 = OpenLayers.Class( }; obj.nestedLayers.push(layer); this.readChildNodes(node, layer); + if(layer.name) { + var parts = layer.name.split(":"); + if(parts.length > 0) { + layer.prefix = parts[0]; + } + } }, "Attribution": function(node, obj) { obj.attribution = {}; diff --git a/tests/Format/WMSCapabilities/v1_1_1.html b/tests/Format/WMSCapabilities/v1_1_1.html index df030269d5..0c409275ab 100644 --- a/tests/Format/WMSCapabilities/v1_1_1.html +++ b/tests/Format/WMSCapabilities/v1_1_1.html @@ -5,7 +5,7 @@ function test_read(t) { - t.plan(14); + t.plan(15); var xml = document.getElementById("gssample").firstChild.nodeValue; var doc = new OpenLayers.Format.XML().read(xml); @@ -28,6 +28,7 @@ var layer = capability.layers[2]; t.eq(layer.name, "tiger:tiger_roads", "[2] correct layer name"); + t.eq(layer.prefix, "tiger", "[2] correct layer prefix"); t.eq(layer.title, "Manhattan (NY) roads", "[2] correct layer title"); t.eq( layer["abstract"],