diff

www.altova.com Imprimir este apartado Página anterior Subir un nivel Página siguiente

Inicio >  Línea de comandos de DiffDog Client >

diff

El comando diff efectúa una comparación en paralelo de dos archivos, directorios o URLs. Las entidades que se comparan pueden ser de distinto tipo (por ejemplo, puede comparar una URL, como http://server/file.txt, con una ruta de acceso a un archivo, como C:\file.txt). Tenga en cuenta que se pueden comparar archivos con URLs, por ejemplo, pero no archivos y directorios (ni URLs y directorios).
 

También se pueden comparar archivos de Microsoft Word 2003 o superior (.docx, .dotx), véase Comparar documentos de Word.

 

Una comparación a menudo implica un "lado derecho" y un "lado izquierdo". Sin embargo, también es posible realizar comparaciones a tres bandas en el caso de archivos y URLs (pero no con directorios). Los archivos o directorios de la comparación pueden estar en el equipo en el que se ejecuta DiffDog Client o en el equipo remoto en el que se ejecuta DiffDog Server. También se puede usar un método combinado (comparar archivos o directorios locales con otros remotos).

 

Sintaxis

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

 

En Linux debe usar minúsculas para llamar al ejecutable. Además, es posible que en Linux y macOS tenga que añadir el prefijo "./" antes del nombre del ejecutable al llamarlo desde el directorio actual de la línea de comandos.

 

También se puede llamar a este comando usando el alias compare. Puede usar compare y diff indistintamente.

 

Argumentos

path

El argumento path puede ser la ruta a un archivo o directorio o una ruta URL con el formato http://server/segment.

 

Usar rutas como argumentos es solo una de las dos posibles maneras de dar rutas de entrada al comando diff. La segunda manera es establecer las opciones -client-left, --client-right o --server-left, --server-right. Use el segundo método si DiffDog Client no se ejecuta en el mismo equipo que DiffDog Server.
 
En otras palabras, si usa las opciones -client-left, --client-right o --server-left, --server-right, entonces no necesita especificar ninguna ruta como argumentos. Si no usa estas opciones deberá dar exactamente dos rutas como argumentos. (Para hacer una comparación a tres bandas deberá dar tres rutas como argumentos.)

 

Opciones

A continuación enumeramos las opciones que se pueden aplicar al comando diff.

 

Puede especificar valores predeterminados para la mayoría de las siguientes opciones en el archivo de configuración del cliente. Si usa un archivo de configuración del cliente, tenga en cuenta que:

 

si hay una opción en la línea de comandos pero esta está excluida con un comentario en el archivo de configuración del cliente, se aplica la opción de la línea de comandos.
si la opción existe tanto en la línea de comandos como en el archivo de configuración del cliente, se aplica la opción de la línea de comandos.
si una opción no está en la línea de comandos pero sí en el archivo de configuración (sin comentarios que la excluyan), se aplica la opción del archivo de configuración.
si una opción no está ni en la línea de comandos ni en el archivo de configuración, toma el valor predeterminado descrito en la ayuda de la línea de comandos y en la documentación que sigue.

 

 

--alias, --a

Si el administrador de servidor ha restringido el acceso a las rutas del servidor por razones de seguridad ya no podrá hacer comparaciones que hagan referencia directa a rutas de servidor (véase Restringir el acceso a las rutas de servidor). En su lugar deberá indicar el nombre de un alias con la opción --alias.

 

Esta opción es importante si la comparación incluye una ruta de servidor (es decir, si se usan las opciones --server-left o --server-right). Los valores válidos para esta opción son los alias definidos en el Archivo de configuración del servidor. Para obtener la lista de alias disponibles, ejecute el comando aliases. Para más información consulte Restringir el acceso a las rutas de servidor.

 

--config, --c

Esta opción indica la ruta a un archivo de configuración del cliente. Para más información, consulte el apartado Archivo de configuración del cliente.

 

Si no establece la opción --c, el ejecutable de DiffDog Client intentará leer el archivo de configuración del cliente desde el mismo directorio. Si no existe un archivo de configuración en el mismo directorio que el ejecutable se usarán los valores descritos en la ayuda de la línea de comandos y en esta documentación.

 

--client-left, --cl

Esta opción indica el lado izquierdo de la comparación (debe ser una ruta a un archivo o directorio local).

 

--client-middle, --cm

Esta opción se puede aplicar la comparación a tres bandas. Indica la ruta local al archivo del "medio" (también conocido como "ancestro común").

 

--client-right, --cr

Esta opción especifica el lado derecho de la comparación (debe ser una ruta a un archivo o directorio local).

 

--dir-compare-contents, --dc

Esta opción indica si en una comparación de directorios se debe comparar el contenido de los archivos además de cualquier otra opción que se haya definido por separado (como tamaño o fecha de modificación de los archivos). Para ignorar el contenido de los archivos en una comparación, establezca este valor en false (esto llevará a una comparación más rápida aunque menos exacta). El valor predeterminado de esta opción es true.

 

--directory-filter, --df

Esta opción se puede aplicar a comparaciones de directorios. Los filtros de directorios permiten definir criterios para que se incluyan o excluyan de la comparación ciertos archivos o subdirectorios. Son valores válidos para esta opción filtros de directorios definidos en el archivo de configuración del cliente, en el grupo [dir.filter]. Por ejemplo, si el archivo de configuración define un filtro [dir.filter:svn], use la siguiente sintaxis para establecer este filtro en la línea de comandos:

 

--directory-filter=svn

 

En Windows, si se instala DiffDog en el mismo equipo que DiffDog Server puede indicar como valor de opción cualquier filtro de directorio que ya exista en DiffDog (sea predeterminado o personalizado). Por ejemplo, para establecer el filtro predeterminado "ningún directorio SVN" en la línea de comandos, use esta sintaxis:
 

--directory-filter="No SVN directories"

 

Para ver o crear un filtro de directorios en DiffDog:

 

1.En el menú Herramientas, haga clic en Opciones de DiffDog.
2.Haga clic en la pestaña Comparación de directorios.

 

Para más información sobre cómo crear filtros de directorios con DiffDog, consulte la documentación de DiffDog (https://www.altova.com/es/documentation).

 

Si no se puede encontrar el filtro se genera un error y no se efectúa la comparación.

 

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

Esta opción se puede aplicar a la comparación de directorios. Indica que en la comparación de directorios se debe ignorar un número dado de segundos (+/-) al comparar horas de modificación. El valor predeterminado de esta opción es 0, que significa que la comparación no ignorará ninguna diferencia temporal.

 

--dir, --dir-ignore-case, --dic

Esta opción se puede aplicar a la comparación de directorios. El valor predeterminado de esta opción es false, que significa que la comparación no distingue entre minúsculas y mayúsculas. Por ejemplo, los directorios siguientes se tratarían como directorios distintos (porque el nombre del archivo del directorio derecho es distinto).

 

source/

|-- ReadMe.txt

source/

|-- readme.txt

 

Para ignorar las minúsculas y mayúsculas en la comparación, establezca esta opción en true. En este caso, un directorio llamado "UnDirectorio" se consideraría igual que "undirectorio", o un archivo "archivo.TXT" sería igual que "archivo.txt".
 

--dir-compare-sizes, --ds

Esta opción se puede aplicar a la comparación de directorios. Si su valor es true, indica que se debe comparar el tamaño de los directorios. De lo contrario se ignora este criterio de comparación. El valor predeterminado de esta opción es false.

 

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

Esta opción se puede aplicar a la comparación de directorios. Si su valor es true indica que al comparar directorios se deben comparar los archivos que estos contengan según la hora de modificación. De lo contrario se ignora este criterio de comparación. El valor predeterminado de esta opción es false.

 

--doc-format-bold, --dfb

Esta opción se puede aplicar a la comparación de documentos de Word. Son valores válidos:

 

true

Tiene en cuenta el formato negrita en la comparación.

false

(Predeterminado) Ignora el formato negrita.

 

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

Esta opción se puede aplicar a la comparación de documentos de Word. Son valores válidos:

 

true

Tiene en cuenta el color de la fuente en la comparación.

false

(Predeterminado) Ignora el color de la fuente.

 

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

Esta opción se puede aplicar a la comparación de documentos de Word. Son valores válidos:

 

true

Tiene en cuenta el nombre de la fuente en la comparación.

false

(Predeterminado) Ignora el nombre de la fuente.

 

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

Esta opción se puede aplicar a la comparación de documentos de Word. Son valores válidos:

 

true

Tiene en cuenta el tamaño de la fuente en la comparación.

false

(Predeterminado) Ignora el tamaño de la fuente.

 

--doc-format-italic, --dfi

Esta opción se puede aplicar a la comparación de documentos de Word. Son valores válidos:

 

true

Tiene en cuenta el formato cursiva en la comparación.

false

(Predeterminado) Ignora el formato cursiva.

 

--doc-format-underline, --dfu

Esta opción se puede aplicar a la comparación de documentos de Word. Son valores válidos:

 

true

Tiene en cuenta el el texto subrayado en la comparación.

false

(Predeterminado) Ignora el texto subrayado.

 

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

Esta opción se puede aplicar al comparar documentos de Word o directorios que contienen documentos de Word. En el caso de las comparaciones de directorios, la opción se aplica solamente a los documentos de Word de ese directorio. Valores válidos:

 

true

Tiene en cuenta las líneas en blanco durante la comparación.

false

(Predeterminado) Ignora las líneas en blanco.

 

--doc-ignore-case, --doc

Esta opción se aplica a las comparaciones de documentos de Word o directorios que contengan documentos de Word. En el caso de las comparaciones de directorios, la opción se aplica solamente a los documentos de Word de ese directorio. Son valores válidos:

 

true

Realiza una comparación que no distingue entre minúsculas y mayúsculas (por ejemplo, "A" y "a" se consideran iguales).

false

(Predeterminada) Realiza una comparación que distingue entre minúsculas y mayúsculas (por ejemplo, "A" y "a" se consideran distintas).

 

--doc-mode, --dm

Esta opción se puede aplicar a la comparación de documentos de Word. Son valores válidos:

 

sentence

(Predeterminado) Hace una comparación a nivel de frase.

paragraph

Hace una comparación a nivel de párrafo.

 

--doc-whitespace-mode, --dws

Esta opción se puede aplicar a la comparación de documentos de Word o a la de directorios que contengan documentos de Word. En el caso de la comparación de directorios, la opción se aplica solo a los documentos de Word que haya en ellos.

 

La opción define cómo se deben tratar los espacios en blanco en la comparación. Se entiende por espacios en blanco cualquiera de los siguientes caracteres: espacio, tabulador, salto de línea y retorno de carro). Si no se especifica esta opción, entonces los espacios en blanco serán tenidos en cuenta en la comparación. En caso contrario escoja uno de los siguientes valores:

 

normalize

El texto A es igual al texto B si, después de su normalización, los caracteres del texto A corresponden con los del texto B. "Normalización" significa reemplazar varias incidencias de distintos espacios en blanco por un único tipo de espacio en blanco. Asimismo, en este proceso se eliminan los espacios iniciales y finales de cada línea de texto.

strip

El texto A se considera igual que el texto B si, después de eliminar los espacios en blanco, los caracteres del texto A corresponden con los del texto B. En otras palabras, todos los espacios en blanco del texto se eliminan y no se tienen en cuenta en la comparación.

 

--ignore-blank-lines

Esta opción indica si las líneas en blanco se deben ignorar en la comparación. Son valores válidos true y false. El valor predeterminado es false.

 

La opción se aplica en función de la opción --mode que esté activa. Si --mode=text, entonces se aplica a archivos de texto y equivale a la opción --text-ignore-blank-lines. Si --mode=xml, entonces no afecta a la comparación. Si --mode=doc, entonces se aplica a los documentos de Word y equivale a la opción --doc-ignore-blank-lines. Si compara directorios, se aplica a cada todos los tipos de comparaciones que se encuentren en ese directorio.

 

--ignore-case

Esta opción se puede aplicar tanto a las comparaciones de archivos como a las de directorios. La opción se aplica en función de la opción --mode que esté activa. Si --mode=text, entonces se aplica a archivos de texto y equivale a la opción --text-ignore-case. Si --mode=xml, entonces se aplica a archivos XML y equivale a las opciones --xml-ignore-case-in-names y --xml-ingore-case-in-text. Si --mode=doc, entonces se aplica a documentos de Word y equivale a la opción --doc-ignore-case. Si compara directorios, se aplica a cada todos los tipos de comparaciones que se encuentren en ese directorio. Son valores válidos:

 

true

Ignora las mayúsculas en la comparación (por ejemplo, "A" y "a" se consideran iguales).

false

(Predeterminado) Tiene en cuenta las mayúsculas en la comparación (por ejemplo, "A" y "a" no se consideran iguales).

 

--mode, --m

Esta opción indica el tipo de comparación que se debe realizar. Son valores válidos:

 

auto

(Predeterminado) La aplicación decide si los argumentos dados son archivos o directorios y establece de forma automática el modo de comparación basándose en la extensión de los mismos. Por ejemplo, si detecta que los archivos son XML, entonces hará una comparación XML. Siempre puede ver o cambiar la asignación predeterminada entre extensiones de archivos y modos de comparación (véase Archivo de configuración del cliente).

binary

Trata a los archivos como archivos binarios.

doc

Trata los archivos como documentos de Microsoft Word.

text

Trata a los archivos como archivos de texto.

xml

Trata a los archivos como archivos XML.

 

--output-file, --o

Esta opción permite escribir el resultado del comando en un archivo de texto en el equipo cliente. El valor debe especificar una ruta de archivo válida en el equipo cliente. Use la opción --om para indicar el formato del archivo de salida.

 

--output-mode, --om

Esta opción permite indicar el formato en que se debe crear el resultado de la comparación (texto o XML). Son valores válidos:

 

auto

(Predeterminado) Decide la aplicación.

text

Escribe el archivo de salida como texto.

 

Nota:la opción -output-mode=text no se puede usar en comparaciones de archivos XML o documentos de Word.

xml

Escribe el archivo de salida como XML.

 

--port

Esta opción indica el puerto desde el que DiffDog Server atiende solicitudes y es relevante si DiffDog Server se ejecuta en un puerto distinto al predeterminado, 29800. Además de configurar esta opción en la línea de comandos, también puede hacerlo en el archivo de configuración del cliente.

 

--quiet, --q

Evita que la salida estándar se muestre en la línea de comandos. Son valores válidos:

 

true

No muestra la salida estándar en la ventana terminal.

false

(Predeterminado) Muestra la salida estándar en la ventana terminal.

 

--server-output-file, --s

Esta opción permite escribir la salida del comando en un archivo de texto en el equipo servidor. El valor debe indicar una ruta de archivo válida en el equipo servidor. Use la opción --om para establecer el formato del archivo de salida.

 

--server

Esta opción indica la dirección del servidor desde la que DiffDog Server atiende solicitudes. Es importante establecer esta opción si DiffDog Server se ejecuta en un servidor que no sea el predeterminado localhost. Además de configurar esta opción en la línea de comandos, también puede hacerlo en el archivo de configuración del cliente. Tenga en cuenta que si define esta opción en la línea de comandos, esta definición tiene preferencia frente a la del archivo de configuración.

 

--server-left, --sl

Esta opción permite añadir una ruta remota a la comparación. Indica el lado izquierdo de la comparación (una ruta a un archivo o directorio al que el servidor pueda acceder).

 

--server-middle, --sm

Esta opción permite añadir una ruta remota a la comparación. Indica el elemento del medio de la comparación (en comparaciones a tres bandas). El valor debe ser una ruta a un archivo o directorio al que el servidor pueda acceder.

 

--server-right, --sr

Esta opción permite añadir una ruta remota a la comparación. Indica el lado derecho de la comparación (una ruta a un archivo o directorio al que el servidor pueda acceder).

 

--text-ignore-case, --ic

Esta opción se puede aplicar al comparar archivos de texto o directorios que contengan documentos de texto. En las comparaciones de directorios la opción se aplica solo a los archivos de texto que contenga ese directorio. Son valores válidos:

 

true

Ignora las mayúsculas en la comparación (por ejemplo, "A" y "a" se consideran iguales).

false

(Predeterminado) Tiene en cuenta las mayúsculas en la comparación (por ejemplo, "A" y "a" no se consideran iguales).

 

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

Esta opción se puede aplicar al comparar documentos de texto o directorios que contengan documentos de texto. En las comparaciones de directorios la opción se aplica solo a los archivos de texto que contenga ese directorio. La opción indica si se deben ignorar las líneas en blanco en la comparación de archivos de texto. Son valores válidos true y false. El valor predeterminado es false.

 

--text-whitespace-mode, --tws

Esta opción se puede aplicar al comparar documentos de texto o directorios que contengan documentos de texto. En las comparaciones de directorios se aplica solo a los archivos de texto que contenga ese directorio.

 

La opción define cómo se deben tratar los espacios en blanco en la comparación. Se entiende por espacios en blanco cualquiera de los siguientes caracteres: espacio, tabulador, salto de línea y retorno de carro). Si no se especifica esta opción, entonces los espacios en blanco serán tenidos en cuenta en la comparación. En caso contrario escoja uno de los siguientes valores:

 

