| 2914 | /************************************************************************/ |
| 2915 | |
| 2916 | static 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() */ |
no test coverage detected