Altova DiffDog 2024 Professional Edition

Im Dialogfeld Vergleichsoptionen werden auf dem Register "XML" die Optionen angezeigt, die für Vergleiche von XML-basierten Dateien verwendet werden.

dd_dlg_xml_comparison_options

 

Ergebnisse anzeigen

Die Option Detaillierter Vergleich ermöglicht Ihnen, Unterschiede im Detail anzuzeigen oder die Anzahl der Unterschiede zu verringern (um schneller navigieren zu können). Wenn Sie diese Option deaktivieren, werden aufeinander folgende Nodes, die unterschiedlich sind, als ein einziger Node angezeigt. Dies gilt auch für aufeinander folgende Nodes auf unterschiedlichen hierarchischen Ebenen, wie z.B. einen Element-Node und seinen Child-Attribut-Node.

 

Beachten Sie die folgenden Punkte:

 

In der Grid-Ansicht werden aufeinander folgende Unterschiede als ein einziger Unterschied gewertet, während diese in der Textansicht als separate Unterschiede gezählt werden. Infolgedessen werden in der Textansicht eventuell mehr Unterschiede gezählt.

Damit Unterschiede zusammengeführt und exportiert werden können, muss die Option "detaillierter Vergleich" ausgewählt werden.

 

Whitespace

Siehe Vergleichsoptionen für Whitespace-Zeichen.

 

Namespace Präfix

Diese Optionen dienen zum Ignorieren von Namespaces und Präfixen beim Suchen nach Unterschieden.

 

Entities

Ist die Option Entities auflösen ausgewählt, werden alle Entities im Dokument aufgelöst. Andernfalls werden die Dateien mit den Entities in ihrem gegenwärtigen Zustand verglichen.

 

Text

Wenn Sie die Option Text ignorieren auswählen, werden die Unterschiede in einander entsprechenden Text-Nodes nicht berücksichtigt. Es wird nur die XML-Struktur verglichen, nicht jedoch der Textinhalt. Dies ist nützlich, wenn Sie nur die Struktur von XML-Dateien, nicht aber den eigentlichen Inhalt der Nodes vergleichen möchten. Angenommen, das Kontrollkästchen Text ignorieren ist aktiviert. In diesem Fall werden die folgenden beiden XML-Dateien als identisch betrachtet (obwohl sich der Inhalt unterscheidet).

dd_ignore_text

 

Tiefe

Wenn Node-Tiefe ignorieren aktiviert ist, gelten Elemente als identisch, ohne dass deren Tiefe berücksichtigt wird. Angenommen, das Kontrollkästchen Node-Tiefe ignorieren ist aktiviert. In diesem Fall gilt das Element <c> im unten gezeigten Vergleich als identisch, obwohl es rechts tiefer verschachtelt ist.

dd_ignore_node_depth
Anmerkung:Wenn das Kontrollkästchen Node-Tiefe ignorieren aktiviert ist, können Unterschiede nicht zusammengeführt und exportiert werden.

 

Groß-/Kleinschreibung

Wenn die Option Groß-/Kleinschreibung ignorieren aktiviert ist, wird die Groß- und Kleinschreibung nicht berücksichtigt. Außerdem haben Sie die Option, die Groß- und Kleinschreibung in Node-Namen zu berücksichtigen oder zu ignorieren.

 

Reihenfolge

Wenn die Option Child Node-Reihenfolge ignorieren ausgewählt ist, dann wird die Position der Child-Nodes relativ zueinander nicht berücksichtigt, vorausgesetzt, dass die einzelnen Nodes innerhalb einer Ebene eindeutige Node-Namen haben. Solange in beiden Dokumenten in gleichrangigen Nodes ein Element-Node desselben Namens vorhanden ist, werden die beiden Node Sets als identisch betrachtet. Im folgenden Beispiel ist die Reihenfolge der Nodes <Name> und <FirstName> in der linken und rechten Datei unterschiedlich und wird als Unterschied gekennzeichnet, wenn die Option Child Node-Reihenfolge ignorieren deaktiviert ist.

file_child-order-off

Wenn Sie die Option Child Node-Reihenfolge ignorieren aktivieren, wird dieser Unterschied im Vergleichsfenster ignoriert.

file_child-order-on

