Elemento sequenceRule

El elemento <sequenceRule> define una regla según el patrón de secuencia. La regla de secuencia es la única que permite varios selectores de sucesos. También requiere un mínimo de dos selectores de sucesos.

Atributos

<sequenceRule> tiene los siguientes atributos:

Tabla 1. Atributos del elemento <sequenceRule>
Nombre Descripción Tipo de datos ¿Obligatorio?
name Identifica la regla. Este identificador debe ser exclusivo dentro de la regla. No puede contener un punto. xsd:NMTOKEN
processOnlyForwardedEvents Determina si la regla recibe todos los sucesos o sólo aquellos sucesos que sean reenviados desde otras reglas. El valor predeterminado es false, que indica que la regla recibe todos los sucesos, incluidos los que son reenviados desde otras reglas. xsd:boolean No
arrivalOrder Define si los sucesos deben llegar en el orden en que se han codificado los elementos <eventSelector> para la regla. Los valores válidos son:
  • inOrder (el valor predeterminado)
  • randomOrder
xsd:string No

Si el valor del atributo arrivalOrder es randomOrder, el orden en que están codificados los elementos <eventSelector> es importante. Los elementos <eventSelector> con criterios de selección más específicos deben ser codificados antes que los elementos <eventSelector> con criterios de selección menos específicos. De otro modo, la secuencia no se detecta en el momento adecuado.

Por ejemplo, supongamos lo siguiente:
  • Se definen tres elementos <eventSelector>.
  • El primer elemento <eventSelector> comprueba el suceso eventA.
  • El segundo elemento <eventSelector> comprueba cualquier suceso.
  • El tercer elemento <eventSelector> comprueba el suceso eventB.
  • Se presentan los siguientes sucesos al sistema dentro de la ventana de tiempo especificada: eventA, eventB, eventC.
El comportamiento de la regla es el siguiente, y la secuencia no se detecta en el momento correcto:
  1. El primer suceso, eventA, es aceptado por el primer elemento <eventSelector>.
  2. El segundo suceso, eventB, es aceptado por el segundo elemento <eventSelector>.
  3. El tercer suceso, eventC, es ignorado.
Supongamos ahora que los elementos <eventSelector> se codifican correctamente, con los criterios de selección de sucesos más específicos antes que los menos específicos:
  • El primer elemento <eventSelector> comprueba el suceso eventA.
  • El segundo elemento <eventSelector> comprueba el suceso eventB.
  • El tercer elemento <eventSelector> comprueba cualquier suceso.
El comportamiento de la regla es el siguiente, y la secuencia se detecta:
  1. El primer suceso, eventA, es aceptado por el primer elemento <eventSelector>.
  2. El segundo suceso, eventB, es aceptado por el segundo elemento <eventSelector>.
  3. El tercer suceso, eventC, es aceptado por el tercer elemento <eventSelector>.

Contenido en

<sequenceRule> está contenido en el siguiente elemento:

Contiene

<sequenceRule> contiene los siguientes elementos.

Los elementos deben ser codificados en el orden que se muestra. Si un elemento es opcional, no es necesario que se codifique, pero todos los elementos que se codifiquen deben seguir el orden correcto.

Tabla 2. Elementos contenidos en el elemento <sequenceRule>
Elemento ¿Obligatorio u opcional?
<comment> Opcional. Se permiten 0 o 1 ocurrencias.
<variable> Opcional. Se permiten 0 o más ocurrencias.
<activationInterval> Opcional. Se permiten 0 o 1 ocurrencias.
<lifeCycleActions> Opcional. Se permiten 0 o 1 ocurrencias.
<eventSelector> Para la regla de secuencia, se requieren 2 ocurrencias de este elemento. Se permiten ocurrencias adicionales.
<groupingKey> Opcional. Se permiten 0 o 1 ocurrencias.
<timeWindow> Obligatorio. Sólo se permite 1 ocurrencia.
<onDetection> Opcional. Se permiten 0 o 1 ocurrencias.
<onTimeOut> Opcional. Se permiten 0 o 1 ocurrencias.
Conceptos relacionados
Patrón de secuencia