Changes

March 20, 2001

  1. Fixed some comparison bugs (comparison by position, etc.)
  2. Added support for customized identifying attributes: first, if a DTD is used and it contains ID typed attributes, then those are used. Otherwise, the comparison of nodes falls back to attributes specified in the config\xmldiff.ini file (currently set to be "id" and "name"). Edit the file and enter your desired identifying attributes.

March 13, 2001

The tool can now be used in a standalone mode. It does not expose any beans,
but one can see a report of what the changes are between two XML files.

To run it, execute the xmldiff2.bat from the bin directory and pass the two input
files on the command line. The output of the comparison is then displayed on the
standard output.
The output is an XML file, that looks very similar to what you see in the graphical
interface. For example, running it as

xmldiff2.bat d:\xmldiff\example\java.xml d:\xmldiff\example\java2.xml

outputs:

  <project name=JavaExample>
    <documentation>
    </documentation>
    <package name=com.ibm.play>
      <documentation>
      </documentation>
      <class name=Person access=public type=class>
        <documentation>
        </documentation>
        <import name=java.util.*/>
        <import name=java.util.fun/> --- REMOVED
        <member name=firsttname type=String/>
        <member name=age type=int/>
        <member name=lastname1 type=String/> --- CHANGED
        <method name=getAge return=int access=public>
          <body>
          </body>
        </method>
        <method name=setLastName return=void access=public>
          <parameters name=personLastName type=String/>
          <body> --- CHANGED
          </body>
        </method>
        <method name=getOlder access=private return=void>
          <body>
          </body>
        </method>
        <file name=Person.java/>
      </class>
      <class name=Employee access=public type=class>
        <documentation>
        </documentation>
        <parent parentref=Person/>
        <member name=empNumber type=int/>
        <member name=lastname type=String/>
        <method name=getAge return=int access=public>
          <documentation>
          </documentation>
          <parameters name=personLastName type=String/>
          <body>
          </body>
        </method>
        <file name=Employee.java/>
      </class>
    </package>
  </project>