Combine

Each of the following operations results in a XoomXML document containing some combination of items selected from the buffer and another XoomXML document specified by source.

Railroad diagram for grammar entity Combine in Xoom Processor.

Combine  ::= ( '+' | '*+' | '+*' | '+!' | '-' ) Source

+ (combine non-overlapping)

The resulting document contains all items from both the buffer and source documents. The operation fails if the same item occurs in both documents, with an error message identifying only the first item.

*+ and +* (combine overlapping)

The resulting document contains all items from both documents. When the same item occurs in both documents, *+ inserts the item from the buffer, and +* inserts the item from source Source.

*! (combine distinct)

The resulting document contains all items that occur in either document, but none of those that occur in both.

- (relative complement)

The resulting document contains all items that are in the buffer but not in source, including the items that are 'significantly different' between the buffer and source.
Note: Items are considered to be 'significantly different' when they do not differ solely in parameters that are environment-specific (such as Collection IDs and Object Keys in Service Optimization), or in the order of parameters that are order-independent (such as the ordering of the declarations of Objective Types in Service Optimization). The criteria used for this purpose can be modified using the --comparer-config.
In more formal mathematical language, the operation calculates the relative complement of source in the buffer.

Relative complement

xp :All - ConfigRepo\ diff.xml Diff\
Calculates the configuration changes that need to be applied to get from the baseline stored in the ConfigRepo Xoom folder to the current state of the All named query on the local Xoom server, and stores the result in both a file named diff.xml and a Xoom folder named Diff.