As of 2016-01-20 Project: Merge is officially a discontinued product
and we are therefore no longer selling new licences.

Existing licences and installations of Project: Merge will continue to work,
and most of this website will continue to exist.

We do, however, have a new website at osocorporation.com where you can find information
about the successor to Project: Merge, Oso XML Merge.

All accounts for this website have been migrated over to the new site, and you should be able to
view and edit your existing licences as before - as well as upgrade them to Oso XML Merge licences.

Contents
1 - Getting Started
2 - Format Specifications
3 - Command Line Parameters
This page is only relevant to versions 1.0.1094 and newer.
Project: Merge uses format specifications to control how it processes XML files. Unlike XML Schemas, the format specifications Project: Merge uses do not define the contents of an XML file. They mostly define how Project: Merge identifies XML elements for matching different components of the input files.

Each format specification is stored in its own XML file, located in the local application data folder. The exact location of this folder depends on the version of Windows you are using. The default locations for this folder are:
  • Windows 2000/XP: C:\Documents and Settings\All Users\Application Data\Oso\ProjectMerge\Formats
  • Windows Vista/7: C:\ProgramData\Oso\ProjectMerge\Formats
Schema
The following code shows all possible elements and attributes supported. A detailed description of each follows below.

<file name="" filenames="" root="">
    <element name="" attributes="">
        <element name=""/>
        <attribute name=""/>
        <content/>
    </element>
</file>

file
Each file element corresponds to a single XML format specification. The file element supports the following attributes:
  • name - A friendly name for these XML files.
  • root - The root element for these XML files.
  • filenames - A comma separated list of filename wildcards used for matching input files to format specifications when multiple file specifications have the same root elements. This attribute is optional.
Each file element should contain a list of known elements. This list of elements is displayed in the Element Specification Preferences when an element is identified by child elements. Project: Merge updates this list as it encounters new elements when it processes XML files.
element
Elements hold information about the elements in the corresponding XML file. They support the following attributes:
  • name - The name for this element.
  • attributes - A comma separated list of known attributes for this element. These attributes are displayed in the Element Specification Preferences when an element is identified by one or more attribute values. Project: Merge will update the attributes list for all elements as it processes XML files.

      In addition to the known elements for an XML file, there is a special element with the name * which is used as a catch all for all unknown elements, and also for identification settings for all elements which haven't been individually configured.

      Elements may contain multiple child elements, attributes, or a single content element. The children of an element define how Project: Merge identifies elements of that type when processing XML files.
attribute
An attribute element instructs Project: Merge to identify the corresponding parent element through the value of the named attribute. It requires a name attribute itself which specifies the name of the attribute whose value is to be used for identification purposes.
content
Defines that Project: Merge should use the character data content to identify the elements that this content is a child of. Content data is stripped of whitespace preceeding and following any real character data, so the following will be considered equal when matching elements:

<MyElement>
    Some Text
</MyElement>

<MyElement>Some Text</MyElement>