Oxygen XML Developer
offers six different diff algorithms to choose from for file comparison:
- two XML diff algorithms: XML Fast and XML
Accurate,
- a Syntax Aware algorithm that gives very good results on all
file types known by
Oxygen XML Developer
,
- three all-purpose algorithms: line based, word based and character based.
Any of these six algorithms can be used to perform
differences on request, but
Oxygen XML Developer
offers also an automatic mode that selects the most appropriate one, based on the file
content and size.
The Files Comparison preferences
panel is opened from menu and offers the following configurable preferences:
- Default algorithm - The default algorithm
used for comparing files. The following options are available:
- Auto - Automatic selection of the diff algorithm,
based on the file content and size.
- Characters - Computes the differences at character
level.
- Words - Computes the differences at word level.
- Lines - Computes the differences at line level.
- Syntax aware - For the file types known by
Oxygen XML Developer
,
this algorithm computes the differences taking into consideration the syntax
(the specific types of tokens) of the documents.
- XML Fast - A diff algorithm well-suited for large XML
documents (tens of MB). Sacrifices accuracy in favor of speed.
- XML Accurate - XML-tuned diff algorithm. It favors
accuracy over speed.
- Algorithm strength - Controls the amount of resources
allocated to the application to perform the comparison. The algorithm stops
searching more differences when reaches the maximum allowed resources. A dialog is
shown when this limit is reached and partial results are displayed. Four settings
are available: Low, Medium (default),
High and Very High.
- Ignore Whitespaces - Enables or disables the whitespace
ignoring feature. Ignoring whitespace means that before performing the comparison,
the application normalizes the content and trims its leading and trailing
whitespaces.
- XML Diff Options - This set of options
allows you to specify the types of XML nodes for which the differences will be
ignored (will not be reported) by the XML Fast and
XML Accurate algorithms.
- Merge adjacent differences - If checked, it considers two
adjacent differences as one when the differences are painted in the side-by-side
editors. If unchecked, every difference is represented separately.
- Mark end tags as different for modified elements - If
checked, end tags of modified elements are presented as differences too, otherwise
only the start tags are presented as differences.
- Ignore expansion state for empty elements - If checked, empty
elements in both expansion states are considered matched, that is
<element/> and
<element></element> are considered equal.