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

Function msSOSGetCapabilities

mapogcsos.c:1184–1799  ·  view source on GitHub ↗

/ msSOSGetCapabilities */ / getCapabilities request handler. */ /

Source from the content-addressed store, hash-verified

1182/* getCapabilities request handler. */
1183/************************************************************************/
1184int msSOSGetCapabilities(mapObj *map, sosParamsObj *sosparams, cgiRequestObj *req, owsRequestObj *ows_request) {
1185 xmlDocPtr psDoc = NULL; /* document pointer */
1186 xmlNodePtr psRootNode, psMainNode, psNode;
1187 xmlNodePtr psOfferingNode;
1188 xmlNodePtr psTmpNode;
1189
1190 char *schemalocation = NULL;
1191 char *xsi_schemaLocation = NULL;
1192 char *script_url=NULL;
1193 const char *updatesequence=NULL;
1194 const char *encoding;
1195
1196 int i,j,k;
1197 layerObj *lp = NULL, *lpTmp = NULL;
1198 const char *value = NULL;
1199 char *pszTmp = NULL;
1200 char *pszProcedure = NULL;
1201 char szTmp[256];
1202
1203 /* array of offering */
1204 char **papsOfferings = NULL;
1205 int nOfferings =0, nCurrentOff = -1;
1206 int nProperties = 0;
1207 char **papszProperties = NULL;
1208
1209 int iItemPosition = -1;
1210 shapeObj sShape;
1211 int status;
1212
1213 /* for each layer it indicates the indice to be used in papsOfferings
1214 (to associate it with the offering) */
1215 int *panOfferingLayers = NULL;
1216
1217 char **papsProcedures = NULL;
1218 int nDistinctProcedures =0;
1219
1220 xmlNsPtr psNsGml = NULL;
1221 xmlNsPtr psNsSos = NULL;
1222 xmlNsPtr psNsOws = NULL;
1223 xmlNsPtr psNsOgc = NULL;
1224 xmlNsPtr psNsXLink = NULL;
1225 xmlNsPtr psNsSwe = NULL;
1226
1227 xmlChar *buffer = NULL;
1228 int size = 0;
1229 msIOContext *context = NULL;
1230
1231 int ows_version = OWS_1_1_0;
1232
1233 int sosSupportedVersions[] = {OWS_1_0_0};
1234 int sosNumSupportedVersions = 1;
1235
1236 /* acceptversions: do OWS Common style of version negotiation */
1237 if (sosparams->pszAcceptVersions) {
1238 char **tokens;
1239 int i, j, k=-1;
1240
1241 tokens = msStringSplit(sosparams->pszAcceptVersions, ',', &j);

Callers 1

msSOSDispatchFunction · 0.85

Calls 15

msStringSplitFunction · 0.85
msOWSParseVersionStringFunction · 0.85
msSetErrorFunction · 0.85
msFreeCharArrayFunction · 0.85
msSOSExceptionFunction · 0.85
msOWSLookupMetadataFunction · 0.85
msEncodeHTMLEntitiesFunction · 0.85
msOWSGetSchemasLocationFunction · 0.85
msStrdupFunction · 0.85
msStringConcatenateFunction · 0.85

Tested by

no test coverage detected