I have been trying to do some tests with ExsltSets.difference()
and am a bit confused by the results.  I am just trying to mimic
Unix diff in a way where I get the changes with the appropriate
tree structure to the outside.  If I am going about this the
wrong way or there is a simpler way to do this in code please
let me know. Here is a code snipet of what I am attempting:

    DocumentBuilder builder = factory.newDocumentBuilder();
    documentA = builder.parse(_fileA);
    documentB = builder.parse(_fileB);

    NodeList childrenA = documentA.getChildNodes();
    NodeList childrenB = documentB.getChildNodes();
    NodeList result = ExsltSets.difference(childrenB, childrenA);
    // Print result to a file

Not very complicated.  Here is what I am seeing when I dump the
results though.

Example 1:  (What I expect to come out)
File A                 File B                  Result
<?xml version="1.0"?>  <?xml version="1.0"?>   <?xml version="1.0"?>
<A>                      <A>                     <A>
</A>                       <B>Test</B>             <B>Test</B>
                       </A>                    </A>


Example 2: <?xml version="1.0"?> <?xml version="1.0"?> <?xml version="1.0"?> <A> <A> <A> <B>Test</B> <B>Test</B> <B>Test</B> </A> </A> </A>

****** I would have expected the output to have been an empty node
list but not the same thing that I input

Example 3:
<?xml version="1.0"?>  <?xml version="1.0"?>   <?xml version="1.0"?>
<A>                      <A>                     <A>
  <B>Test</B>            <B>Test</B>              <B>Test</B>
                         <C></C>                  <C></C>
</A>                     </A>                    </A>

****** Here I would have expected just this to come back:
<?xml version="1.0"?>
<A>
   <C></C>
</A>


Thanks,

        -Kent




Reply via email to