比較外掛程式為實作本身內容檢視器提供了豐富的支援:
差異器 是階層化結構資料的差異引擎。它採用兩個或三個輸入,並對它們執行雙向或三向比較。
如果差異引擎的輸入元素實作 IStructureComparator 介面,則引擎會循環地將自己套用至輸入元素的子項。 葉節點元素必須實作 IStreamContentAccessor 介面,以便差異器可以對它們的內容執行位元組比較。
包含了一些有關差異器不錯的範例:
依預設,差異引擎會傳回比較的結果,作為 DiffNode 物件的樹狀結構。DiffNode 說明了二或三個輸入資料中的變更。結果節點的類型可藉由置換引擎的單一方法而變更。
DiffNode 的樹狀結構 可顯示在 DiffTreeViewer 之中。 DiffTreeViewer 需要樹狀結構的內部節點實作 IDiffContainer 介面,以及葉節點實作 IDiffElement 介面。
比較階層化結構資料及顯示差異的典型步驟如下:
ZipFileStructureCreator 是 IStructureCreator 介面的實作,使得可用的 ZIP 保存檔的內容為 IStructureComparator 階層式結構,可使用差異引擎(差異器)輕鬆的作比較。 這是如何使得結構化檔案可供比較外掛程式的階層式比較功能使用的良好範例。