From 990d6afd28c33c984ab145286e783d7c59ac9138 Mon Sep 17 00:00:00 2001 From: bchartier Date: Mon, 2 Mar 2020 12:12:26 +0100 Subject: [PATCH] fix metadata links: use format item instead of type attribute to distinguish html and xml metadata documents --- lib/ogc.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/lib/ogc.js b/lib/ogc.js index e8781db8..0592e6ac 100755 --- a/lib/ogc.js +++ b/lib/ogc.js @@ -231,6 +231,8 @@ var ogc = (function () { var layer = {}; var previousParentLayerId = parentLayerId; var previousParentExtTitle = parentExtTitle; + var metadataUrlItemHtml; + var metadataUrlItemXml; layer.abstract = $(l).find('Abstract').text(); layer.wms = _getWmsUrlFromGetCapabilitiesUrl( @@ -245,8 +247,14 @@ var ogc = (function () { layer.extTitle = layer.title; } layer.attribution = $(l).find("Attribution Title").text(); - layer.metadata = $(l).find('MetadataURL[type="TC211"]>OnlineResource').attr("xlink\:href"); - layer['metadata-csw'] = $(l).find('MetadataURL[type="ISO19115\:2003"]>OnlineResource').attr("xlink\:href"); + + // Get url of human readable metadata document + metadataUrlItemHtml = $(l).find("MetadataURL Format").filter(function () { return $(this).html() == "text/html"; }).parent().first(); + layer['metadata'] = metadataUrlItemHtml.find('OnlineResource').attr("xlink\:href"); + + // Get url of raw metadata document + metadataUrlItemXml = $(l).find("MetadataURL Format").filter(function () { return $.inArray($(this).html(), [ "text/xml", "text/plain" ]) > -1; }).parent().first(); + layer['metadata-csw'] = metadataUrlItemXml.find('OnlineResource').attr("xlink\:href"); // Filter layers with regard to the provided keyword if (keyword) {