La regola di associazione per gli elementi dati di contesto in CBE potrebbe causare la presenza dello stesso nome attributo nell'evento di Enterprise Console, che non è consentito dal server di eventi. Il meccanismo di associazione elimina tale possibilità aggiungendo il prefisso "ctx." ai nomi attributo creati dagli elementi dati di contesto nell'evento CBE.
Le collisioni con il nome di un altro elemento dati di contesto che è stato già associato all'evento di Enterprise Console causano l'eliminazione degli elementi dati di contesto ripetuti.
Come esempio, considerare un evento CBE con i seguenti elementi dati di contesto
<CommonBaseEvent ...> <contextDataElements name="repeat_count" type="String"> <contextValue>contextValue</contextValue> </contextDataElements> <contextDataElements name="my_Context" type="String"> <contextValue>contextValue</contextValue> </contextDataElements> <contextDataElements name="my_Context" type="other_type"> <contextId>http://www.ibm.com</contextId> </contextDataElements> <contextDataElements name="my:Context" type="other_type"> <contextId>http://www.ibm.com</contextId> </contextDataElements> ... </CommonBaseEvent>
Gli attributi risultanti ed i valori corrispondenti, nell'evento di Enterprise Console, devono essere:
ctx.repeat_count=contextValue ctx.repeat_count.type=String ctx.my_Context=contextValue ctx.my_Context.type=String
Il primo elemento "repeat_count" ha lo stesso nome di un attributo nella classe EVENT di Enterprise Console, ma l'aggiunta del prefisso ctx impedisce la collisione del nome.
Il secondo elemento dati di contesto definito "my_Context" non è associato poiché potrebbe causare un nome attributo duplicato nell'evento di Enterprise Console risultante.
Il terzo elemento dati di contesto definito "my:Context" non è associato poiché il carattere ":" non è valido nel nome attributo per un evento di Enterprise Console e deve essere sostituito con un carattere di sottolineatura "_" prima che possa essere associato ad un attributo dell'evento Enterprise Console. Poiché il nome risultante "my_Context" è già stato utilizzato, viene eliminato l'elemento dati di contesto.
Gli elementi dati estesi sono associati prima degli elementi dati di contesto. In tal senso, i nomi in conflitto tra il nome convertito di un elemento dati esteso ed il nome convertito di un elemento dati di contesto causa l'eliminazione dell'elemento dati di contesto.
Come esempio, considerare un evento CBE con i seguenti elementi dati di contesto
<CommonBaseEvent ...> <extendedDataElements name="ctx.my_Context" type="string"> <values>my value</values> </extendedDataElements> <contextDataElements name="my_Context" type="other_type"> <contextId>http://www.ibm.com</contextId> </contextDataElements> ... </CommonBaseEvent>
Gli attributi risultanti ed i valori corrispondenti, nell'evento di Enterprise Console, devono essere:
ctx.my_Context='my value'
L'elemento dati di contesto definito "my_Context" non è associato poiché potrebbe causare un nome attributo duplicato nell'evento di Enterprise Console risultante. Quando si verifica una collisione di nomi per un elemento dati di contesto, ctx.ContextDataElement.name.type associato non è creato.