Beskrivelse: Dette utvidelsespunktet gjør det mulig å definere intern ID-tilordningsskjemaer for
XML ved hjelp av mapping-elementet. Disse skjemaene kan deretter brukes til XML-sammenlikning for unikt å
kunne identifisere XML-elementer etter verdien til et attributt eller teksten i et underordnet element.
I
tillegg kan ordered-elementer brukes for å oppgi at de direkte underordnede elementene for et element skal
sammenliknes på en sortert måte i stedet for på den usorterte standardmåten.
Konfigurasjonskodetype:
<!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 blir tilknyttet flere ganger, blir det bare tatt hensyn til den første tilknytningen. I tillegg har interne ID-tilordningsskjemaer høyere prioritet enn brukernes ID-tilordningsskjemaer når det er definert duplikate filtyper.
Advarsel: Når et internt ID-tilordningsskjema med filtypetilknytning blir fjernet (fra en plugin.xml), må plugin-modulen for XML-sammenlikning lastet inn på nytt for å fjerne tilknytningen til filtypen. Hvis ikke, vil plugin-modulen for XML-sammenlikning brukes med standardalgoritmen Unordered ved første sammenlikningen av filer med denne filtypen. (Men tilknytningen til filtypen vil nå være fjernet fra plugin-modulen for XML, ettersom plugin-modulen har blitt lastet inn.)
<!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 illustrerer et tilfelle der teksten i et underordnet element blir brukt som ID:
<idmap name="Book Catalog" extension="book">
<mapping signature="catalog>book" id="isbn" id-source="body"/>
<idmap>
Levert implementering:
Plugin-modulen for XML-sammenlikning definerer et ID-tilordningsskjema for Eclipse plugin.xml-filer,
et for .classpath-filer og et for ANT-filer.