Beskrivelse: Dette udvidelsespunkt gør det muligt at definere interne XML id-tilknytningsskemaer vha. elementet mapping. Disse skemaer kan herefter bruges til udførelse af XML-sammenligninger med henblik på entydig identifikation af XML-elementer vha. værdien af en attribut eller teksten i et underordnet element.
Derudover kan sorterede elementer bruges til at angive, at elementer, som er direkte underordnet et andet element, skal sammenlignes på en sorteret måde i stedet for en ikke-sorteret standardmåde.
Konfigurationskode:
<!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>
Advarsel: Hvis en filtype tilknyttes mere end én gang, bliver kun den første tilknytning overvejet. Desuden har interne id-tilknytningsskemaer højere prioritet end brugeres id-tilknytningsskemaer, hvis der defineres sammenfaldende filtyper.
Advarsel: Når et internt id-tilknytningsskema med filtypetilknytning fjernes (fra enplugin.xml), skal XML plugin-sammenligningsfunktionen genindlæses, for at dens tilknytning til filtypen kan fjernes. Hvis ikke, vil XML plugin-sammenligningsfunktionen ved første sammenligning af filer med denne filtype blive brugt sammen med standardalgoritmen Unordered (ikke-sorteret). (Imidlertid vil filtypen på dette tidspunkt have fået fjernet tilknytningen til XML plugin-sammenligningsfunktionen, fordi plugin-funktionen er indlæst.)
<!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>
Følgende eksempel viser et tilfælde, hvor teksten i et underordnet element bruges som id:
<idmap name="Book Catalog" extension="book">
<mapping signature="catalog>book" id="isbn" id-source="body"/>
<idmap>
Medfølgende implementering:
XML plugin-sammenligningsfunktionen definerer et id-tilknytningsskema til Eclipse plugin.xml-filer, et til .classpath-filer og et til ANT-filer.