これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド xmldiff です。
プログラム:
NAME
xmldiff - XML ドキュメント間のツリー 2 ツリー修正
SYNOPSIS
xmldiff [ オプション ] オリジナルファイル modify_file
xmldiff [ オプション ] -r オリジナルディレクトリ 変更されたディレクトリ
DESCRIPTION
xmldiff XNUMX つの XML ファイル間の相違点を抽出するユーティリティです。 セットを返します
宛先ツリーを取得するためにソース ツリーに適用するプリミティブの数。
実装は以下に基づいています 変更する 検出 in 階層的に 構造化された 情報、
S. Chawathe、A. Rajaraman、H. Garcia-Molina、J. Widom著、スタンフォード大学、1996
OPTIONS
-h、-help
このヘルプメッセージを表示して終了します。
-V、-version
バージョン番号を表示して終了する
-H、--html
入力ファイルは XML ではなく HTML です
-r、-recursive
ディレクトリを比較する場合、任意のディレクトリを再帰的に比較します。
サブディレクトリが見つかりました。
-x、--xupdate
Xupdate XML仕様に従って出力を表示します
(参照してください http://www.xmldb.org/xupdate/xupdate-wd.html#N19b1de)。
-e 、 --encoding=
出力に使用するエンコーディングを指定します。 デフォルトはUTF-8です
-n、--not-normalize-spaces
テキストおよびコメントノード内のスペースと改行は正規化しないでください。
-c、--コメントを除外
コメントノードを処理しません
-g、--ext-ges
すべての外部の一般 (テキスト) エンティティが含まれます。
-p、--ext-pes
外部 DTD を含むすべての外部パラメータ エンティティを含めます。
サブセット。
--プロフィール=
実行プロファイルを表示します (このオプションを使用すると実行速度が遅くなります)、
プロファイルをファイル (バイナリ形式) に保存します。
EXIT ステータス
0 は差異が見つからなかったことを意味します。
正の数は、いくつかの違いが見つかったことを意味します。
負の数はエラーが発生したことを意味します。
KNOWN 問題
xmldiff アルゴリズムの複雑さが(高すぎる)アルゴリズムを使用しているため、
大規模な XML ドキュメントの処理には適していません。 ドキュメントに約 100 を超えるノードがある場合、
おそらく代替ソリューションを探す必要があります。
Logilab では、この問題に対するあらゆる提案を歓迎します。 ご存知の場合はお知らせください。
この問題を解決するためのより単純なアルゴリズム。
必要
Python、pyxml
onworks.net サービスを使用してオンラインで xmldiff を使用する