Elemento sequenceRule

O elemento <sequenceRule> define uma regra de acordo com o padrão de seqüência. A regra de seqüência é a única que permite vários seletores de eventos. Ela também requer um mínimo de dois seletores de eventos.

Atributos

<sequenceRule> possui os seguintes atributos:

Tabela 1. Atributos do Elemento <sequenceRule>
Nome Descrição Tipo de dado Obrigatório?
name Identifica a regra. Esse identificador deve ser exclusivo no bloco de regra que contém essa regra. Não pode conter um ponto. xsd:NMTOKEN Sim
processOnlyForwardedEvents Determina se a regra recebe todos os eventos ou apenas aqueles redirecionados a partir de outras regras. O valor padrão é false, indicando que a regra recebe todos os eventos, incluindo aqueles redirecionados a partir de outras regras. xsd:boolean Não
arrivalOrder Define se os eventos devem ocorrer na ordem em que os elementos <eventSelector> estão codificados na regra. Os valores válidos são:
  • inOrder (o valor padrão)
  • randomOrder
xsd:string Não

Se o valor do atributo arrivalOrder for randomOrder, a ordem de codificação dos elementos <eventSelector> é importante. Os elementos <eventSelector> com os critérios de seleção de eventos mais específicos devem ser codificados antes dos elementos <eventSelector> com critérios de seleção de eventos menos específicos. Caso contrário, a seqüência não será detectada apropriadamente.

Por exemplo, suponha as seguintes circunstâncias:
  • Os elementos <eventSelector> estão definidos.
  • O primeiro elemento <eventSelector> está procurando o evento eventA.
  • O segundo elemento <eventSelector> está procurando qualquer evento.
  • O terceiro elemento <eventSelector> está procurando o evento eventB.
  • Os seguintes eventos são apresentados ao sistema no espaço de tempo especificado: eventA, eventB, eventC.
O comportamento da regra é a que segue, e a seqüência não será detectada apropriadamente:
  1. O primeiro evento, eventA, é aceito pelo primeiro elemento <eventSelector>.
  2. O segundo evento, eventB, é aceito pelo segundo elemento <eventSelector>.
  3. O terceiro evento, eventC, é ignorado.
Suponha as seguintes circunstâncias, em que os elementos <eventSelector> estão codificados corretamente, com os critérios de seleção de eventos mais específicos precedendo os menos específicos:
  • O primeiro elemento <eventSelector> está procurando o evento eventA.
  • O segundo elemento <eventSelector> está procurando o evento eventB.
  • O terceiro elemento <eventSelector> está procurando qualquer evento.
O comportamento de regra é a que segue e a seqüência será dectada:
  1. O primeiro evento, eventA, é aceito pelo primeiro elemento <eventSelector>.
  2. O segundo evento, eventB, é aceito pelo segundo elemento <eventSelector>.
  3. O terceiro evento, eventC, é aceito pelo terceiro elemento <eventSelector>.

Contido em

<sequenceRule> está contido no seguinte elemento:

Contém

<sequenceRule> contém os elementos a seguir.

Os elementos devem ser codificados na ordem mostrada. Se um elemento for opcional, ele não precisará ser codificado, mas todos os elementos que forem codificados deverão seguir a ordem correta.

Tabela 2. Elementos Contidos no Elemento <sequenceRule>
Elemento Obrigatório ou opcional?
<comment> Opcional. 0 ou 1 ocorrência é permitida.
<variable> Opcional. 0 ou mais ocorrências são permitidas.
<activationInterval> Opcional. 0 ou 1 ocorrência é permitida.
<lifeCycleActions> Opcional. 0 ou 1 ocorrência é permitida.
<eventSelector> 2 ocorrências desse elemento são obrigatórias para a regra de seqüência. Ocorrências adicionais são permitidas.
<groupingKey> Opcional. 0 ou 1 ocorrência é permitida.
<timeWindow> Obrigatório. Apenas 1 ocorrência é permitida.
<onDetection> Opcional. 0 ou 1 ocorrência é permitida.
<onTimeOut> Opcional. 0 ou 1 ocorrência é permitida.
Conceitos relacionados
Padrão de Seqüência