Altova DiffDog Server 2023 

Mit dem Befehl diff wird ein Seite-an-Seite-Vergleich zweier Dateien, Verzeichnisse oder URLs durchgeführt. Dabei können unterschiedliche Arten verglichen werden (So können Sie z.B. eine URL wie http://server/file.txt mit einem Dateipfad wie z.B. C:\file.txt vergleichen). Beachten Sie, dass zwar Dateien mit URLs verglichen werden können, nicht aber Dateien mit Verzeichnissen (oder URLs mit Verzeichnissen).

 

Auch der Vergleich von Microsoft Word-Dokumenten ab Version 2003 (.docx, .dotx) wird unterstützt, siehe Vergleichen von Word-Dokumenten.

 

 

In den meisten Fällen werden bei einem Vergleich eine "linke" und eine "rechte" Seite miteinander verglichen; Wenn Dateien oder URLs (nicht aber Verzeichnisse) verglichen werden, sind jedoch auch Drei-Weg-Vergleiche möglich. Die zu vergleichenden Dateien oder Verzeichnisse können sich auf einem Rechner, auf dem der DiffDog Client oder auf einem Rechner, auf dem der DiffDog Server ausgeführt wird, befinden. Auch eine Kombination daraus (Vergleich lokaler Dateien oder Verzeichnisse mit entfernten) ist möglich.

 

Syntax

DiffDogCmdlClient diff [options] {path path [path]}

 

Verwenden Sie auf Linux-Systemen zum Aufrufen der ausführbaren Datei nur Kleinbuchstaben. Außerdem müssen Sie auf Linux- und macOS-Systemen dem Namen der ausführbaren Datei eventuell das Präfix "./" voranstellen, wenn Sie diese vom aktuellen Verzeichnis der Command Shell aus aufrufen.

 

Dieser Befehl kann auch über den Aliasbefehl compare aufgerufen werden. compare und diff sind austauschbar.

 

Argumente

path

Bei einem path kann es sich um einen Datei- oder Verzeichnispfad oder um einen URL-Pfad im Format http://server/segment handeln.

 

Die Bereitstellung von Pfaden als Argumente ist nur eine von zwei Möglichkeiten, um Input-Pfade an den diff-Befehl zu übergeben. Die zweite Methode der Pfadangabe ist durch Definition der Optionen --client-left, --client-right oder --server-left, --server-right. Verwenden Sie die zweite Methode, wenn DiffDog Client nicht auf demselben Rechner wie DiffDog Server ausgeführt wird.

 

Anders ausgedrückt: Wenn Sie die Optionen --client-left, --client-right oder --server-left, --server-right definieren, müssen keine Pfade als Argumente angegeben werden. Andernfalls müssen genau zwei Pfade als Argumente angegeben werden. (Für einen Drei-Weg-Vergleich müssen drei Pfade als Argumente angegeben werden.)

 

Optionen

Unten sind die Optionen, die für den Befehl diff zur Verfügung stehen, aufgelistet.

 

Sie können für die meisten der unten stehenden Optionen in der Client-Konfigurationsdatei Standardeinstellungen definieren. Beachten Sie bitte die folgenden Punkte, wenn Sie eine Client-Konfigurationsdatei verwenden:

 

Wenn eine Option in der Befehlszeile definiert und in der Client-Konfigurationsdatei auskommentiert ist, wird die Befehlszeilenoption angewendet.

Wenn eine Option sowohl in der Befehlszeile als auch in der Client-Konfigurationsdatei definiert ist, wird die Befehlszeilenoption angewendet.

Wenn eine Option nicht in der Befehlszeile, jedoch in der Konfigurationsdatei definiert ist (d.h. wenn sie dort nicht auskommentiert ist), wird die Konfigurationsdateioption angewendet.

Wenn eine Option weder in der Befehlszeile noch in der Konfigurationsdatei definiert ist, erhält sie den Standardwert, wie er in der Befehlszeilenhilfe und in der unten stehenden Dokumentation angegeben ist.

 

--alias, --a

Wenn der Server-Administrator den Zugriff auf Serverpfade aus Sicherheitsgründen eingeschränkt hat, können Vergleiche, in denen Serverpfade direkt referenziert werden, nicht mehr durchgeführt werden, siehe auch Einschränken des Zugriffs auf Server-Pfade. Sie müssen stattdessen mit Hilfe der Option --alias den Namen eines Alias definieren.

 

Diese Option kann dann sinnvoll eingesetzt werden, wenn ein Serverpfad im Vergleich verwendet wird (d.h. wenn die Optionen --server-left oder --server-right definiert wurden). Gültige Werte für diese Option sind die Aliasse, die in der Server-Konfigurationsdatei definiert wurden. Um die Liste der verfügbaren Aliasse auszugeben, führen Sie den Befehl aliases aus. Nähere Informationen dazu finden Sie unter Einschränken des Zugriffs auf Server-Pfade.

 

--config, --c

Diese Option definiert den Pfad zu einer Client-Konfigurationsdatei. Nähere Informationen dazu finden Sie unter Client-Konfigurationsdatei.

 

Wenn Sie die Option --c nicht definieren, versucht die ausführbare DiffDog-Befehlszeilen-Client-Datei, die Client-Konfigurationsdatei aus demselben Verzeichnis zu lesen. Wenn sich keine Konfigurationsdatei im selben Verzeichnis wie die ausführbare Datei befindet, werden die in der Befehlszeilenhilfe und dieser Dokumentation beschriebenen Standardwerte verwendet.

 

--client-left, --cl

Diese Option definiert die linke Seite des Vergleichs (muss ein Pfad zu einer lokalen Datei oder einem lokalen Verzeichnis sein).

 

--client-middle, --cm

Diese Option wird in einem Drei-Weg-Vergleich angewendet. Sie definiert den lokalen Pfad zur "mittleren" Datei (wird auch als gemeinsame Vorgängerdatei bezeichnet).

 

--client-right, --cr

Diese Option definiert die rechte Seite des Vergleichs (muss ein Pfad zu einer lokalen Datei oder einem lokalen Verzeichnis sein).

 

--dir-compare-contents, --dc

Diese Option definiert, ob bei einem Verzeichnisvergleich zusätzlich zu etwaigen anderen, separat definierten Optionen (wie Dateigröße und Änderungsdatum) auch der Dateiinhalt verglichen werden soll. Wenn diese Option false ist, wird der Dateiinhalt beim Vergleich ignoriert (dadurch wird der Vergleich schneller, jedoch weniger genau). Standardmäßig ist diese Option false.

 

--directory-filter, --df

Diese Option kann auf Verzeichnisvergleiche angewendet werden. Mit Hilfe von Verzeichnisfiltern können Sie bestimmte Dateien oder Unterverzeichnisse auf Basis von Kriterien, die Sie definieren können, vom Vergleich ausnehmen. Gültige Werte für diese Option sind die in der Client-Konfigurationsdatei in der Gruppe [dir.filter] definierten Verzeichnisfilter. Wenn in der Konfigurationsdatei z.B. ein Filter [dir.filter:svn] definiert ist, dann verwenden Sie die folgende Syntax, um den Filter in der Befehlszeile zu definieren:

 

--directory-filter=svn

 

Wenn DiffDog unter Windows auf dem selben Rechner wie DiffDog Server definiert ist, können Sie jeden bereits in DiffDog definierten Verzeichnisfilter (entweder vordefiniert oder benutzerdefiniert) als Optionswert definieren. Um z.B. den vordefinierten Filter "No SVN directories" in der Befehlszeile zu definieren, verwenden Sie die folgende Syntax:

 

--directory-filter="No SVN directories"

 

So erstellen Sie in DiffDog einen Verzeichnisfilter oder zeigen ihn an:

 

1.Klicken Sie im Menü Extras auf DiffDog Optionen.

2.Klicken Sie auf das Register Verzeichnisvergleich.

 

Nähere Informationen zum Erstellen von Verzeichnisfiltern mit DiffDog finden Sie in der DiffDog-Dokumentation (https://www.altova.com/de/documentation).

 

Wenn der Filter nicht gefunden wird, wird ein Fehler gemeldet und es wird kein Vergleich durchgeführt.

 

--dir-compare-mod-times-ignore-seconds, --di

Diese Option wird auf Verzeichnisvergleiche angewendet. Damit wird definiert, dass im Verzeichnisvergleich beim Vergleich von Änderungszeiten die Anzahl der Sekunden (+/-) ignoriert werden soll. Standardmäßig ist der Wert auf 0 gesetzt, was bedeutet, dass die Unterschiede in der Änderungszeit nicht ignoriert werden.

 

--dir-ignore-case, --dic

Diese Option wird auf Verzeichnisvergleiche angewendet. Standardmäßig ist dieser Wert false, was bedeutet, dass die Groß- und Kleinschreibung berücksichtigt wird. So würden die unten stehenden Verzeichnisse als nicht identisch behandelt werden (da sich der Dateiname im rechten Verzeichnis unterscheidet).

 

source/

|-- ReadMe.txt

source/

|-- readme.txt

 

 

Damit die Groß- und Kleinschreibung von Datei- oder Verzeichnisnamen beim Vergleich ignoriert wird, setzen Sie die Option auf true. Ein Verzeichnis mit dem Namen "EinVerz" würde als identisch mit einem Verzeichnis namens "einverz" behandelt. Eine Datei "datei.TXT" würde als identisch mit "Datei.txt" behandelt.

 

--dir-compare-sizes, --ds

Diese Option wird auf Verzeichnisvergleiche angewendet. Wenn sie auf true gesetzt ist, heißt das, dass Dateien bei Verzeichnisvergleichen nach ihrer Größe verglichen werden sollen. Andernfalls wird dieses Vergleichskriterium ignoriert. Standardmäßig ist diese Option false.

 

--dir-compare-mod-times, --dt

Diese Option wird auf Verzeichnisvergleiche angewendet. Wenn sie auf true gesetzt ist, heißt das, dass Dateien in einem Verzeichnis bei Verzeichnisvergleichen nach ihrer Änderungszeit verglichen werden sollen. Andernfalls wird dieses Vergleichskriterium ignoriert. Standardmäßig ist diese Option false.

 

--doc-format-bold, --dfb

Diese Option wird auf Word-Vergleiche angewendet. Gültige Werte:

 

true

Fett-Formatierung beim Vergleich berücksichtigen.

false

(Standardwert) Fett-Formatierung ignorieren.

 

--doc-format-font-color, --dfc

Diese Option wird auf Word-Vergleiche angewendet. Gültige Werte:

 

true

Schriftfarbe beim Vergleich berücksichtigen.

false

(Standardwert) Schriftfarbe ignorieren.

 

--doc-format-font-name, --dff

Diese Option wird auf Word-Vergleiche angewendet. Gültige Werte:

 

true

Schriftartnamen beim Vergleich berücksichtigen.

false

(Standardwert) Schriftartnamen ignorieren.

 

--doc-format-font-size, --dfs

Diese Option wird auf Word-Vergleiche angewendet. Gültige Werte:

 

true

Schriftgröße beim Vergleich berücksichtigen.

false

(Standardwert) Schriftgröße ignorieren.

 

--doc-format-italic, --dfi

Diese Option wird auf Word-Vergleiche angewendet. Gültige Werte:

 

true

Kursiv-Formatierung beim Vergleich berücksichtigen.

false

(Standardwert) Kursiv-Formatierung ignorieren.

 

--doc-format-underline, --dfu

Diese Option wird auf Word-Vergleiche angewendet. Gültige Werte:

 

true

Unterstrichen-Formatierung beim Vergleich berücksichtigen.

false

(Standardwert) Unterstrichen-Formatierung ignorieren.

 

--doc-ignore-blank-lines, --dib

Diese Option kann angewendet werden, wenn Word-Dokumente oder Verzeichnisse, die Word-Dokumente enthalten, verglichen werden. Bei einem Verzeichnisvergleich gilt die Option nur für Word-Dokumente in diesem Verzeichnis. Gültige Werte sind:

 

true

(Standardeinstellung) Leerzeilen ignorieren.

false

Leerzeilen beim Vergleich berücksichtigen.

 

--doc-ignore-case, --doc

Diese Option kann angewendet werden, wenn Word-Dokumente oder Verzeichnisse, die Word-Dokumente enthalten, verglichen werden. Bei einem Verzeichnisvergleich gilt die Option nur für Word-Dokumente in diesem Verzeichnis. Gültige Werte:

 

true

Führt einen Vergleich ohne Berücksichtigung der Groß- und Kleinschreibung durch (z.B. werden "A" und "a" als identisch behandelt).

false

(Standardwert) Führt einen Vergleich unter Berücksichtigung der Groß- und Kleinschreibung durch (z.B. werden "A" und "a" als nicht identisch behandelt).

 

--doc-whitespace-mode, --dws

Diese Option kann angewendet werden, wenn Word-Dokumente oder Verzeichnisse, die Word-Dokumente enthalten, verglichen werden. Bei einem Verzeichnisvergleich gilt die Option nur für Word-Dokumente in diesem Verzeichnis.

 

Mit dieser Option definieren Sie, wie Whitespace-Zeichen beim Vergleich behandelt werden sollen. Die folgenden Zeichen sind Whitespace-Zeichen: Leerzeichen, Tabulator, Wagenrücklauf (Carriage Return) und Zeilenvorschub (Line Feed).

 

asis

(Standardeinstellung) Whitespace-Zeichen unverändert lassen (d.h. nicht normalisieren oder Zeichen kürzen). Das bedeutet, Whitespace-Zeichen werden beim Vergleich immer berücksichtigt.

normalize

Text A gilt als identisch mit Text B, wenn die Zeichen in Text A nach der Normalisierung den Zeichen in Text B entsprechen. “Normalisierung” bedeutet, dass mehrere aufeinander folgenden Whitespace-Zeichen durch ein einziges Leerzeichen ersetzt werden. Auch vorangestellte und nachstehende Whitespace-Zeichen werden in jeder Textzeile gekürzt.

strip

Text A gilt als identisch mit Text B, wenn die Zeichen in Text A nach der Entfernung der Whitespace-Zeichen denen in Text B entsprechen, d.h. alle Whitespace-Zeichen werden aus dem Text entfernt und als nicht relevant für den Vergleich betrachtet.

 

--ignore-blank-lines

Mit dieser Option wird definiert, ob leere Zeilen beim Vergleich ignoriert werden sollen. Gültige Werte sind true und false. Standardmäßig ist dieser Wert false.

 

Die Option ist von der aktuellen --mode-Option abhängig. Bei --mode=text wird sie auf Textzeilen angewendet und entspricht der Option --text-ignore-blank-lines. Bei --mode=xml wirkt sie sich nicht auf den Vergleich aus. Bei --mode=doc wird sie auf Word-Dokumente angewendet und entspricht der Option --doc-ignore-blank-lines. Bei einem Verzeichnisvergleich wird sie auf jede Vergleichsart, die in diesem Verzeichnis vorkommt, angewendet.

 

--ignore-case

Diese Option wird sowohl auf Dateivergleiche als auch auf Verzeichnisvergleiche angewendet. Die Option ist von der aktuellen --mode-Option abhängig. Bei --mode=text wird sie auf Textzeilen angewendet und entspricht der Option --text-ignore-case. Bei --mode=xml wird sie auf XML-Dateien angewendet und entspricht den Optionen --xml-ignore-case-in-names und --xml-ignore-case-in-text. Bei --mode=doc wird sie auf Word-Dokumente angewendet und entspricht der Option --doc-ignore-case. Bei einem Verzeichnisvergleich wird sie auf jede Vergleichsart, die in diesem Verzeichnis vorkommt, angewendet. Gültige Werte:

 

true

Groß- und Kleinschreibung beim Vergleich ignorieren (z.B. gelten "A" und "a" als gleich).

false

(Standardeinstellung) Groß- und Kleinschreibung beim Vergleich berücksichtigen (z.B. gelten "A" und "a" als nicht gleich).

 

--loglevel, --L

Definiert die Ausgabeebene für Informationen, Warnungen und Fehlermeldungen. Gültige Werte:

 

none

Unterdrückt die Protokollierung.

info

Informationen, Warnungen und Fehlermeldungen ausgeben.

warning

Fehler und Warnmeldungen ausgeben.

error

(Standardeinstellung) Nur Fehlermeldungen ausgeben.

 

--mode, --m

Mit dieser Option wird die Art des durchzuführenden Vergleichs festgelegt. Gültige Werte:

 

auto

(Standardeinstellung) Die Applikation ermittelt, ob es sich bei den bereitgestellten Argumenten um Dateien oder Verzeichnisse handelt und legt den Vergleichsmodus automatisch auf Basis der Dateierweiterung fest. Wenn z.B. Dateien als XML-Dateien erkannt werden, wird ein XML-Vergleich durchgeführt. Sie können die Standardzuordnungen zwischen Dateierweiterungen und Vergleichsmodi jederzeit anzeigen oder ändern, siehe Client-Konfigurationsdatei.

binary

Dateien als Binärdateien behandeln.

doc

Dateien als Microsoft Word-Dokumente behandeln.

text

Dateien als Text behandeln.

xml

Dateien als XML-Dateien behandeln.

 

--output-file, --o

Mit Hilfe dieser Option können Sie die Befehlsausgabe in eine Textdatei auf dem Client-Rechner schreiben. Der Wert muss einen gültigen Dateipfad auf dem Client-Rechner definieren. Mit Hilfe der Option --om können Sie das Ausgabedateiformat definieren.

 

--output-mode, --om

Mit Hilfe dieser Option können Sie das Format, in dem die Vergleichsausgabe erstellt werden soll (Text oder XML) definieren. Gültige Werte:

 

auto

(Standardeinstellung) Die Applikation ermittelt das Format.

text

Ausgabedatei als Text schreiben.

 

Anmerkung:Die Option --output-mode=text wird beim Vergleich von XML- oder Word-Dateien nicht unterstützt.

xml

Ausgabedatei als XML-Datei schreiben.

 

--port

Diese Option definiert den Port, an dem DiffDog Server für Requests empfangsbereit ist. Diese Option sollte dann definiert werden, wenn DiffDog Server an einem anderen Port als dem Standard-Port 29800 ausgeführt wird. Anstatt diese Option in der Befehlszeile zu definieren, können Sie sie auch in der Client-Konfigurationsdatei definieren. Beachten Sie, dass ein in der Befehlszeile definierter Wert Vorrang vor dem in der Konfigurationsdatei definierten Wert hat.

 

--quiet, --q

Verhindert, dass die Standardausgabe in der Befehlszeile angezeigt wird. Gültige Werte:

 

true

Standardausgabe nicht im Terminal-Fenster anzeigen.

false

(Standardwert) Standardausgabe im Terminal-Fenster anzeigen.

 

--server-output-file, --s

Mit Hilfe dieser Option können Sie die Befehlsausgabe in eine Textdatei auf dem Server-Rechner schreiben. Der Wert muss einen gültigen Pfad auf dem Server-Rechner angeben. Mit Hilfe der Option --om können Sie das Ausgabedateiformat definieren.

 

--server

Diese Option definiert die Server-Adresse, an der DiffDog Server für Requests empfangsbereit ist. Diese Option sollte dann definiert werden, wenn DiffDog Server auf einem Server ausgeführt wird, der nicht der Standard localhost ist. Anstatt diese Option in der Befehlszeile zu definieren, können Sie sie auch in der Client-Konfigurationsdatei definieren. Beachten Sie, dass ein in der Befehlszeile definierter Wert Vorrang vor dem in der Konfigurationsdatei definierten Wert hat.

 

--server-left, --sl

Mit Hilfe dieser Option können Sie einen entfernten Pfad zum Vergleich hinzufügen. Sie definieren damit die linke Seite des Vergleichs (einen Pfad zu einer Datei oder einem Verzeichnis, auf die/das der Server Zugriff hat).

 

--server-middle, --sm

Mit Hilfe dieser Option können Sie einen entfernten Pfad zum Vergleich hinzufügen. Sie definieren damit die Mitte des Vergleichs (gilt für Drei-Weg-Vergleiche). Der Wert muss ein Pfad zu einer Datei oder einem Verzeichnis sein, auf die/das der Server Zugriff hat.

 

--server-right, --sr

Mit Hilfe dieser Option können Sie einen entfernten Pfad zum Vergleich hinzufügen. Sie definieren damit die rechte Seite des Vergleichs (einen Pfad zu einer Datei oder einem Verzeichnis, auf die/das der Server Zugriff hat).

 

--text-ignore-case, --ic

Diese Option kann angewendet werden, wenn Textdokumente oder Verzeichnisse, die Textdokumente enthalten, verglichen werden. Bei einem Verzeichnisvergleich gilt die Option nur für Textdateien in diesem Verzeichnis. Gültige Werte:

 

true

Führt einen Vergleich ohne Berücksichtigung der Groß- und Kleinschreibung durch (z.B. werden "A" und "a" als identisch behandelt).

false

(Standardwert) Führt einen Vergleich unter Berücksichtigung der Groß- und Kleinschreibung durch (z.B. werden "A" und "a" als nicht identisch behandelt).

 

--text-ignore-blank-lines, --ib

Diese Option kann angewendet werden, wenn Textdokumente oder Verzeichnisse, die Textdokumente enthalten, verglichen werden. Bei Verzeichnisvergleichen gilt diese Option nur für Textdateien in diesem Verzeichnis. Mit der Option wird definiert, ob Leerzeilen beim Vergleich von Textdateien ignoriert werden sollen. Gültige Werte sind true und false. Standardmäßig lautet dieser Wert false.

 

--text-whitespace-mode, --tws

Diese Option kann angewendet werden, wenn Textdokumente oder Verzeichnisse, die Textdokumente enthalten, verglichen werden. Bei Verzeichnisvergleichen gilt diese Option nur für Textdateien in diesem Verzeichnis.

 

Mit dieser Option definieren Sie, wie Whitespace-Zeichen beim Vergleich behandelt werden sollen. Die folgenden Zeichen sind Whitespace-Zeichen: Leerzeichen, Tabulator, Wagenrücklauf (Carriage Return) und Zeilenvorschub (Line Feed).

 

asis

(Standardeinstellung) Whitespace-Zeichen unverändert lassen (d.h. nicht normalisieren oder Zeichen kürzen). Das bedeutet, Whitespace-Zeichen werden beim Vergleich immer berücksichtigt.

normalize

Text A gilt als identisch mit Text B, wenn die Zeichen in Text A nach der Normalisierung den Zeichen in Text B entsprechen. “Normalisierung” bedeutet, dass mehrere aufeinander folgenden Whitespace-Zeichen durch ein einziges Leerzeichen ersetzt werden. Auch vorangestellte und nachstehende Whitespace-Zeichen werden in jeder Textzeile gekürzt.

strip

Text A gilt als identisch mit Text B, wenn die Zeichen in Text A nach der Entfernung der Whitespace-Zeichen denen in Text B entsprechen, d.h. alle Whitespace-Zeichen werden aus dem Text entfernt und als nicht relevant für den Vergleich betrachtet.

 

--whitespace-mode, --ws

Diese Option kann bei Datei- und Verzeichnisvergleichen angewendet werden. Die Option ist von der aktuellen --mode-Option abhängig. Bei --mode=text wird sie auf Textdateien angewendet und entspricht der Option --text-whitespace-mode. Bei --mode=xml wird sie auf XML-Dateien angewendet. Bei --mode=doc wird sie auf Word-Dokumente angewendet und entspricht der Option --doc-whitespace-mode. Bei einem Verzeichnisvergleich wird sie auf Basis der Dateierweiterung auf jede Vergleichsart, die in diesem Verzeichnis vorkommt, angewendet.

 

Mit dieser Option definieren Sie, wie Whitespace-Zeichen beim Vergleich behandelt werden sollen. Die folgenden Zeichen sind Whitespace-Zeichen: Leerzeichen, Tabulator, Wagenrücklauf (Carriage Return) und Zeilenvorschub (Line Feed).

 

asis

(Standardeinstellung) Whitespace-Zeichen unverändert lassen (d.h. nicht normalisieren oder Zeichen kürzen). Das bedeutet, Whitespace-Zeichen werden beim Vergleich immer berücksichtigt.

normalize

Text A gilt als identisch mit Text B, wenn die Zeichen in Text A nach der Normalisierung den Zeichen in Text B entsprechen. “Normalisierung” bedeutet, dass mehrere aufeinander folgenden Whitespace-Zeichen durch ein einziges Leerzeichen ersetzt werden. Auch vorangestellte und nachstehende Whitespace-Zeichen werden in jeder Textzeile gekürzt.

strip

Text A gilt als identisch mit Text B, wenn die Zeichen in Text A nach der Entfernung der Whitespace-Zeichen denen in Text B entsprechen, d.h. alle Whitespace-Zeichen werden aus dem Text entfernt und als nicht relevant für den Vergleich betrachtet.

 

Wenn es sich bei den verglichenen Dateien um XML-Dateien handelt, wirkt sich die Normalisierung und Kürzung auf Whitespace-Zeichen innerhalb von Attribut- und Elementwerten aus. Andere Whitespace-Zeichen werden ignoriert.

 

--xml-filter, --xf

Diese Option kann auf XML-Vergleiche angewendet werden. Ein XML-Filter enthält Regeln, durch die bestimmte XML-Attribute oder -Elemente beim Vergleich ignoriert werden. Gültige Wert für diese Option sind die in der Client-Konfigurationsdatei in der Gruppe [xml.filter] definierten XML-Filter. Wenn in der Konfigurationsdatei z.B. ein Filter [xml.filter:ignore-abc-elems] definiert ist, dann verwenden Sie die folgende Syntax, um den Filter in der Befehlszeile zu definieren:

 

--xml-filter=ignore-abc-elems

 

 

Wenn DifffDog unter Windows auf demselben Rechner wie DiffDog Server installiert ist, können Sie jeden bereits in DiffDog definierten XML-Filter als Optionswert definieren. So erstellen Sie in DiffDog einen XML-Filter oder zeigen ihn an:

 

1.Klicken Sie im Menü Extras auf DiffDog Optionen.

2.Klicken Sie auf das Register XML.

3.Gehen Sie zur Option Bestimmte Elemente/Attribute herausfiltern und klicken Sie auf die Auslassungszeichen-Schaltfläche dds_ic_ellipsis .

 

Nähere Informationen zum Erstellen von XML-Filtern mit DiffDog finden Sie in der DiffDog-Dokumentation (https://www.altova.com/de/documentation).

 

Wenn der Filter nicht gefunden wird, wird ein Fehler gemeldet und es wird kein Vergleich durchgeführt.

 

--xml-ignore-case-in-names, --xicin

Diese Option wird angewendet, wenn Sie XML-Dateien oder Verzeichnisse, die XML-Dateien enthalten, vergleichen. Bei Verzeichnisvergleichen wird der Befehl nur auf XML-Dateien in diesem Verzeichnis angewendet.

 

Wenn sie auf true gesetzt ist, wird die Groß- und Kleinschreibung beim Vergleich von XML-Identifier-Namen ignoriert. Angenommen, Sie möchten die folgenden XML-Dateien vergleichen:

 

<book ID="1"/>

<book id="1"/>

 

Im Codefragment oben ist die Attribut-ID in der linken Datei in Großbuchstaben, während sie in der rechten Datei in Kleinbuchstaben geschrieben ist. Wenn --xml-ignore-case-in-names=true, wird die Groß- und Kleinschreibung ignoriert, d.h. die Dateien werden als identisch behandelt. Standardmäßig ist die Option false, d.h. Dateien wie die beiden obigen gelten nicht als identisch.

 

--xml-ignore-case-in-text, --xicit

Diese Option wird angewendet, wenn Sie XML-Dateien oder Verzeichnisse, die XML-Dateien enthalten, vergleichen. Bei Verzeichnisvergleichen wird der Befehl nur auf XML-Dateien in diesem Verzeichnis angewendet.  

 

Wenn sie auf true gesetzt ist, wird die Groß- und Kleinschreibung beim Vergleich von Nicht-Markup-Text ignoriert. Angenommen, Sie möchten die folgenden XML-Dateien vergleichen:

 

<book hardcover="yes">
  <genre>fiction</genre>
</book>

<book hardcover="Yes">
  <genre>Fiction</genre>
</book>

 

Im Codefragment oben ist der Wert des Attributs hardcover in der linken Datei in Kleinbuchstaben, während er in der rechten Datei in Großbuchstaben geschrieben ist. Dasselbe gilt für die Wert des Elements genre. Damit diese beiden Dateien als identisch behandelt werden, definieren Sie --xml-ignore-case-in-text=true. Standardmäßig ist die Option false, d.h. Dateien wie die beiden obigen gelten nicht als identisch.

 

--xml-ignore-markup-attributes, --xima

Diese Option wird angewendet, wenn Sie XML-Dateien vergleichen. Gültige Werte:

 

true

XML-Attribute beim Vergleich ignorieren.

false

(Standardwert) XML-Attribute beim Vergleich berücksichtigen.

 

--xml-ignore-markup-comments, --ximc

Diese Option wird angewendet, wenn Sie XML-Dateien vergleichen. Gültige Werte:

 

true

XML-Kommentare beim Vergleich ignorieren.

false

(Standardwert) XML-Kommentare beim Vergleich berücksichtigen.

 

--xml-ignore-markup-cdata, --ximcd

Diese Option wird angewendet, wenn Sie XML-Dateien vergleichen. Gültige Werte:

 

true

XML-Zeichendaten (CDATA) beim Vergleich ignorieren.

false

(Standardwert) XML-CDATA beim Vergleich berücksichtigen.

 

--xml-ignore-markup-doctype, --ximd

Diese Option wird angewendet, wenn Sie XML-Dateien vergleichen. Gültige Werte:

 

true

XML-DOCTYPE-Deklaration beim Vergleich ignorieren.

false

(Standardwert) XML-DOCTYPE-Deklaration beim Vergleich berücksichtigen.

 

--xml-ignore-markup-processing-instructions, --ximpi

Diese Option wird angewendet, wenn Sie XML-Dateien vergleichen. Gültige Werte:

 

true

XML-Processing Instructions beim Vergleich ignorieren.

false

(Standardwert) XML-Processing Instructions beim Vergleich berücksichtigen.

 

--xml-ignore-markup-xml, --ximx

Diese Option wird angewendet, wenn Sie XML-Dateien vergleichen. Gültige Werte:

 

true

XML-Deklarationen beim Vergleich ignorieren.

false

(Standardwert) XML-Deklarationen beim Vergleich berücksichtigen.

 

--xml-ignore-namespace, --xins

Diese Option wird angewendet, wenn Sie XML-Dateien vergleichen. Wenn sie auf true gesetzt wird, werden XML-Namespaces ignoriert. Standardmäßig ist diese Option auf false gesetzt.

 

--xml-ignore-prefixes, --xip

Diese Option wird angewendet, wenn Sie XML-Dateien vergleichen. Wenn sie auf true gesetzt wird, werden XML-Präfixe ignoriert. Angenommen, Sie möchten z.B die unten gezeigten XML-Dateien vergleichen. Beide Dateien enthalten identische Elemente, haben aber ein unterschiedliches Präfix.

 

<left:table>
  <left:tr>
    <left:td>Name</left:td>
  </left:tr>
</left:table>

<right:table>
  <right:tr>
    <right:td>Name</right:td>
  </right:tr>
</right:table>

 

Standardmäßig ist die Option --xml-ignore-prefixes auf false gesetzt, d.h. die Dateien werden als nicht identisch betrachtet. Wenn Sie die Option --xml-ignore-prefixes jedoch auf true setzen, werden die Präfixe ignoriert und die Dateien werden als identisch betrachtet.

 

--xml-ignore-text, --xit

Diese Option wird angewendet, wenn Sie XML-Dateien vergleichen. Wenn sie auf true gesetzt wird, wird der Textinhalt von XML-Nodes beim Vergleich ignoriert. Dies ist nützlich, wenn Sie nur die Struktur von XML-Dateien, nicht aber den eigentlich Inhalt der Nodes vergleichen möchten. Standardmäßig ist diese Option auf false gesetzt.

 

--xml-order-by-attributes, --xoba

Diese Option wird angewendet, wenn Sie XML-Dateien vergleichen. Setzen Sie diese Option auf true, wenn alle XML-Attribute vor dem Vergleich geordnet werden sollen. Angenommen, Sie möchten die folgenden zwei XML-Dateien vergleichen:

 

<book author="Franz Kafka" title="The Metamorphosis"/>

<book title="The Metamorphosis" author="Franz Kafka"/>

 

Die Reihenfolge der Attribute ist im Codefragment oben in beiden Dateien unterschiedlich, aber die Attribute sind die gleichen. Wenn Sie die Option --xml-order-by-attributes auf true setzen, werden die Attribute vor dem Vergleich geordnet, wodurch die Dateien als gleich betrachtet werden. Der Standardwert ist false, d.h. die Dateien werden nicht als gleich betrachtet, wenn die Reihenfolge der Attribute nicht die gleiche ist.

 

--xml-order-by-elements, --xobe

Diese Option wird angewendet, wenn Sie XML-Dateien vergleichen. Setzen Sie diese Option auf true, wenn alle XML-Elemente vor dem Vergleich geordnet werden sollen. Angenommen, Sie möchten die folgenden zwei XML-Dateien vergleichen:

 

<book>
  <author>Franz Kafka</author>
  <title>The Metamorphosis</title>  
</book>

<book>  
  <title>The Metamorphosis</title>
  <author>Franz Kafka</author>
</book>

 

Im Codefragment oben enthalten die linke und die rechte Datei genau die gleichen Elemente, jedoch in unterschiedlicher Reihenfolge. Wenn Sie die Option--xml-order-by-elements auf true setzen, werden die Elemente vor dem Vergleich geordnet, wodurch die Dateien als gleich betrachtet werden. Der Standardwert ist false, d.h. die Dateien werden nicht als gleich betrachtet, wenn die Reihenfolge der Elemente nicht die gleiche ist.

 

--xml-order-by-attribute-list, --xobl

Diese Option wird angewendet, wenn Sie XML-Dateien vergleichen. Es gibt Fälle, in denen mehrere Elemente genau den gleichen Namen und die gleichen Attribute haben, die Attributwerte aber unterschiedlich sind. Um die Dateien vor dem Vergleich nach bestimmten Attributen zu sortieren, setzen Sie diese Option auf eine in der Client-Konfigurationsdatei in der Gruppe [xml.orderby:<name_of_your_list>] erstellte benannte Liste von Attributen.

 

Angenommen, Sie möchten die folgenden zwei XML-Dateien vergleichen:

 

<data>
  <phone type="work" ext="111"/>
  <phone type="work" ext="222"/>
  <phone type="work" ext="333"/>
</data>

<data>
  <phone type="work" ext="333"/>
  <phone type="work" ext="111"/>
  <phone type="work" ext="222"/>
</data>

 

Im Codefragment oben sind die rechte und die linke Datei nicht gleich. Wenn Sie jedoch alle phone-Elemente nach dem Attribut ext ordnen, sind die Dateien gleich. Um einen solchen Vergleich durchführen zu können, ändern Sie zuerst die Client-Konfigurationsdatei folgendermaßen:

 

;; an example attributes list
[xml.orderby:mylist]
attributes = ext

 

Sie können nun den Befehl diff mit der Option --xml-order-by-attribute-list=mylist ausführen. Daraufhin werden die Elemente nach dem Attribut ext geordnet, sodass die Dateien als gleich betrachtet werden. Wenn die Option --xml-order-by-attribute-list nicht definiert ist, würden Dateien wie die beiden obigen als NICHT identisch betrachtet.

 

Anstatt diese Option zu definieren, können Sie auch die Option --xml-order-by-attributes=true definieren, um die Dateien nach Attributen zu ordnen.

 

Anmerkung:Wenn Sie die Option --xml-order-by-attribute-list definieren, müssen Sie auch --xml-order-by-elements=true definieren.

 

Wenn DiffDog unter Windows auf demselben Rechner wie DiffDog Server installiert ist, können Sie diese Option auf eine in DiffDog erstellte benutzerdefinierte Attributliste setzen. Um in DiffDog eine benutzerdefinierte Attributliste zu erstellen oder anzuzeigen, gehen Sie folgendermaßen vor:

 

1.Klicken Sie im Menü Extras auf Vergleichsoptionen.

2.Klicken Sie auf das Register XML.

3.Aktivieren Sie das Kontrollkästchen Child Node-Reihenfolge ignorieren.

4.Klicken Sie auf Bestimmte Attribute und anschließend auf die Auslassungszeichen-Schaltfläche dds_ic_ellipsis .

 

Nähere Informationen zum Erstellen benutzerdefinierter Attributlisten mit DiffDog finden Sie in der DiffDog-Dokumentation (https://www.altova.com/de/documentation).

 

--xml-order-by-text, --xobt

Diese Option wird angewendet, wenn Sie XML-Dateien vergleichen. Es gibt Fälle, in denen mehrere Elemente genau den gleichen Namen und die gleichen Attribute haben und sich nur der Text von Elementen unterscheidet. Um solche Elemente vor dem Vergleich nach dem enthaltenen Text zu sortieren, setzen Sie diese Option auf true. Angenommen, Sie möchten die folgenden zwei Dateien vergleichen:

 

<data>
  <phone type="mobile">111</phone>
  <phone type="mobile">222</phone>  
</data>

<data>
  <phone type="mobile">222</phone>
  <phone type="mobile">111</phone>
</data>

 

Im Codefragment oben sind die rechte und die linke Datei nicht gleich. Wenn Sie jedoch die Option --xml-order-by-text auf true setzen, würde die Applikation Elemente nach deren Text ordnen. Folglich würden die Dateien als identisch betrachtet werden. Der Standardwert ist false, d.h. die Elemente werden nicht nach ihrem Textinhalt geordnet, sodass Dateien wie die beiden obigen nicht als identisch gelten würden.

 

Anmerkung:Wenn Sie die Option --xml-order-by-text definieren, müssen Sie auch die Option --xml-order-by-elements=true definieren.

 

--xml-resolve-entities, --xre

Diese Option wird angewendet, wenn Sie XML-Dateien vergleichen. Wenn Sie die Option auf true setzen, werden alle Entities im Dokument aufgelöst. Andernfalls werden die Dateien mit den Entities im Istzustand verglichen. Standardmäßig ist diese Option auf false gesetzt.

 

--xml-whitespace-mode, --xws

Diese Option ist anwendbar, wenn XML-Dokumente oder Verzeichnisse, die XML-Dokumente enthalten, verglichen werden. Im Fall von Verzeichnisvergleichen ist diese Option nur auf XML-Dateien in diesem Verzeichnis anwendbar.

 

Mit dieser Option definieren Sie, wie Whitespace-Zeichen beim Vergleich behandelt werden sollen. Die folgenden Zeichen sind Whitespace-Zeichen: Leerzeichen, Tabulator, Wagenrücklauf (Carriage Return) und Zeilenvorschub (Line Feed). Diese Option wirkt sich nur auf Whitespace-Zeichen innerhalb von Element- und Attributwerten aus.  Whitespace-Zeichen außerhalb von Attribut- oder Elementwerten werden beim Vergleich ignoriert.

 

 

asis

(Standardeinstellung) Whitespace-Zeichen unverändert lassen (d.h. nicht normalisieren oder Zeichen kürzen). Das bedeutet, Whitespace-Zeichen werden beim Vergleich immer berücksichtigt.

normalize

Text A gilt als identisch mit Text B, wenn die Zeichen in Text A nach der Normalisierung den Zeichen in Text B entsprechen. “Normalisierung” bedeutet, dass mehrere aufeinander folgenden Whitespace-Zeichen durch ein einziges Leerzeichen ersetzt werden. Auch vorangestellte und nachstehende Whitespace-Zeichen werden in jeder Textzeile gekürzt.

strip

Text A gilt als identisch mit Text B, wenn die Zeichen in Text A nach der Entfernung der Whitespace-Zeichen denen in Text B entsprechen, d.h. alle Whitespace-Zeichen werden aus dem Text entfernt und als nicht relevant für den Vergleich betrachtet.

 

--zip-as-dir, --zd

Diese Option wird angewendet, wenn Sie ZIP-Dateien vergleichen. Wenn Sie die Option auf true setzen, werden ZIP-Dateien als Verzeichnisse und nicht als Binärdateien behandelt. Standardmäßig ist diese Option auf false gesetzt.

 

Beispiele

Siehe Ausführen von Vergleichen.

© 2016-2022 Altova GmbH