Elemento variable

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.

Dettagli

Variabile della serie di regole
Si applica globalmente alla serie di regole e può essere indicato da qualsiasi espressione in quella serie di regole.
Variabile del blocco di regole
Si applica solo all'interno del blocco di regole (e all'interno di tutti i blocchi di regole contenuti) e può essere indicata in qualsiasi espressione all'interno del blocco di regole.
Variabile della regola
Si applica solo alle espressioni all'interno di quella 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.

In ognuna di queste condizioni, utilizzare il blocco sulla richiesta e impostazione delle variabili di serie di regole e di blocco di regole per evitare che i valori della variabile vengano impostati in modo non corretto:
  • Se la regola timer ottiene o imposta una variabile durante un'azione <onTimeOut>
  • Se l'applicazione in cui è integrato l'engine dell'Active Correlation Technology è con più sottoprocessi

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.

Attributi

<variable> contiene i seguenti attributi:

Tabella 1. Attributi dell'elemento <variable>
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

Limitazioni relative al nome per le variabili

I nomi della variabile hanno alcune limitazioni. Di conseguenza il valore dell'attributo name sull'elemento <variable> presenta i seguenti limiti:
  • Esso può includere solo i seguenti caratteri:
    • Lettere A-Z ASCII maiuscole. La rappresentazione Unicode è \u0041-\u005a.
    • Lettere A-Z ASCII minuscole. La rappresentazione Unicode è \u0061-\u007a.
    • Sottolineatura ASCII (_). La rappresentazione Unicode è \u005f.
    • Segno del dollaro ($). La rappresentazione Unicode è \u0024.
    • Cifre ASCII 0 – 9. La rappresentazione Unicode è \u0030-\u0039.
  • Non può essere nullo.
  • Non può essere una stringa vuota.
  • Non può contenere spazi.
  • Non può contenere un punto.
  • Non può iniziare con act_ in qualsiasi formato (non in maiuscolo, minuscolo o entrambi).

Contenuto in

Contiene

<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.

Tabella 2. Elementi contenuti nell'elemento <variable>
Elemento Obbligatorio o facoltativo?
<comment> Facoltativo. E' consentito 0 o 1.
<varInitializer> Obbligatorio. E' consentita una ricorrenza.
Concetti correlati
Variabili