[gdal-dev] GML driver - gml:xlink resolving - just embedding?

Even Rouault even.rouault at spatialys.com
Tue Nov 15 04:26:56 PST 2022


Johannes,

> Does resolving of xlink:href by the GML driver (when 
> GML_SKIP_RESOLVE_ELEMS is used, i.e., set to NONE or HUGE) simply mean 
> that the referenced resource is copied into the XML element that 
> contains the xlink:href XML attribute? Tests seem to support this, but 
> I’d really like to double-check on this list.
>
Yes, that's my recollection of how it works.
>
> My somewhat naive assumption was that if the reference pointed to 
> another GML object, then that would be recognized somehow (though the 
> exact “how” is probably the issue; document-internal reference via 
> @gml:id could work, but not an external reference), and duplication of 
> objects avoided. The resolving also seems to remove the xlink:href 
> attributes for resolved references, and the gml:id attributes on the 
> elements that are copied into the main GML file. That, in fact, 
> creates duplicate objects in my test case.
>
Complex GML is a pain to deal with and the "classic" GML driver is close 
its maximum potential. I believe the GML_SKIP_RESOLVE_ELEMS feature was 
mostly used to deal with geometry elements (like part of a boundary 
being used in different geometries, in particular use of GML topology 
elements), for which the current copy&paste strategy is fine to 
reconstruct a simple feature geometry. When xlink:href points at 
objects/features, then the ideal strategy is indeed much harder to define.

For anything advanced, using GMLAS 
(https://gdal.org/drivers/vector/gmlas.html#vector-gmlas) is suggested. 
I won't say recommended to avoid people complaining that  it goes to the 
other extreme of returning an output that is (supposed to be) fully 
lossless regarding the original content but hard to comprehend.

Even

-- 
http://www.spatialys.com
My software is free, but my time generally not.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20221115/7ca956b3/attachment.htm>


More information about the gdal-dev mailing list