Eigenschaftsnamen in der Syntaxprüfung

Damit eine Syntaxvalidierung für Eigenschaftsnamen genau ausgeführt werden kann, werden Funktionen, für die Eigenschaftsnamen erforderlich sind, in seltenen Fällen, in denen ein Eigenschaftsname kein Literal, sondern das Ergebnis einer Funktion ist, nur teilweise ausgewertet.

Beachten Sie folgende Beispiele:

  • Die Formel PropValue(Concat(Core.Abbrev)) ist gültig, die Funktion Concat muss aber ausgewertet (und nicht nur für die Syntax validiert) werden, damit der Eigenschaftsname geprüft werden kann.

  • Die Formel PropValue(If(NodeIsLeaf(),Core.Abbrev,Custom.Label)) ist gültig, die If-Funktion muss aber ausgewertet werden, damit der Eigenschaftsname geprüft werden kann.

Wenn der betreffende Eigenschaftsname nur einen Teil der Formel umfasst, werden nur die Teile ausgewertet, die benötigt werden, um Eigenschaftsnamen zu bestimmen. Beispiel: In der Formel Add(PropValue(Concat(Core.,I,D)),If(NodeIsLeaf(),0,1) werden nur die Funktion Concat und die zugehörigen Parameter für die Syntaxvalidierung ausgewertet.

Die Tatsache, dass diese Teile der Formel ausgewertet werden, gewinnt in folgenden Fällen an Bedeutung: PropValue(PropValue(NodeType)). Für diese Formel schlägt die Syntaxvalidierung so lange fehl, bis ein Wert für die Eigenschaft Custom.NodeType zur Verfügung gestellt wird.