edu.UCL.xmiddle.lib.treediff
Class  LevelTreeDiff
java.lang.Object
  |
  +--edu.UCL.xmiddle.lib.treediff.LevelTreeDiff
- public class LevelTreeDiff
- extends java.lang.Object
  
LevelTreeDiff computes the difference of two DOM trees using a simple,
    restricted algorithm. The algorithm detects the following modifications:
    
        - Insertion of a new elements in a list of subelements.
        
 - Deletion of a subtree
        
 - Modification of an attribute
        
 - Modification of PCDATA text
    
 
    This algorithm compares two DOM trees on a level basis. For example,
    it will not handle the following scenario in the simplest way: Change
    <X><Y/></X> to <X><X><Y/></X></X>
    This modification has inserted a new level of nesting. This case will still
    be handled correctly by the algorithm, however the following modification
    list will be produced: Remove the Y element from the first X element, add
    a subtree of the form <X><Y/></X> to the first X.
 
    
    In a nutshell, the tree algorithm will deal with any change
    correctly, however it may produce results that are longer than necessary.
    Look at testsuite/swap2.xml for an example.
 
    
    CAUTION: Be extremely careful when changing properties of this
    algorithm. Because of the way this algorithm operators, merging can be
    done on the base tree without making a copy, and the difference operators
    can be applied in a linear order. Be sure to retain this property when
    modifying the algorithm.
 
| 
Method Summary | 
static org.w3c.dom.Document | 
compute(org.w3c.dom.Document base,
        org.w3c.dom.Document changed)
 
          Compute is the main function of LevelTreeDiff which computes the
        difference of the two arguments. | 
 
| Methods inherited from class java.lang.Object | 
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
 
LevelTreeDiff
public LevelTreeDiff()
compute
public static org.w3c.dom.Document compute(org.w3c.dom.Document base,
                                           org.w3c.dom.Document changed)
- Compute is the main function of LevelTreeDiff which computes the
        difference of the two arguments.
- Parameters:
 base - the DOM Document containing the base treechanged - the DOM Document containing the tree with changes made
- Returns:
 - the Document containing the difference tree, the format
                of which is specified in treediff.dtd.