Modul XML Compare platformy Eclipse

Plug-in XML Compare vám umožní provést porovnání struktury dvou dokumentů XML. Vrací strom rozdílů, který ukazuje, které prvky XML byly přidány nebo odebrány, a - u upravených prvků XML - jaké jsou rozdíly v atributech nebo textu těla.

Instalace modulu plug-in

Použití modulu plug-in

Plug-in se používá automaticky při porovnávání souborů s příponou .xml.
Standardně využívá porovnání XML porovnávací metodu Unordered, která ignoruje pořadí, v němž se prvky XML vyskytují v dokumentu, a páruje prvky, které jsou si navzájem nejvíce podobné. Existuje také porovnávací metoda Ordered, která jednoduše porovnává prvky XML přesně v tom pořadí, v němž se vyskytují v dokumentu. Ve většině případů nebude tato metoda porovnání příliš k užitku.
Metodu porovnání je možné změnit z rozevíracího seznamu v panelu nástrojů pohledu struktury.

Když dokument XML obsahuje prvky, které lze jednoznačně identifikovat podle atributu nebo textu podřízeného prvku, doporučuje se pro tento typ dokumentu XML Vytvořit schéma mapování ID.

Další informace o použití tohoto modulu plug-in naleznete ve Výukovém programu a příkladech.

Schémata mapování ID

Schéma mapování ID určuje pro prvky XML atribut nebo text podřízeného prvku, který jednoznačně identifikuje daný prvek. To zajišťuje, že budou - v procesu porovnání - spárovány, a tedy navzájem porovnány, správné prvky. Pokud pro nějaký prvek XML není určeno mapování ID, použije se algoritmus obecného porovnání. Tento algoritmus obecného porovnání však nepřináší vždy požadované výsledky. Důvodem je, že algoritmus obecného porovnání hledá takové spárování uzlů dvou analyzovaných stromů, jež mají být porovnány, které minimalizuje rozdíly. V důsledku toho jsou často spárovány dva prvky XML, které mají podobnou strukturu, ale představují dvě naprosto odlišné informační entity.

Položky Ordered

Při použití výchozího porovnání metodou Unordered (ať s mapováním ID nebo bez něj) je někdy zapotřebí, aby se podřízené prvky jistých prvků porovnávaly v určitém pořadí, namísto obvyklé metody unordered. Například při porovnávání souborů ANT je důležité pořadí výskytu prvků podřízených prvkům target.
V takových případech je možné vytvořit položku Ordered. Položka Ordered stanovuje, že se budou prvky přímo podřízené určitému prvku XML, identifikovanému pomocí cesty, porovnávat v určitém pořadí (atributy se však i nadále porovnávají bez seřazení). Podřízené prvky těchto podřízených prvků se budou i nadále porovnávat bez seřazení, pokud nebude stanoveno jinak.

Definování schémat mapování ID a položek Ordered

Schémata mapování ID lze vytvářet třemi různými způsoby:
  1. Rozšířením bodu rozšíření idMapping.
  2. Pomocí Stránky předvoleb XML Compare.
  3. Pomocí tlačítka Vytvořit nové schéma mapování ID v panelu nástrojů a v kontextové nabídce.
Metoda číslo 1 vytváří takzvané interní schéma mapování. Interní schéma mapování ID nelze upravovat za běhu programu. Ovšem pomocí tlačítka Upravit kopii na stránce předvoleb je možné vytvořit upravitelnou kopii interního schématu mapování ID.
Metody číslo 2 a 3 vytvářejí takzvaná uživatelská schémata mapování. Ta vytváří uživatel za běhu programu a lze je kdykoli upravit na stránce předvoleb.

Interní a uživatelská schémata mapování je možné přiřadit určité příponě souboru. V důsledku toho bude při porovnávání dvou souborů XML s touto příponou automaticky použito konkrétní schéma mapování ID pro tuto příponu.

Při vytváření nebo úpravách mapování ID pro určitý prvek XML musí být uvedeny čtyři položky (viz příklad):

  1. Název prvku.
  2. Cesta prvku. Jedná se o cestu prvku z kořene daného dokumentu XML k nadřazenému prvku daného prvku.
  3. Název ID, který bude daný prvek identifikovat.
  4. Zda je název ID z bodu 3 názvem atributu daného prvku, nebo názvem jednoho z jeho podřízených prvků (v takovém případě se jako ID použije text tohoto podřízeného prvku).


Body rozšíření

V modulu plug-in XML Compare je k dispozici pouze jeden bod rozšíření. Používá se k vytváření interních schémat mapování ID: