Quiero ser capaz de hacer una combinación de 3 vías de documentos XHTML:3 vías algoritmo de combinación de XML
- Empezar con alguna copia original del documento
- Un usuario edita una copia del original documento
- Otro usuario edita una copia por separado del documento original
- Necesita una herramienta para combinar (automática y/o visualmente) los cambios realizados por los dos usuarios.
Nota:
- quiero incluir esta funcionalidad en el software comercial: así que prefiero algo que está libre de as-en-cerveza y/o de código abierto, en lugar de una herramienta comercial.
- Sospecho que es mejor si la herramienta es XML-conscientes, que tratar de utilizar software como
diff3
que implementa combinación de 3 vías de texto plano - Dado que los tres documentos de entrada son documentos XHTML, el documento de salida resultante debe validar también
herramientas que he encontrado son:
- The "3DM" XML 3-way Merging and Differencing Tool
- Fuego Core XML Diff and Patch Tool
- XMLDiff (últimamente desde el sitio GotDotNet que ha sido cerrado, pero tal vez está viviendo en como un componente de XML Notepad)
El primero de los anteriores (es decir, "3DM") dice explícitamente que implementa fusiones de 3 vías.
No sé sobre los otros dos: si "diff" seguido de "parche" es equivalente a una combinación de 3 vías, o si "parche" solo puede volver a aplicar el diff al archivo original (y no a una tercera copia alterada del archivo)
¿Puede recomendar algún software (de la lista anterior, u otro) para este fin, y/o una descripción de un algoritmo de combinación?
Editar: Matching, diffing and merging XML es otro artículo de 2008, que incluye un breve estudio de varios algoritmos y referencias a varias implementaciones.
Edición # 2: El autor confirmó que el Fuego Core XML Dif y la herramienta Parche sólo pueden Patche el archivo original, y no implementa 3 vías fusión.
Gracias: introducen su combinación tripartita para XML en http://www.deltaxml.com/dxml/products/sync/index.html – ChrisW