anchor.diff:    Classes;
   
   type
  +  //TXmlList owns items and frees them when they are deleted from the list
  +  TXmlList = class(TList)
  +  protected
  +    //This one function is enough to free all deleted/cleared/rewritten objects
  +    procedure Notify(Ptr: Pointer; Action: TListNotification); override;
  +  end;
  +
     TXmlNodeList = class;
   
     TXmlAttribute = class(TObject)
  
positive.code:   Result := StringReplace(Result, '&amp;', '&', [rfReplaceAll]);
  end;
  
  { TXmlVerySimple }
  
  procedure TXmlVerySimple.Clear;
  
negative.code:       write SetAttr; // Attributes of a Node, accessible by attribute name
    end;
  
    TXmlNodeList = class(TXmlList);
  
    TXmlOnNodeSetText = procedure (Sender: TObject; Node: TXmlNode; Text: String) of
      object;
  