XML-Vergleich in der Eclipse-Plattform

Das XML-Vergleichs-Plug-in ermöglicht den strukturellen Vergleich von zwei XML-Dokumenten. Es gibt eine Unterschiedsstruktur zurück, der zu entnehmen ist, welche XML-Elemente hinzugefügt oder entfernt wurden und - für geänderte XML-Elemente - welche Unterschiede sie hinsichtlich der Attribute oder des Hauptteiltextes aufweisen.

Das Plug-in installieren

Das Plug-in verwenden

Das Plug-in wird beim Vergleich von Dateien mit der Erweiterung .xml automatisch verwendet.
Standardmäßig verwendet der XML-Vergleich die Unordered-Vergleichsmethode, bei der die Reihenfolge der XML-Elemente in dem Dokument ignoriert wird und Elemente, die sich am ähnlichsten sind, einander zugeordnet werden. Es gibt auch eine Ordered-Vergleichsmethode, bei der einfach XML-Elemente exakt in der Reihenfolge, in der sie in dem Dokument erscheinen, verglichen werden. In den meisten Fällen ist diese Vergleichsmethode jedoch nicht sehr nützlich.
Die Vergleichsmethode kann in einer Drop-down-Liste der Symbolleite in der Sicht 'Struktur' geändert werden.

Wenn ein XML-Dokument Elemente enthält, die von einem Attribut oder dem Text eines untergeordneten Elements eindeutig identifiziert werden können, wird empfohlen, für diesen Typ eines XML-Dokuments ein ID-Zuordnungsschema zu erstellen.

Weitere Informationen über die Verwendung des Plug-ins finden Sie unter Lernprogramm und Beispiele.

ID-Zuordnungsschemen

Ein ID-Zuordnungsschema gibt ein Attribut oder den Text eines untergeordneten Elements für XML-Elemente an, die dieses Element eindeutig kennzeichnen. Damit wird gewährleistet, dass - im Vergleichsprozess - die richtigen Elemente zugeordnet und somit miteinander vergleichen werden. Wenn für ein XML-Element keine ID-Zuordnung angegeben ist, wird ein allgemeiner Abgleichalgorithmus verwendet. Dieser allgemeine Abgleichalgorithmus gibt jedoch nicht immer die gewünschten Ergebnisse zurück. Dies ist darauf zurückzuführen, dass der allgemeine Abgleichalgorithmus beim Vergleich auf den Abgleich der Knoten der beiden Syntaxanalysebäume ausgerichtet ist, wodurch die Unterschiede minimiert werden. Dies führt oft dazu, dass zwei XML-Elemente abgeglichen werden, die strukturell ähnlich sind, aber zwei vollkommen unterschiedliche Informationsentitäten darstellen.

Sortierte Einträge

Bei Verwendung des standardmäßigen Unordered-Vergleichs (mit oder ohne ID-Zuordnung) ist es manchmal wünschenswert, anzugeben, dass die untergeordneten Elemente bestimmter Elemente in einer sortierten Weise statt nach der üblichen nicht sortierten Methode verglichen werden. Beim Vergleich von ANT-Dateien ist beispielsweise die Reihenfolge der untergeordneten Elemente von Ziel-Elementen von Bedeutung.
In diesen Fällen kann ein Sortierter Eintrag erstellt werden. Ein sortierter Eintrag gibt an, dass die einem XML-Element direkt untergeordneten Elemente, die durch ihren Pfad identifiziert werden, in einer sortierten Weise verglichen werden (die Attribute werden jedoch immer noch in einer nicht sortierten Weise verglichen). Die untergeordneten Elemente dieser untergeordneten Elemente werden weiterhin in einer nicht sortierten Weise verglichen, sofern nicht anderes angegeben wird.

ID-Zuordnungsschemen und sortierte Einträge definieren

ID-Zuordnungsschemen können auf drei verschiedene Arten erstellt werden:
  1. Durch das Erweitern des Erweiterungspunkts idMapping
  2. Durch Verwendung der Benutzervorgabenseite für XML-Vergleich.
  3. Durch Verwendung der Schaltfläche Ein neues ID-Zuordnungsschema erstellen in der Symbolleiste und dem Kontextmenü .
Methode 1 erstellt ein so genanntes internes Zuordnungsschema. Ein internes ID-Zuordnungsschema kann zur Laufzeit nicht bearbeitet werden. Bei Verwendung der Schaltfläche Edit Copy auf der Benutzervorgabenseite kann jedoch eine Kopie des internen ID-Zuordnungsschemas erstellt werden.
Methoden 2 und 3 erstellen so genannte Benutzer-Zuordnungsschemen. Diese werden vom Benutzer zur Laufzeit erstellt und können jederzeit auf der Benutzervorgabenseite geändert werden.

Interne und vom Benutzer erstellte Zuordnungsschemen können einer Dateierweiterung zugeordnet werden. Beim Vergleich von zwei XML-Dateien mit dieser Dateierweiterung wird daher automatisch das bestimmte ID-Zuordnungsschema mit dieser Erweiterung verwendet.

Beim Erstellen oder Bearbeiten der ID-Zuordnung für ein bestimmtes XML-Dokument müssen vier Einträge angegeben werden (siehe Beispiel):

  1. Der Name des Elements
  2. Der Pfad des Elements: Dies ist der Pfad des Elements vom Stamm des XML-Dokuments bis zum übergeordneten Verzeichnis des Elements.
  3. Der Name der ID, die das Element identifiziert.
  4. Ob der ID-Name in Punkt 3 mit dem Namen eines Attributs des Elements oder dem Namen eines seiner untergeordneten Elemente übereinstimmt (in diesem Fall wird der Text dieses untergeordneten Elements als ID verwendet).


Erweiterungspunkte

Im XML-Vergleichs-Plug-in ist nur ein Erweiterungspunkt verfügbar. Dieser wird zum Erstellen interner ID-Zuordnungsschemen verwendet: