Domainspezifische Operatoren
in Arbeit...
Das Ziel der Grammatik von openVALIDATION ist es, so natürlich wie möglich zu sein. Um diesem Ziel noch näher zu kommen, gibt es die Möglichkeit domänenspezifische bzw. semantische Operatoren im Regelwerk zu deklarieren.
Ein Beispiel
Schema:
Regel:
Die Regel klingt schon recht natürlich, aber nicht ganz. Viel natürlicher könnte die Regel klingen, wenn man diese folgendermaßen ausdrücken würde:
Das klingt schon viel natürlicher. Das Problem ist, dass selbst, wenn openVALIDATION einen Alias für den Operator <
namens JÜNGER
bereitstellen würde, weiß openVALIDATION am Ende nicht, welches Attribut des Schemas für die Vergleichsoperation verwendet werden soll. Das müssen wir openVALIDATION irgendwie mitteilen. Das machen wir, indem wir einen benutzerdefinierten, domänenspezifischen Operator definieren:
Wir können mit Hilfe eines neuen globalen Elements als operator einen domänenspezifischen bzw. einen semantischen Vergleichsoperator erstellen. Diesen können wir anschließend in unseren Regeln verwenden. In unserem Beispiel haben wir einen neuen Vergleichsoperator namens jünger
erstellt. Der Operator selbst besteht aus einem konkreten Vergleichsoperator, nämlich kleiner
und dem jeweiligem Attribut des Schemas. In unserem Fall ist es das Attribut Alter . Das Keyword und dazwischen ist optional.
Domänenspezifische oder semantische Operatoren können im Vorfeld beispielsweise zusammen mit den Variablen erstellt werden und dienen anschließend als semantische Grundlage für die eigentlichen Validierungsregeln.
Last updated