Parse gml:coord.
723{
724 xmlNodePtr xyz;
727 xmlChar *c;
729
730
732
734 for (xyz = xnode->children ; xyz != NULL ; xyz = xyz->next)
735 {
736 if (xyz->type != XML_ELEMENT_NODE) continue;
738
740 {
742 c = xmlNodeGetContent(xyz);
745 xmlFree(c);
746 }
748 {
750 c = xmlNodeGetContent(xyz);
753 xmlFree(c);
754 }
756 {
758 c = xmlNodeGetContent(xyz);
760 z = true;
761 xmlFree(c);
762 }
763 }
764
765 if (!x || !y)
gml_lwpgerror(
"invalid GML representation", 24);
766 if (!z) *hasz = false;
767
769
770 return dpa;
771}
POINTARRAY * ptarray_construct_empty(char hasz, char hasm, uint32_t maxpoints)
Create a new POINTARRAY with no points.
int ptarray_append_point(POINTARRAY *pa, const POINT4D *pt, int allow_duplicates)
Append a point to the end of an existing POINTARRAY If allow_duplicate is LW_FALSE,...
static double parse_gml_double(char *d, bool space_before, bool space_after)
Parse a string supposed to be a double.
static bool is_gml_namespace(xmlNodePtr xnode, bool is_strict)
Return false if current element namespace is not a GML one Return true otherwise.
static void gml_lwpgerror(char *msg, __attribute__((__unused__)) int error_code)
static bool is_gml_element(xmlNodePtr xn, const char *gml_name)