diff

www.altova.com このトピックを印刷 前のページ 1つ上のレベル 次のページ

ホーム >  DiffDog クライアントコマンドライン >

diff

diff コマンドは2つの ファイル、ディレクトリ、または、URL の比較を横に並べて行います。比較されるエンティティは異なる型であることができます (例えば、http://server/file.txt などの URL を、 C:\file.txt などのと比較することができますファイルパス)。ファイルを URL と比較することも有効であることに注意してください。ファイルとディレクトリは比較することはできません (または URL とディレクトリは比較することはできません)。

 

Microsoft Word 2003 または以降のドキュメント (.docx, .dotx) の比較もサポートされています。 Word ドキュメントの比較を参照してください。

 

最も頻繁には、比較は左側と右側の比較ですが、ファイル、または、(ディレクトリではなく) URL を比較する際、 3方向比較を使用することができます。 DiffDog クライアントが作動するマシン、または、DiffDog Server が作動するファイルまたはディレクトリを比較することができます。組み合わされたアプローチ (ローカルのファイルまたはディレクトリの比較 ) を使用することもできます。

 

構文

DiffDogCmdlClient diff [options] {path path [path]}

 

Linux 上で、実行可能ファイルを呼び出すために全て小文字を使用します。更に、コマンドシェルの現在のディレクトリから呼び出す場合、Linux と macOS 上で、実行可能ファイルのディレクトリ内で、実行可能ファイルの前にプレフィックス 「./」 を追加する必要がある場合があります。

 

compare エイリアスを使用してこのコマンドを呼び出すことができます。 comparediff 互いに入れ替えて使用することができます。

 

引数

path

path は書式 http://server/segment のファイル、ディレクトリパス、または、 URL パスであることができます。

 

パスを引数として提供することは diff コマンドに入力パスをパスするひとつの方法です。パスの提供の2番目の方法は設定オプション --client-left--client-right、または、--server-left--server-right を使用する方法です。DiffDog クライアントが DiffDog Server と同じマシン上で作動しない場合、2番目のアプローチを使用します。

 

すなわち、オプション --client-left--client-right、または、--server-left--server-right の場合パスを引数として指定してはなりません。 それ以外の場合、 2つの パスが正確に引数として提供される必要があります (3方向比較を行うには、 3つのパスは引数として指定することができます。)

 

オプション

diff コマンドに適用することのできるオプションは以下にリストされるとおりです。

 

クライアントの構成ファイル内のほぼ全てのオプションのためにデフォルトを指定することができます。 クライアントの構成ファイルを使用する場合、次の点を考慮してください:

 

コマンドラインでオプションが設定されており、 クライアントの構成ファイルでコメントアウトされている場合、 コマンドライン オプションが適用されます。
コマンドラインとクライアントの構成ファイルでオプションが設定されている場合、 コマンドライン オプションが適用されます。
コマンドラインでオプションが設定されていない場合、構成ファイル内で設定(アンコメント) されている場合、 構成ファイル オプションが適用されます。
コマンドライン、または、構成ファイル内で設定されていない場合、 コマンドラインヘルプと下のドキュメント内で説明されているデフォルトの値を取ります。

 

 

--alias, --a

サーバーの管理者がセキュリティ上の理由のためにサーバーパスへのアクセスを制限した場合、サーバーファイルパスを直接参照する比較を実行することはできなくなります。 サーバーパスへのアクセスの制限 を参照してください。代わりに、 --alias オプションを使用してエイリアスの名前を制限する必要があります。

 

比較にサーバーパスが含まれている場合、このオプションは意味を成します (すなわち、 オプション --server-left または --server-right が設定されている場合)。 このオプションのための有効な値はサーバー構成ファイルで定義されているとおりエイリアスです。 使用することのできるエイリアスのリストを出力するには、 aliases コマンドを実行します。 詳細に関しては、サーバーパスへのアクセスの制限を参照してください。

 

--config, --c

このオプションは、クライアントの構成ファイルへのパスを指定します。 詳細に関しては、次を参照してください: クライアントの構成ファイル

 

--c オプションを設定しない場合、DiffDog コマンドラインクライアント実行可能ファイルは、クライアントの構成ファイルを同じディレクトリから読み取ろうとします。実行可能ファイルと同じディレクトリに構成ファイルが存在しない場合、コマンドラインヘルプとこのドキュメント内で説明されているデフォルトの値が適用されます。

 

--client-left, --cl

このオプションは、比較の左側を指定します (ローカルのファイル、または、ディレクトリへのパスである必要があります)。

 

--client-middle, --cm

このオプションは、3方向比較に適用することができます。ローカルのパスを(「共通の祖先」と知られる)「中央」に設定します。

 

--client-right, --cr

このオプションは、 比較の右側を指定します (ローカルのファイル、または、ディレクトリへのパスである必要があります)。

 

--dir-compare-contents, --dc

このオプションは、(ファイルサイズと変更日時など)個別に設定される他のオプションに加え、ディレクトリの比較がファイルコンテンツを比較するか指定します。比較する際にファイルコンテンツを無視するには、この値を false に設定します (これによりより比較は速くなりますが、比較の精度は低くなります)。デフォルトではこのオプションは、false です。

 

--directory-filter, --df

このオプションは、 ディレクトリの比較に適用することができます。 ディレクトリのフィルター により特定のファイル、または、サブディレクトリを比較からの定義する条件により含む、または、除外することができます。 このオプションの有効な値は、[dir.filter] グループ内の クライアントの構成ファイル内で定義されているディレクトリのフィルターです。例えば、 構成ファイルがフィルター [dir.filter:svn] を定義する場合、コマンドラインでフィルターを設定するために次の構文を使用します:

 

--directory-filter=svn

 

Windows 上で、DiffDog がDiffDog Server と同じマシンにインストールされている場合、DiffDog (ビルトイン、または、カスタムの) 内で既存のディレクトリフィルターをオプションの値として指定することができます。例えば、ビルトインのフィルター 「SVN ディレクトリ無し」 をコマンドラインで設定するには、次の構文を使用します:

 

--directory-filter="No SVN directories"

 

DiffDog 内でディレクトリのフィルターを確認、または、作成する方法:

 

1.「ツール」メニューから「DiffDog オプション」をクリックします。
2.ディレクトリの比較 タブをクリックします。

 

DiffDog を使用したディレクトリのフィルターの作成に関しての詳細は、DiffDog ドキュメントを参照してください (https://www.altova.com/ja/documentation)。

 

フィルターが見つからない場合、エラーが発生し、比較は実行されません。

 

--di, --dir-compare-mod-times-ignore-seconds

このオプションは、 ディレクトリの比較に適用することができます。変更日時を比較する際、ディレクトリの比較が一定の秒数 (+/-) を無視するか指定します。  デフォルトは、 0 に設定されています。これは比較が変更日時の差分を無視しないことを意味します。

 

--dic, --dir-ignore-case

このオプションは、ディレクトリの比較に適用することができます。 デフォルトでは、 この値は true です。これは比較がファイル、または、ディレクトリ名内で大文字と小文字を区別しないことを意味します。 例えば、(コンテンツが同じことを前提とし )ディレクトリ 「SomeDir」 は 「somedir」に等しく、または、ファイル 「somefile.txt」 は 「SomeFile.txt」 に等しいことを意味します。

 

比較の際にファイル、または、ディレクトリ名を考慮するには、オプションを false に設定します。

 

--dir-compare-sizes, --ds

このオプションは、 ディレクトリの比較に適用することができます。 true に設定されると、ディレクトリの比較がファイルをサイズ別に比較するかを指定します。 それ以外の場合、比較の条件は無視されます。 デフォルトではこのオプションは、false です。

 

--dir-compare-mod-times, --dt

このオプションは、 ディレクトリの比較に適用することができます。 true に設定されると、ディレクトリの比較がファイルを変更日時別に比較するかを指定します。 それ以外の場合、比較の条件は無視されます。 デフォルトではこのオプションは、false です。

 

--doc-format-bold, --dfb

このオプションは Word ドキュメントの比較のために適用することができます。. 有効な値:

 

true

比較中に太字の書式を考慮します。

false

(デフォルト) 太字の書式を無視します。

 

--doc-format-font-color, --dfc

このオプションは Word ドキュメントの比較のために適用することができます。有効な値:

 

true

比較中にフォントの色を考慮します。

false

(デフォルト) フォントの色を無視します。

 

--doc-format-font-name, --dff

このオプションは Word ドキュメントの比較のために適用することができます。. 有効な値:

 

true

比較中にフォント名を考慮します。

false

(デフォルト) フォントの名前を無視します。

 

--doc-format-font-size, --dfs

このオプションは Word ドキュメントの比較のために適用することができます。. 有効な値:

 

true

比較中にフォントサイズを考慮します。

false

(デフォルト) フォントのサイズ名前を無視します。

 

--doc-format-italic, --dfi

このオプションは Word ドキュメントの比較のために適用することができます。. 有効な値:

 

true

比較中に斜体の書式を考慮します。

false

(デフォルト) 斜体の書式を無視します。

 

--doc-format-underline, --dfu

このオプションは Word ドキュメントの比較のために適用することができます。有効な値:

 

true

比較中に下線の書式を考慮します。

false

(デフォルト) 下線の書式を無視します。

 

--doc-ignore-blank-lines, --dib

Word ドキュメント、または、 Word ドキュメントを含むディレクトリを比較する際、このオプションを適用することができます。 ディレクトリの比較の場合、 オプションはそのディレクトリ内の Word ドキュメントのみに適用されます。 有効な値:

 

true

比較中に空行を考慮します。

false

(デフォルト) 空行を無視します。

 

--doc-ignore-case, --doc

Word ドキュメント、または、 Word ドキュメントを含むディレクトリを比較する際、このオプションを適用することができます。 ディレクトリの比較の場合、 オプションはそのディレクトリ内の Word ドキュメントのみに適用されます。 有効な値:

 

true

比較中に大文字と小文字の区別を考慮します。

false

(デフォルト) 大文字と小文字を区別しません。

 

--doc-mode, --dm

このオプションは Word ドキュメントの比較のために適用することができます。. 有効な値:

 

sentence

(デフォルト) 文章レベルで比較を実行します。

paragraph

段落レベルで比較を実行します。

 

--doc-whitespacemode, --dws

Word ドキュメント、または、 Word ドキュメントを含むディレクトリを比較する際、このオプションを適用することができます。 ディレクトリの比較の場合、 オプションはそのディレクトリ内の Word ドキュメントのみに適用されます。

 

このオプションは、テキストと XML ファイルを比較する際に適用することができます。比較のために空白文字がどのように扱われるかを定義します。 空白文字 は次のうちの1つであることができます: スペース、タブ、改行。このオプションを指定しない場合、空白文字は常に比較の対称として考慮されます。 それ以外の場合、次の値を設定してください:

 

normalize

正規化後のテキスト A はテキスト B と同等です。テキスト A 内の文字はテキスト B 内の文字と対応すると考えられます。「正規化」は複数の空白文字の連続した発生が単一のスペース文字と置き換えられることを意味します。

strip

空白文字の除外後、テキスト A はテキスト B と同等と考慮されます。テキスト A 内の文字はテキスト B 内の文字と対応すると考えられます。すなわち、テキストから空白文字が除外され、比較の対象とは考慮されません。

 

--ignore-blank-lines, --ib

このオプションは比較内で空行を無視するように指定します。 有効な値は truefalse です。デフォルトでは、値は false です。

 

現在の --mode オプションによりこのオプションは適用されます。--mode=text の場合、テキストファイルに適用され、 --text-ignore-blank-lines オプションと同様になります。--mode=xml の場合、比較には影響を与えません。--mode=doc の場合、 Word ドキュメントに適用され、 --doc-ignore-blank-lines オプションと同様になります。 ディレクトリの比較を行う場合、ディレクトリ内で発生する可能性のある比較のそれぞれの型に適用されます。

 

--ignore-case, --ic

このオプションはファイルとディレクトリの比較のために適用することができます。現在の --mode オプションによりこのオプションは適用されます。--mode=text の場合、テキストファイルに適用され、 --text-ignore-case オプションと同様になります。--mode=xml の場合、XML ファイルに適用され、 --xml-ignore-case-in-names--xml-ingore-case-in-text オプションと同様になります。 --mode=doc  の場合、Word ドキュメントに適用され、 --doc-ignore-case オプションと同様になります。 ディレクトリの比較を行う場合、ディレクトリ内で発生する可能性のある比較のそれぞれの型に適用されます。 有効な値:

 

true

大文字と小文字を区別する比較を実行します (例えば、 "A" と "a" は等価として扱われます)。

false

(デフォルト) 大文字と小文字を区別する比較を実行します (例えば、"A" と "a" は等価として扱われません)。

 

--mode, --m

このオプションは、実行される比較の型を指定します。有効な値:

 

auto

(デフォルト) 提供された引数がファイル、または、ディレクトリであるかアプリケーションが決定し、比較モードを自動的にファイル拡張子で決定します。例えば、ファイルが XML であると検知された場合、 XML 比較が実行されます。 特定のファイル拡張子と比較モード間のデフォルトのマッピングを確認し変更することができます。クライアント構成ファイルを参照してください。

binary

ファイルをバイナリとして扱います。

doc

ファイルを Microsoft Word ドキュメントとして扱います。

text

ファイルをテキストとして扱います。

xml

ファイルを XML として扱います。

 

--output-file, --o

このオプションは、 サーバーマシン上のテキストファイルにコマンドの出力を書き込めるようにします。 値はサーバーマシン上の有効なファイルパスを指定する必要があります。--om オプションを使用して、出力ファイルの書式を設定します。

--output-mode, --om

このオプションにより、比較出力が作成される書式 (テキスト、または、 XML) を指定することができます。有効な値:

 

auto

(デフォルト) アプリケーションが決定します。

text

出力ファイルをテキストとして書き込みます。

 

メモ:XML ファイルを比較する際にオプション --output-mode=text がサポートされません。 XML ファイルを比較する際に、 --output-modetext に設定すると、通常の出力内では差分がレポートされません。 --output-file オプションを追加して設定すると、ゼロサイズの出力ファイルが作成されます。

xml

XML として出力ファイルを書き込みます。

 

--port

このオプションは、DiffDog Server がリクエストをリッスンするポートを指定します。DiffDog Server が デフォルト 29800 以外のポートで作動する場合、このオプションの設定は役にたちます。コマンドラインでのこのオプションの設定の代替として、クライアントの構成ファイル内で設定することができます。 この値をコマンドラインで設定すると構成ファイル内で定義済みの値よりも優先されます。

 

--quiet, --q

コマンドラインで標準の出力が表示されることを回避します。有効な値:

 

true

ターミナルウィンドウ内で標準の出力を表示しない。

false

(デフォルト) ターミナルウィンドウ内で標準の出力を表示する。

 

--server-output-file, --s

このオプションは、 サーバーマシン上のテキストファイルにコマンドの出力を書き込めるようにします。 値はサーバーマシン上の有効なファイルパスを指定する必要があります。--om オプションを使用して、出力ファイルの書式を設定します。

 

--server

このオプションは、DiffDog Server がリクエストをリッスンするサーバーアドレスを指定します。 DiffDog Server がデフォルト localhost 以外ので作動する場合、このオプションの設定は意味を成します。コマンドラインでのこのオプションの設定の代替として、クライアントの構成ファイル内で設定することができます。 この値をコマンドラインで設定すると、 構成ファイル内で定義されたものよりも優先順位が与えられます。

 

--server-left, --sl

このオプションにより、 比較に遠隔のパスを追加することができます。 比較の左側を指定します (サーバーにアクセス可能なファイル、または、ディレクトリへのパス)。

 

--server-middle, --sm

このオプションにより、 比較に遠隔のパスを追加することができます。 比較の中央を指定します (3方向比較に適用することができます)。値は、サーバーにアクセス可能なファイル、または、ディレクトリへのパスである必要があります。

 

--server-right, --sr

このオプションにより、 比較に遠隔のパスを追加することができます。 比較の右側を指定します (サーバーにアクセス可能なファイル、または、ディレクトリへのパス)。

 

--text-ignore-case, --tic

このオプションはテキストドキュメントまたはテキストドキュメントを含むディレクトリの比較のために適用することができます。 ディレクトリの比較の場合、オプションはそのディレクトリ内の テキスト ファイルのみに適用されます。 有効な値:

 

true

大文字と小文字を区別する比較を実行します (例えば、 "A" と "a" は等価として扱われます)。

false

(デフォルト) 大文字と小文字を区別する比較を実行します (例えば、"A" と "a" は等価として扱われません)。

 

--text-ignore-blank-lines, --tib

このオプションはテキストドキュメントまたはテキストドキュメントを含むディレクトリの比較のために適用することができます。 ディレクトリの比較の場合、オプションはそのディレクトリ内の テキスト ファイルのみに適用されます。 テキストファイルを比較する際、空行が比較内で無視さえるかを指定します。有効な値は truefalse です。デフォルトでは、値は false です。

 

--text-whitespace-mode, --tws

このオプションはテキストドキュメントまたはテキストドキュメントを含むディレクトリの比較のために適用することができます。 ディレクトリの比較の場合、オプションはそのディレクトリ内の テキスト ファイルのみに適用されます。

 

このオプションは、テキストと XML ファイルを比較する際に適用することができます。比較のために空白文字がどのように扱われるかを定義します。 空白文字 は次のうちの1つであることができます: スペース、タブ、改行。このオプションを指定しない場合、空白文字は常に比較の対称として考慮されます。 それ以外の場合、次の値を設定してください:

 

normalize

正規化後のテキスト A はテキスト B と同等です。テキスト A 内の文字はテキスト B 内の文字と対応すると考えられます。「正規化」は複数の空白文字の連続した発生が単一のスペース文字と置き換えられることを意味します。

strip

空白文字の除外後、テキスト A はテキスト B と同等と考慮されます。テキスト A 内の文字はテキスト B 内の文字と対応すると考えられます。すなわち、テキストから空白文字が除外され、比較の対象とは考慮されません。

 

--whitespace-mode, --ws

このオプションはファイルとディレクトリ比較に適用することができます。 現在の--mode オプションによりこのオプションは適用されます。--mode=text の場合、テキストファイルに適用され、 --text-whitespace-mode オプションと同様になります。--mode=xml の場合、 XML ファイルに適用されます。 --mode=doc の場合、Word ドキュメントに適用され、--doc-whitespace-mode オプションと同様になります。 ディレクトリの比較を行う場合、ディレクトリの比較を行う場合、ディレクトリ内で発生する可能性のある比較のそれぞれの型に適用されます。

 

このオプションは、テキストと XML ファイルを比較する際に適用することができます。比較のために空白文字がどのように扱われるかを定義します。 空白文字 は次のうちの1つであることができます: スペース、タブ、改行。このオプションを指定しない場合、空白文字は常に比較の対称として考慮されます。 それ以外の場合、次の値を設定してください:

 

normalize

正規化後のテキスト A はテキスト B と同等です。テキスト A 内の文字はテキスト B 内の文字と対応すると考えられます。「正規化」は複数の空白文字の連続した発生が単一のスペース文字と置き換えられることを意味します。

 

比較されたファイルが XML の場合、 属性の値内で先頭または末尾のスペース文字が削除されます。

strip

空白文字の除外後、テキスト A はテキスト B と同等と考慮されます。テキスト A 内の文字はテキスト B 内の文字と対応すると考えられます。すなわち、テキストから空白文字が除外され、比較の対象とは考慮されません。

 

比較されたファイルが XML の場合、属性、または、要素外の空白文字は、値は比較のために無視されます。

 

--xml-filter, --xf

このオプションを XML 比較に適用することができます。 XML フィルターには、比較のために特定の XML 属性と要素を無視するルールが含まれています。このオプションのための有効な値は、 [xml.filter] グループ内のクライアントの構成ファイル内で定義された XML フィルターです。例えば、 構成ファイルがフィルター [xml.filter:ignore-abc-elems] を定義する場合、コマンドラインでフィルターを設定するために次の構文を使用します:

 

--xml-filter=ignore-abc-elems

 

Windows 上で、DiffDog がDiffDog Server と同じマシンにインストールされている場合、DiffDog を使用して作成された XML フィルターをオプションの値として指定することができます。DiffDog 内で XML フィルターを確認、または、定義するには、次の手順に従います:

 

1.「ツール」 メニューから「比較 オプション」をクリックします。
2.XML タブをクリックします。
3.オプション 「特定の要素/属性をフィルターアウト」をロケートして、省略記号 dds_ic_ellipsis ボタンをクリックしてください。

 

DiffDog を使用して XML フィルターを作成するには、DiffDog ドキュメントを参照してください (https://www.altova.com/ja/documentation)。

 

フィルターが見つからない場合、エラーが発生し、比較は実行されません。

 

--xml-ignore-case-in-names, --xicin

このオプションは、 XML ファイルを比較する際に適用することができます。 ディレクトリの比較の場合、 コマンドはそのディレクトリ内の  XML ファイルのみに適用されます。

 

true に設定されると、 XML 識別子名の大文字と小文字を区別した比較 が実行されます。例えば、次の XML ファイルを比較すると仮定します:

 

<book ID="1"/>

<book id="1"/>

 

上のリスト内で、 属性 ID は左側のファイルでは大文字で、 右側のファイルでは子文字です。--xml-ignore-case-in-names=true の場合、大文字と小文字は無視され、 上記のファイルは同等と扱われます。 デフォルトではこのオプションは、false です。 これは、上記のようなファイルは同等ではないことを意味します。

 

--xml-ignore-case-in-text, --xicit

このオプションは、 XML ファイルを比較する際に適用することができます。 ディレクトリの比較の場合、 コマンドはそのディレクトリ内の  XML ファイルのみに適用されます。

 

true に設定されると、マークアップテキストの大文字と小文字を区別した比較が実行されます。 例えば、次の XML ファイルを比較すると仮定します:

 

<book hardcover="yes">
  <genre>fiction</genre>
</book>

<book hardcover="Yes">
  <genre>Fiction</genre>
</book>

 

上のリスト内で、属性 hardcover の値は、左側のファイルでは小文字で、 右側のファイルでは大文字です。genre 要素の値も同様です。 これらの2つのファイルを同等として扱うには、--xml-ignore-case-in-text=true に設定します。デフォルトではこのオプションは、false です。 これは、上記のようなファイルは同等ではないことを意味します。

 

--xml-ignore-markup-attributes, --xima

このオプションは、 XML ファイルを比較する際に適用することができます。有効な値:

 

true

比較時に、XML 属性を無視します

false

比較時に、(デフォルト) XML 属性を考慮します

 

--xml-ignore-markup-comments, --ximc

このオプションは、 XML ファイルを比較する際に適用することができます。有効な値:

 

true

比較時に、XML コメントを無視します

false

比較時に、(デフォルト) XML コメントを考慮します

 

--xml-ignore-markup-cdata, --ximcd

このオプションは、 XML ファイルを比較する際に適用することができます。有効な値:

 

true

比較時に、XML 文字データ (CDATA) を無視します

false

比較時に、(デフォルト) XML CDATA を考慮します

 

--xml-ignore-markup-doctype, --ximd

このオプションは、 XML ファイルを比較する際に適用することができます。有効な値:

 

true

比較時に、XML DOCTYPE 宣言を無視します

false

比較時に、(デフォルト) XML DOCTYPE 宣言を考慮します

 

--xml-ignore-markup-processing-instructions, --ximpi

このオプションは、 XML ファイルを比較する際に適用することができます。有効な値:

 

true

比較時に、Ignore XML 処理命令を無視します

false

比較時に、(デフォルト) Take XML 処理命令を考慮します

 

--xml-ignore-markup-xml, --ximx

このオプションは、 XML ファイルを比較する際に適用することができます。有効な値:

 

true

比較時に、XML 宣言を無視します

false

比較時に、(デフォルト) XML 宣言を考慮します

 

--xml-ignore-namespace, --xins

このオプションは、 XML ファイルを比較する際に適用することができます。 true に設定されると、XML 名前空間は無視されます。デフォルトでは、 このオプションは false です。

 

--xml-ignore-prefixes, --xip

XML ファイルを比較する際にこのオプションを適用することができます。true に設定されると、 XML プレフィックスは無視されます。例えば、 下記の XML ファイルを比較すると仮定します。 両方のファイルにはプレフィックスの異なる同等の要素が含まれています。

 

<left:table>
  <left:tr>
    <left:td>Name</left:td>
  </left:tr>
</left:table>

<right:table>
  <right:tr>
    <right:td>Name</right:td>
  </right:tr>
</right:table>

 

デフォルトでは、--xml-ignore-prefixes このオプションは false です。ファイルは同等と扱われないことを意味します。 オプション --xml-ignore-prefixestrue に設定されている場合、プレフィックスは無視され、ファイルは同等として扱われます。

 

--xml-ignore-text, --xit

このオプションは、 XML ファイルを比較する際に適用することができます。 true に設定されると XML ノードのテキストコンテンツは比較のために無視されます。 実際のノードコンテンツを無視し、 2つの XML ファイルのみの構造を比較する場合、役にたちます。デフォルトではこのオプションは、false です。

 

--xml-order-by-attributes, --xoba

このオプションは、 XML ファイルを比較する際に適用することができます。比較の前に全ての XML 属性が並べ替えられるようにする場合、このオプションを true に設定します。例えば、次の2つの XML ファイルを比較すると仮定します:

 

<book author="Franz Kafka" title="The Metamorphosis"/>

<book title="The Metamorphosis" author="Franz Kafka"/>

 

上のリスト内では、属性は同じですが、両方のファイル内で属性の順序は異なります。オプション --xml-order-by-attributestrue に設定すると、アプリケーションは、比較の前に属性の順序を並べ替え、この結果、ファイルは同等とレポートされます。デフォルトの値は false です。属性の順序が同じではない場合ファイルは同等ではないことを意味します。

 

--xml-order-by-elements, --xobe

このオプションは、 XML ファイルを比較する際に適用することができます。比較の前に全ての XML 要素を並べ替える場合、このオプションを true に設定します。例えば、 次の2つの XML ファイルを比較すると仮定します:

 

<book>
  <author>Franz Kafka</author>
  <title>The Metamorphosis</title>  
</book>

<book>  
  <title>The Metamorphosis</title>
  <author>Franz Kafka</author>
</book>

 

上のリストでは、左と右のファイルは同じ要素を含んでいますが、順序のみが異なります。オプション --xml-order-by-elementstrue に設定すると、アプリケーションはすべての要素を比較の前に並べ替え、 この結果、ファイルは等価として報告されます。 デフォルトの値は false です。これは要素の順序が異なると、ファイルは異なることを意味します。

 

--xml-order-by-attribute-list, --xobl

このオプションは、 XML ファイルを比較する際に適用することができます。複数の要素が同じ名前と属性を持つ箇所のインスタンスですが、属性の値は異なります。比較前に特定の属性を並べ替えるには、 [xml.orderby:<name_of_your_list>] グループ内のクライアントの構成ファイル内で作成された名前の持つ属性のリストにこのオプションを設定します。

 

例えば、 次の2つの XML ファイルを比較すると仮定します:

 

<data>
  <phone type="work" ext="111"/>
  <phone type="work" ext="222"/>
  <phone type="work" ext="333"/>
</data>

<data>
  <phone type="work" ext="333"/>
  <phone type="work" ext="111"/>
  <phone type="work" ext="222"/>
</data>

 

上のリスト内で、 左側と右側のファイル は同等ではありませんが、 ext 属性によりすべての phone 要素の順序を並べ替える場合、ファイルは同等ではありません。 このような比較を可能にするには、 クライアントの構成ファイルを次のように変更します:

 

;; an example attributes list
[xml.orderby:mylist]
attributes = ext

 

オプション --xml-order-by-attribute-list=mylist を設定して、 diff コマンドを実行することができます。これを行うと、アプリケーションは、要素を ext 属性別に並べ替え、この結果、ファイルは同等とレポートされます。 オプション --xml-order-by-attribute-list が設定されていない場合、上記のようなファイルは同等ではないとレポートされます。

 

代替として、すべての属性により行うには、このオプションを設定する代わりにオプション --xml-order-by-attributes=true を設定します。

メモ:--xml-order-by-attribute-list オプションを設定するには、 --xml-order-by-elements=true を設定します。

 

Windows 上で、DiffDog がDiffDog Server と同じマシンにインストールされている場合、 このオプションを DiffDog 内にリストされているカスタムの属性に設定することができます。 カスタムの 属性リストを DiffDog  内で確認または作成するには以下を行います:

 

1.ツール メニューから「比較オプション」をクリックします。
2.XML タブをクリックします。
3.子ノードの順序を無視 チェックボックスを選択します。
4.特定の属性をクリックして、省略記号 dds_ic_ellipsis ボタンをクリックします。

 

DiffDog を利用して、カスタム属性のリストを作成する方法に関しては、 DiffDog ドキュメントを参照してください (https://www.altova.com/ja/documentation)。

 

--xml-order-by-text, --xobt

このオプションは、 XML ファイルを比較する際に適用することができます。複数の要素が同じ名前と属性を持つ箇所のインスタンスです。要素のテキストのみが異なります。 比較の前に内部のテキストによりこのような要素を並べ替える場合、このオプションを true に設定します。 例えば、 次のファイルを比較すると前提します:

 

<data>
  <phone type="mobile">111</phone>
  <phone type="mobile">222</phone>  
</data>

<data>
  <phone type="mobile">222</phone>
  <phone type="mobile">111</phone>
</data>

 

上のリスト内で、 左側と右側のファイル は同等ではありません。 オプション --xml-order-by-texttrue に設定すると、アプリケーションはテキスト別に要素の順序を並べ替えます。この結果ファイルは同等とレポートされます。 デフォルトの値は false です。これは、テキスト別の要素の並べ替えは発生せず、上記のファイルは同等ではないことを意味します。

 

メモ:--xml-order-by-text オプションを設定するには、--xml-order-by-elements=true を設定してください。

 

--xml-resolve-entities, --xre

このオプションは、 XML ファイルを比較する際に適用することができます。 true に設定されると、ドキュメント内の全てのエンティティは解決されます。 それ以外の場合、 ファイルはそのままのエンティティを使用して比較されます。 デフォルトではこのオプションは、false です。

 

--zip-as-dir, --zd

このオプションは、ZIP ファイルを比較する際に適用することができます。 true に設定されると ZIP ファイルはバイナリのファイルの代わりにディレクトリとして扱われます。 デフォルトではこのオプションは、false です。

 

サンプル

比較の実行を参照してください。


(C) 2019 Altova GmbH