Wie bereits in der Einleitung beschrieben, überprüft iG/Check sowohl die INTERLIS-Definitionsdatei als auch die INTERLIS-Transferdatei. Die Modelldatei wird auf syntaktische Korrektheit analysiert. Dazu wird automatisch der offizielle INTERLIS Compiler der KOGIS aufgerufen (Version s.a. 1.1). Falls Fehler in der Modelldatei gefunden werden, wird der Prüfvorgang an dieser Stelle mit einer entsprechenden Fehlermeldung abgebrochen. Falls in der Modelldatei keine Fehler gefunden werden, wird als nächstes die Transferdatei analysiert. In der Transferdatei wird folgendes getestet:
Syntaktische Korrektheit der Transferdatei, d.h. sind die
XML-Tags TRANSFER
,
HEADERSECTION
,
DATASECTION
, etc. in der richtigen
Reihenfolge angeordnet, gibt es unbekannte XML-Tags etc.
Korrektheit der Modell-, Ebenen- und Klassennamen.
Statische Wertebereiche, d.h. alle Objektattribute haben Wertebereiche gemäss Modelldatei (inkl. Koordinatenbereiche von Punkten, Linien und Flächen).
Dynamische Wertebereiche, d.h. Auflösung aller Referenzen
(z.B. Referenz von Rolle
Gebaeudenummer.Objekt
auf Tabelle
BoFlaeche
in Topic
Bodenbedeckung
).
Eindeutigkeit der Transferidentifikation und Basketidentifikationen pro Transferdatei.
Kardinalität von BAG
,
LIST
und Rollen.
UNIQUE CONSTRAINT
und LOCAL
UNIQUE
.
Korrektheit der Topologie von
AREA
-Attributen (z.B.
BoFlaeche.Geometrie
im Topic
Bodenbedeckung
).
Externe Referenzen (bei mehreren Inputdateien).
EXISTENCE CONSTRAINT
.
OID AS UUIDOID
.
etc.
iG/Check prüft immer die ganze / alle Transferdatei(en) unabhängig wie viele oder welche Fehler gefunden werden. Bei syntaktischen Fehlern oder unbekannten Topic- bzw. Klassennamen synchronisiert sich iG/Check auf das nächste bekannte Element.
Fehlermeldungen werden von iG/Check in englischer Sprache ausgegeben. Die meisten Fehlermeldungen von iG/Check beziehen sich auf eine Zeile in der Transferdatei. Die erste Zeile der Transferdatei hat die Nummer 1. In der Transferdatei ist es möglich, dass sich ein Objekt über mehrere Zeilen erstreckt. Falls sich die Fehlermeldung auf ein mehrzeiliges Objekt bezieht, wird die Zeilennummer der ersten Zeile des fehlerhaften Objekts ausgegeben. Jede Fehlermeldung hat ausserdem eine Fehlernummer über welche der Fehler eindeutig bestimmt werden kann. Im Anhang B ist die Bedeutung der Fehlermeldungen geordnet nach Fehlernummern zusammengestellt.