Altova DiffDog Server 2023 

Al comparar archivos en modo texto puede ver el resultado de la comparación en formato texto o XML. Para entender cómo alerta DiffDog de las diferencias entre los archivos de texto vamos a imaginar que tenemos que comparar estos dos archivos de texto uno junto al otro.

 

apples

peaches

grape

bananas

strawberries

apples

nuts

peaches

grapes

bananas

file1.txt

file2.txt

 

Nota:los archivos usados en este ejemplo son archivos de texto con la extensión .txt; sin embargo, podrían ser cualquier otro tipo de archivo no binario, como .html, .json, .js, .cs, etc.

 

Al comparar con una herramienta de diferenciación gráfica como DiffDog, las diferencias entre los dos archivos se representan como ve en la imagen siguiente. Observe que existen tres diferencias en total: una línea se ha añadido, otra ha cambiado y otra se ha eliminado.

dds_text_report

informe de comparación de DiffDog

En DiffDog Server puede comparar estos dos archivos con el comando:

 

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

 

Nota:la opción --mode ordena al programa que trate los archivos de la comparación como texto (no como XML o archivos binarios). La opción --output-mode permite indicar el formato del informe de comparación (texto o XML).

 

En el informe de texto producido tras la comparación las diferencias aparecen así:

 

1a2

> nuts

3c4

< grape

---

> grapes

5d5

< strawberries

Informe de comparación de DiffDog Server (texto)

En el informe anterior "a" indica un elemento añadido, "c" indica un cambio y "d" indica un elemento eliminado. El carácter ">" apunta al lado derecho de la comparación. "<" apunta al lado izquierdo de la comparación. Los resultados deben entenderse como unas instrucciones habría que seguir para hacer que ambos archivos fueran iguales, es decir:

 

1a2 significa "Después de la línea 1, en el archivo de la izquierda, añada texto para que sea igual que la línea 2 del archivo de la derecha". La línea siguiente muestra el texto exacto que se debe añadir, en este caso el elemento "nuts" del archivo de la derecha.

3c4 significa "Reemplace la línea 3 del archivo de la izquierda con la línea 4 del archivo de la derecha". Las siguientes líneas muestran el contenido relevante de ambos archivos, separados por "---".

5d5 significa "Borre la línea 5 del archivo de la izquierda para que sea igual a la línea 5 del archivo de la derecha". La siguiente línea muestra el texto exacto que hay que borrar (en este caso "strawberries").

 

Informe XML

También puede comparar los mismos dos archivos y obtener un informe en formato XML con el comando:

 

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

 

Si elige XML como formato, entonces el informe este tendrá este aspecto:

 

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

Informe de comparación de DiffDog Server (XML)

En el informe XML anterior verá un elemento diff_info al principio del todo. Este elemento diff_info proporciona información sobre los archivos comparados (incluyendo el tipo de comparación usado y la ruta de acceso a los archivos de la comparación). Es un elemento que aparece solamente una vez. El atributo comparison_mode indica el valor de la opción --mode al ejecutar la comparación; esta información también puede ser útil si necesita saber el modo de comparación predeterminado usado por DiffDog Server si no se define la opción --mode en la línea de comandos.
 

A continuación aparecen enumeradas las mismas tres diferencias en el informe en formato texto. La información sobre las diferencias encontradas aparece gracias a los atributos left_location y right_location, mientras que el contenido en sí se encuentra dentro de los elementos left_content o right_content. En este ejemplo cada ubicación corresponde a una línea. Sin embargo, una ubicación no es siempre una sola línea, sino que a veces puede consistir en varias líneas (en estos casos también habría varios elementos línea consecutivos en el informe).

© 2017-2023 Altova GmbH