2010-12-29 9 views
0

私はビジネスプロセスのある時点でデータを表すXML(またはオブジェクト)を持っています。私はstep1とstep5(同じXMLまたはObjectの2つのバージョン)の間で何が変わったのかを見たいと思っています。 Idは、バージョン管理システムでdiff関数のように実装するのが好きです。どのようにWebアプリケーションでそれを行うには?WebアプリケーションでDiffのようなSVN/Gitをビルドするには?

P.S.私はVCSにこれらのファイルを保存してdiffにするのではなくてはなりません。しかし、私が何とかしてVCSをエミュレートすることができれば、それはクールだということはありません。

P.S.私はdiff機能を提供するいくつかのJSフレームワークがあることを知っていますが、XMLは10MBを持つ可能性があるので、サーバー側では使用しないでください。

+0

それは、ビジネス・プロセス(トランジションなどの手順、および頂点としてノード - BPMNのように持っている)の古典グラフベースの表現だ場合は、ビジネス・プロセスは、XMLとしてシリアル化されるにもかかわらず、私は思ったんだけど。この場合、graph_1とgraph_2の2つのオブジェクトを比較し、新しい/削除された/そのままのノードと頂点を識別することを検討する必要があります。 –

+0

それは重複していません、男は2つの文字列について話します、私はここに10MBの文字列を持っています。 – IAdapter

+0

@Arturs Licisしかし、2つのオブジェクトグラフを持っていれば、複雑なdiffアルゴリズムを書く必要があります。もし私が既存の解決策を何もできないなら、Idはそうする。 – IAdapter

答えて

1

Javaで書かれたオープンソースXML Diffプロジェクトがかなりあるようです。私はそれらを見て、あらかじめフォーマットされたHTMLの結果を吐き出すためにプロジェクトに取り組むことができないかどうかを確認することをお勧めします。

http://www.manageability.org/blog/stuff/open-source-xml-diff-in-java