Descrição: Esse ponto de extensão permite definir esquemas internos de Mapeamento do ID XML utilizando o elemento mapping. Esses esquemas podem ser utilizados ao executar uma comparação XML para identificar exclusivamente elementos XML pelo valor de um atributo ou pelo texto em um elemento filho.
Além disso, elementos ordered podem ser utilizados para especificar que os filhos diretos de um elemento devem ser comparados de forma ordenada em vez da maneira
não ordenada padrão.
Marcação da Configuração:
<!ELEMENT idmap (mapping*)>
<!ATTLIST idmap
name
CDATA #REQUIRED
extension
CDATA
>
<extension
point="org.eclipse.compare.structureMergeViewers">
<structureMergeViewer
extensions="xml,classpath,cd"
class="org.eclipse.compare.xml.XMLStructureViewerCreator">
</structureMergeViewer>
Aviso: Se uma extensão for associada mais de uma vez, apenas a primeira associação será considerada. Além disso, os esquemas internos de Mapeamento de ID têm prioridade sobre os esquemas de Mapeamento de ID de usuário quando extensões duplicadas são definidas.
Aviso: Quando um esquema interno de Mapeamento de ID com associação de extensão é removido (de um plugin.xml), o plug-in de Comparação XML deve ser recarregado para se desassociar da extensão. Se não for, na primeira comparação de arquivos com essa extensão, o plug-in de Comparação XML será utilizado com o algoritmo Unordered padrão. (Porém, nesse ponto a extensão terá sido desassociada do Plug-in XML, uma vez que o plug-in foi carregado.)
<!ELEMENT mapping EMPTY>
<!ATTLIST mapping
signature
CDATA #REQUIRED
id
CDATA #REQUIRED
id-source CDATA
>
<!ELEMENT ordered EMPTY>
<!ATTLIST ordered
signature
CDATA #REQUIRED
>
<idmap name="ANT">
<mapping signature="project" id="name"/>
<mapping signature="project>target" id="name"/>
<ordered signature="project>target"/>
<idmap>
O exemplo a seguir ilustra um caso em que o texto de um elemento filho é utilizado como id:
<idmap name="Book Catalog" extension="book">
<mapping signature="catalog>book" id="isbn" id-source="body"/>
<idmap>
Implementação Fornecida:
O plug-in de Comparação XML define um esquema de Mapeamento de ID para arquivos plugin.xml do Eclipse, um para arquivos .classpath e um para arquivos ANT.