Laden...

Diff zweier xml Dokumente

Erstellt von ltrader vor 14 Jahren Letzter Beitrag vor 14 Jahren 865 Views
L
ltrader Themenstarter:in
60 Beiträge seit 2008
vor 14 Jahren
Diff zweier xml Dokumente

Hallo,

In einer Anwendung werden bei deren Ausführung Teile des GUI Status mit der Intention in ein XML Dokument persistiert, zu einem späteren auf die gleiche Weise bei gleichem Anwendungs Flow erneut ein XML Dokument zu erstellen.

Das Ziel ist es, auf diese Weise durch ein Diff der beiden XML Files festzustellen, ob sich zwischentzeitlich Fehler in der Anwendung eingeschlichen haben.

Ein einfaches Diff mit einem Tool wie Windiff zu erstellen ist nicht schwer. Spätestens wenn aber (gewollte) Änderungen an der Anwendung zu einer Differenz führen hat man mit diesem Vorgehen ein Problem.

XmlDiff beispielsweise ist in der Lage Teile wie Präfixe oder Namespaces vom Vergleich auszunehmen.

Mein Dilemma ist allerdings dass meine Anforderung darüber hinaus geht:
Ideal wäre es einzelne Elemente/Attribute vom Diff Process ein-/ausschliessen zu können.

Eine Möglichkeit:
Zuerst überprüfe ich auf string gleichheit. Wenn das Ergebnis true zurück gibt: Wunderbar.
Wenn nicht könnte ich gegen ein XSD Schema validieren welches ich speziell für diesen Zweck erstellen könnte.
Das Problem dieses Ansatzes: Bei Schema Validierung habe ich soweit ich weiss keine Möglichkeit herauszufinden in wieweit die Werte der Elemente/Attribute übereinstimmen.
Das wäre allerdings nötig nach der derfolgreichen xsd validierung um herauszufinden ob meine Heuristik True oder False zurückgibt.

Hat jemand von euch eine Idee, wie man diese Problematik sinnvoll angehen könnte? Wisst ihr ob hierzu vielleicht schon Tools7APIs für diese Aufgaben zur Verfügung stehen?

Grüße und Danke für jede Idee!

Real programers do not comment their code.
It is hard to write and it should be hard to understand!

1.564 Beiträge seit 2007
vor 14 Jahren

Hast du mal von Altova XMLSpy bzw. DiffDog versucht? StylusStudio soll auch einige XML-Diff Features haben.

Blog: Things about Software Architecture, .NET development and SQL Server
Twitter
Google+

Je mehr ich weiß, desto mehr weiß ich was ich noch nicht weiß.

L
ltrader Themenstarter:in
60 Beiträge seit 2008
vor 14 Jahren

Hi Florian,
ich schau mir die tools mal an, danke dir.
Irgendwie brauche ich aber noch die richtig zündende Idee..

Viele Grüße und danke

Real programers do not comment their code.
It is hard to write and it should be hard to understand!

1.564 Beiträge seit 2007
vor 14 Jahren

Also ich würde erstmal versuchen ob die Tools die Anforderungen abdecken können. Das selber zu machen scheint mir nämlich ziemlich kompliziert was meistens einen steinigen Weg mit vielen Bugs mit sich bringt.

Wenn du's aber selbst machen willst könntest du dir zum Thema XSD Validierung noch Schematron anschauen. Damit kannst du, glaube ich, XSLT mit einbinden und auch Dateninhalte validieren. Ansonsten wirst du wohl an einem dicken Prozess mit viel XPath nicht vorbei kommen.

Blog: Things about Software Architecture, .NET development and SQL Server
Twitter
Google+

Je mehr ich weiß, desto mehr weiß ich was ich noch nicht weiß.