Voglio essere in grado di fare una fusione a 3 vie di documenti XHTML:3-way algoritmo merge XML
- Inizia con qualche copia originale del documento
- Un utente modifica un copia dell'originale documento
- Un altro utente modifica una copia separata del documento originale
- È necessario uno strumento per unire (automaticamente e/o visivamente) le modifiche apportate dai due utenti.
Nota:
- voglio includere questa funzionalità nel software commerciale: quindi preferisco qualcosa che è privo di as-a-birra e/o open source, invece di uno strumento commerciale.
- ho il sospetto è meglio se lo strumento è XML-aware, piuttosto che cercare di usare un software come
diff3
che implementa 3-way merge di testo piatto - Dato che tutti e tre i documenti di ingresso sono documenti XHTML validi, il documento di output risultante dovrebbero validare anche
Strumenti ho trovato comprendono:
- The "3DM" XML 3-way Merging and Differencing Tool
- Fuego Core XML Diff and Patch Tool
- XmlDiff (ultimamente dal sito GotDotNet che è stato chiuso, ma forse è vivere su come un componente di XML Notepad)
La prima di quanto sopra (vale a dire "3DM") dice esplicitamente che implementa le unioni a 3 vie.
Non conosco gli altri due: se "diff" seguito da "patch" equivale a un'unione a 3 vie, oppure se "patch" può solo riapplicare il diff al file originale (e non a un terzo, copia alterata del file)
Potete raccomandare qualche software (dalla lista sopra, o altrove) per questo scopo, e/o una descrizione di un algoritmo di fusione?
Edit: Matching, diffing and merging XML è un altro articolo a partire dal 2008, che comprende una breve rassegna dei vari algoritmi e riferimenti a varie implementazioni.
Edit # 2: L'autore ha confermato che il Fuoco Nucleo XML Diff e strumento di patch può solo patchata del file originale, e non implementa 3 vie fusione.
Grazie: introducono il loro unione a 3 vie per XML all'indirizzo http://www.deltaxml.com/dxml/products/sync/index.html – ChrisW