Opis: Ten punkt rozszerzenia umożliwia definiowanie wewnętrznych schematów odwzorowywania identyfikatorów XML za pomocą elementu mapping. Schematy te mogą być wykorzystane podczas porównywania XML do jednoznacznego identyfikowania elementów XML według wartości atrybutu lub tekstu w elemencie potomnym.
Dodatkowo uporządkowane elementy mogą być używane do określenia, że bezpośrednie elementy potomne danego elementu mają być porównywane w uporządkowany sposób zamiast domyślnej nieuporządkowanej metody.
Znaczniki konfiguracji:
<!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>
Uwaga: Jeśli rozszerzenie jest powiązane więcej niż jeden raz, tylko pierwsze powiązanie będzie brane pod uwagę. Ponadto w przypadku zdefiniowania zduplikowanych rozszerzeń wewnętrzne schematy odwzorowywania identyfikatorów mają wyższy priorytet niż schematy odwzorowywania identyfikatorów utworzone przez użytkownika.
Uwaga: Po usunięciu wewnętrznego schematu odwzorowywania identyfikatorów z powiązanym rozszerzeniem (z pliku plugin.xml) moduł dodatkowy porównywania XML musi zostać ponownie załadowany, aby usunąć powiązanie z rozszerzeniem. W przeciwnym razie podczas pierwszego porównania plików z tym rozszerzeniem moduł dodatkowy porównywania XML zostanie użyty z domyślnym nieuporządkowanym algorytmem. W tym momencie jednak powiązanie z rozszerzeniem zostanie usunięte z modułu dodatkowego XML w wyniku załadowania tego modułu.
<!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>
W poniższym przykładzie przedstawiono przypadek, w którym tekst elementu potomnego jest używany jako identyfikator:
<idmap name="Book Catalog" extension="book">
<mapping signature="catalog>book" id="isbn" id-source="body"/>
<idmap>
Dostarczona implementacja:
Moduł dodatkowy porównywania XML definiuje schemat odwzorowywania identyfikatorów dla plików Eclipse plugin.xml, jeden dla plików .classpath i jeden dla plików ANT.