normalize

El texto A es igual al texto B si, después de su normalización, los caracteres del texto A corresponden con los del texto B. "Normalización" significa reemplazar varias incidencias de distintos espacios en blanco por un único tipo de espacio en blanco. Asimismo, en este proceso se eliminan los espacios iniciales y finales de cada línea de texto.

strip

El texto A se considera igual que el texto B si, después de eliminar los espacios en blanco, los caracteres del texto A corresponden con los del texto B. En otras palabras, todos los espacios en blanco del texto se eliminan y no se tienen en cuenta en la comparación.

 

--whitespace-mode, --ws

Esta opción se aplica al comparar archivos de texto y XML. Define cómo deben tratarse en la comparación los espacios en blanco. Estos caracteres pueden ser los siguientes: espacios, tabulaciones, retornos de carro y avances de línea. Si no se especifica esta opción significa que los caracteres de espacios en blanco siempre son relevantes en una comparación. De lo contrario, establezca uno de los siguientes valores:

 

normalize

Se considera que el texto A es igual que el texto B si, tras la normalización, los caracteres del texto A se corresponden con los del texto B. El término normalización significa que las repeticiones consecutivas de espacios en blanco se reemplazan por un solo espacio. Además, los espacios en blanco iniciales y finales de cada línea del texto se eliminan. Si se están comparando archivos XML se eliminan también los espacios en blanco iniciales y finales de los valores de atributo.

