Ilivalidator und infogrips-modelle

Kann der ilivalidator etwas mit ILI-Modellen anfangen, die diese Zeilen aufweisen:

...
IMPORTS UNQUALIFIED IGSFunction;
   IMPORTS UNQUALIFIED SIA405_LKMapFunction;
....

Der erste Lauf ergibt

Error: IGSFunction, SIA405_LKMapFunction: model(s) not found

Geht’s vielleicht doch?

Schönen Abend noch!

Das Modell IGSFunction lässt sich über den INTERLIS Model Browser auffinden:
https://ilimodels.ch/?query=igsfunction

Es befindet sich im Repository des VSA. Hier sollte eigentlich keine Fehlermeldung auftreten, wenn ilivalidator Zugriff auf das Internet und damit Zugriff auf alle Repositories hat.

Über das Modell SIA405_LKMapFunction lässt sich nichts in Erfahrung bringen. Offenbar handelt es sich um ein Datenmodell, das nicht öffentlich zugänglich gemacht wurde, sich also nicht in einem Repository befindet. Es ist mir persönlich auch komplett unbekannt. Zudem ist der Modellname irreführend, da es sich nicht um ein offizielles Modell des SIA handelt.

Mit der Zugänglichkeit der Modelle ist aber das Problem noch nicht gelöst. Die Prüfsoftware (hier also ilivalidator) muss die in den Modellen definierten Funktionen auch verstehen, sprich: implementiert haben. Die Funktionen im Modell IGSFunction wurden jedoch nur für die Softwarepalette von infoGrips entwickelt; ilivalidator versteht diese nicht per se. Man müsste diese für ilivalidator nachbauen (was @edigonzales in einem proof-of-concept weitestgehend umgesetzt hat).

Langer Rede kurzer Sinn: Auch wenn beide Modelle vorhanden wären, lassen sich damit zurzeit keine Daten validieren mit ilivalidator, da es sich um Funktionen handelt, die von infoGrips nur für deren INTERLIS Tools entwickelt wurden.

Die öffentlich verfügbaren Funktionen, die auch von ilivalidator unterstützt werden, sind im RefHB Kapitel 2.14 sowie in den Modellen Math und Text beschrieben.

PS. An den Workshops zum INTERLIS Anwender:innen-Treffen vom 22. November 2023 werden wir diese Thematik ebenfalls aufgreifen und detaillierter beleuchten. Das Anmeldefenster ist noch offen bis zum 10. November 2023; die Teilnahme ist gratis.

[Update 03.10.2023: Anpassung Link zu proof-of-concept, Ergänzung irreführende Modellbezeichnung für SIA405_LKMapFunction.]

Es hat sich ein kleiner Fehler im Link zum PoC eingeschlichen: GitHub - edigonzales/vsa-validator

Es gibt bereits relativ viel. Auch viele Tests zu den einzelnen Funktionen. Es könnte sich lohnen - bei Interesse - das weiterzuverfolgen. Bei einer Funktionen bin ich an die Grenzen gestossen. Da gibt es, soweit ich mich erinnere, irgendwas das filtert. Das ist bei meinem PoC hardcodiert. Das müsste man in gut implementieren. Der Rest ist Fleissarbeit im Sinne von „aufräumen“.

1 „Gefällt mir“

Danke für die Information. Für mich und meine überschaubaren Detailkenntnisse ist das soweit klar.

Der aktuelle ilivalidator 1.14.1 hat auch den Hinweis „implement Math_V2, Text_V2“. Hilft das in der konkreten Frage weiter?

Nein. Man muss die Funktionen von IGSFunction und SIA405_LKMapFunction für ilivalidator implementieren. Kann man machen: entweder selber oder man bezahlt jemanden dafür.