XML-sammenlikning for Eclipse-plattformen

Med plugin-modulen for XML-sammenlikning kan du utføre en strukturell sammenlikning av to XML-dokumenter. Det returnerer et differansetre som viser hvilke XML-elementer som er lagt til og fjernet, og - for endrede XML-elementer - hvilke forskjeller det er med hensyn til attributter eller brødtekst.

Installere plugin-modulen

Bruke plugin-modulen

Plugin-modulen blir automatisk brukt når du sammenlikner filer som har filtypen .xml.
Som standard bruker XML-sammenlikning en Usortert sammenlikningsmetode, som ignorerer rekkefølgen som XML-elementene blir vist i, i dokumentet og sammenlikner de elementene som likner mest. Det finnes også en Sortert sammenlikningsmetode, som ganske enkelt sammenlikner XML-elementene nøyaktig i den rekkefølgen de blir vist i, i dokumentet. I de fleste tilfeller vil ikke denne sammenlikningsmetoden være til særlig nytte.
Sammenlikningsmetoden kan endres fra en valgliste på verktøylinjen i strukturvisningen.

Når et XML-dokument inneholder elementer som kan identifiseres unikt av et attributt eller teksten i et underordnet element, anbefaler vi at du oppretter et ID-tilordningsskjema for denne typen XML-dokument.

Se Opplæring og eksempler hvis du vil ha mer informasjon om hvordan du bruker plugin-modulen.

ID-tilordningsskjema

For XML-elementer oppgir et ID-tilordningsskjema et attributt eller teksten i et underordnet element som unikt identifiserer dette elementet. Dette sikrer at de riktige elementene blir sammenliknet med hverandre i sammenlikningsprosessen. Hvis det ikke er oppgitt en ID-tilordning for et XML-element, blir en generell sammenlikningsalgoritme brukt. Men denne generelle sammenlikningsalgoritmen returnerer ikke alltid ønsket resultat. Årsaken til det er at den generelle sammenlikningsalgoritmen ser etter samsvar i nodene til de to analyserte trærne som sammenliknes, for å minimere forskjellene. Resultatet er ofte en sammenlikning av to XML-elementer som er strukturelt like, men som representerer to helt forskjellige entiteter med informasjon.

Sorterte oppføringer

Når du bruker den usorterte standardsammenlikningen (med eller uten ID-tilordning), er det noen ganger ønskelig å oppgi at de underordnede elementene for bestemte elementer blir sammenliknet på en sortert måte i stedet for på den vanlige usorterte måten. Når du for eksempel sammenlikner ANT-filer, er rekkefølgen på de underordnede elementene for target-elementene viktig.
I slike tilfeller bør en opprette en sortert oppføring. En sortert oppføring oppgir at de direkte underordnede elementene for et XML-element, som er identifisert av banen, blir sammenliknet på en sortert måte (attributter blir imidlertid likevel sammenliknet på en usortert måte). De underordnede elementene for disse underordnede elementene vil fortsette å sammenlikne på en usortert måte, hvis ikke annet er oppgitt.

Definere ID-tilordningsskjemaer og sorterte oppføringer

ID-tilordningsskjemaer kan opprettes på tre forskjellige måter:
  1. Ved å utvide utvidelsespunktet idMapping
  2. Ved hjelp av siden for preferanser for XML-sammenlikning
  3. Ved hjelp av knappen for å opprette nytt ID-tilordningsskjema på verktøylinjen og hurtigmenyen
Metode 1 oppretter et såkalt internt tilordningsskjema. Et internt ID-tilordningsskjema kan ikke redigeres under kjøring. Men hvis du bruker knappen for å redigere kopi på preferansesiden, kan du opprette en redigerbar kopi av det interne ID-tilordningsskjemaet.
Metode 2 og 3 oppretter såkalte brukertilordningsskjemaer. Disse blir opprettet av brukeren under kjøring og kan når som helst endres på preferansesiden.

Interne tilordningsskjemaer og brukertilordningsskjemaer kan knyttes til en filtype. Når du så sammenlikner to XML-filer med denne filtypen, blir det bestemte ID-tilordningsskjemaet med denne filtypen automatisk brukt.

Når du oppretter eller redigerer ID-tilordningen for et bestemt XML-element, må du oppgi fire elementer (se eksempel):

  1. Elementnavnet.
  2. Elementbanen. Dette er banen til elementet fra roten i XML-dokumentet til elementets overordnede element.
  3. Navnet på IDen som identifiserer elementet.
  4. Om ID-navnet i punkt 3 er navnet på et attributt for elementet eller navnet på et av de underordnede elementene (og da blir teksten i dette underordnede elementet brukt som ID).


Utvidelsespunkter

Det er bare ett tilgjengelig utvidelsespunkt i plugin-modulen for XML-sammenlikning. Det blir brukt til å opprette interne ID-tilordningsskjemaer: