Contextos especiales

  • #{ }: para acceder a las variables de contexto
  • ?{ }?: para abrir un contexto de JavaScript
  • §{ }§: al acceder a la configuración del componente
  • ${ }: para acceder a las traducciones
  • <![CDATA[ ]]>: úselo siempre que no esté usando XML puro

Ámbitos

  • step: el paso actualmente activo
  • workflow: todos los pasos del componente actual
  • root: todos los componentes del flujo de trabajo
  • user_session: todos los flujos de trabajo a los que accede el usuario antes de cerrar la sesión

Tipos de datos

  • string, , boollong double, , object

Estados

  • <onenter>: Este es el primer estado cuando se ingresa un paso. La interfaz de usuario no está disponible en este estado, por lo que no puede usar acciones relacionadas con la interfaz de usuario. Sin embargo, si desea inicializar los parámetros para usarlos para la asignación de la interfaz de usuario, este es el estado correcto para hacerlo.
  • <onresume>: el segundo estado después de <onenter>. En este estado, la interfaz de usuario está disponible y puede modificar el diseño cargado con las acciones de actualización de la interfaz de usuario.
  • <onpause> y <onleave>: estos estados se producen cada vez que se abandona el paso actual o todo el componente mediante las step_transition acciones o. finish_workflow  Dado que las transiciones no se pueden interrumpir, no puede usar reglas aquí que usen estas acciones. En elonpause estado, los recursos del paso todavía existen en onleave, ellos no.
  • <onevent>: Este es probablemente el estado más importante. Las reglas definidas en este estado se comprobarán cada vez que se procese un evento. Todas las reglas relacionadas con las interacciones con el usuario se definen en este estado.

Operadores

  • Disponible en expresiones: +, -, &&, ||, !, /, ==, >, >=, <, <=, %, *, !=

Estructura del evento

  • mandar: El comando de este evento, por ejemplo, "NEXT". El comando puede, por ejemplo, corresponder a un ID en la descripción del diseño o del flujo de trabajo del componente. Ejemplo: #{event:command} == ‘CANCEL’
  • Device.Modality: El origen del evento. Se puede acceder a este campo mediante una notación corta
  • La expresión #{event(SPEECH):command==’NEXT’ es equivalente a la expresión #{event:device.modality} == ‘SPEECH’ && #{event:command} == ‘NEXT’. La modalidad depende del emisor del evento. Ejemplo: #{event:device.modality} == ‘MENU_SELECTION’
  • carga útil: La estructura/campos de la carga útil dependen de la acción/controlador que desencadena el evento. Ejemplo: #{event:payload.amount}
  • payload.error: Contiene un mensaje de error, si lo hay. Ejemplo: #{event:payload.error}

Funciones integradas

  • exists: existe(#{estantería})
  • toUppercase: toUppercase( '#{material_name} ' )
  • toLowercase: toLowercase( '#{material_name} ' )
  • recortar: recortar( # {material_name} )
  • contiene: contiene( # {first_code}, #{second_code})
  • startsWith: startsWith( # {first_code}, #{second_code})
  • endsWith: endsWith( # {first_code}, #{second_code})
  • es igual a: es igual a( # {first_code}, #{second_code})
  • subcadena: subcadena( # {material_name}, 0, 3)