Σύγκριση XML πλατφόρμας Eclipse
Η πρόσθετη λειτουργία σύγκρισης XML σας επιτρέπει να εκτελείτε δομική σύγκριση δυο εγγράφων XML. Επιστρέφει μια διακλάδωση διαφορών η οποία δηλώνει ποια στοιχεία XML προστέθηκαν ή αφαιρέθηκαν και για τα τροποποιημένα στοιχεία XML ποιες διαφορές υπάρχουν αναφορικά με τα γνωρίσματα και το κύριο σώμα κειμένου.
Εγκατάσταση της πρόσθετης λειτουργίας
- Αντιγράψτε το φάκελο org.eclipse.compare.examples.xml στον υποφάκελο plugins του Eclipse.
Χρήση της πρόσθετης λειτουργίας
Η πρόσθετη λειτουργία χρησιμοποιείται αυτόματα κατά τη σύγκριση αρχείων με την επέκταση .xml.
Ως προεπιλογή, η σύγκριση XML χρησιμοποιεί τη μέθοδο τυχαίας σύγκρισης, η οποία αγνοεί τη σειρά με την οποία τα στοιχεία XML εμφανίζονται στο έγγραφο και τα αντιστοιχεί έτσι ώστε να αντιστοιχούνται τα στοιχεία που είναι περισσότερο παρόμοια.
Υπάρχει επίσης η μέθοδος σειριακής σύγκρισης η οποία απλά συγκρίνει τα στοιχεία XML ακριβώς με τη σειρά με την οποία εμφανίζονται στο έγγραφο. Τις περισσότερες περιπτώσεις, αυτή η μέθοδος σύγκρισης δεν θα φανεί και πολύ χρήσιμη.
Η μέθοδος σύγκρισης μπορεί να αλλάξει από την αναπτυσσόμενη λίστα στη γραμμή εργαλείων της προβολής της δομής.
Όταν ένα έγγραφο XML περιέχει στοιχεία που μπορούν να προσδιοριστούν με μοναδικό τρόπο από ένα γνώρισμα ή το κείμενο ενός θυγατρικού στοιχείου, προτείνεται η δημιουργία ενός σχήματος αντιστοίχισης ταυτότητων για αυτό τον τύπο εγγράφου XML.
Δείτε την ενότητα Πρόγραμμα εκμάθησης και παραδείγματα για περισσότερες πληροφορίες σχετικά με τη χρήση της πρόσθετης λειτουργίας.
Σχήματα αντιστοίχισης ταυτότητων
Ένα σχήμα αντιστοίχισης ταυτότητων καθορίζει για τα στοιχεία XML ένα γνώρισμα ή το κείμενο ενός θυγατρικού στοιχείου που προσδιορίζει με μοναδικό τρόπο αυτό το στοιχείο. Με αυτόν τον τρόπο εξασφαλίζεται ότι κατά τη διαδικασία σύγκρισης θα αντιστοιχιστούν τα σωστά στοιχεία και συνεπώς θα συγκριθούν μεταξύ τους. Εάν για ένα στοιχείο XML δεν έχει καθοριστεί καμία αντιστοίχιση ταυτότητων, θα χρησιμοποιηθεί ένας αλγόριθμος γενικής αντιστοίχισης. Ωστόσο, αυτός ο αλγόριθμος γενικής αντιστοίχισης δεν επιστρέφει πάντα το επιθυμητό αποτέλεσμα.
Αυτό συμβαίνει επειδή ο αλγόριθμος γενικής αντιστοίχισης αναζητάει μια αντιστοίχιση των κόμβων των δυο αναλυμένων διακλαδώσεων προς σύγκριση που ελαχιστοποιεί τις διαφορές. Το αποτέλεσμα είναι ότι συχνά δυο στοιχεία XML αντιστοιχούνται, τα οποία είναι δομικά παρόμοια, αλλά αντιπροσωπεύουν δυο τελείως διαφορετικές οντότητες πληροφοριών.
Εγγραφές σειριακής σύγκρισης
Κατά τη χρήση της προεπιλεγμένης μεθόδου τυχαίας σύγκρισης (με ή χωρίς αντιστοιχίσεις ταυτοτήτων) συχνά είναι επιθυμητό να καθοριστεί η σύγκριση των θυγατρικών μερικών στοιχείων με τη μέθοδο της σειριακής σύγκρισης αντί της συνηθισμένης μεθόδου τυχαίας σύγκρισης.
Για παράδειγμα, κατά τη σύγκριση αρχείων ANT η σειρά εμφάνισης των θυγατρικών των στοιχείων target είναι σημαντική.
Σε τέτοιες περιπτώσεις μπορείτε να δημιουργήσετε μια εγγραφή σειριακής σύγκρισης. Μια εγγραφή σειριακής σύγκρισης καθορίζει ότι τα άμεσα θυγατρικά ενός στοιχείου xml, που προσδιορίζονται από τη διαδρομή του, θα συγκριθούν με τη μέθοδο της σειριακής σύγκρισης (ωστόσο, τα γνωρίσματα συγκρίνονται ακόμη με τη μέθοδο της τυχαίας σύγκρισης).
Τα θυγατρικά αυτών των θυγατρικών θα συνεχίσουν να συγκρίνονται με τυχαία σύγκριση, εκτός εάν οριστεί διαφορετικά.
Ορισμός σχημάτων αντιστοίχισης ταυτότητων και εγγραφών σειριακής σύγκρισης
Τα σχήματα αντιστοίχισης ταυτότητων μπορούν να δημιουργηθούν με τρεις διαφορετικούς τρόπους:
- Επεκτείνοντας το σημείο επέκτασης idMapping
- Χρησιμοποιώντας τη σελίδα προτιμήσεων σύγκρισης XML.
- Χρησιμοποιώντας το κουμπί "Δημιουργία νέου σχήματος αντιστοίχισης ταυτότητας" στη γραμμή εργαλείων και στο μενού περιβάλλοντος
Η μέθοδος 1 δημιουργεί ένα εσωτερικό σχήμα αντιστοίχισης, όπως ονομάζεται. Ένα εσωτερικό σχήμα αντιστοίχισης ταυτότητων δεν μπορεί να τροποποιηθεί στο περιβάλλον εκτέλεσης. Ωστόσο, χρησιμοποιώντας το κουμπί Τροποποίηση αντιγράφου στη σελίδα προτιμήσεων, μπορεί να δημιουργηθεί ένα τροποποιήσιμο αντίγραφο του εσωτερικού σχήματος αντιστοίχισης ταυτότητων.
Οι μέθοδοι 2 και 3 δημιουργούν τα σχήματα αντιστοίχισης χρήστη. Αυτά δημιουργούνται από το χρήστη στο περιβάλλον εκτέλεσης και μπορούν να τροποποιηθούν οποιαδήποτε στιγμή στη σελίδα προτιμήσεων.
Τα εσωτερικά σχήματα αντιστοίχισης και τα σχήματα αντιστοίχισης χρήστη μπορούν να συσχετιστούν με μια επέκταση αρχείου. Ως αποτέλεσμα, κατά τη σύγκριση δυο αρχείων XML με αυτή την προέκταση αρχείου, χρησιμοποιείται αυτόματα το συγκεκριμένο σχήμα αντιστοίχισης ταυτότητων με αυτή την προέκταση.
Κατά τη δημιουργία ή τροποποίηση της αντιστοίχισης ταυτότητων για ένα συγκεκριμένο στοιχείο XML, πρέπει να καθοριστούν τέσσερα στοιχεία (δείτε το παράδειγμα):
- Το όνομα στοιχείου.
- Το όνομα διαδρομής. Αυτό αποτελεί τη διαδρομή του στοιχείου από τον κεντρικό κατάλογο του εγγράφου XML στο γονικό του στοιχείου.
- Το όνομα της ταυτότητας η οποία θα προσδιορίζει το στοιχείο.
- Το όνομα ταυτότητάς στο σημείο 3 είναι είτε το όνομα ενός γνωρίσματος του στοιχείου ή το όνομα ενός από τα θυγατρικά του (σε αυτή την περίπτωση θα χρησιμοποιηθεί ως ταυτότητα το κείμενο αυτού του θυγατρικού στοιχείου).
Σημεία επέκτασης
Διατίθεται μόνο ένα σημείο επέκτασης στην πρόσθετη λειτουργία σύγκρισης XML. Χρησιμοποιείται για τη δημιουργία εσωτερικών σχημάτων αντιστοίχισης ταυτότητων: