anchor.diff:  procedure CheckHR(const HR: HRESULT); inline; deprecated 'Use EXmlLite.Check';
   
   type
  +  rErrorDecription = record Code: XmlError; Message: String; end;
  +  TXMLLiteKnownErrors = array of rErrorDecription;
  +
     EXmlLite = class(Exception)
     private
       FErrCode: Cardinal;
     public
       property ErrorCode: Cardinal read FErrCode; // 0 - unknown
  +    constructor CreateForErrCode(const FunctionResult: HRESULT);
  +  public
  +    Class Var XMLLiteErrorMessages: TXMLLiteKnownErrors; // may be localized by thrid-party units
  +    Class Constructor InitMessages;
  +
       Class Function Check(const FunctionResult: HRESULT): HResult; inline;
       Class Function IsOK(const FunctionResult: HRESULT): boolean; inline;
  -    constructor CreateForErrCode(const FunctionResult: HRESULT);
     end;
   
   implementation
  
positive.code:     r($C00CE01F, 'XML: Invalid Unicode characters'),
      r($C00CE06E, 'XML: Invalid charset encoding')
    );
  end.
  
negative.code:   EXmlLite.Check( HR );
  end;
  
  class constructor EXmlLite.InitMessages;
    function r(const c: cardinal; m: string): rErrorDecription; inline;
    begin
      Result.Code := XmlError(c);
      Result.Message := m;
    end;
  begin
    XMLLiteErrorMessages := TXMLLiteKnownErrors.Create(
      r($C00CEE01, 'unexpected end of input'),
  