He visto las respuestas a esta pregunta , y desafortunadamente ninguna de ellas me ha ayudado hasta ahora.
Para no perder el tiempo, la segunda edición de C # en profundidad ahora está en edición de copia. Quiero poder ver qué hizo el editor de copias con mucha facilidad, para poder rechazar o aceptar sus cambios.
Estamos utilizando una forma modificada de docbook, pero estoy muy contento de ver la fuente XML sin procesar. Todo bien hasta ahora, excepto que cuando el editor de copia hace un cambio, eso puede cambiar el ajuste de línea. Entonces algo que solía leer:
<para>Foo bar baz
second line</para>
ahora lee
<para>Foo bar grontle
baz second line</para>
Ahora el verdadero cambio aquí es la inserción de "grontle". No me importa que "baz" se haya movido de la primera línea a la segunda línea, pero todas las herramientas de diferencias que he visto funcionan.
Me doy cuenta de que una opción sería volver a formatear todo el documento (o posiblemente solo párrafos enteros) en líneas simples ... pero eso es realmente difícil de leer, porque las herramientas diff no se ajustan cuando se muestran.
Estoy seguro de que puedo administrar con las herramientas que tengo, pero si alguien sabe algo mejor, me alegraría saberlo. Sospecho que mis editores también lo harían.
(He incluido la etiqueta de Windows aquí porque realmente necesito que esté disponible en Windows. Me gustaría saber sobre cualquier software que no sea de Windows también, pero solo en caso de que pueda ayudar a construirlo en Windows.
fuente
Mi solución es sin comparación . (una herramienta mucho más poderosa)
Entonces comenzamos viendo el problema.
BC tiene una función especial de análisis XML: (ya tiene una función XML, pero no con análisis previo, que está ordenado y ordenado )
así que vamos a http://www.scootersoftware.com/download.php?zz=kb_moreformats_alt
y ahora -
espero que lo use en profundidad para la próxima edición de C #
PD: si el texto en las imágenes es demasiado pequeño, simplemente haga clic en la imagen para cargar las originales.
fuente
Soy el autor de una herramienta XML diff (software comercial) que debería hacer el trabajo (y algunas características más). Hay una versión de prueba (que se limita a archivos Xml de 100 KB como máximo) para descargar aquí:
http://xmldifftool.com/download_en.html
Una breve introducción también está disponible aquí:
http://xmldifftool.com/xtcmanual_en.html
fuente
Tuve este mismo problema en una empresa no hace mucho tiempo. Querían encontrar una verdadera "diferencia XML", y no parece haber ninguna solución completa por ahí.
La solución más fácil es ejecutar una secuencia de comandos de impresión bonita en el XML primero para normalizar los finales de línea y el espaciado, y luego ejecutar la herramienta diff de elección ( WinMerge es bueno para Windows). Esto elimina gran parte de los restos que la mayoría de los difftools te arrojarán desde XML, y es realmente fácil crear un script.
fuente
SD Smart Differencer compara documentos en función de la estructura en comparación con el diseño real.
Hay un XML Smart Differencer. Para XML, eso significa hacer coincidir el orden de las etiquetas y el contenido. Debe tener en cuenta que la cadena de texto en el fragmento específico que indicó fue diferente. (Actualmente no comprende la noción XML de texto en el que el espacio en blanco está normalizado frente a significativo, pero sospecho que eso no le hará mucho daño).
fuente
@ Jon Skeet: Usted mencionó en su pregunta que las herramientas diff no se ajustan cuando se muestran.
vimdiff
(también disponible en Windows víagvim
) le permite ajustar los archivos xml mostrados con:window set wrap
. Enlace de referencia .También puede ejecutar
:diffupdate
para actualizar las diferencias.fuente