Altova DiffDog Server 2024 

Beim Vergleich von Dateien im Textmodus können Sie das Vergleichsergebnis entweder im Text- oder XML-Format anzeigen. 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.

 

apples

peaches

grape

bananas

strawberries

apples

nuts

peaches

grapes

bananas

file1.txt

file2.txt

 

Anmerkung:Bei den Dateien in diesem Beispiel handelt es sich um Textdateien mit der Erweiterung .txt; es können jedoch auch andere Nicht-Binärdateien wie .html, .json, .js, .cs usw. verglichen werden.

 

Wenn die Dateien mit einem Vergleichstool wie DiffDog über eine grafische Benutzeroberfläche verglichen werden, werden die Unterschiede zwischen den beiden Dateien wie unten gezeigt, dargestellt. Wie Sie in der Abbildung unten sehen, gibt es insgesamt drei Unterschiede: Eine Zeile wurde hinzugefügt, eine geändert und eine gelöscht.

dds_text_report

DiffDog-Vergleichsbericht

In DiffDog Server können Sie diese beiden Dateien mit dem folgenden Befehl vergleichen:

 

<executable> diff file1.txt file2.txt --mode=text --output-mode=text --output-file=report.txt

 

Anmerkung:Mit der Option --mode wird das Programm angewiesen, die verglichenen Dateien als Text (und nicht als XML- oder Binärdateien) zu behandeln. Über die Option --output-mode können Sie das Format des Vergleichsberichts (Text oder XML) definieren.

 

In dem nach Ausführung des Vergleichs erzeugten Textbericht werden die Unterschiede folgendermaßen angegeben:

 

1a2

> nuts

3c4

< grape

---

> grapes

5d5

< strawberries

DiffDog Server-Vergleichsbericht (Text)

"a" im obigen Bericht kennzeichnet eine Hinzufügung, "c" eine Änderung und "d" eine Löschung. Das Zeichen ">" verweist auf die rechte Seite des Vergleichs,  "<" auf die linke Seite des Vergleichs. Die Ergebnisse sind als Anweisungen zu verstehen, die befolgt werden müssten, um beide Dateien einander anzugleichen. Dabei bedeutet:

 

1a2: "Füge nach Zeile 1 in der linken Datei Text hinzu, um ihn an den Text in Zeile 2 der rechten Datei anzugleichen". In der nächsten Zeile wird der genaue Text angezeigt, der hinzugefügt werden muss - in diesem Fall der Text "nuts" aus der rechten Datei.

3c4: "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: "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

Sie können dieselben beiden Dateien auch vergleichen und den Bericht in Form einer XML-Datei erhalten. Führen Sie dazu den folgenden Befehl aus:

 

<executable> diff file1.txt file2.txt --mode=text --output-mode=xml --output-file=report.xml

 

Wenn Sie XML als Berichtsformat wählen, wird derselbe Bericht folgendermaßen ausgegeben:

 

<?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>

DiffDog Server-Vergleichsbericht (XML)

Der XML-Bericht enthält ganz oben das Element diff_info. Das Element diff_info enthält Informationen über verglichene Dateien (darunter den Vergleichsmodus und den Pfad der verglichenen Dateien). Dieses Element kommt nur einmal vor. Das Attribut comparison_mode gibt Auskunft über den Wert der Option --mode zum Zeitpunkt des Vergleichs; dies ist auch nützlich, wenn Sie wissen müssen, welcher Standardvergleichsmodus von DiffDog Server verwendet wird, wenn in der Befehlszeile keine --mode-Option definiert wurde.

 

Als nächstes werden dieselben drei Unterschiede wie im Textbericht aufgelistet. Die Informationen über die vorhandenen Unterschiede werden mit Hilfe der Attribute left_location und right_location angegeben, während der eigentliche Inhalt innerhalb der Elemente left_content oder right_content steht. In diesem Beispiel bildet jeder Unterschied eine Zeile (line). Ein Unterschied umfasst aber nicht immer eine einzige Zeile, sondern kann in einige Fällen auch aus mehreren Zeilen bestehen - in solchen Fällen würde der Bericht mehrere aufeinander folgende line-Elemente enthalten.

© 2018-2024 Altova GmbH