Genereller Ansatz
Die Werkzeuge für die Entwicklung von Profilen werden als Erweiterung in hale connect bereitgestellt.
Ein Profil wird als zusätzliche Ebene zu einem bestehenden Datenmodell verstanden. Auf dieser Ebene werden Regeln festgelegt, wie dieses Datenmodell zu verwenden ist. Dabei kann es zu einem Datenmodell viele Profile geben, die auch gemeinsam angewandt werden können, um einen Datensatz zu prüfen. So ist es zum Beispiel für den vorliegenden Anwendungsfall so, dass verschiedene Vorgaben/Profile kombiniert werden:
- GDI-BW
- GDI-DE
- INSPIRE
- AdV
Damit Profile kombiniert werden können, müssen sie widerspruchsfrei sein. Jedes Profil, welches mit anderen eingesetzt werden soll, sollte also nur ergänzende Regeln beinhalten, oder solche, die bestehende Regeln enger fassen.
Jedes Profil kann als Testsuite im Format des INSPIRE Reference Validators exportiert werden. Dies ermöglicht die automatisierte Prüfung der Konformität zu einem Profil in Standardtools, die auf BaseX und ETF basieren. Eine exportierte Testsuite sieht wie folgt aus:
Eine solche ausführbare Testsuite enthält eine Menge an verschiedenen Elementen, sowohl zum Zwecke der Dokumentation als auch für die Definition des eigentlichen Tests. Die Struktur ist dabei wie folgt:
- TestModule
- TestCase
- TestStep
- TestAssertion
- TestStep
- TestCase
In den Werkzeugen für die Entwicklung von Profilen müssen also alle notwendige Informationen zur Erzeugung einer solchen Testsuite vorhanden sein, oder ableitbar sein. Dies wird über die im Folgenden beschriebenen Funktionen sichergestellt.
Weiterhin lässt sich zu jedem Profil eine Beispieldatei generieren. Dafür werden in "Tagged Values" gespeicherte Werte herangezogen. Damit die Erzeugung der Beispieldaten funktioniert, muss für jedes Feld im Profil ein passender Wert angegeben werden. Ein solches Beispiel ist hier dokumentiert: