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

Function msOWSCommonExceptionReport

mapowscommon.c:438–487  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

436 */
437
438xmlNodePtr msOWSCommonExceptionReport(xmlNsPtr psNsOws, int ows_version, const char *schemas_location, const char *version, const char *language, const char *exceptionCode, const char *locator, const char *ExceptionText) {
439 char *xsi_schemaLocation = NULL;
440 char szVersionBuf[OWS_VERSION_MAXLEN];
441
442 xmlNsPtr psNsXsi = NULL;
443 xmlNodePtr psRootNode = NULL;
444 xmlNodePtr psMainNode = NULL;
445 xmlNodePtr psNode = NULL;
446
447 psRootNode = xmlNewNode(psNsOws, BAD_CAST "ExceptionReport");
448
449 psNsXsi = xmlNewNs(psRootNode, BAD_CAST MS_OWSCOMMON_W3C_XSI_NAMESPACE_URI, BAD_CAST MS_OWSCOMMON_W3C_XSI_NAMESPACE_PREFIX);
450
451 /* add attributes to root element */
452 xmlNewProp(psRootNode, BAD_CAST "version", BAD_CAST version);
453
454 if (ows_version == OWS_1_0_0) {
455 xmlNewProp(psRootNode, BAD_CAST "language", BAD_CAST language);
456 }
457 if (ows_version == OWS_1_1_0) {
458 xmlNewProp(psRootNode, BAD_CAST "xml:lang", BAD_CAST language);
459 }
460
461 xsi_schemaLocation = msStrdup((char *)psNsOws->href);
462 xsi_schemaLocation = msStringConcatenate(xsi_schemaLocation, " ");
463 xsi_schemaLocation = msStringConcatenate(xsi_schemaLocation, (char *)schemas_location);
464 xsi_schemaLocation = msStringConcatenate(xsi_schemaLocation, "/ows/");
465 xsi_schemaLocation = msStringConcatenate(xsi_schemaLocation, (char *)msOWSGetVersionString(ows_version, szVersionBuf));
466 xsi_schemaLocation = msStringConcatenate(xsi_schemaLocation, "/owsExceptionReport.xsd");
467
468 /* add namespace'd attributes to root element */
469 xmlNewNsProp(psRootNode, psNsXsi, BAD_CAST "schemaLocation", BAD_CAST xsi_schemaLocation);
470
471 /* add child element */
472 psMainNode = xmlNewChild(psRootNode, NULL, BAD_CAST "Exception", NULL);
473
474 /* add attributes to child */
475 xmlNewProp(psMainNode, BAD_CAST "exceptionCode", BAD_CAST exceptionCode);
476
477 if (locator != NULL) {
478 xmlNewProp(psMainNode, BAD_CAST "locator", BAD_CAST locator);
479 }
480
481 if (ExceptionText != NULL) {
482 psNode = xmlNewChild(psMainNode, NULL, BAD_CAST "ExceptionText", BAD_CAST ExceptionText);
483 }
484
485 free(xsi_schemaLocation);
486 return psRootNode;
487}
488
489/**
490 * msOWSCommonBoundingBox()

Callers 3

msWFSException11Function · 0.85
msWCSException11Function · 0.85
msSOSExceptionFunction · 0.85

Calls 3

msStrdupFunction · 0.85
msStringConcatenateFunction · 0.85
msOWSGetVersionStringFunction · 0.85

Tested by

no test coverage detected