Verwenden ungültiger GDL-Konfigurationen
Nicht alle möglichen Konfigurationen sind gültig oder zulässig. Beispielsweise lässt ein Druckgerät möglicherweise nicht zu, dass ein steifes Medium in einem Eingabebereich platziert wird, da die Medien möglicherweise blockiert sind. Mit der GDL-Sprache können Sie auch ungültige Konfigurationen definieren, indem Sie Kombinationen ungültiger Parametereinstellungen definieren.
Zu diesem Zweck wird die *InvalidCombination-Anweisung verwendet. Der Wert von *InvalidCombination ist eine LIST, die zwei oder mehr Parametereinstellungen benennt, die nicht zusammen verwendet werden können. Die Syntax, die zum Angeben einer Parametereinstellung verwendet wird, befindet sich in der EBNF-Notation, wie das folgende Codebeispiel zeigt.
InvalidCombination_Directive :== "*InvalidCombination" S ":" S ParamSettingsList S LB
ParamSettingsList :== "LIST" S "(" S ParamSetting S "," S ParamSetting ( S "," S ParamSetting)? S ")"
ParamSetting :== ParameterName "." Value
ParameterName :== {Construct Tag of *Feature construct}
Value :== {Construct Tag of *Option construct found within the *Feature construct.}
S :== [#x20#x09]*
LB :== [#x0A] | [#x0D] | ([#x0A] [#x0D]) | ([#x0D] [#x0A])
Die *InvalidCombination-Anweisung muss im Stammkontext der GDL-Datei angezeigt werden.
Wenn Sie beispielsweise Regen an Wochenenden verhindern möchten, können Sie den folgenden Code angeben.
*InvalidCombination: LIST(Weather.Rain, Today.Saturday)
*InvalidCombination: LIST(Weather.Rain, Today.Sunday)
Wenn Sie regen nur am Wochenende verhindern möchten, wenn Sie fehlerfrei waren, können Sie den folgenden Code angeben.
*InvalidCombination: LIST(Weather.Rain, Today.Saturday, Health.Well)
*InvalidCombination: LIST(Weather.Rain, Today.Sunday, Health.Well)
Die *InvalidCombination-Direktive im vorherigen Codebeispiel gibt an, dass jede Konfiguration, die die spezifische Kombination (Weather.Rain, Today.Sunday, Health.Well oder Weather.Rain, Today.Saturday, Health.Well) enthält, gegen die Anweisung verstößt.
Die *InvalidCombination-Direktive ist eine bestimmte Art von Einschränkung. Die GDL-Parserfunktionen ermitteln, ob die angegebene Konfiguration gegen eine der Einschränkungen verstößt, die in der GDL-Datei definiert sind, bevor Sie fortfahren. Wenn eine Verletzung erkannt wird, wird die Konfiguration geändert (oder aufgelöst), um zu vermeiden, dass die Einschränkung verletzt wird. Diese Situation wird als Auflösen der Einschränkung bezeichnet. Hunderte von Einschränkungen, die Dutzende von Parametern betreffen, können in einer einzelnen GDL-Datei vorhanden sein. Einschränkungen können ein komplexes Netz von Interaktionen bilden, sodass eine Änderung der Einstellung für einen Parameter zu einer Kaskade von Änderungen in anderen Parametern führen kann.
Hinweis Sie müssen sicherstellen, dass die Standardkonfiguration keine Einschränkungen verletzt. Wenn dies der Fall ist, ist keine der Parserschnittstellenfunktionen erfolgreich.
Hinweis Der GDL-Parser akzeptiert auch einen Sonderfall von *InvalidCombination, der nur zwei Parametereinstellungen umfasst.