Beachten Sie jedoch, dass DiffDog die Reihenfolge der Child-Nodes nur dann ignorieren kann, wenn die Node-Namen in einer bestimmten Node-Ebene eindeutig sind. Wenn ein Node mehrmals, z.B. mit verschiedenen Attributen, vorkommt, wird er, wenn er in einer unterschiedlichen Reihenfolge auftaucht, immer als nicht identisch mit einem Element desselben Namens und mit dem gleichen Attribut im verglichenen gleichrangigen Node Set betrachtet – selbst wenn die Option Child Node-Reihenfolge ignorieren aktiv ist. Wenn wir in unserem Beispiel verschiedene Attribute zum Node <Phone> hinzufügen, dann wird der Unterschied in der Reihenfolge der drei Varianten des Nodes <Phone> im Vergleichsfenster angezeigt selbst wenn das Kontrollkästchen Child Node-Reihenfolge ignorieren aktiviert ist.

file_child-order-multiple

Um die Reihenfolge von mehreren Child Nodes mit verschiedenen Attributen zu ignorieren, können Sie diese Attribute als Vergleichskriterien hinzufügen. In DiffDog stehen dazu zwei Optionen zur Verfügung: (i) Alle Attribute hinzufügen oder (ii) eine Liste bestimmter Attribute definieren, was in unserem Beispiel in beiden Fällen dazu führt, dass die <Phone> Nodes als identisch angezeigt werden. Wenn Sie die Option Bestimmte Attribute wählen, müssen Sie jedoch vorher eine entsprechende Attributgruppe definieren.

file_child-order-atts

Es kann vorkommen, dass Child Nodes mehrfach vorkommen, die auch die gleichen Attribute aufweisen (z.B. eine Person mit mehr als einer Mobiltelefonnummer in unserem Beispiel). In der unten stehenden Abbildung wurde die Option Alle Attribute ausgewählt, es werden allerdings trotzdem noch Unterschiede angezeigt weil mehr als eine Mobiltelefonnummer angeführt ist.

file_child-order-text

In DiffDog können Sie in einem solchen Szenario das Kontrollkästchen Elementtext als Vergleichskriterium hinzufügen aktivieren. Wenn Elementtext, Wert des Attributs und Node-Name identisch sind und nur die Reihenfolge der Nodes unterschiedlich ist, werden keine Unterschiede angezeigt.

file_child-order-text-nodiff

Beachten Sie, dass die Reihenfolge auch von der Zusammenführungsfunktion ignoriert wird, wenn die Option "Reihenfolge ignorieren" aktiv ist. Wenn die Option Child Node-Reihenfolge ignorieren deaktiviert ist, werden die Unterschiede in der Reihenfolge als Unterschiede markiert.

 

Des Weiteren steht die Option "Attributreihenfolge ignorieren" zur Verfügung. Sie gilt für die Reihenfolge der Attribute eines einzelnen Elements. Wenn Sie im obigen Beispiel die Option Attributreihenfolge ignorieren aktivieren, ignoriert DiffDog die Reihenfolge der Attribute im Node <Person>. Beachten Sie, dass die Reihenfolge von Attributen immer ignoriert wird, wenn das Kontrollkästchen Child Node-Reihenfolge ignorieren aktiviert ist. In der unten stehenden Abbildung sind sowohl das Kontrollkästchen Child Node-Reihenfolge ignorieren als auch das Kontrollkästchen Attributreihenfolge ignorieren deaktiviert.

file_ignore-atts

 

Node-Typen ignorieren

Aktivieren Sie das Kontrollkästchen für die Node-Typen, die beim Dateivergleich nicht berücksichtigt werden sollen. Zur Auswahl stehen die Optionen: Attributes, CDATA, Comments, Processing Instructions und DOCTYPE-Anweisungen und XML-Deklarationen.

 

Bestimmte Elemente/Attribute herausfiltern

Dient dazu Filter zu definieren, um festzulegen, welche Elemente und/oder Attribute nicht verglichen werden sollen. Filter werden auf Anwendungsebene definiert, d.h. sobald ein Filter definiert wurde, steht er für jeden Vergleich zur Verfügung. Sie können auch mehrere Filter definieren. Bei den einzelnen Vergleichen können Sie den gewünschten Filter in der Auswahlliste "Bestimmt Elemente/Attribute herausfiltern" auswählen.

 

© 2017-2023 Altova GmbH