Elemento sequenceRule

L'elemento <sequenceRule> definisce una regola in base allo schema di sequenza. La regola della sequenza è l'unica regola che consente più programmi di selezione evento. Essa richiede anche un minimo di due programmi di selezione evento.

Attributi

<sequenceRule> ha i seguenti attributi:

Tabella 1. Attributi dell'elemento <sequenceRule>
Nome Descrizione Tipo dati Obbligatorio
name Identifica la regola. Questo identificativo deve essere univoco all'interno del blocco di regole che contiene questa regola. Non può contenere un punto. xsd:NMTOKEN Yes
processOnlyForwardedEvents Determina se la regola riceve tutti gli eventi o solo gli eventi inoltrati da altre regole. Il valore predefinito è false, che indica che la regola riceve tutti gli eventi, compreso quelli inoltrati da altre regole. xsd:boolean No
arrivalOrder Definisce se gli eventi devono arrivare nell'ordine in cui gli elementi <eventSelector> vengono codificati per la regola. I valori validi sono:
  • inOrder (il valore predefinito)
  • randomOrder
xsd:string No

Se il valore dell'attributo arrivalOrder è randomOrder, l'ordine in cui vengono codificati gli elementi <eventSelector> è importante. Gli elementi <eventSelector> con criteri di selezione evento più specifici devono essere codificati prima degli elementi <eventSelector> con criteri di selezione evento meno specifici. In caso contrario la sequenza non viene rilevata quando dovrebbe.

Ad esempio:
  • Vengono definiti tre elementi <eventSelector>.
  • Il primo elemento <eventSelector> ricerca l'evento eventA.
  • Il secondo elemento <eventSelector> ricerca un evento qualsiasi.
  • Il terzo elemento <eventSelector> ricerca l'evento eventB.
  • I seguenti eventi vengono presentati al sistema nella finestra di tempo specificata: eventA, eventB, eventC.
Il comportamento della regola è il seguente e la sequenza non viene rilevata quando dovrebbe:
  1. Il primo evento, eventA, viene accettato dal primo elemento <eventSelector>.
  2. Il secondo evento, eventB, viene accettato dal secondo elemento <eventSelector>.
  3. Il terzo evento, eventC, viene ignorato.
Lo scenario che segue prevede che gli elementi <eventSelector> sono stati codificati correttamente, con i criteri di selezione evento più specifici che precedono i criteri di selezione evento meno specifici:
  • Il primo elemento <eventSelector> ricerca l'evento eventA.
  • Il secondo elemento <eventSelector> ricerca l'evento eventB.
  • Il terzo elemento <eventSelector> ricerca un evento qualsiasi.
Il comportamento della regola è il seguente e la sequenza viene rilevata:
  1. Il primo evento, eventA, viene accettato dal primo elemento <eventSelector>.
  2. Il secondo evento, eventB, viene accettato dal secondo elemento <eventSelector>.
  3. Il terzo evento, eventC, viene accettato dal terzo elemento <eventSelector>.

Contenuto in

<sequenceRule> è contenuto nel seguente elemento:

Contiene

<sequenceRule> contiene i seguenti elementi.

Gli elementi devono essere codificati nell'ordine visualizzato. Se un elemento è facoltativo, non deve essere codificato ma tutti gli elementi codificati devono seguire l'ordine corretto.

Tabella 2. Elementi contenuti nell'elemento <sequenceRule>
Elemento Obbligatorio o facoltativo?
<comment> Facoltativo. E' consentito 0 o 1.
<variable> Facoltativo. Sono consentite zero o più ricorrenze.
<activationInterval> Facoltativo. E' consentito 0 o 1.
<lifeCycleActions> Facoltativo. E' consentito 0 o 1.
<eventSelector> Sono richieste 2 ricorrenze di questo elemento per la regola di sequenza. Sono consentite ulteriori ricorrenze.
<groupingKey> Facoltativo. E' consentito 0 o 1.
<timeWindow> Obbligatorio. E' consentita solo una ricorrenza.
<onDetection> Facoltativo. E' consentito 0 o 1.
<onTimeOut> Facoltativo. E' consentito 0 o 1.
Concetti correlati
Schema di sequenza