Datenanforderungen

Die Datenanforderungen werden verwendet, um die Dateneingabe von Verarbeitungs- und Ausgabemodulen zu validieren. Die Anforderungen definieren, welche Felder und Tags das Datenobjekt enthalten oder nicht enthalten muss. Eine Anforderung besteht aus einzelnen Ausdrücken, die in ( und ) eingebettet sind und durch ein and verknüpft werden. Ein or-Verhalten wird erreicht, indem eine neue Anforderung zur Anforderungsliste hinzugefügt wird. Ausdrücke sind case-sensitiv!

Hinweis: Wenn es keine Anforderung gibt, belasse eine leere Liste ([]).

Beispiel

["((key * with ints/floats) and (keys == 1))",
 "(key * with int/float)"]

Das bedeutet, dass entweder jeder Schlüssel (*) eine Liste von Ganzzahlen oder Gleitkommazahlen enthalten muss und nur ein einzelner Schlüssel erlaubt ist ((keys == 1)), oder es dürfen beliebig viele Schlüssel vorhanden sein, aber jeder Wert muss eine Ganzzahl oder Gleitkommazahl sein. Dies würde zu den folgenden zwei akzeptablen Datenobjekten führen:

{
  "test": [
    1,
    3,
    2
  ]
}

oder

{
  "test1": 1,
  "test2": 2,
  "test3": 3
}


Schlüsselwörter

key Erforderlicher Schlüssel gefolgt vom benutzerspezifischen Wert. Kann mit with kombiniert werden (z. B. (key test with int)). Schlüssel können auch mit ! invertiert werden (z. B. jeder Schlüssel außer (key !test with int)). Es ist ebenfalls möglich, alle Schlüssel mit * zu akzeptieren (z. B. jeder Schlüssel (key * with int)). **Hinweis**: Es sind nur Schlüssel ohne Leerzeichen erlaubt!
keys Anzahl der Elemente im Datenobjekt, gefolgt von einem Operator (==, !=, >=, <=, <, >) und einer Ganzzahl (z. B. (keys == 2)).
length Überprüfen Sie die Länge von Listen (z. B. length test1 == 1, length * equal, length !event == 1 oder length test1 == test2). Die folgenden Operatoren sind erlaubt: ==, !=, >=, <=, <, >. **Hinweis**: Es sind nur Schlüssel ohne Leerzeichen erlaubt!
value Überprüfen Sie den Wert eines Schlüssels (z. B. value event == "init", wobei event der Schlüssel ist). **Hinweis**: Es sind nur Schlüssel ohne Leerzeichen erlaubt.Die folgenden Operatoren sind erlaubt: ==, !=, >=, <=, <, >. Falls der Vergleichswert ein Float, Integer oder Boolean sein kann, aber als String behandelt werden soll, verwenden Sie "", um ihn einzuschließen: z. B. (value string == "3"), wobei string "3" ist – ergibt True, während (value string == 3), wobei string "3" ist – ergibt False.
and Verbinden von Ausdrücken mit einem and.
or Verbinden von Ausdrücken mit einem or.
with Definition von Datentypen von Schlüsselwerten oder Datentypen von Listen (z.B. (key * with ints)).
() Ausdrücke kapseln.

Datentypen

int Eine Ganzzahl.
float Eine Fließkommazahl
number Eine Fließkomma- oder Ganzzahl.
str Ein String.
bool Ein Boolean.
list Eine Liste mit Elementen von undefiniertem Typ.
ints Eine Liste von Ganzzahlen.
floats Eine Liste von Fließkommazahlen.
numbers Eine Liste von Fließkommazahlen oder Ganzzahlen.
strs Eine Liste von Strings.
bools Eine Liste von Booleans.
Info
Sie können Datentypen kombinieren: int/ints bedeutet int oder ints (z. B. key * with int/ints). Hinweis: Listen mit mehreren Datentypen werden derzeit nicht unterstützt (außer numbers).