特殊なコンテキスト

  • #{ }: コンテキスト変数にアクセスする
  • ?{ }?: JavaScript コンテキストを開きます。
  • §{ }§: コンポーネント設定にアクセスする場合
  • ${ }: 翻訳にアクセスする
  • <![CDATA[ ]]>: 純粋な XML を使用していないときに使用します。

スコープ

  • step: 現在アクティブなステップ
  • workflow: 現在のコンポーネントのすべてのステップ
  • root: ワークフローのすべてのコンポーネント
  • user_session:ユーザーがログアウトする前にアクセスするすべてのワークフロー

データ型

  • string、 bool、、、 long  doubleobject

列国

  • <onenter>:ステップが入ったときの最初の状態です。この状態ではユーザー インターフェイスは使用できないため、UI 関連のアクションを使用できません。ただし、UI マッピングに使用するようにパラメーターを初期化する場合は、これが正しい状態です。
  • <onresume>: <onenter> の 2 番目の状態。この状態では、UI が使用可能であり、UI 更新アクションを使用して読み込まれたレイアウトを変更できます。
  • <onpause> および <onleave>: これらの状態は、または finish_workflow アクションを使用して step_transition 現在のステップまたはコンポーネント全体を離れるたびに発生します。遷移は中断できないため、これらのアクションを使用するルールをここで使用することはできません。この状態では、ステップのリソースは存在しない状態にonleave,  まだ存在します。 onpause 
  • <onevent>: これはおそらく最も重要な状態です。この状態で定義されたルールは、イベントが処理されるたびにチェックされます。ユーザーとの対話に関連するすべてのルールは、この状態で定義されます。

演算子

  • 式で使用可能: +、-、&&、||、!、/、==、>、>=、<、<=、%、*、!=

イベント構造

  • 命令: このイベントのコマンド、例: "NEXT"。コマンドは、たとえば、コンポーネントのレイアウトまたはワークフローの説明の ID に対応できます。例: #{event:command} == ‘CANCEL’
  • device.modality: イベントのソース。このフィールドには、短い表記法を使用してアクセスできます
  • この式 #{event(SPEECH):command==’NEXT’ は、式 #{event:device.modality} == ‘SPEECH’ && #{event:command} == ‘NEXT’と同等です。モダリティはイベントエミッタによって異なります。例: #{event:device.modality} == ‘MENU_SELECTION’
  • ペイロード: ペイロードの構造/フィールドは、イベントをトリガーするアクション/ハンドラーに依存します。例: #{event:payload.amount}
  • payload.error: エラー・メッセージがある場合は、そのメッセージが含まれます。例: #{event:payload.error}

組み込み関数

  • exists: exists(#{shelve})
  • toUppercase: toUppercase( '#{material_name} ' )
  • toLowercase: toLowercase( '#{material_name} ' )
  • trim: trim( # {material_name} )
  • contains: contains( # {first_code}, #{second_code})
  • startsWith: startsWith( # {first_code}, #{second_code})
  • endsWith: endsWith( # {first_code}, #{second_code})
  • 等しい: equals( # {first_code}, #{second_code})
  • 部分文字列: substring( # {material_name}, 0, 3)