Skip to content

Commit

Permalink
Added coverage specific metadata in Capabilities responses using the …
Browse files Browse the repository at this point in the history
…'metadatalink_href', 'metadatalink_type' and 'metadatalink_format' entries. See issue #4306.
  • Loading branch information
constantinius committed May 3, 2012
1 parent 94ccfcd commit d0f3eb4
Showing 1 changed file with 24 additions and 1 deletion.
25 changes: 24 additions & 1 deletion mapwcs20.c
Expand Up @@ -2932,9 +2932,13 @@ static int msWCSGetCapabilities20_CoverageSummary(
{
wcs20coverageMetadataObj cm;
int status;
xmlNodePtr psCSummary;
xmlNodePtr psCSummary, psMetadata;
const char *metadatalink_href = msOWSLookupMetadata(&(layer->metadata), "CO", "metadatalink_href");


xmlNsPtr psWcsNs = xmlSearchNs( doc, xmlDocGetRootElement(doc), BAD_CAST "wcs" );
xmlNsPtr psOwsNs = xmlSearchNs( doc, xmlDocGetRootElement(doc), BAD_CAST "ows" );
xmlNsPtr psXlinkNs = xmlSearchNs( doc, xmlDocGetRootElement(doc), BAD_CAST "xlink" );

status = msWCSGetCoverageMetadata20(layer, &cm);
if(status != MS_SUCCESS) return MS_FAILURE;
Expand All @@ -2943,6 +2947,25 @@ static int msWCSGetCapabilities20_CoverageSummary(
xmlNewChild(psCSummary, psWcsNs, BAD_CAST "CoverageId", BAD_CAST layer->name);
xmlNewChild(psCSummary, psWcsNs, BAD_CAST "CoverageSubtype", BAD_CAST "RectifiedGridCoverage");

/* Add references to additional coverage metadata */
if (metadatalink_href != NULL)
{
const char *metadatalink_type = msOWSLookupMetadata(&(layer->metadata), "CO", "metadatalink_type");
const char *metadatalink_format = msOWSLookupMetadata(&(layer->metadata), "CO", "metadatalink_format");

psMetadata = xmlNewChild(psCSummary, psOwsNs, BAD_CAST "Metadata", NULL);
xmlNewNsProp(psMetadata, psXlinkNs, BAD_CAST "type", BAD_CAST "simple");
xmlNewNsProp(psMetadata, psXlinkNs, BAD_CAST "href", BAD_CAST metadatalink_href);
if (metadatalink_type != NULL)
{
xmlNewProp(psMetadata, BAD_CAST "about", BAD_CAST metadatalink_type);
}
if (metadatalink_format != NULL)
{
xmlNewNsProp(psMetadata, psXlinkNs, BAD_CAST "role", BAD_CAST metadatalink_format);
}
}

msWCSClearCoverageMetadata20(&cm);

return MS_SUCCESS;
Expand Down

0 comments on commit d0f3eb4

Please sign in to comment.