PostGIS  3.7.0dev-r@@SVN_REVISION@@

◆ gmlGetProp()

static xmlChar* gmlGetProp ( xmlNodePtr  xnode,
const char *  charProp 
)
static

Retrieve a GML property from a node or NULL otherwise Respect namespaces if presents in the node element.

Definition at line 197 of file lwgeom_in_gml.c.

198 {
199  xmlChar *value;
200  xmlChar *prop = (xmlChar*)charProp;
201 
202  if (!is_gml_namespace(xnode, true))
203  return xmlGetProp(xnode, prop);
204  /*
205  * Handle namespaces:
206  * - http://www.opengis.net/gml (GML 3.1.1 and priors)
207  * - http://www.opengis.net/gml/3.2 (GML 3.2.1)
208  */
209  value = xmlGetNsProp(xnode, prop, (xmlChar *) GML_NS);
210  if (value == NULL) value = xmlGetNsProp(xnode, prop, (xmlChar *) GML32_NS);
211 
212  /* In last case try without explicit namespace */
213  if (value == NULL) value = xmlGetNoNsProp(xnode, prop);
214 
215  return value;
216 }
#define GML_NS
Definition: lwgeom_in_gml.c:76
#define GML32_NS
Definition: lwgeom_in_gml.c:77
static bool is_gml_namespace(xmlNodePtr xnode, bool is_strict)
Return false if current element namespace is not a GML one Return true otherwise.
int value
Definition: genraster.py:62

References GML32_NS, GML_NS, is_gml_namespace(), and genraster::value.

Referenced by get_xlink_node(), parse_gml_coordinates(), parse_gml_curve(), parse_gml_patch(), parse_gml_pos(), parse_gml_poslist(), parse_gml_srs(), and parse_gml_triangle().

Here is the call graph for this function:
Here is the caller graph for this function: