Altova DiffDog Server 2025 

Lors de la comparaison de fichiers en mode texte (définie avec l’option CLI --mode=text), vous pouvez consulter le rapport de comparaison soit sous le format texte ou XML (défini avec --output-mode). Pour comprendre comment DiffDog Server rapporte les différences entre les fichiers texte, nous partons du principe que les deux fichiers texte ci-dessous doivent être comparés côte-à-côte. (Notez que les fichiers texte incluent, non seulement des fichiers .txt, mais aussi tout autre genre de fichier non binaire, comme .html, .json, .js et .cs.)

 

pommes

pêches

raisins

bananes

fraises

pommes

noix

pêches

raisins

bananes

file1.txt

file2.txt

 

Lorsque les deux fichiers sont comparés dans l’interface graphique de DiffDog (capture d’écran ci-dessous), les différences entre les deux fichiers peuvent être vues clairement, comme affiché ci-dessous. Dans file2.txt, la ligne 2 a été ajoutée, la ligne 4 est différente et la ligne 6 manque.

dds_text_report

Dans DiffDog Server, vous pouvez exécuter la commande ci-dessous pour comparer ces deux fichiers texte et recevoir un rapport de comparaison sous le format texte.

 

diffdogcmdlclient diff file1.txt file2.txt --mode=text --output-mode=text --output-file=report.txt

 

L'option --mode traite les fichiers comparés en tant que texte (pas en tant que XML ou binaire).

L'option --output-mode vous permet de spécifier le format du rapport de comparaison (texte ou XML).

L'option --output-file spécifie le chemin vers le fichier de rapport généré.

Puisqu’il n’existe aucune option --quiet=true, le rapport de comparaison sera généré à la ligne de commande ainsi qu’a un fichier de sortie. Voir « Formats de rapports » sous la rubrique Résultats de comparaison.

 

Dans les sections ci-dessous, nous décrivons comment les résultats de comparaison sont affichés dans le texte et les rapports XML, respectivement.

 

Rapport Texte

Dans le rapport texte produit après l’exécution de la comparaison, les différences sont rapportées comme suit :

 

1a2

> noix

3c4

< raisins

---

> raisins

5d5

< fraises

 

Dans le rapport ci-dessus, "a" dans "1a2" indique un ajout ; "c" dans "3c4" indique une modification, et "d" dans "5d5" indique une suppression. Les nombres des deux côtés de la lettre sont les nombres des fichiers gauche et droite, respectivement. Les caractères ">" et "<" indiquent les fichier droite et gauche, respectivement, et les lignes dans lesquels ils apparaissent indiquent (i) ce qui a été ajouté où; (ii) ce qui est différent et à quel endroit ; et (iii) ce qui manque à quel endroit (affichant le texte dans le fichier où il est présent).

 

Les résultats peuvent être considérés comme des instructions à suivre afin de pouvoir rendre les deux fichiers égaux, concrètement :

 

1a2 signifie "Après la ligne 1 dans le fichier de gauche, ajouter du texte pour le rendre égal avec la ligne 2 du fichier de droite". La prochaine ligne affiche le texte à ajouter. Dans notre exemple, le texte "noix" dans le fichier droit doit être ajouté au fichier gauche.

3c4 signifie "Remplacer la ligne 3 du fichier de gauche avec la ligne 4 du fichier de droite". Les lignes suivantes montrent le contenu pertinent des deux fichiers, séparé par "---".

5d5 signifie "Supprime la ligne 5 du fichier de gauche pour le rendre égal avec la ligne 5 du fichier de droite". La ligne suivante montre exactement le texte à effacer (dans ce cas, "fraises").).

 

Rapport XML

Vous pouvez aussi comparer ces mêmes fichiers et obtenir le rapport en tant que fichier XML, en exécutant la commande :

 

diffdogcmdlclient diff file1.txt file2.txt --mode=text --output-mode=xml --output-file=report.xml

 

 

Le rapport sous format texte affiché ci-dessus apparaîtrait, sous le format XML, tel qu’affiché ci-dessous.

 

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

 

 

Veuillez noter les points suivants concernant le rapport XML :

 

L'élément diff_info fournit des informations concernant les fichiers qui ont été comparés (y compris le mode de comparaison utilisé, et les chemins des fichiers comparés). Cet élément ne se produit qu'une seule fois. (L’attribut comparison_mode indique la valeur fournie pour l’option --mode à la ligne de commande - ou la valeur par défaut de l’option si aucune valeur n’a été fournie à la ligne de commande.)

Les éléments text_diff précisent les différences de texte trouvées. Leurs attributs left_location et right_location attribuent les lignes dans leurs fichiers respectifs où la différence apparaît.

Les éléments left_content et right_content, respectivement, contiennent les lignes qui sont différentes dans chaque text_diff. Si les deux left_content et right_content sont présents, alors la différence textuelle à l’intérieur d’une ligne est indiquée. Toutefois, si seul un des contenus left_content ou right_content est présent, alors soit une ligne supplémentaire, soit une ligne supprimée est indiquée.

L’élément line contient du texte qui est différent. Si de multiples lignes sont impliquées dans la différence, alors il y aura des éléments multiples consécutifs line dans l’élément text_diff.

 

© 2019-2025 Altova GmbH