anchor.diff:      procedure Parse(Strings: TStringList);
       procedure Walk(Lines: TStringList; Prefix: String; Node: TXmlNode);
       function GetText: String;
  +    procedure SetText(aText: String);
     public
       Root: TXmlNode; // There is only one Root Node
       Header: TXmlNode; // XML declarations are stored in here as Attributes
  
positive.code:     procedure SaveToFile(const FileName: String); virtual;
      procedure DefaultOnNodeSetText(Sender: TObject; Node: TXmlNode; Text: String);
      procedure DefaultOnNodeSetName(Sender: TObject; Node: TXmlNode; Name: String);
      property Text: String read GetText;
      property OnNodeSetText: TXmlOnNodeSetText read FOnNodeSetText write FOnNodeSetText;
      property OnNodeSetName: TXmlOnNodeSetText read FOnNodeSetName write FOnNodeSetName;
    end;
  
negative.code:   Result := Lines.Text;
  end;
  
  procedure TXmlVerySimple.SetText(aText: String);
  var Strings: TStringList;
  begin
    Clear;
    Strings := TStringList.Create;
    Strings.Text := aText;
    Parse(Strings);
    Strings.Free;
  end;
  
  { TXmlNode }
  
  function TXmlNode.AddChild(const Name: String): TXmlNode;
  