Porównywanie dokumentów XML na platformie Eclipse
Moduł dodatkowy porównywania XML umożliwia przeprowadzenie porównania struktury dwóch dokumentów XML. Zwraca drzewo różnic, które wskazuje dodane i usunięte elementy XML oraz, w przypadku zmodyfikowanych elementów XML, zmiany wprowadzone w atrybutach lub tekście treści. Instalowanie modułu dodatkowego
- Należy skopiować folder org.eclipse.compare.examples.xml do podfolderu plugins platformy Eclipse.
Korzystanie z modułu dodatkowego
Moduł dodatkowy jest używany automatycznie podczas porównywania plików z rozszerzeniem .xml.
Domyślnie funkcja porównywania XML używa nieuporządkowanej metody porównywania, która ignoruje porządek występowania elementów XML w dokumencie i porównuje je w ten sposób, że dopasowywane ze sobą są elementy najbardziej do siebie podobne.
Istnieje również uporządkowana metoda porównywania, która porównuje elementy XML w porządku ich występowania w dokumencie. W większości przypadków ta metoda nie będzie jednak użyteczna.
Metodę porównywania można zmienić za pomocą listy rozwijanej na pasku narzędzi w widoku struktury.
Jeśli dokument zawiera elementy, które mogą być jednoznacznie zidentyfikowane przez atrybut lub tekst elementu potomnego, zalecane jest utworzenie schematu odwzorowywania identyfikatorów dla tego typu dokumentu XML.
Więcej informacji o korzystaniu z modułu dodatkowego można znaleźć w sekcji Kurs i przykłady.
Schematy odwzorowywania identyfikatorów
W schemacie odwzorowywania identyfikatorów jest dla elementów XML określany atrybut lub tekst elementu potomnego, który jednoznacznie identyfikuje dany element. Gwarantuje to, że w procesie porównywania odpowiednie elementy zostaną porównane ze sobą. Jeśli dla elementu XML nie zostanie określone odwzorowanie identyfikatorów, użyty zostanie ogólny algorytm dopasowywania. Jednak ten ogólny algorytm dopasowywania nie zawsze zwraca pożądany wynik. Przyczyną tego jest fakt, że ogólny algorytm dopasowywania szuka zgodności węzłów analizowanych drzew do porównywania, co minimalizuje różnice. W wyniku tego często zestawiane są dwa elementy XML, które mają podobną strukturę, ale reprezentują dwa różne obiekty informacji.
Uporządkowane pozycje
Przy korzystaniu z domyślnego nieuporządkowanego porównywania (z użyciem odwzorowań identyfikatorów lub bez nich) jest czasem pożądane wskazanie, że elementy potomne określonych elementów mają być porównywane w sposób uporządkowany, a nie przy użyciu zwykłej nieuporządkowanej metody. Na przykład przy porównywaniu plików ANT porządek występowania elementów potomnych elementu target jest istotny.
W takich przypadkach można utworzyć uporządkowaną pozycję. Uporządkowana pozycja wskazuje, że bezpośrednie elementy potomne elementu XML, identyfikowane przez jego ścieżkę, będą porównywane w sposób uporządkowany (atrybuty będą nadal porównywane metodą nieuporządkowaną). Z kolei elementy podrzędne tych elementów podrzędnych będą nadal porównywane metodą nieuporządkowaną, jeśli nie zostanie to zaznaczone inaczej. Definiowanie schematów odwzorowywania identyfikatorów i uporządkowanych pozycji
Schematy odwzorowywania identyfikatorów mogą być tworzone na trzy różne sposoby:
- Przez rozszerzenie punktu rozszerzenia idMapping
- Za pomocą strony preferencji porównywania XML.
- Za pomocą przycisku tworzenia nowego schematu odwzorowywania identyfikatorów na pasku narzędzi i za pomocą menu kontekstowego
Pierwsza metoda powoduje utworzenie tzw. wewnętrznego schematu odwzorowywania. Wewnętrzny schemat odwzorowywania identyfikatorów nie może być edytowany w czasie wykonywania. Jednak za pomocą przycisku Edytuj kopię na stronie Preferencji można utworzyć kopię wewnętrznego schematu odwzorowywania, którą będzie dostępna do edycji.
Druga i trzecia służy do tworzenia tzw. schematów odwzorowywania użytkownika. Schematy te są tworzone przez użytkownika w czasie wykonywania i mogą być zmieniane w dowolnym momencie na stronie Preferencje.Wewnętrzne i utworzone przez użytkownika schematy odwzorowywania mogą zostać powiązane z rozszerzeniem pliku. Dzięki temu podczas porównywania dwóch plików XML z danym rozszerzeniem automatycznie użyty zostanie odpowiedni schemat odwzorowywania identyfikatorów z tym rozszerzeniem.
Podczas tworzenia lub edytowania odwzorowywania identyfikatorów określonego elementu XML należy określić cztery elementy (zobacz przykład):
- Nazwa elementu.
- Ścieżka elementu. Jest to ścieżka elementu (od elementu głównego dokumentu XML do elementu nadrzędnego tego elementu).
- Nazwa identyfikatora, który będzie identyfikować element.
- Czy nazwa identyfikatora w punkcie 3 jest nazwą atrybutu elementu czy nazwą jednego z elementów potomnych elementu (w tym przypadku tekst elementu potomnego będzie używany jako identyfikator).
Punkty rozszerzenia
Tylko jeden punkt rozszerzenia jest dostępny w module dodatkowym porównywania XML. Jest on używany do tworzenia wewnętrznych schematów odwzorowywania identyfikatorów: