特殊背景下。
#{ }
: 访问上下文变量- ?
{ }?
:打开一个Javascript上下文 §{ }§
:当访问组件配置时${ }
: 访问译文<![CDATA[ ]]>
:当你不使用纯XML时使用。
范围。
步骤
:当前活动的步骤工作流程
:当前组件的所有步骤根
:工作流程的所有组件user_session
: 用户在注销前访问的所有工作流程
数据类型。
国家。
<onenter>
: 这是进入一个步骤时的第一个状态。在这个状态下,用户界面是不可用的,因此,你不能使用与用户界面有关的动作;然而,如果你想初始化参数,以便将它们用于用户界面映射,那么这是正确的状态。<onresume>
: 第二个状态,在<onenter>之后。在这种状态下,用户界面是可用的,你可以用用户界面更新动作修改加载的布局。<onpause>
和<onleave>
: 每当你通过使用step_transition
或finish_workflow
动作离开当前步骤或整个组件时,这些状态就会发生。由于过渡是不可中断的,所以你不能在这里使用使用这些动作的规则。在onpause状态下,该步骤的资源仍然存在于onleave
中,
它们不存在。<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: equals( # {first_code}, #{second_code})
substring: substring( # {material_name}, 0, 3)