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:     XmlWriterProperty_Indent = 1,
      XmlWriterProperty_ByteOrderMark = 2,
      XmlWriterProperty_OmitXmlDeclaration = 3,
      xmlWriterProperty_ConformanceLevel = 4
      );
  
    XmlReaderProperty = (
  
negative.code:     function GetProperty(const nProperty: XmlWriterProperty; out ppValue: Longint): HRESULT; stdcall;
      function SetProperty(const nProperty: XmlWriterProperty; const pValue: Longint): HRESULT; stdcall;
      function WriteAttributes(const pReader: IXMLReader; const fWriteDefaultAttributes: LongBool): HRESULT; stdcall;
      function WriteAttributeString(const pwszPrefix, pwszLocalName, pwszNamespaceUri, pwszValue: PWideChar): HRESULT; stdcall;
      function WriteCData(const pwszText: PWideChar): HRESULT; stdcall;
      function WriteCharEntity(const wch: WideChar): HRESULT; stdcall;
      function WriteChars( const Chars: PWideChar; const Count: Cardinal ): HRESULT; stdcall;
      function WriteComment(const pwszComment: PWideChar): HRESULT; stdcall;
      function WriteDocType(const pwszName, pwszPublicId, pwszSystemId, pwszSubset: PWideChar): HRESULT; stdcall;
      function WriteElementString(const pwszPrefix, pwszLocalName, pwszNamespaceUri, ContentOrNil: PWideChar): HRESULT; stdcall;
      function WriteEndDocument: HRESULT; stdcall;
      function WriteEndElement: HRESULT; stdcall;
      function WriteEntityRef(const pwszName: PWideChar): HRESULT; stdcall;
      function WriteFullEndElement: HRESULT; stdcall;
      function WriteName(const pwszName: PWideChar): HRESULT; stdcall;
      function WriteNmToken(const pwszNmToken: PWideChar): HRESULT; stdcall;
      function WriteNode(const pReader: IXMLReader; const fWriteDefaultAttributes: LongBool): HRESULT; stdcall;
      function WriteNodeShallow(const pReader: IXMLReader; const fWriteDefaultAttributes: LongBool): HRESULT; stdcall;
      function WriteProcessingInstruction(const pwszName, pwszText: PWideChar): HRESULT; stdcall;
      function WriteQualifiedName(const pwszLocalName, pwszNamespaceUri: PWideChar): HRESULT; stdcall;
      function WriteRaw(const pwszData: PWideChar): HRESULT; stdcall;
      function WriteRawChars( const RawChars: PWideChar; const Count: Cardinal ): HRESULT; stdcall;
      function WriteStartDocument(const standalone: XmlStandAlone): HRESULT; stdcall;
      function WriteStartElement(const pwszPrefix, pwszLocalName, pwszNamespaceUri: PWideChar): HRESULT; stdcall;
      function WriteString(const pwszText: PWideChar): HRESULT; stdcall;
      function WriteSurrogateCharEntity(const wchLow, wchHigh: WideChar): HRESULT; stdcall;
      function WriteWhitespace(const pwszWhitespace: PWideChar): HRESULT; stdcall;
      function Flush: HRESULT; stdcall;
    end;
  
    IXmlWriterOutput = interface(IUnknown)
    end;
  
  (** MSDN: IXmlWriterLite
  
  This class is a programming interface for writing XML quickly, introduced in Windows 10.
  It implements an interface with most of the same methods as IXmlWriter, except for WriteQualifiedName.
  Some method signatures are slightly different between IXmlWriter and IXmlWriterLite.
  IXmlWriterLite is faster than IXmlWriter because it skips validation of namespaces and attributes, and
    does not maintain information that is required to automatically close tags.
  Use IXmlWriterLite when you can maintain complete XML document correctness in your code, and
    output speed is of highest importance. Otherwise, we recommend that you use IXmlWriter. **)
  
      IXmlWriterLite = interface
        ['{862494C6-1310-4AAD-B3CD-2DBEEBF670D3}']
          function SetOutput(const _IXMLStream: IUnknown): HRESULT; stdcall;
  
          function GetProperty(const nProperty: XmlWriterProperty; out ppValue: LONG_PTR): HRESULT; stdcall;
          function SetProperty(const nProperty: XmlWriterProperty; const pValue: LONG_PTR): HRESULT; stdcall;
  
          function WriteAttributes(const pReader: IXMLReader; const fWriteDefaultAttributes: LongBool): HRESULT; stdcall;
          function WriteAttributeString(const QualifiedName: PWideChar; const QualNameLength: Cardinal;
                                        const Value: PWideChar; const ValueLength: Cardinal ): HRESULT; stdcall;
  
          function WriteCData(const pwszText: PWideChar): HRESULT; stdcall;
          function WriteCharEntity(const wch: WideChar): HRESULT; stdcall;
          function WriteChars(const Chars: PWideChar; const Count: Cardinal): HRESULT; stdcall;
  
          function WriteComment(const pwszComment: PWideChar): HRESULT; stdcall;
          function WriteDocType(const pwszName, pwszPublicId, pwszSystemId, pwszSubset: PWideChar): HRESULT; stdcall;
          function WriteElementString(const QualifiedName: PWideChar; const QNameLengthInChars: Cardinal; const ContentOrNil: PWideChar): HRESULT; stdcall;
          function WriteEndDocument: HRESULT; stdcall;
          function WriteEndElement(const QualifiedName: PWideChar; const QNameLengthInChars: Cardinal): HRESULT; stdcall;
          function WriteEntityRef(const pwszName: PWideChar): HRESULT; stdcall;
          function WriteFullEndElement(const QualifiedName: PWideChar; const QNameLengthInChars: Cardinal): HRESULT; stdcall;
          function WriteName(const pwszName: PWideChar): HRESULT; stdcall;
          function WriteNmToken(const pwszNmToken: PWideChar): HRESULT; stdcall;
          function WriteNode(const pReader: IXMLReader; const fWriteDefaultAttributes: LongBool): HRESULT; stdcall;
          function WriteNodeShallow(const pReader: IXMLReader; const fWriteDefaultAttributes: LongBool): HRESULT; stdcall;
          function WriteProcessingInstruction(const pwszName, pwszText: PWideChar): HRESULT; stdcall;
          function WriteRaw(const pwszData: PWideChar): HRESULT; stdcall;
          function WriteRawChars( const RawChars: PWideChar; const Count: Cardinal ): HRESULT; stdcall;
          function WriteStartDocument(const standalone: XmlStandAlone): HRESULT; stdcall;
          function WriteStartElement(const QualifiedName: PWideChar; const QNameLengthInChars: Cardinal): HRESULT; stdcall;
          function WriteString(const pwszText: PWideChar): HRESULT; stdcall;
          function WriteSurrogateCharEntity(const wchLow, wchHigh: WideChar): HRESULT; stdcall;
          function WriteWhitespace(const pwszWhitespace: PWideChar): HRESULT; stdcall;
          function Flush: HRESULT; stdcall;
        end platform experimental {'Requires Windows 10'};
  
  
  function CreateXmlFileReader(const FileName: string = ''): IXMLReader;
  
  