MCPcopy Index your code
hub / github.com/MapServer/MapServer / msWCSGetCapabilities20_CoverageSummary

Function msWCSGetCapabilities20_CoverageSummary

mapwcs20.c:2916–2959  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2914/************************************************************************/
2915
2916static int msWCSGetCapabilities20_CoverageSummary(
2917 mapObj *map, wcs20ParamsObjPtr params,
2918 xmlDocPtr doc, xmlNodePtr psContents, layerObj *layer )
2919{
2920 wcs20coverageMetadataObj cm;
2921 int status;
2922 xmlNodePtr psCSummary, psMetadata;
2923 const char *metadatalink_href = msOWSLookupMetadata(&(layer->metadata), "CO", "metadatalink_href");
2924
2925
2926 xmlNsPtr psWcsNs = xmlSearchNs( doc, xmlDocGetRootElement(doc), BAD_CAST "wcs" );
2927 xmlNsPtr psOwsNs = xmlSearchNs( doc, xmlDocGetRootElement(doc), BAD_CAST "ows" );
2928 xmlNsPtr psXlinkNs = xmlSearchNs( doc, xmlDocGetRootElement(doc), BAD_CAST "xlink" );
2929
2930 status = msWCSGetCoverageMetadata20(layer, &cm);
2931 if(status != MS_SUCCESS) return MS_FAILURE;
2932
2933 psCSummary = xmlNewChild( psContents, psWcsNs, BAD_CAST "CoverageSummary", NULL );
2934 xmlNewChild(psCSummary, psWcsNs, BAD_CAST "CoverageId", BAD_CAST layer->name);
2935 xmlNewChild(psCSummary, psWcsNs, BAD_CAST "CoverageSubtype", BAD_CAST "RectifiedGridCoverage");
2936
2937 /* Add references to additional coverage metadata */
2938 if (metadatalink_href != NULL)
2939 {
2940 const char *metadatalink_type = msOWSLookupMetadata(&(layer->metadata), "CO", "metadatalink_type");
2941 const char *metadatalink_format = msOWSLookupMetadata(&(layer->metadata), "CO", "metadatalink_format");
2942
2943 psMetadata = xmlNewChild(psCSummary, psOwsNs, BAD_CAST "Metadata", NULL);
2944 xmlNewNsProp(psMetadata, psXlinkNs, BAD_CAST "type", BAD_CAST "simple");
2945 xmlNewNsProp(psMetadata, psXlinkNs, BAD_CAST "href", BAD_CAST metadatalink_href);
2946 if (metadatalink_type != NULL)
2947 {
2948 xmlNewProp(psMetadata, BAD_CAST "about", BAD_CAST metadatalink_type);
2949 }
2950 if (metadatalink_format != NULL)
2951 {
2952 xmlNewNsProp(psMetadata, psXlinkNs, BAD_CAST "role", BAD_CAST metadatalink_format);
2953 }
2954 }
2955
2956 msWCSClearCoverageMetadata20(&cm);
2957
2958 return MS_SUCCESS;
2959}
2960
2961/************************************************************************/
2962/* msWCSGetCapabilities20() */

Callers 1

msWCSGetCapabilities20Function · 0.85

Calls 3

msOWSLookupMetadataFunction · 0.85

Tested by

no test coverage detected