<sequenceRule> 元素會根據序列型樣來定義規則。序列規則是唯一容許多個事件選擇器的規則。此外,它至少必須有兩個事件選擇器。
<sequenceRule> 具有下列屬性:
名稱 | 說明 | 資料類型 | 必要的嗎? |
---|---|---|---|
name | 識別規則。此 ID 在包含此規則的規則區塊中必須是唯一的。它不能包含句點。 | xsd:NMTOKEN | 是 |
processOnlyForwardedEvents | 決定規則會接收所有事件,或是只接收從其他規則轉遞來的事件。預設值為 false, 這表示規則會接收所有事件,包括那些從其他規則轉遞來的事件。 | xsd:boolean | 否 |
arrivalOrder | 定義事件是否必須依照規則中編碼 <eventSelector> 元素的次序到達。有效值為:
|
xsd:string | 否 |
如果 arrivalOrder 屬性的值是 randomOrder, 則 <eventSelector> 元素的編碼次序就非常重要。編碼時,應該將事件選擇準則最具體的 <eventSelector> 元素,置於事件選擇準則較為簡略之 <eventSelector> 元素的前面。否則,便無法在需要時偵測到序列。
<sequenceRule> 包含下列元素。
元素必須按照所顯示的次序來編碼。如果元素是選用的,則無需進行編碼,但所有編碼的元素都必須遵循正確的次序。
元素 | 必要的或選用的? |
---|---|
<comment> | 選用的。出現次數 0 或 1 是可接受的。 |
<variable> | 選用的。出現次數 0 或更多是可接受的。 |
<activationInterval> | 選用的。出現次數 0 或 1 是可接受的。 |
<lifeCycleActions> | 選用的。出現次數 0 或 1 是可接受的。 |
<eventSelector> | 序列規則要求此元素出現 2 次。可出現更多次。 |
<groupingKey> | 選用的。出現次數 0 或 1 是可接受的。 |
<timeWindow> | 必要的。只允許出現 1 次。 |
<onDetection> | 選用的。出現次數 0 或 1 是可接受的。 |
<onTimeOut> | 選用的。出現次數 0 或 1 是可接受的。 |