strip

Se considera que el texto A es igual que el texto B si, tras la eliminación de los espacios en blanco, los caracteres del texto A se corresponden con los del texto B. En otras palabras, todos los espacios en blanco se eliminan del texto y no se tienen en cuenta para la comparación. Si se están comparando archivos XML, la comparación no tiene en cuenta los espacios en blanco que están fuera de los valores de elemento o atributo.

 

--xml-filter, --xf

Esta opción se aplica a comparaciones XML. Un filtro XML contiene reglas que indican que se deben ignorar ciertos atributos o elementos XML en la comparación. Son valores válidos para esta opción los filtros XML definidos en el archivo de configuración del cliente, en el grupo [xml.filter]. Por ejemplo, si el archivo de configuración define un filtro [xml.filter:ignore-abc-elems], use la siguiente sintaxis para establecer el filtro en la línea de comandos:

 

--xml-filter=ignore-abc-elems

 

En Windows, si DiffDog está instalado en el mismo equipo que DiffDog Server puede indicar como valor de opción cualquier filtro XML creado con DiffDog. Para ver o definir un filtro XML en DiffDog, siga estos pasos:

 

1.En el menú Herramientas, haga clic en Opciones de comparación.
2.Haga clic en la pestaña XML.
3.En la opción Filtrar elementos o atributos concretos, en la parte inferior derecha, haga clic en el botón con puntos suspensivos dds_ic_ellipsis.

 

