Quando un evento CBE viene associato alla classe di eventi di Enterprise Console nella rule base, ogni elemento dati esteso è associato ad un attributo nell'evento di Enterprise Console risultante.
Se il nome completo di un elemento dati esteso non corrisponde al nome di un attributo della definizione della classe di eventi di Enterprise Console, viene eliminato l'elemento dati esteso.
La tabella 1 illustra l'associazione di un elemento dati esteso CBE agli attributi in un evento di Enterprise Console.
Campo secondario Extended Data Element |
Attributo di Enterprise Console |
---|---|
Nome attributo |
|
indica se il valore di attributo di Enterprise Console sia un semplice valore o un array. |
|
valore di attributo |
|
extendedDataElement.children |
ogni elemento secondario dell'elemento dati esteso è convertito in un altro attributo nell'evento di Enterprise Console. Il processo viene ripetuto in modo ricorsivo fino a quando non sono più presenti gli elementi secondari all'interno dell'elemento dati esteso. Consultare la sezione the "Name" per i dettagli sul nome attributo risultante nell'evento di Enterprise Console. |
Tabella 1. Associazione degli elementi dati estesi CBE agli attributi di Enterprise Console.
Le seguenti sezioni descrivono in maniera dettagliata il modo in cui ogni attributo di una definizione di eventi CBE viene associato ad un attributo in una definizione della classe di eventi di Enterprise Console:
Un elemento extendedDataElement può essere nidificato all'interno di un altro elemento extendedDataElement. Il nome dell'attributo risultante nella definizione della classe di eventi di Enterprise Console è costituito dalla concatenazione dei nomi di tutti gli attributi extendedDataElement che iniziano dal predecessore di primo livello fino al nome dell'elemento associato. Il carattere "." (punto) viene utilizzato come separatore.
Come esempio, considerare un evento CBE con i seguenti elementi dati estesi
<CommonBaseEvent ...> <extendedDataElements name="abc" type="string"> <values>my value</values> <children name="def" type="int"> <values>123</values> </children> </extendedDataElements> ... </CommonBaseEvent>
Gli attributi risultanti ed i valori corrispondenti, nell'evento di Enterprise Console, devono essere:
abc='my value' abc.def=123
Se il nome associato di un elemento dati esteso entra in conflitto con il nome di un altro attributo nell'evento di Enterprise Console, viene eliminato l'elemento dati esteso. Consultare la sezione "Conflitti di nomi per gli elementi dati estesi" per ulteriori dettagli.
Per lo stesso motivo, gli elementi dati esteso con i seguenti nomi non sono associati ad un attributo nell'evento di Enterprise Console poiché l'algoritmo di conversione elabora gli attributi di base prima degli elementi dati estesi:
Nota:
Il campo secondario type in un elemento dati esteso indica il tipo di dati previsto per i valori all'interno dell'elemento. L'elemento di dati esteso è associato solo ad un attributo nell'evento di Enterprise Console di destinazione se entrambi i tipi sono compatibili.
La tabella 2 illustra la compatibilità di tipo tra i tipi dell'elemento dati esteso e i tipi di attributi di Enterprise Console.
Tipo Extended Data Element |
Tipo di attributo di Enterprise Console |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Tabella 2. Associazione dei tipi di elemento dati estesi ai tipi di attributi di Enterprise Console.
Come esempio, considerare un evento CBE con i seguenti elementi dati estesi
<CommonBaseEvent extensionName="CustomEvent" ...> <extendedDataElements name="slot1" type="string"> <values>my value1</values> <values>my value2</values> <values>my value3</values> </extendedDataElements> ... </CommonBaseEvent>
Supponendo che l'attributo "slot1" per la classe di eventi "CustomEvent" nella rule base viene definito come un elenco di stringhe, l'evento di Enterprise Console risultante deve contenere il seguente attributo:
slot1=['my value1', 'my value2', 'my value3']
Conflitti di nomi per gli elementi dati estesi
Conversione di un evento in formato Common Base Event in formato dell'evento di Enterprise Console