Περιγραφή: Αυτό το σημείο επέκτασης επιτρέπει τον καθορισμό των εσωτερικών σχημάτων αντιστοίχισης ταυτότητων XML χρησιμοποιώντας το στοιχείο mapping. Αυτά τα σχήματα μπορούν να χρησιμοποιηθούν κατά την εκτέλεση μιας σύγκρισης XML για τη μοναδική αναγνώριση των στοιχείων XML από την τιμή ενός γνωρίσματος ή το κείμενο σε ένα θυγατρικό στοιχείο.
Επιπρόσθετα, μπορούν να χρησιμοποιηθούν στοιχεία σειριακής σύγκρισης για να καθορίσουν ότι τα άμεσα θυγατρικά ενός στοιχείου θα πρέπει να συγκριθούν με σειριακή σύγκριση αντί της προεπιλεγμένης τυχαίας σύγκρισης.
Μορφοποίηση ρυθμίσεων:
<!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>
Προειδοποίηση: Εάν μια επέκταση είναι συσχετισμένη παραπάνω από μια φορές, θα ληφθεί υπόψη μόνο η πρώτη συσχέτιση. Επίσης, τα εσωτερικά σχήματα αντιστοίχισης ταυτότητων έχουν προτεραιότητα από τα σχήματα αντιστοίχισης ταυτότητων χρήστη όταν ορίζονται διπλότυπες προεκτάσεις.
Προειδοποίηση: Όταν αφαιρείται ένα εσωτερικό σχήμα αντιστοίχισης ταυτότητων με συσχέτιση επέκτασης (από ένα plugin.xml), η πρόσθετη λειτουργία σύγκρισης XML πρέπει να φορτωθεί εκ νέου για να αποσυσχετιστεί από την επέκταση. Εάν δεν γίνει αυτό, κατά την πρώτη σύγκριση αρχείων με αυτή την επέκταση, η πρόσθετη λειτουργία σύγκρισης XML θα χρησιμοποιηθεί με τον προεπιλεγμένο αλγόριθμο Τυχαίας σύγκρισης. (Ωστόσο, σε αυτό το σημείο η επέκταση θα έχει αποσυσχετιστεί από την πρόσθετη λειτουργία XML, καθώς φορτώθηκε η πρόσθετη λειτουργία.)
<!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>
Το ακόλουθο παράδειγμα απεικονίζει μια περίπτωση όπου το κείμενο ενός θυγατρικού στοιχείου χρησιμοποιείται ως ταυτότητα:
<idmap name="Book Catalog" extension="book">
<mapping signature="catalog>book" id="isbn" id-source="body"/>
<idmap>
Παρεχόμενη υλοποίηση:
Η πρόσθετη λειτουργία σύγκρισης XML προσδιορίζει ένα σχήμα αντιστοίχισης ταυτότητων για αρχεία του Eclipse plugin.xml, ένα για τα αρχεία .classpath και ένα για τα αρχεία ANT.