Eclipse platform XML Compare

Az XML bedolgozó lehetőséget ad két XML-dokumentum szerkezeti összehasonlítására. Visszaad egy különbségfát, amely jelzi, mely XML-elemek kerültek hozzáadásra és eltávolításra, és - módosított XML-elemek esetén - milyen eltérések vannak az attribútumokat vagy a szövegtörzset illetően.

A bedolgozó telepítése

A bedolgozó használata

A bedolgozó automatikusan használatra kerül az .xml kiterjesztésű fájlok összehasonlításakor.
Az XML összehasonlítás alapértelmezésben a rendezetlen összehasonlítási módszert használja, amelynél nem számít, hogy az XML elemek milyen sorrendben jelennek meg a dokumentumban, és úgy párosítja azokat, hogy a leghasonlóbbakat veszi egyezőnek. Van egy rendezett összehasonlítási módszer is, amelyik egyszerűen abban a sorrendben párosítja az XML elemeket, ahogy megjelennek a dokumentumban. Ennek az összehasonlítási módszernek a legtöbb esetben nem sok haszna van.
Az összehasonlítási módszer megváltoztatható a szerkezeti nézet eszköztárának legördülő listájából.

Amikor egy XML-dokumentum olyan elemeket tartalmaz, amelyek egyedileg azonosíthatók egy attribútummal vagy egy leszármazott elem szövegével, ehhez a fajta XML-dokumentumhoz ajánlott egy azonosító-leképezési sémát létrehozni.

A bedolgozó használatával kapcsolatban további információkért lásd az Ismertető és példák fejezetet.

Azonosító-leképezési sémák

Egy azonosító-leképezési séma az XML elemekhez meghatároz egy attribútumot vagy egy leszármazott elem szövegét, amely egyedileg azonosítja az elemet. Ez biztosítja, hogy - az összehasonlítási folyamatban - a megfelelő elemek kerülnek összepárosításra, és következésképpen hasonlítódnak össze egymással. Ha egy XML elemhez nincs megadva azonosító-leképezés, egy általános egyeztetési algoritmus kerül használatra. Ez az általános egyeztetési algoritmus azonban nem mindig adja vissza a kívánt eredményt. Ennek az az oka, hogy az általános egyeztetési algoritmus a két elemzett fa csomópontjainak olyan egyezéseit keresi, amelyek minimalizálják a különbségeket. A hatás az, hogy gyakran két olyan XML elemet párosít, amelyek szerkezetileg hasonlítanak, de teljesen más információ-entitást jelentenek.

Rendezett bejegyzések

Az alapértelmezett rendezetlen összehasonlítás (azonosító-leképezésekkel vagy anélkül) használata során néha kívánatos volna megadni, hogy bizonyos elemek leszármazottait kell rendezett módon összehasonlítani a szokásos rendezetlen módszer helyett. Amikor például ANT fájlokat hasonlítunk össze, a target elemek leszármazottainak megjelenési sorrendje fontos.
Ezekben az esetekben létrehozható egy rendezett bejegyzés. A rendezett bejegyzés meghatározza, hogy egy XML elem közvetlen, elérési útvonalukkal azonosított leszármazottjai kerüljenek összehasonlításra rendezett módon (az attribútumok azonban továbbra is rendezetlenül kerülnek összehasonlításra. Ezeknek a leszármazottaknak a leszármazottai továbbra is rendezetlen módon lesznek összehasonlítva, hacsak nem adunk meg mást.

Azonosító-leképezési sémák meghatározása és rendezett bejegyzések

Az azonosító-leképezési sémák három különféle módon hozhatók létre:
  1. Az idMapping kiterjesztési pont kiterjesztésével
  2. Az XML Compare beállítási oldal használatával.
  3. Az Új azonosító-leképezési séma gomb használatával az eszköztárban és a helyzetérzékeny menüben
Az 1. módszer létrehoz egy úgynevezett belső leképezési sémát. Egy belső azonosító-leképezési sémát nem lehet futás közben szerkeszteni. A Beállítási oldal Edit Copy gombjával azonban létrehozható egy szerkeszthető másolat a belső azonosító-leképezési sémáról.
A 2. és 3. módszer úgynevezett felhasználói leképezési sémákat hoz létre. Ezeket a felhasználók futás közben hozhatják létre, és bármikor szerkeszthetik a beállítási oldalon.

A belső és felhasználói sémák egy fájlkiterjesztéshez társíthatók. Ennek eredményeképpen amikor két ilyen fájlkiterjesztésű XML-fájl kerül összehasonlításra, az adott, ilyen fájlkiterjesztésű azonosító-leképezési séma kerül felhasználásra.

Egy azonosító-leképezés létrehozásakor vagy szerkesztésekor egy adott XML elemhez négy dolgot kell megadni (lásd a példát):

  1. Az elem nevét.
  2. Az elem elérési útját. Ez az elem elérési útvonala az XML-dokumentum gyökerétől az elem szülőkönyvtáráig.
  3. Az azonosító nevét, amely azonosítani fogja az elemet.
  4. Az azonosító neve a 3. pontban az elem egy attribútumának neve is lehet, vagy az egyik leszármazottjának neve (ebben az esetben ennek a leszármazott elemnek a szövege kerül használatra azonosítóként).


Kiterjesztési pontok

Az XML Compare bedolgozóban csak egyetlen kiterjesztési pont áll rendelkezésre. Ez a belső azonosító-leképezési sémák létrehozására való: