claeis / ilivalidator

INTERLIS validator
14 stars 20 forks source link

Verhalten Constraint-Auswertung bei OID (UUID) mit Grossbuchstaben #416

Open edigonzales opened 1 month ago

edigonzales commented 1 month ago

Sounds weird:

Unsere eigenen Testdatensätze vom Nachführungsgeometer melden viele Fehler beim Constraint CH042402:


    CONSTRAINTS OF Grundstueck =
      MANDATORY CONSTRAINT CH042401: DEFINED(Gesamtflaechenmass) ==
        ((INTERLIS.objectCount(Liegenschaft) + INTERLIS.objectCount(SelbstaendigesDauerndesRecht) +
            INTERLIS.objectCount(Bergwerk))>1);
      MANDATORY CONSTRAINT CH042402:
        (INTERLIS.objectCount(Liegenschaft)>0 AND INTERLIS.objectCount(SelbstaendigesDauerndesRecht)==0 AND INTERLIS.objectCount(Bergwerk)==0)
        OR (INTERLIS.objectCount(Liegenschaft)==0 AND INTERLIS.objectCount(SelbstaendigesDauerndesRecht)>0 AND INTERLIS.objectCount(Bergwerk)==0)
        OR (INTERLIS.objectCount(Liegenschaft)==0 AND INTERLIS.objectCount(SelbstaendigesDauerndesRecht)==0 AND INTERLIS.objectCount(Bergwerk)>0);
    END;

Mich dünken aber die Daten soweit i.O. Ich habe einen Minimaldatensatz mit einem Grundstück und einer Liegenschaft gemacht. Der Constraint ist m.E. erfüllt. Es wird aber weiterhin ein Fehler gemeldet. Einen Minimaldatensatz habe ich auch mit dem offiziellen Testdatensatz gemacht. Dieser validiert.

Wenn ich nun in meinem Minimal-Testdatensatz die TID des Grundstücke mit einer UUID mit Kleinbuchstaben ersetze und entsprechend in der Referenz bei der Liegenschaft, funktioniert mein Testdatensatz. Wenn ich es mit einer neuen UUID mit Grossbuchstaben ersetze, funktioniert es nicht.

Oder ich übersehe sonst noch was. Testdatensätze im Zip. ilivalidator 1.14.2.

Archive.zip