Hunt McIlroy algorithmus

#1
Hallo,
meine Aufgabe ist es momentan via PHP xml Dateien miteinander zu vergleichen und die inhaltlichen Unterschiede zu finden.

Im Grunde like SVN (Versionierung). Am Ende sollte der Unterschied dann in einer DB auch in Form von XML gespeichert werden.

ganz rudimentäres Beispiel:

folgendes Fragment
<xml><column1>ein text</column1><column2>noch ein text<column2></xml>
wird zu
<xml><column1>Text</column1><column2 name="attribute">noch ein text<column2></xml>

Wenn diese Fragmente jetzt verglichen werden sollte folgendes Ergebnis gefiltert werden:
1. -- ein text -> ++Text
2. ++<column2 name="attribute">

Ich meine das der "Hunt-McIlroy algorithm" dafür Verwendung finden könnte, bin mir aber nicht sicher, da ich mit meinen Mathematik Skills schon an der Formel scheiter ... :rolleyes:

Ich bin mir aber sicher hier Unterstützung zu finden ... ;)
Hat jemand diesen speziellen Algo. schon verwendet, bzw. gibt es andere Verfahren das Delta der XML Dateien zu ermitteln?

...
 
Zuletzt bearbeitet:
#2
Nachtrag ...

wie gerade von mir gelesen und verstanden dient dieser Algorithmus nur der Optimierung um die gemeinsame gleiche größe zu finden. Somit wird die Prüfung verkürzt.

Problem ist aber weiterhin, wie findet man die unterschiede ...
 
#3
Hi!
Schau mal hier.

So etwas kannst du naive auch in ein paar Stunden selbst schreiben.
Du läufst einfach alle Knoten ab, links wie rechts, speicherst, werte und attribute ab, und vergleichst dann die Werte der Schlüssel.
Wird bei genesten Attributen und Recursion schon interessant aber ist möglich.
Gruß

Fluffy
 
Oben