Oso XML Merge

3.5.5.4 - XML element preferences

The XML Element Specification Panel.
The Element Specification Panel in the Oso XML Merge Preferences Dialog provides options to control various aspects of a specific element within a format specification file.

Child Options

These options provide control over how children of the selected element are treated.

Order of children
Controls whether children can be reordered or not when matching elements within the input XML files. For XML files, the order of an element's children may or may not be reordered without affecting the overall meaning of the XML file. For example, children in an XHTML file cannot be reordered - to do so would probably change how the HTML page is rendered.

This option has the following values to choose from:

  • Use 'All elements' setting - Use the setting specified by the special All Elements element. This option is not available when the All Elements element is selected.
  • Inherit from parent element - Use whatever setting is specified for my parent element within the XML file.
  • Child nodes can NOT be reordered when resolving - Do not reorder children of this element when searching for matching elements within the other input files.
  • Child nodes can be reordered when resolving - Ignore order of children of this element when searching for matching elements.

Conflicted comments
Defines whether comments that are direct children of the selected element can be automatically resolved or not. Your XML files might contain comments that contain meta data written by another application, for example. In cases such as this you probably don't care about manually resolving conflicts that might occur. This option allows you to automatically resolve or ignore such conflicts.

This option has the following values:

  • Leave conflicted - Do nothing. Conflicted comments will have to be resolved by hand.
  • Use 'All elements' setting - Use the setting specified by the special All Elements element.
  • Inherit from parent element - Use the setting that is specified for my parent element within the XML file.
  • Delete conflicted comments - Completely remove any conflicted comments from the merged output file.
  • Resolve to base - Automatically resolve any conflicted comments to the version specified in the base file. For two-way merges, this selection will have no effect.
  • Resolve to left - Resolves any conflicted comments to the version specified in the left file.
  • Resolve to right - Automatically resolve any conflicted comments to the version specified in the right file.

Preprocess content
Defines whether non-markup character data should be preprocessed before matching nodes.

This option has the following values:

  • Do not preprocess non-markup character data - Do nothing. Character data will be matched as is.
  • Use 'All elements' setting - Use the setting specified by the special All Elements element.
  • Inherit from parent element - Use the setting that is specified for my parent element within the XML file.
  • Normalise whitespace - Replace all instances of multiple spaces and/or tabs with a single space.
  • Remove new lines - Replaces all new line characters with a single space.
  • Normalise whitespace and remove new lines - Replaces all new lines with spaces, and then normalises all whitespace.

Identifying Options

These options allow you to define how Oso XML Merge identifies elements within an XML file. Element identification is used to correctly match the same element across all the input files.

Identified by nothing (unidentified)
Unidentified elements are matched only through their order within the XML file.

Identified by attribute(s)
Elements of the selected type are identified through the values of the specified attributes. You can select which attributes to use to identify an element from the available attributes listed below.

Identified by child element(s)
Elements of the selected type are identified through the specified child elements. You can select which child elements to use to identify this element from the listed elements.

When you select this option, and choose an element you should click the Apply button to continue. The chosen elements will appear below the current element in the tree on the left of the Preferences Dialog so that you can choose how to identify the child elements. This system allows you to create quite complex chains of identification when necessary.

Identified by content (non-markup character data)
Elements of the selected type are identified through the character data (text) within this element. It should be noted that only the first text block within the selected element will be used for identification purposes.