anchor.diff:      fWarnings: TScriptValidatorIssueArray;
       fErrors: TScriptValidatorIssueArray;
       procedure Add(aLine, aColumn: Integer; const aParam, aMessage: string; var aDest: TScriptValidatorIssueArray); inline;
  -    procedure ArrayToXML(aSrc: TScriptValidatorIssueArray; var aDest: TXmlNode);
  -    procedure XMLToArray(aSrc: TXmlNode; var aDest: TScriptValidatorIssueArray);
  +    procedure ArrayToXML(aSrc: TScriptValidatorIssueArray; var aDest: TKMXmlNode);
  +    procedure XMLToArray(aSrc: TKMXmlNode; var aDest: TScriptValidatorIssueArray);
       function FixText(const aTest: string): string;
     public
       procedure AddHint(aLine, aColumn: Integer; const aParam, aMessage: string);
  
positive.code: 
  function TScriptValidatorResult.ToXML: string;
  var
    nHint, nWarning, nError: TXmlNode;
  begin
    with TXmlVerySimple.Create do
    begin
      try
        Root.NodeName := 'ScriptValidatorResult';
        nHint := Root.AddChild('Hints');
        nWarning := Root.AddChild('Warnings');
        nError := Root.AddChild('Errors');
  
        ArrayToXML(fHints, nHint);
        ArrayToXML(fWarnings, nWarning);
        ArrayToXML(fErrors, nError);
  
        Result := Text;
      finally
        Free;
      end;
    end;
  end;
  
  
  procedure TScriptValidatorResult.FromXML(const aXml: string);
  begin
    with TXmlVerySimple.Create do
      try
        Text := aXml;
        XMLToArray(Root.Find('Hints'), fHints);
        XMLToArray(Root.Find('Warnings'), fWarnings);
        XMLToArray(Root.Find('Errors'), fErrors);
      finally
        Free;
      end;
  end;
  
  end.
  
negative.code: unit ScriptValidatorResult;
  interface
  uses
    SysUtils, KM_IoXML;
  
  
  type
  