CDS-VRN / CDS-BIJ12

Centrale Data Services - Voortgangsrapportage Natuur
http://www.geodan.nl
2 stars 0 forks source link

Parsen gml met foute statusInrichting lukt niet #65

Closed martijnsenden closed 9 years ago

martijnsenden commented 9 years ago

Testomgeving; 2.0-vrn-0.1

Als je een gml probeert te valideren met een waarde voor statusInrichting die niet voorkomt in de bijbehorende codelijst (Bronhouder Drenthe, Thema ProvinciaalGebiedInrichting), dan krijg je de volgende foutmelding:

Fout bij parsen Features. Oorzaak: XMLParsingException: Error in XML document (line: 35, column: 4, character offset: 1654): Property "{http://www.cds.nl/imna/all}bronHouder" is mandatory in features of type "{http://www.cds.nl/imna/all}GebiedAll", but is missing (or at the wrong position).

Dit is vreemd. Het element bronHouder komt gewoon voor en staat op de juiste plek in de gml. Wat doet de parser verkeerd? Je zou verwachten dat de parser niets anders doet bij een verkeerde waarde voor het veld statusInrichting, maar kennelijk heeft het toch invloed?

Dit gebeurt ook bij de attributen (met foute waarde):

martijnsenden commented 9 years ago

Bijvoorbeeld: http://ftp.geodan.nl/vrn/data/test/attributen/test-alle-attributen-(in-drenthe)-013-statusinrichting-fout.gml;http://ftp.geodan.nl/vrn/data/test/attributen/imna_vrn_all.xsd;GebiedAll

stefanvanwouw commented 9 years ago

@martijnsenden , ik heb het uitgezocht en het blijkt dat de GMLFeatureReader (onderdeel van Deegree) die gebruikt wordt, er niet tegen kan als je elementen in de XML/GML in een andere volgorde opgeeft dan de volgorde in de XSD. Hier kunnen we weinig aan veranderen, tenzij we de hele gml reader zelf implementeren.

Ik zag echter dat de FME/arcgis pakketten waarvan we data aangelever hebben gekregen deze volgorde aanhouden, dus er zou geen probleem moeten zijn.

Zie voor een werkende versie: http://ftp.geodan.nl/vrn/data/test/attributen/test-alle-attributen-(in-drenthe)-013-statusinrichting-fout-ordered.gml;http://ftp.geodan.nl/vrn/data/test/attributen/imna_vrn_all.xsd;GebiedAll