Besondere Kontexte#{ }: für den Zugriff auf Kontextvariablen?{ }?: zum Öffnen eines JavaScript-Kontextes§{ }§: beim Zugriff auf die Komponentenkonfiguration${ }: zum Zugriff auf Übersetzungen<![CDATA[ ]]>: immer dann verwenden, wenn Sie kein reines XML verwendenGeltungsbereicheSchritt: der derzeit aktive SchrittWorkflow: alle Schritte der aktuellen Komponenteroot: alle Komponenten des Workflowsuser_session: alle Workflows, auf die der Benutzer zugreift, bevor er sich abmeldetDatenartenstring, bool, double, long, objektStaaten<Einstieg>: Dies ist der erste Zustand, wenn ein Schritt eingegeben wird. Die Benutzeroberfläche ist in diesem Zustand nicht verfügbar, so dass Sie keine UI-bezogenen Aktionen verwenden können. Wenn Sie jedoch Parameter initialisieren wollen, um sie für das UI-Mapping zu verwenden, dann ist dies der richtige Zustand dafür.<onresume>: Der zweite Zustand nach <onenter>. In diesem Zustand ist die Benutzeroberfläche verfügbar und Sie können das geladene Layout mit den Aktionen zur Aktualisierung der Benutzeroberfläche ändern.<onpause> und <onleave>: Diese Zustände treten immer dann auf, wenn Sie den aktuellen Schritt oder die gesamte Komponente mit Hilfe der Aktionen step_transition oder finish_workflow verlassen. Da die Übergänge nicht unterbrechbar sind, können Sie hier keine Regeln verwenden, die diese Aktionen nutzen. Im Zustandonpause sind die Ressourcen des Schrittes noch vorhanden , im Zustand onleave nicht.<Ereignis>: Dies ist wahrscheinlich der wichtigste Zustand. Die in diesem Status definierten Regeln werden jedes Mal geprüft, wenn ein Ereignis verarbeitet wird. Alle Regeln, die sich auf Interaktionen mit dem Benutzer beziehen, werden in diesem Zustand definiert.BetreiberIn Ausdrücken verfügbar: +, -, &&, ||, !, /, ==, >, >=, <, <=, %, *, !=Struktur der VeranstaltungBefehl: Der Befehl dieses Ereignisses, z. B. "NEXT". Der Befehl kann z.B. einer ID in der Layout- oder Workflow-Beschreibung Ihrer Komponente entsprechen. Beispiel: #{event:command} == 'CANCEL'device.modality: Die Quelle des Ereignisses. Auf dieses Feld kann mit einer Kurzschreibweise zugegriffen werdenDer Ausdruck #{event(SPEECH):command=='NEXT' entspricht dem Ausdruck #{event:device.modality} == 'SPEECH' && #{event:command} == 'NEXT'. Die Modalität hängt vom Ereignisemitter ab. Beispiel: #{event:device.modality} == 'MENU_SELECTION'Nutzlast: Die Struktur/Felder der Nutzlast sind abhängig von der Aktion/dem Handler, der das Ereignis auslöst. Beispiel: #{event:payload.amount}Nutzlast.Fehler: Enthält eine Fehlermeldung, wenn es eine gibt. Beispiel: #{event:payload.error}Eingebettete Funktionenexists: exists(#{shelve})toUppercase: toUppercase( '#{material_name} ' )toLowercase: toLowercase( '#{material_name} ' )trim: trim( # {material_name} )enthält: enthält( # {erster_code}, #{zweiter_code})startsWith: startsWith( # {erster_code}, #{zweiter_code})endsWith: endsWith( # {erster_code}, #{zweiter_code})gleich: gleich( # {erster_code}, #{zweiter_code})substring: substring( # {material_name}, 0, 3)