Para más información sobre cómo crear filtros XML con DiffDog, consulte la documentación de DiffDog (https://www.altova.com/es/documentation).

 

Si no se puede encontrar el filtro se genera un error y no se efectúa la comparación.

 

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

Esta opción se puede aplicar al comparar archivos XML. Al establecerla en true se efectuará una comparación de denominaciones de identificadores sin tener en cuenta las mayúsculas. Por ejemplo, imaginemos que quiere comparar los siguientes dos archivos XML:

 

<book ID="1"/>

<book id="1"/>

 

En este listado el atributo ID está en mayúsculas en el archivo del lado izquierdo pero no en el del derecho. Si --xml-ignore-case-in-names=true, entonces se ignoran las mayúsculas, por lo que esos dos archivos se tratarán como iguales. Por defecto, esta opción está establecida en false, lo que significa que esos dos archivos no se son iguales.

 

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

Esta opción se puede aplicar al comparar archivos XML. Si se establece en true se realizará una comparación de texto sin lenguaje de marcado en la que no se tendrán en cuenta las mayúsculas. Por ejemplo, imaginemos que quiere comparar los siguientes dos archivos XML:

 

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

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

 

En este listado el valor del atributo hardcover está en minúsculas en el archivo del lado izquierdo pero en el del derecho está en mayúsculas. Pasa lo mismo con el valor del elemento genre. Para poder tratar estos dos archivos como iguales, establezca --xml-ignore-case-in-text=true. Por defecto, esta opción tiene como valor false, lo que significa que archivos como los anteriores no son iguales.

 

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

Esta opción se puede aplicar al comparar archivos XML. Son valores válidos:

 

true

Ignora los atributos XML en la comparación.

false

(Predeterminado) Tiene en cuenta los atributos XML en la comparación.

 

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

This option is applicable when comparing XML files. Valid values:

 

true

Ignora los comentarios XML en la comparación.

false

(Predeterminado) Take XML comments into account when comparing.

 

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

Esta opción se puede aplicar al comparar archivos XML. Son valores válidos:

 

true

Ignora los datos formados por caracteres (CDATA) del XML en la comparación.

false

(Predeterminado) Tiene en cuenta los datos CDATA del XML en la comparación.

 

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

Esta opción se puede aplicar al comparar archivos XML. Son valores válidos:

 

true

Ignora la declaración XML DOCTYPE en la comparación.

false

(Predeterminado) Tiene en cuenta la declaración XML DOCTYPE en la comparación.

 

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

Esta opción se puede aplicar al comparar archivos XML. Son valores válidos:

 

true

Ignora las instrucciones de procesamiento que hay en el XML en la comparación.

false

(Predeterminado) Tiene en cuenta las instrucciones de procesamiento que hay en el XML en la comparación.

 

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

Esta opción se puede aplicar al comparar archivos XML. Son valores válidos:

 

true

Ignora las declaraciones XML en la comparación.

false

(Default) Tiene en cuenta las declaraciones XML en la comparación.

 

--xml-ignore-namespace, --xins

Esta opción se puede aplicar al comparar archivos XML. Si se establece en true, se ignorarán los espacios de nombres XML en la comparación. Por defecto, el valor de esta opción es false.

 

--xml-ignore-prefixes, --xip

Esta opción se puede aplicar al comparar archivos XML. Si se establece en true, se ignorarán los prefijos XML en la comparación. Por ejemplo, imagine que quiere comparar los archivos XML que ve a continuación. Ambos contienen elementos idénticos pero los prefijos son distintos.

 

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

 

 

Por defecto, el valor de esta opción es false, lo que significa que los archivos no se consideran iguales. Sin embargo, si la opción --xml-ignore-prefixes se establece en true, entonces los prefijos se ignoran y los archivos se consideran iguales.

 

--xml-ignore-text, --xit

Esta opción se puede aplicar al comparar archivos XML. Si se establece en true, en la comparación se ignorará el contenido de texto de los nodos XML. Esto es útil si quiere comparar únicamente la estructura de dos archivos XML e ignorar el contenido de los nodos. Por defecto, el valor de esta opción es false.

 

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

Esta opción se puede aplicar al comparar archivos XML. Establezca esta opción en true si quiere ordenar todos los atributos XML antes de la comparación. Por ejemplo, imaginemos que quiere comparar los siguientes dos archivos XML:

 

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

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

 

En este listado el orden de los atributos es distinto en cada uno de los archivos, aunque los atributos son los mismos. Si establece la opción --xml-order-by-attributes en true, la aplicación ordenará los atributos antes de compararlos y, por tanto, considerará los archivos como iguales. El valor por defecto es false, lo que significa que los archivos no son iguales si el orden de los atributos no es el mismo.

 

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

Esta opción se puede aplicar al comparar archivos XML. Establezca esta opción en true si quiere todos los elementos XML antes de la comparación. Por ejemplo, imaginemos que quiere comparar los siguientes dos archivos XML:

 

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

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

 

En este listado los archivos del lado derecho y del izquierdo contienen exactamente los mismos elementos, solo que en un orden distinto. Si establece la opción --xml-order-by-elements en true, la aplicación ordenará los elementos antes de compararlos y, por tanto, considerará los archivos como iguales. El valor por defecto es false, lo que significa que los archivos no son iguales si el orden de los elementos no es el mismo.
 

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

Esta opción se puede aplicar al comparar archivos XML. Hay instancias en las que varios elementos tienen exactamente el mismo nombre y los mismos atributos, pero los valores de los atributos son diferentes. Para filtrar por atributos concretos antes de la comparación, establezca esta opción en una lista de atributos creados en el archivo de configuración del cliente, en el grupo [xml.orderby:<name_of_your_list>].

 

Por ejemplo, imaginemos que quiere comparar los siguientes dos archivos XML:

 

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

 

En este listado los archivos de los lados izquierdo y derecho no son iguales. Sin embargo, si ordenara todos los elementos phone por su atributo ext, entonces sí serían iguales. Para hacer posibles estas comparaciones, primero debe modificar el archivo de configuración del cliente como sigue:

 

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

 

Ahora puede ejecutar el comando diff con la opción --xml-order-by-attribute-list=mylist. Al hacerlo la aplicación ordena los elementos por su atributo ext y como resultado los archivos se consideran iguales. Si la opción --xml-order-by-attribute-list no está establecida, archivos como los dos anteriores NO se considerarían iguales.

 

Otra opción, para ordenar por todos los atributos, establezca la opción --xml-order-by-attributes=true.

 

Nota:si establece la opción --xml-order-by-attribute-list, asegúrese de que también establece --xml-order-by-elements=true.

 

En Windows, si DiffDog está instalado en el mismo equipo que DiffDog Server, puede establecer esta opción en una lista de atributos personalizada creada en DiffDog. Para ver o crear una lista de atributos personalizada en DiffDog:

 

1.En el menú Herramientas, haga clic en Opciones de comparación.
2.Haga clic en la pestaña XML.
3.Marque la casilla Omitir orden de nodos secundarios.
4.Haga clic en Atributos concretos y luego en el botón con puntos suspensivos dds_ic_ellipsis.

 

Para más información sobre cómo crear listas de atributos personalizadas con DiffDog, consulte la documentación de DiffDog (https://www.altova.com/es/documentation).

 

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

Esta opción se puede aplicar al comparar archivos XML. Hay instancias en las que varios elementos tienen exactamente el mismo nombre y los mismos atributos, pero el texto de los elementos difiere. Establezca esta opción en true si quiere ordenar estos elementos por su texto antes de la comparación. Por ejemplo, imaginemos que quiere comparar los siguientes archivos:

 

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

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

 

En este listado, los archivos del lado izquierdo y del derecho no son iguales. Sin embargo, si establece la opción --xml-order-by-text en true, la aplicación ordenará los elementos por su texto y, como resultado, los archivos serán tratados como iguales. El valor predeterminado es false, lo que significa que los elementos no están ordenados por su texto, por lo que estos archivos no se tratarán como iguales.

 

Nota:si establece la opción --xml-order-by-text, asegúrese de que también establece --xml-order-by-elements=true.

 

--xml-resolve-entities, --xre

Esta opción se puede aplicar al comparar archivos XML. Si se establece en true, entonces se resuelven todas las entidades en el documento. De lo contrario, los archivos se comparan con las entidades como están. Esta opción tiene el valor predeterminado false.

 

--zip-as-dir, --zd

Esta opción se puede aplicar al comparar archivos ZIP. Si se establece en true, los archivos ZIP se tratarán como directorios en vez de como archivos binarios. El valor predeterminado de esta opción es false.

 

Ejemplos

Consulte Comparación de archivos o directorios.


© 2019 Altova GmbH