Textdateien
Beim Vergleich von Dateien im Textmodus (definiert mit der CLI-Option --mode=text) können Sie den Vergleichsbericht entweder im Text- oder XML-Format anzeigen (definiert mit der Option --output-mode). Werfen Sie zum besseren Verständnis der Art, wie DiffDog Server Unterschiede zwischen Textdateien anzeigt, einen Blick auf die folgenden zwei Textdateien, die Seite an Seite nebeneinander verglichen werden. (Beachten Sie, dass zu den Textdateien nicht nur .txt, sondern auch jede andere Art von Nicht-Binärdatei wie .html, .json, .js und .cs gehört.)
apples peaches grape bananas strawberries | apples nuts peaches grapes bananas |
file1.txt | file2.txt |
Wenn die beiden Dateien über die grafische Benutzeroberfläche von DiffDog verglichen werden (Abbildung unten), werden die Unterschiede zwischen den beiden Dateien wie unten gezeigt, dargestellt. In file2.txt wurde Zeile 2 hinzugefügt, Zeile 4 wurde geändert und Zeile 6 fehlt.

In DiffDog Server können Sie diese beiden Textdateien mit dem folgenden Befehl vergleichen und einen Vergleichsbericht im Textformat erhalten.
diffdogcmdlclient diff file1.txt file2.txt --mode=text --output-mode=text --output-file=report.txt
•Mit der Option --mode werden die verglichenen Dateien als Text (und nicht als XML- oder Binärdateien) behandelt.
•Über die Option --output-mode können Sie das Format des Vergleichsberichts (Text oder XML) definieren.
•Die Option --output-file definiert den Pfad zur generierten Berichtsdatei.
•Da keine --quiet=true-Option vorhanden ist, wird der Vergleichsbericht in der Befehlszeile und in Form einer Ausgabedatei generiert. Siehe "Berichtsformate" im Kapitel Vergleichsergebnisse.
In den folgenden Abschnitten wird beschrieben, wie die Vergleichsergebnisse in Text- bzw. XML-Berichten angezeigt werden.
Textbericht
In dem nach Ausführung des Vergleichs erzeugten Textbericht werden die Unterschiede folgendermaßen angegeben:
1a2
> nuts
3c4
< grape
---
> grapes
5d5
< strawberries
"a" in "1a2" kennzeichnet im obigen Bericht eine Hinzufügung, "c" in "3c4" eine Änderung und "d" in "5d5" eine Löschung. Die Zahlen links und rechts von den Buchstaben bezeichnen die jeweilige Zeilennummer in der linken und rechten Datei. Die Zeichen ">" und "<" geben die rechte bzw. linke Datei an und die Zeilen, in denen sie vorkommen, geben an, (i) was wo hinzugefügt wurde; (ii) was wo geändert wurde und (iii) was wo fehlt (dabei wird der Text in der Datei, in der er vorhanden ist, angezeigt).
Die Ergebnisse sind als Anweisungen zu verstehen, die befolgt werden müssen, um beide Dateien einander anzugleichen.
•1a2 bedeutet "Füge nach Zeile 1 in der linken Datei den angegebenen Text hinzu, um ihn an den Text in Zeile 2 der rechten Datei anzugleichen". In der nächsten Zeile wird der Text angezeigt, der hinzugefügt werden muss. In unserem Beispiel soll der Text "nuts" aus der rechten Datei in der linken Datei hinzugefügt werden.
•3c4 bedeutet "Ersetze Zeile 3 aus der linken Datei durch Zeile 4 aus der rechten Datei". In den nächsten Zeilen wird der entsprechende Inhalt aus beiden Dateien, getrennt durch "---" angezeigt.
•5d5 bedeutet "Lösche Zeile 5 aus der linke Datei, um diese an Zeile 5 aus der rechten Datei anzugleichen". In der nächsten Zeile wird der zu löschende Text angezeigt (in diesem Fall "strawberries").
XML-Bericht
Mit dem folgenden Befehl können Sie dieselben beiden Dateien vergleichen und den Bericht in Form einer XML-Datei erhalten:
diffdogcmdlclient diff file1.txt file2.txt --mode=text --output-mode=xml --output-file=report.xml
Das oben gezeigte Textformat würde im XML-Format folgendermaßen angezeigt.
<?xml version="1.0" encoding="UTF-8"?>
<!-- Differencing export generated by Altova DiffDog Server -->
<diff_result>
<diff_info comparison_mode="text">
<source_left name="c:\file1.txt" uri="file:///c:/file1.txt"/>
<source_right name="c:\file2.txt" uri="file:///c:/file2.txt"/>
</diff_info>
<text_diff left_location="1" right_location="2">
<right_content>
<line>nuts</line>
</right_content>
</text_diff>
<text_diff left_location="3" right_location="4">
<left_content>
<line>grape</line>
</left_content>
<right_content>
<line>grapes</line>
</right_content>
</text_diff>
<text_diff left_location="5" right_location="5">
<left_content>
<line>strawberries</line>
</left_content>
</text_diff>
</diff_result>
Beachten Sie beim XML-Bericht die folgenden Punkte:
•Das Element diff_info ganz oben enthält Informationen über verglichene Dateien, darunter den Vergleichsmodus und die Pfade der verglichenen Dateien. Dieses Element kommt nur einmal vor. (Das Attribut comparison_mode gibt den Wert der Option --mode in der Befehlszeile an - oder den Standardwert der Option, wenn in der Befehlszeile kein Wert angegeben wurde).
•In den text_diff-Elementen werden die jeweils gefundenen Textunterschiede angegeben. Ihre Attribute left_location und right_location geben die Zeile in der jeweiligen Datei an, in denen der Unterschied vorkommt.
•Die Elemente left_content und right_content enthalten die Zeilen, die im jeweiligen text_diff-Element Unterschiede aufweisen. Wenn sowohl left_content als auch right_content vorhanden ist, wird ein Unterschied im Text innerhalb einer Zeile angegeben. Wenn hingegen nur left_content oder right_content vorhanden ist, weist das entweder auf eine zusätzliche Zeile oder eine gelöschte Zeile hin.
•Das Element line enthält den unterschiedlichen Text. Wenn dieser Text mehrere Zeilen umfasst, enthält das Element text_diff mehrere aufeinander folgende line-Elemente.