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

Function msWCSParseRequest20_XMLGetCoverage

mapwcs20.c:741–971  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

739/************************************************************************/
740#if defined(USE_LIBXML2)
741static int msWCSParseRequest20_XMLGetCoverage(
742 xmlNodePtr root, wcs20ParamsObjPtr params)
743{
744 xmlNodePtr child;
745 int numIds = 0;
746 char *id;
747
748 XML_FOREACH_CHILD(root, child)
749 {
750 XML_LOOP_IGNORE_COMMENT_OR_TEXT(child)
751 else if (EQUAL((char *)child->name, "CoverageID"))
752 {
753 /* Node content is the coverage ID */
754 id = (char *)xmlNodeGetContent(child);
755 if (id == NULL || strlen(id) == 0)
756 {
757 msSetError(MS_WCSERR, "CoverageID could not be parsed.",
758 "msWCSParseRequest20_XMLGetCoverage()");
759 return MS_FAILURE;
760 }
761
762 /* insert coverage ID into the list */
763 ++numIds;
764 params->ids = CSLAddString(params->ids, (char *)id);
765 xmlFree(id);
766 }
767 else if (EQUAL((char *) child->name, "Format"))
768 {
769 params->format = (char *)xmlNodeGetContent(child);
770 }
771 else if (EQUAL((char *) child->name, "Mediatype"))
772 {
773 char *content = (char *)xmlNodeGetContent(child);
774 if(content != NULL && EQUAL(content, "multipart/mixed"))
775 {
776 params->multipart = MS_TRUE;
777 }
778 xmlFree(content);
779 }
780 else if (EQUAL((char *) child->name, "DimensionTrim"))
781 {
782 wcs20AxisObjPtr axis = NULL;
783 wcs20SubsetObjPtr subset = NULL;
784 xmlNodePtr node = NULL;
785 char *axisName = NULL, *min = NULL, *max = NULL, *crs = NULL;
786
787 /* get strings for axis, min and max */
788 XML_FOREACH_CHILD(child, node)
789 {
790 XML_LOOP_IGNORE_COMMENT_OR_TEXT(node)
791 else if (EQUAL((char *)node->name, "Dimension"))
792 {
793 if (axisName != NULL)
794 {
795 msSetError(MS_WCSERR,
796 "Parameter 'Dimension' is already set.",
797 "msWCSParseRequest20_XMLGetCoverage()");
798 return MS_FAILURE;

Callers 1

msWCSParseRequest20Function · 0.85

Calls 11

msSetErrorFunction · 0.85
msFreeFunction · 0.85
msWCSCreateSubsetObj20Function · 0.85
msStrdupFunction · 0.85
msWCSParseSubset20Function · 0.85
msWCSFreeSubsetObj20Function · 0.85
msWCSFindAxis20Function · 0.85
msWCSCreateAxisObj20Function · 0.85
msWCSInsertAxisObj20Function · 0.85
msStringParseIntegerFunction · 0.85
msStringParseDoubleFunction · 0.85

Tested by

no test coverage detected