XML Difference Check Utility


Compare two workspaces to see the structural differences between the configurations as well as value differences in like elements and attributes. Differences can optionally be merged into the starting (base) workspace. A menu option, File>Compare To..., is enabled whenever a workspace window is in front. Selecting the menu option opens a library browser containing comparable files - files of the same type as the base workspace. When a file is selected and the browser committed a Compare Structures window opens.


The upper pane of the Compare Structures window contains the base workspace tree structure on the left, control buttons in the center, and a list of structures from the comparable file on the right. In the lower pane are two text panes that display the .dsx XML from each file. The scroll bar on the far right controls both text panes and adjustments are made while scrolling to keep the two document structures aligned as much as possible. Select any tree node in the base workspace tree and the list displays all of the structures of the same type from the comparable workspace. Each list item displays the tree path of the comparable item and the value of its name attribute in parenthesis if a name is defined. Select a list item to execute the diff function.


There are two types of differences: structural differences and value differences. Both are highlighted with an outline around the element, background shading, and a line connecting corresponding differences in the two documents. In an element structural difference the element and its contents have a background shade. Since the element only exists in one document a line indicates where that element would have appeared in the other document. In an attribute structural difference the attribute and its value have a background shade. In a value difference only the element or attribute value has a background shade and it is displayed with bold red text.


You can use the next  and previous  control buttons to select and navigate from one difference to the next. When a difference is selected the outline, connector, and text become green. You can also select a difference by clicking on any text that has background shading. When a difference is selected the merge button  is enabled. Differences can only be merged from right to left - only the base workspace can be changed - and as differences are merged the changes are not only made in this window, they are also made in the base workspace itself as the two windows share the same data model. The only "undo" is to close the base workspace so it's always a good idea to save before beginning the comparison. As differences are merged into the base workspace the highlighting, shading, etc. for that difference disappear.


Suggested uses:


Version comparisons - compare very similar files to see the changes from one version to another

Profile comparisons - compare a file with itself to compare profile instances

Functional comparisons - compare subscriber databases of workspaces with two different applications to see what is needed to bring in a new application (e.g., compare a PCRF Gx database with a PCRF Rx database)