L'elemento <variable> definisce una variabile e contiene le informazioni in un formato che può essere indicato dalle espressioni. Una variabile può essere definita al livello della serie di regole, di un blocco di regole o di una regola.
Le variabili possono avere lo stesso nome su livelli diversi nella gerarchia delle regole. Quando si accede a una variabile, viene utilizzata la definizione più locale della variabile. Ad esempio, se una variabile viene definita a livello di serie di regole, di blocco di regole e di regola, la definizione della variabile a livello di regola viene utilizzata dalle espressioni all'interno di quella regola.
Quando le variabili vengono definite al livello della serie di regole o di blocco di regole, più regole prendono e impostano queste variabili in momenti diversi. Di conseguenza, per assicurarsi che i valori della variabile vengano mantenuti correttamente, è necessario sapere come codificare le interazioni tra le variabili nella serie di regole.
Se la variabile viene definita al livello della serie di regole o di blocco di regole, essa non viene nuovamente inizializzata dopo che lo schema di regola viene adattato.
Se una regola viene definita con una chiave di raggruppamento, le variabili di regola che sono definite dall'elemento <variable> non sono valide all'interno delle azioni di durata o all'interno di un elemento <filteringPredicate> contenuto in un elemento <activateOnEvent> o <deactivateOnEvent> che è contenuto in un elemento <activationInterval>. Ciò in quanto, in questo caso, le variabili di regola si applicano solo a un'istanza della regola e le istanze della regola non esistono al momento in cui queste espressioni vengono eseguite.
<variable> contiene i seguenti attributi:
Nome | Descrizione | Tipo dati | Obbligatorio |
---|---|---|---|
name | Identifica una variabile speciale. Il riferimento a una variabile avviene tramite il suo nome. | xsd:NMTOKEN | Yes |
dataType | Identifica il tipo di informazioni che una variabile contiene. Questo deve essere un tipo dati completo come java.lang.String. | xsd:NMTOKEN | Yes |
<variable> 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.
Elemento | Obbligatorio o facoltativo? |
---|---|
<comment> | Facoltativo. E' consentito 0 o 1. |
<varInitializer> | Obbligatorio. E' consentita una ricorrenza. |