anchor.diff:    const nEncodingCodePage: Cardinal; // TEncoding.XXX.CodePage
     const fEncodingHint: LongBool;
     const pwszBaseUri: PWideChar;
  -  out ppInput: IXmlReaderInput): HRESULT; stdcall; external 'XmlLite.dll';
  +  out ppInput: IXmlReaderInput): HRESULT; stdcall; external 'XmlLite.dll' {delayed};
   
   function CreateXmlReaderInputWithEncodingName(
     const pInputStream: IStream;
  
positive.code:     XmlReaderProperty_MaxElementDepth = 6,
      XmlReaderProperty_MaxEntityExpansion = 7
      );
  {$MINENUMSIZE 1}
  
  type
    IXMLReader = interface
      ['{7279FC81-709D-4095-B63D-69FE4B0D9030}']
      function SetInput(const _IXMLStream: IUnknown): HRESULT; stdcall;
      function GetProperty(const nProperty: XmlReaderProperty; out ppValue: LongWord): HRESULT; stdcall;
      function SetProperty(const nProperty: XmlReaderProperty; const pValue: LongWord): HRESULT; stdcall;
      function Read(out XmlNodeType: XmlNodeType): HRESULT; stdcall;
      function GetNodeType(out XmlNodeType: XmlNodeType): HRESULT; stdcall;
      function MoveToFirstAttribute: HRESULT; stdcall;
      function MoveToNextAttribute: HRESULT; stdcall;
      function MoveToAttributeByName(const pwszLocalName, pwszNamespaceUri: WideString): HRESULT; stdcall;
      function MoveToElement: HRESULT; stdcall;
      function GetQualifiedName(out ppwszQualifiedName: PWideChar; out pcwchQualifiedName: LongWord): HRESULT; stdcall;
      function GetNamespaceUri(out ppwszNamespaceUri: PWideChar; out pcwchNamespaceUri: LongWord): HRESULT; stdcall;
      function GetLocalName(out ppwszLocalName: PWideChar; out pcwchLocalName: LongWord): HRESULT; stdcall;
      function GetPrefix(out ppwszPrefix: PWideChar; out pcwchPrefix: LongWord): HRESULT; stdcall;
      function GetValue(out ppwszValue: PWideChar; out pcwchValue: LongWord): HRESULT; stdcall;
      function ReadValueChunk( { __out_ecount_part(cwchChunkSize, *pcwchRead) WCHAR *pwchBuffer, LongWord cwchChunkSize, __inout  LongWord *pcwchRead } )
        : HRESULT; stdcall;
      function GetBaseUri(out ppwszBaseUri: PWideChar; out pcwchBaseUri: LongWord): HRESULT; stdcall;
      function IsDefault: LongBool; stdcall;
  
negative.code:   Classes;
  
  const
    XMLReaderGuid:     TGUID = '{7279FC81-709D-4095-B63D-69FE4B0D9030}';
    XMLWriterGuid:     TGUID = '{7279FC88-709D-4095-B63D-69FE4B0D9030}';
    XMLWriterLiteGUID: TGUID = '{862494C6-1310-4AAD-B3CD-2DBEEBF670D3}';
  
  // To sleep with: do not load DLL and funciton until we really call them, if ever
  // Implemented starting with Delphi 2010 - http://www.tindex.net/Language/delayed.html
  
  function CreateXmlReader(
    const refiid: TGUID;
    out _IXMLReader: IXMLReader; // actually iUnknown - future versions might have ore reading interfaces
    const pMalloc: IMalloc): HRESULT; stdcall; external 'XmlLite.dll' {delayed};
  
  function CreateXmlReaderInputWithEncodingCodePage(
    const pInputStream: IStream;
  