CSWGetRecords format additions for parsing GeoNetwork specific fields, p=fvanderbiest, r=bartvde,me (closes #2961)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@11959 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
@@ -27,13 +27,14 @@ OpenLayers.Format.CSWGetRecords.v2_0_2 = OpenLayers.Class(OpenLayers.Format.XML,
|
||||
* {Object} Mapping of namespace aliases to namespace URIs.
|
||||
*/
|
||||
namespaces: {
|
||||
xlink: "http://www.w3.org/1999/xlink",
|
||||
xsi: "http://www.w3.org/2001/XMLSchema-instance",
|
||||
csw: "http://www.opengis.net/cat/csw/2.0.2",
|
||||
dc: "http://purl.org/dc/elements/1.1/",
|
||||
dct: "http://purl.org/dc/terms/",
|
||||
geonet: "http://www.fao.org/geonetwork",
|
||||
ogc: "http://www.opengis.net/ogc",
|
||||
ows: "http://www.opengis.net/ows",
|
||||
ogc: "http://www.opengis.net/ogc"
|
||||
xlink: "http://www.w3.org/1999/xlink",
|
||||
xsi: "http://www.w3.org/2001/XMLSchema-instance"
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -233,6 +234,17 @@ OpenLayers.Format.CSWGetRecords.v2_0_2 = OpenLayers.Class(OpenLayers.Format.XML,
|
||||
var record = {type: "Record"};
|
||||
this.readChildNodes(node, record);
|
||||
obj.records.push(record);
|
||||
},
|
||||
"*": function(node, obj) {
|
||||
var name = node.localName || node.nodeName.split(":").pop();
|
||||
obj[name] = this.getChildValue(node);
|
||||
}
|
||||
},
|
||||
"geonet": {
|
||||
"info": function(node, obj) {
|
||||
var gninfo = {};
|
||||
this.readChildNodes(node, gninfo);
|
||||
obj.gninfo = gninfo;
|
||||
}
|
||||
},
|
||||
"dc": {
|
||||
|
||||
@@ -41,10 +41,10 @@
|
||||
|
||||
function test_read(t) {
|
||||
|
||||
t.plan(14);
|
||||
t.plan(16);
|
||||
|
||||
var obj = format.read(csw_response);
|
||||
|
||||
|
||||
var searchStatus = obj.SearchStatus;
|
||||
var searchResults = obj.SearchResults;
|
||||
var records = obj.records;
|
||||
@@ -72,6 +72,10 @@
|
||||
t.eq(bbox.crs, "::Lambert Azimuthal Projection", "check value for BoundingBox.crs");
|
||||
t.eq(bbox.value, [156, -3, 37, 83], "check value for record.BoundingBox");
|
||||
|
||||
// test gninfo
|
||||
testRecord = records[1];
|
||||
t.ok(testRecord.gninfo, "object contains gninfo properties");
|
||||
t.eq(testRecord.gninfo.schema, "iso19139", "check value for schema property in record.gninfo");
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
@@ -37,6 +37,10 @@ var csw_response =
|
||||
'<ows:LowerCorner>51.1 -34.6</ows:LowerCorner>' +
|
||||
'<ows:UpperCorner>-17.3 38.2</ows:UpperCorner>' +
|
||||
'</ows:BoundingBox>' +
|
||||
'<geonet:info xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gts="http://www.isotc211.org/2005/gts" xmlns:gml="http://www.opengis.net/gml">' +
|
||||
'<id>859</id>' +
|
||||
'<schema>iso19139</schema>' +
|
||||
'</geonet:info>' +
|
||||
'</csw:BriefRecord>' +
|
||||
'</csw:SearchResults>' +
|
||||
'</csw:GetRecordsResponse>'
|
||||
|
||||
Reference in New Issue
Block a user