Opciones para la comparación XML

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

Inicio >  Comparar archivos > Modificar las opciones de comparación de archivos >

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

 

Ver resultados

Marque la casilla Comparación detallada para 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. No olvide que para combinar y exportar diferencias es necesario marcar la opción Comparación detallada.

 

Esta opción no procede cuando se ejecutan comparaciones de datos de BD y el tipo de datos de la columna es XML.

 

 

Espacios en blanco

Consulte el apartado Opciones de comparación para espacios en blanco.

 

Prefijo o espacio de nombres

Aquí puede elegir si la comparación tiene en cuenta o no los espacios de nombres y los prefijos.

 

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, si marca la opción Omitir texto, los dos archivos XML de la imagen siguiente se consideran idénticos aunque su contenido sea distinto.

 

dd_ignore_text_zoom50

 

Profundidad

Si marca la casilla Omitir profundidad del nodo, los elementos se considerarán como iguales independientemente de su profundidad. Por ejemplo, con la casilla Omitir profundidad del nodo activada, en 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_zoom50

 

Nota: si está marcada la casilla Omitir profundidad del nodo no se pueden combinar ni exportar diferencias.

 

Distinción de mayús/min

Marque la casilla Omitir mayús/min si no desea que la comparación tenga en cuenta el uso de mayúsculas y minúsculas.

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

 

Si la casilla Omitir orden de nodos secundarios está marcada, la comparación no señalará esta diferencia.

 

file_child-order-on

 

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

 

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. Sin embargo, si selecciona la opción Atributos concretos, primero debe definir un grupo de atributos.

 

file_child-order-atts

 

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

 

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

 

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 esa casilla, se encontrarán diferencias.

 

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

 

Omitir tipos de nodos

Marque los tipos de nodo que no se deben comparar. 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.


© 2019 Altova GmbH