Opciones para la comparación XML
La pestaña XML del cuadro de diálogo Opciones de comparación muestra las opciones que se utilizan para la comparación como XML.
![dd_dlg_xml_comparison_options](./images/dd_dlg_xml_comparison_options.png)
Ver resultados
La opción Comparación detallada permite ver en detalle las diferencias o reducir el número de diferencias (para navegar por ellas más rápido). Si desactiva esta casilla, los nodos consecutivos que son diferentes se señalan como un solo nodo. Esto también se hace con los nodos consecutivos en niveles jerárquicos diferentes, p. ej. un nodo de elemento y su nodo de atributo secundario.
Tenga en cuenta que:
•En la vista Cuadrícula, las diferencias consecutivas se cuentan juntas como una sola diferencia, mientras que en la vista Texto se cuentan como diferencias separadas. Por tanto, puede que la cantidad de diferencias sea mayor en la vista Texto.
•Para permitir la combinación y exportación de diferencias, debe seleccionar la Diferenciación detallada.
Espacios en blanco
Ver Opciones de comparación para espacios en blanco.
Espacio de nombres/Prefijo
Aquí puede elegir si los espacios de nombres y los prefijos se tienen en cuenta o no durante la comparación.
Entidades
Si marca la opción Resolver entidades, todas las entidades del documento se resuelven. Si no, los archivos se comparan con las entidades tal y como están.
Texto
Si marca la opción Omitir texto, las diferencias en los nodos de texto no se notifican. En este caso solo se compara la estructura XML, pero no el contenido del texto. Esta función es útil si quiere comparar dos estructuras XML e ignorar el contenido. Por ejemplo, asumimos que se ha seleccionado la opción Omitir texto. En este caso, los dos archivos XML de la imagen siguiente se consideran idénticos (aunque su contenido sea distinto).
![dd_ignore_text](./images/dd_ignore_text.png)
Profundidad
Si marca la casilla Omitir profundidad del nodo, los elementos se considerarán como iguales independientemente de su profundidad. Por ejemplo, asumimos que la casilla Omitir profundidad del nodo está activada. En este caso, como el ejemplo de la imagen siguiente, el elemento <c> es igual en ambos paneles, aunque en el de la derecha esté anidado a más profundidad.
![dd_ignore_node_depth](./images/dd_ignore_node_depth.png)
Nota: | Si está marcada la casilla Omitir profundidad del nodo no se pueden combinar ni exportar diferencias. |
Distinción de mayús/minús
Si marca la casilla Omitir may/min también puede elegir si el uso de mayúsculas y minúsculas se pasa por alto en los nombres de nodo.
Orden
Marque la casilla Omitir orden de nodos secundarios si no quiere que se compare la posición relativa de los nodos secundarios de un elemento, siempre y cuando los nodos de un elemento tengan nombres de nodo único. Si existe un nodo de elemento con el mismo nombre en ambos conjuntos de nodos del mismo nivel, los dos conjuntos se consideran iguales. En la imagen siguiente, por ejemplo, el orden de los nodos <Name> y <FirstName> es diferente y esto se considera una diferencia si la opción Omitir orden de nodos secundarios está desactivada.
![file_child-order-off](./images/file_child-order-off.png)
Si la casilla Omitir orden de nodos secundarios está marcada, la comparación no señalará esta diferencia.
![file_child-order-on](./images/file_child-order-on.png)
Sin embargo, recuerde que DiffDog solo puede ignorar el orden de los nodos secundarios si los nombres de nodo de un cierto nivel son únicos. Si un nodo aparece varias veces (p. ej. con atributos diferentes) y una de esas instancias aparece en otro orden, esto se considera una diferencia, incluso si marcó la casilla Omitir orden de nodos secundarios. Si añadimos atributos distintos al nodo <Phone> de nuestro ejemplo, el orden diferente de las instancias del nodo <Phone> se señalará en la ventana de comparación aunque esté seleccionada la opción Omitir orden de nodos secundarios.
![file_child-order-multiple](./images/file_child-order-multiple.png)
Para pasar por alto el orden de las instancias múltiples de los nodos secundarios que tienen atributos diferentes, puede añadir estos atributos como criterios de comparación. DiffDog ofrece dos opciones: (i) agregar todos los atributos y (ii) definir una lista de atributos concretos. Ambas opciones en nuestro ejemplo resultarán en que los nodos <Phone> se muestran como idénticos. Sin embargo, si selecciona la opción Atributos concretos, primero debe definir un grupo de atributos.
![file_child-order-atts](./images/file_child-order-atts.png)
Es posible que algunas instancias de los nodos secundarios tengan asignado el mismo atributo (p. ej. una persona que tiene más de un número de teléfono, como en nuestro ejemplo). En la imagen siguiente, se seleccionó la opción Todos los atributos pero se encontraron diferencias porque se trata de dos números de teléfono diferentes.
![file_child-order-text](./images/file_child-order-text.png)
En DiffDog también puede activar la casilla Agregar texto del elemento como criterio de comparación. Si el texto del elemento, el valor del atributo y el nombre del nodo son idénticos y la única diferencia es el orden de los nodos, la comparación no señala ninguna diferencia.
![file_child-order-text-nodiff](./images/file_child-order-text-nodiff.png)
Recuerde que, si marca la casilla Omitir orden de nodos secundarios, la función de combinación también pasa por alto el orden de los nodos. Si no marca la casilla Omitir orden de nodos secundarios, se encontrarán diferencias, incluso si solo son diferencias en el orden.
También hay una opción para omitir el orden de los atributos que afecta al orden de los atributos de un solo elemento. En nuestro ejemplo se marcó la opción Omitir orden de atributos y DiffDog pasó por alto el orden de los atributos del nodo <Person>. Recuerde que el orden de los atributos no se tiene en cuenta si está marcada la casilla Omitir orden de nodos secundarios. En la imagen siguiente se desactivó la opción Omitir orden de nodos secundarios y la opción Omitir orden de atributos.
![file_ignore-atts](./images/file_ignore-atts.png)
Omitir tipos de nodos
Aquí puede elegir qué tipos de nodos se comparan y cuáles no. Los tipos de nodo que se pueden omitir de la comparación son: atributos, CDATA, comentarios, instrucciones de procesamiento, instrucciones DOCTYPE y declaraciones XML.
Filtrar elementos o atributos concretos
Aquí puede definir filtros para decidir qué elementos y atributos se deben omitir de la comparación. Los filtros se definen para toda la aplicación. Es decir, una vez definido, el filtro está disponible para todas las comparaciones. Puede definir más de un filtro y, por cada comparación, el filtro debe seleccionarse en la lista desplegable de este grupo de opciones.