[gdal-dev] Re: Different result from GML with .xsd and .gfs

Jukka Rahkonen jukka.rahkonen at mmmtike.fi
Sun Jan 22 07:18:03 EST 2012


Even Rouault <even.rouault <at> mines-paris.org> writes:

...
> 
> Yes, this is due to the XML mini parser directly integrated to GDAL that is 
> used to parse the .xsd. It doesn't understand the XML encoding header, so 
> assumes the content to be always utf-8.
> 
> As suggested by someone in a previous related bost, you'd better use iconv 
> instead of editing the files.
> 
> 1) ogr2ogr -f GML testi.gml m_asalue.tab
> 2) iconv -f iso-8859-1 -t utf-8 < testi.gml > testi_utf8.gml
> 3) iconv -f iso-8859-1 -t utf-8 < testi.xsd > testi_utf8.xsd
> 4) ogr2ogr -f SQLite -dsco spatialite=yes -a_srs epsg:2392 test.sqlite 
> testi_utf8.gml

Perhaps worth mentioning this in the GML driver document? Now it gives a feeling
that encoding support is general for both .gml and .xsd.

Encoding issues
Expat library supports reading the following built-in encodings :

    US-ASCII
    UTF-8
    UTF-16
    ISO-8859-1

How about adding something like:
" However, the .xsd schema files are parsed with the integrated minidriver which
does not understand different XML encodings. It expects encoding to be always
utf-8. If attribute names in the schema file contains non-ascii characters it is
better to use external iconv utility and convert both the .gml and .xsd file
into utf-8 encoding first. "

-Jukka Rahkonen-






More information about the gdal-dev mailing list