XML 比較のためのオプション

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

ホーム >  ファイルの比較 > ファイルの比較オプションの変更 >

XML 比較のためのオプション

「比較オプション」 ダイアログボックスの XML タブは、XML をベースにした比較のために使用されるオプションを表示します。

dd_dlg_xml_comparison_options

 

結果の表示

「詳細差分」 オプションにより、差分を詳細に表示することができます。または、削減された項目の差分を表示することができます (ナビゲーション をより速く行うことができます)。 詳細差分がオフに切り替えられていると、異なる連続したノードは単一のノードとして表示されています。これは、要素ノードとその子属性ノードとして、異なる階層的なレベル上の連続したノードに適用されます。マージ と差分のエクスポートするためには、詳細差分はオンに切り替えられ、有効化されている必要があります。

 

この設定は、列の型が XML であるデータベースの比較の実行中使用することはできません。

 

空白文字

次を参照してください: 空白文字のための比較オプション

 

名前空間/プレフィックス

差分を検索する際、名前空間とプレフィックスを無視するためのオプションです。

 

エンティティ

「エンティティの解決」 が選択されると、ドキュメント内のエンティティは解決されます。それ以外の場合、エンティティがそのままで比較が行われます。

 

テキスト

「テキストを無視」 が選択されると、対応するテキストノード内の差分は報告されません。XML 構造のみが比較されますが、テキストコンテキストは比較されません。これは2つ XML の構造を比較する際に役に立ち、実際のコンテンツからは無視されます。例えば、「テキストを無視」 チェックボックスが選択されていると仮定する場合、(コンテンツは異なりますが)次の2つの XML ファイルは同等です。

dd_ignore_text

 

深さ

「深さを無視」  が選択されていると、要素は深さに関係せず同等として扱われます。例えば、チェックボックス 「深さを無視」 が選択されている場合、下に表示される比較では、要素 <c> は両側で同等として扱われます。

dd_ignore_node_depth

メモ:「ノードの深さを無視」 チェックボックスが選択されていると、差分のマージとエクスポートは不可能です。

 

大文字と小文字の区別

「大文字と小文字の区別を無視」 チェックボックスがチェックされていると、大文字と小文字が区別され、ノード内の大文字と小文字を無視、または、無視するオプションが与えられます。

 

順序

「子ノードの順序を無視する」 が選択されている場合、ノードレベル内の個別のノードが一意のノード名を持つことを想定して、要素の子ノードの相対的な位置は無視されます。

 

同じ名前を持つ要素ノードが兄弟ノードの2つのセット内に存在する限り、これら2つのセットは同じと考慮されます。次のサンプル内では、「子ノードの順序を無視する」 オプションが無効化されている場合、<Name><FirstName> ノードの順序は、左側と右側のファイル内で異なることがマークされています。

file_child-order-off

「子ノードの順序を無視する」 オプションをチェックすると、比較ウィンドウ内のこの差分が無視されます。

file_child-order-on

特定のノードレベル上のノード名が一意の場合のみ、 DiffDog は子ノードの順序を無視することができることに注意してください。

例えば、異なる属性が与えられているノードの複数の発生が表示されると、異なる順序で表示されるノードは、「子ノードの順序を無視する」が選択されている場合でも、比較されている兄弟セット内で同じ名前と属性を持つノードと異なるものとして考えられることに注意してください。

 

サンプルの <Phone> ノードに異なる属性が追加されると、<Phone> ノードの3件の発生の順序内の差分が、が 「子ノードの順序を無視する」選択されている場合でも、比較ウィンドウ内に表示されます。

file_child-order-multiple

異なる属性が割り当てられている子ノードの発生の順序を無視する場合、これらの属性を比較の条件として追加することができます。  DiffDog には2つのオプションがあります: (i) 全ての属性を追加し、 (ii) サンプル内の <Phone> ノード内の両方の結果が等しいと表示される、特定の属性のリストを定義します。 しかしながら、 特定の属性 オプションを選択すると、属性グループ を必要に応じて最初に定義する必要があります。

file_child-order-atts

同じ属性が割り当てられている子ノードの発生が報告される場合があります (すなわち、サンプル内に1つ以上の携帯電話番号を持つ個人が存在しています)。 下のスクリーンショットでは、すべての 属性 ラジオボタンが選択されていますが、差分がレポートされています。これは  2つの携帯電話の番号がリストされていることにより確認することができます。

file_child-order-text

DiffDog 内では、比較の条件として要素テキストを追加する チェックボックスを有効化してこのシナリオに対応することができます。要素 テキスト、 属性の値、およびノード名が同一で、ノードの順序のみが異なる場合、差分は報告されません。

file_child-order-text-nodiff

順序を無視 オプションが指定されていると、マージ 機能も順序を無視します。「子ノードの順序を無視する」 の選択が解除されると、順序付けられた差分は、差分として表示されます。

 

属性の順序を無視するオプションも使用することができ、単一の要素の属性の順序に適用することができます。上のサンプルでは、「属性の順序を無視する」 オプションがチェックされており、 DiffDog は、このため、 <Person> ノードの属性の順序を無視しています。 「順序または子ノードを無視する」 チェックボックスが有効化されていると、属性の順序は常に無視されます。下のスクリーンショットでは、 「子ノードの順序を無視する」 および 「属性の順序を無視する」 チェックボックスは、無効化されます。

file_ignore-atts

 

ノードの型を無視する

比較セッション内で比較されないノードの型をチェックします。 無視される可能性のあるノード型は、 属性、 CDATA、コメント、処理命令、 DOCTYPE ステートメントと XML 宣言です。

 

特定の要素/属性のフィルターアウト

比較の都度、可能の場合は、どの要素 および/または 属性が比較の対象にならないかを設定する フィルターを定義 することができます。1つ以上のフィルターを定義することができ、全ての比較のために、特定の要素/属性 グループボックスのフィルター内のドロップダウンリストから使用するフィルターを選択することができます。

 


(C) 2019 Altova GmbH