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
- Másolja át az org.eclipse.compare.examples.xml mappát az
Eclipse plugins almappájába.
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:
- Az idMapping kiterjesztési pont
kiterjesztésével
- Az XML Compare beállítási oldal
használatával.
- 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):
- Az elem nevét.
- 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.
- Az azonosító nevét, amely azonosítani fogja az elemet.
- 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ó: