A merge baseada na chave é usada para mesclar eventos com chaves de merge idênticas. O primeiro evento de merge importado é excluído e a quantidade de chaves de merge idênticas é reduzida. O processo de merge é repetido até que não existam mais chaves de merge idênticas na atual instância de processo.
As regras chave de merge são definidas no arquivo XML KeyRules.xml. Isso é feito especificando os atributos de um evento de fragmento envolvido na criação da chave de merge. A própria chave de merge é criada combinando os valores de atributo especificados.
Exemplo
O extrato de arquivo abaixo define uma regra chave de merge que usa o nome de objeto interno do evento (tipo de atributo AT_OBJNAME_INTERN) para criar a chave de merge para o evento inicial e final em um fragmento de instância de processo. Já que diversos fragmentos com a mesma definição de fragmento podem ocorrer em uma instância de processo, a chave de merge é estendida para incluir o valor do atributo AT_END_TIME.
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE keyrules SYSTEM "keyrules.dtd">
<keyrules>
...
<processkeyrule>
...
</processkeyrule>
...
<mergekeyrule>
<refobjects>
<refobject objecttype="OT_EVT">
<objectname name="EVT_START"/>
<objectname name="EVT_END"/>
</refobject>
</refobjects>
<keyparts>
<keypart attributetype="AT_OBJNAME_INTERN"/>
<keypart attributetype="AT_END_TIME"/>
</keyparts>
</mergekeyrule>
...
</keyrules>