unit Chilkat.Xml;

{
  Pascal wrapper for Chilkat Xml.
  Auto-generated by PascalWrapperGenerator -- do not edit manually.
}

{$IFDEF FPC}
  {$MODE DELPHI}
{$ENDIF}

interface

uses
  SysUtils,
  Chilkat.Base;

type

  { TXml wraps CkXml via the C bridge layer. }
  TXml = class(TChilkatBase)
  private
    function  GetLastErrorHtml: string;
    function  GetLastErrorText: string;
    function  GetLastErrorXml: string;
    function  GetVersion: string;
    function  GetDebugLogFilePath: string;
    procedure SetDebugLogFilePath(AValue: string);
    function  GetVerboseLogging: Boolean;
    procedure SetVerboseLogging(AValue: Boolean);
    function  GetLastMethodSuccess: Boolean;
    procedure SetLastMethodSuccess(AValue: Boolean);
    function  GetCdata: Boolean;
    procedure SetCdata(AValue: Boolean);
    function  GetContent: string;
    procedure SetContent(AValue: string);
    function  GetContentInt: Integer;
    procedure SetContentInt(AValue: Integer);
    function  GetDocType: string;
    procedure SetDocType(AValue: string);
    function  GetEmitBom: Boolean;
    procedure SetEmitBom(AValue: Boolean);
    function  GetEmitXmlDecl: Boolean;
    procedure SetEmitXmlDecl(AValue: Boolean);
    function  GetEncoding: string;
    procedure SetEncoding(AValue: string);
    function  GetNumAttributes: Integer;
    function  GetNumChildren: Integer;
    function  GetSortCaseInsensitive: Boolean;
    procedure SetSortCaseInsensitive(AValue: Boolean);
    function  GetStandalone: Boolean;
    procedure SetStandalone(AValue: Boolean);
    function  GetStrict: Boolean;
    procedure SetStrict(AValue: Boolean);
    function  GetTag: string;
    procedure SetTag(AValue: string);
    function  GetTreeId: Integer;
    function  GetI: Integer;
    procedure SetI(AValue: Integer);
    function  GetJ: Integer;
    procedure SetJ(AValue: Integer);
    function  GetK: Integer;
    procedure SetK(AValue: Integer);
    function  GetEmitCompact: Boolean;
    procedure SetEmitCompact(AValue: Boolean);
    function  GetIsBase64: Boolean;
    function  GetTagNsPrefix: string;
    procedure SetTagNsPrefix(AValue: string);
    function  GetTagUnprefixed: string;
    procedure SetTagUnprefixed(AValue: string);
    function  GetTagPath: string;
    function  GetUncommonOptions: string;
    procedure SetUncommonOptions(AValue: string);
  public
    constructor Create;
    destructor  Destroy; override;

    property LastErrorHtml: string read GetLastErrorHtml;
    property LastErrorText: string read GetLastErrorText;
    property LastErrorXml: string read GetLastErrorXml;
    property Version: string read GetVersion;
    property DebugLogFilePath: string read GetDebugLogFilePath write SetDebugLogFilePath;
    property VerboseLogging: Boolean read GetVerboseLogging write SetVerboseLogging;
    property LastMethodSuccess: Boolean read GetLastMethodSuccess write SetLastMethodSuccess;
    property Cdata: Boolean read GetCdata write SetCdata;
    property Content: string read GetContent write SetContent;
    property ContentInt: Integer read GetContentInt write SetContentInt;
    property DocType: string read GetDocType write SetDocType;
    property EmitBom: Boolean read GetEmitBom write SetEmitBom;
    property EmitXmlDecl: Boolean read GetEmitXmlDecl write SetEmitXmlDecl;
    property Encoding: string read GetEncoding write SetEncoding;
    property NumAttributes: Integer read GetNumAttributes;
    property NumChildren: Integer read GetNumChildren;
    property SortCaseInsensitive: Boolean read GetSortCaseInsensitive write SetSortCaseInsensitive;
    property Standalone: Boolean read GetStandalone write SetStandalone;
    property Strict: Boolean read GetStrict write SetStrict;
    property Tag: string read GetTag write SetTag;
    property TreeId: Integer read GetTreeId;
    property I: Integer read GetI write SetI;
    property J: Integer read GetJ write SetJ;
    property K: Integer read GetK write SetK;
    property EmitCompact: Boolean read GetEmitCompact write SetEmitCompact;
    property IsBase64: Boolean read GetIsBase64;
    property TagNsPrefix: string read GetTagNsPrefix write SetTagNsPrefix;
    property TagUnprefixed: string read GetTagUnprefixed write SetTagUnprefixed;
    property TagPath: string read GetTagPath;
    property UncommonOptions: string read GetUncommonOptions write SetUncommonOptions;

    function  AccumulateTagContent(const tag: string; const skipTags: string): string;
    function  AddAttribute(const name: string; const value: string): Boolean;
    function  AddAttributeInt(const name: string; value: Integer): Boolean;
    function  AddChildTree(tree: TChilkatBase): Boolean;
    procedure AddOrUpdateAttribute(const name: string; const value: string);
    procedure AddOrUpdateAttributeI(const name: string; value: Integer);
    procedure AddStyleSheet(const styleSheet: string);
    procedure AddToAttribute(const name: string; amount: Integer);
    procedure AddToChildContent(const tag: string; amount: Integer);
    procedure AddToContent(amount: Integer);
    function  AppendToContent(const str: string): Boolean;
    function  ChildContentMatches(const tagPath: string; const pattern: string; caseSensitive: Boolean): Boolean;
    function  ChilkatPath(const pathCmd: string): string;
    procedure Clear;
    function  ContentMatches(const pattern: string; caseSensitive: Boolean): Boolean;
    procedure Copy(node: TChilkatBase);
    procedure CopyRef(copyFromNode: TChilkatBase);
    function  DecodeEntities(const str: string): string;
    function  DecryptContent(const password: string): Boolean;
    function  EncryptContent(const password: string): Boolean;
    function  ExtractChildByIndex(index: Integer): TChilkatBase;
    function  ExtractChildByName(const tagPath: string; const attrName: string; const attrValue: string): TChilkatBase;
    function  FindChild(const tagPath: string): TChilkatBase;
    function  FindChild2(const tagPath: string): Boolean;
    function  FindNextRecord(const tagPath: string; const contentPattern: string): TChilkatBase;
    function  FindOrAddNewChild(const tagPath: string): TChilkatBase;
    function  FirstChild: TChilkatBase;
    function  FirstChild2: Boolean;
    function  GetAttrValue(const name: string): string;
    function  GetAttrValueInt(const name: string): Integer;
    function  GetAttributeName(index: Integer): string;
    function  GetAttributeValue(index: Integer): string;
    function  GetAttributeValueInt(index: Integer): Integer;
    function  GetChild(index: Integer): TChilkatBase;
    function  GetChild2(index: Integer): Boolean;
    function  GetChildBoolValue(const tagPath: string): Boolean;
    function  GetChildContent(const tagPath: string): string;
    function  GetChildContentByIndex(index: Integer): string;
    function  GetChildExact(const tag: string; const content: string): TChilkatBase;
    function  GetChildIntValue(const tagPath: string): Integer;
    function  GetChildTag(index: Integer): string;
    function  GetChildTagByIndex(index: Integer): string;
    function  GetChildWithAttr(const tagPath: string; const attrName: string; const attrValue: string): TChilkatBase;
    function  GetChildWithContent(const content: string): TChilkatBase;
    function  GetChildWithTag(const tagPath: string): TChilkatBase;
    function  GetNthChildWithTag(const tag: string; n: Integer): TChilkatBase;
    function  GetNthChildWithTag2(const tag: string; n: Integer): Boolean;
    function  GetParent: TChilkatBase;
    function  GetParent2: Boolean;
    function  GetRoot: TChilkatBase;
    procedure GetRoot2;
    function  GetSelf: TChilkatBase;
    function  GetXml: string;
    function  HasAttrWithValue(const name: string; const value: string): Boolean;
    function  HasAttribute(const name: string): Boolean;
    function  HasChildWithContent(const content: string): Boolean;
    function  HasChildWithTag(const tagPath: string): Boolean;
    function  HasChildWithTagAndContent(const tagPath: string; const content: string): Boolean;
    procedure InsertChildTreeAfter(index: Integer; tree: TChilkatBase);
    procedure InsertChildTreeBefore(index: Integer; tree: TChilkatBase);
    function  LastChild: TChilkatBase;
    function  LastChild2: Boolean;
    function  LoadXml(const xmlData: string): Boolean;
    function  LoadXml2(const xmlData: string; autoTrim: Boolean): Boolean;
    function  LoadXmlFile(const fileName: string): Boolean;
    function  LoadXmlFile2(const fileName: string; autoTrim: Boolean): Boolean;
    function  NewChild(const tagPath: string; const content: string): TChilkatBase;
    procedure NewChild2(const tagPath: string; const content: string);
    function  NewChildAfter(index: Integer; const tag: string; const content: string): TChilkatBase;
    function  NewChildBefore(index: Integer; const tag: string; const content: string): TChilkatBase;
    procedure NewChildInt2(const tagPath: string; value: Integer);
    function  NextSibling: TChilkatBase;
    function  NextSibling2: Boolean;
    function  NumChildrenHavingTag(const tag: string): Integer;
    function  PreviousSibling: TChilkatBase;
    function  PreviousSibling2: Boolean;
    function  RemoveAllAttributes: Boolean;
    procedure RemoveAllChildren;
    function  RemoveAttribute(const name: string): Boolean;
    procedure RemoveChild(const tagPath: string);
    procedure RemoveChildByIndex(index: Integer);
    procedure RemoveChildWithContent(const content: string);
    procedure RemoveFromTree;
    function  SaveBinaryContent(const filename: string; unzipFlag: Boolean; decryptFlag: Boolean; const password: string): Boolean;
    function  SaveXml(const fileName: string): Boolean;
    function  SearchAllForContent(afterPtr: TChilkatBase; const contentPattern: string): TChilkatBase;
    function  SearchAllForContent2(afterPtr: TChilkatBase; const contentPattern: string): Boolean;
    function  SearchForAttribute(afterPtr: TChilkatBase; const tag: string; const attr: string; const valuePattern: string): TChilkatBase;
    function  SearchForAttribute2(afterPtr: TChilkatBase; const tag: string; const attr: string; const valuePattern: string): Boolean;
    function  SearchForContent(afterPtr: TChilkatBase; const tag: string; const contentPattern: string): TChilkatBase;
    function  SearchForContent2(afterPtr: TChilkatBase; const tag: string; const contentPattern: string): Boolean;
    function  SearchForTag(afterPtr: TChilkatBase; const tag: string): TChilkatBase;
    function  SearchForTag2(afterPtr: TChilkatBase; const tag: string): Boolean;
    function  SetBinaryContentFromFile(const filename: string; zipFlag: Boolean; encryptFlag: Boolean; const password: string): Boolean;
    procedure SortByAttribute(const attrName: string; ascending: Boolean);
    procedure SortByAttributeInt(const attrName: string; ascending: Boolean);
    procedure SortByContent(ascending: Boolean);
    procedure SortByTag(ascending: Boolean);
    procedure SortRecordsByAttribute(const sortTag: string; const attrName: string; ascending: Boolean);
    procedure SortRecordsByContent(const sortTag: string; ascending: Boolean);
    procedure SortRecordsByContentInt(const sortTag: string; ascending: Boolean);
    function  SwapNode(node: TChilkatBase): Boolean;
    function  SwapTree(tree: TChilkatBase): Boolean;
    function  TagContent(const tagName: string): string;
    function  TagEquals(const tag: string): Boolean;
    function  UnzipContent: Boolean;
    function  UnzipTree: Boolean;
    function  UpdateAttribute(const attrName: string; const attrValue: string): Boolean;
    function  UpdateAttributeInt(const attrName: string; value: Integer): Boolean;
    procedure UpdateChildContent(const tagPath: string; const value: string);
    procedure UpdateChildContentInt(const tagPath: string; value: Integer);
    function  ZipContent: Boolean;
    function  ZipTree: Boolean;
    function  LoadSb(sb: TChilkatBase; autoTrim: Boolean): Boolean;
    function  GetXmlSb(sb: TChilkatBase): Boolean;
    function  NumChildrenAt(const tagPath: string): Integer;
    function  UpdateAt(const tagPath: string; autoCreate: Boolean; const value: string): Boolean;
    function  UpdateAttrAt(const tagPath: string; autoCreate: Boolean; const attrName: string; const attrValue: string): Boolean;
    function  GetChildContentSb(const tagPath: string; sb: TChilkatBase): Boolean;
    function  TagIndex(const tagPath: string): Integer;
    function  TagNsEquals(const ns: string): Boolean;
    function  TagUnpEquals(const unprefixedTag: string): Boolean;
    function  GetChildAttrValue(const tagPath: string; const attrName: string): string;
    function  RemoveStyleSheet(const attrName: string; const attrValue: string): Integer;
    function  PruneAttribute(const attrName: string): Integer;
    function  PruneTag(const tag: string): Integer;
    procedure Scrub(const directives: string);
    function  LoadBd(bd: TChilkatBase; autoTrim: Boolean): Boolean;
    function  GetXmlBd(bd: TChilkatBase): Boolean;
    function  NextInTraversal2(sbState: TChilkatBase): Boolean;
    function  SetBinaryContentBd(data: TChilkatBase; zipFlag: Boolean; encryptFlag: Boolean; const password: string): Boolean;
    function  GetChildWithTag2(const tagPath: string): Boolean;
  end;

implementation

uses
  CkDllLoader,
  Chilkat.Utils;

{ ---- C bridge function pointer types ---- }
type
  TCkXml_Create  = function(): Pointer; cdecl;
  TCkXml_Dispose = procedure(handle: Pointer); cdecl;
  TCkXml_get_LastErrorHtml = function(handle: Pointer): PAnsiChar; cdecl;
  TCkXml_get_LastErrorText = function(handle: Pointer): PAnsiChar; cdecl;
  TCkXml_get_LastErrorXml = function(handle: Pointer): PAnsiChar; cdecl;
  TCkXml_get_Version = function(handle: Pointer): PAnsiChar; cdecl;
  TCkXml_get_DebugLogFilePath = function(handle: Pointer): PAnsiChar; cdecl;
  TCkXml_put_DebugLogFilePath = procedure(handle: Pointer; value: PAnsiChar); cdecl;
  TCkXml_get_VerboseLogging = function(handle: Pointer): LongBool; cdecl;
  TCkXml_put_VerboseLogging = procedure(handle: Pointer; value: LongBool); cdecl;
  TCkXml_get_LastMethodSuccess = function(handle: Pointer): LongBool; cdecl;
  TCkXml_put_LastMethodSuccess = procedure(handle: Pointer; value: LongBool); cdecl;
  TCkXml_get_Cdata = function(handle: Pointer): LongBool; cdecl;
  TCkXml_put_Cdata = procedure(handle: Pointer; value: LongBool); cdecl;
  TCkXml_get_Content = function(handle: Pointer): PAnsiChar; cdecl;
  TCkXml_put_Content = procedure(handle: Pointer; value: PAnsiChar); cdecl;
  TCkXml_get_ContentInt = function(handle: Pointer): Integer; cdecl;
  TCkXml_put_ContentInt = procedure(handle: Pointer; value: Integer); cdecl;
  TCkXml_get_DocType = function(handle: Pointer): PAnsiChar; cdecl;
  TCkXml_put_DocType = procedure(handle: Pointer; value: PAnsiChar); cdecl;
  TCkXml_get_EmitBom = function(handle: Pointer): LongBool; cdecl;
  TCkXml_put_EmitBom = procedure(handle: Pointer; value: LongBool); cdecl;
  TCkXml_get_EmitXmlDecl = function(handle: Pointer): LongBool; cdecl;
  TCkXml_put_EmitXmlDecl = procedure(handle: Pointer; value: LongBool); cdecl;
  TCkXml_get_Encoding = function(handle: Pointer): PAnsiChar; cdecl;
  TCkXml_put_Encoding = procedure(handle: Pointer; value: PAnsiChar); cdecl;
  TCkXml_get_NumAttributes = function(handle: Pointer): Integer; cdecl;
  TCkXml_get_NumChildren = function(handle: Pointer): Integer; cdecl;
  TCkXml_get_SortCaseInsensitive = function(handle: Pointer): LongBool; cdecl;
  TCkXml_put_SortCaseInsensitive = procedure(handle: Pointer; value: LongBool); cdecl;
  TCkXml_get_Standalone = function(handle: Pointer): LongBool; cdecl;
  TCkXml_put_Standalone = procedure(handle: Pointer; value: LongBool); cdecl;
  TCkXml_get_Strict = function(handle: Pointer): LongBool; cdecl;
  TCkXml_put_Strict = procedure(handle: Pointer; value: LongBool); cdecl;
  TCkXml_get_Tag = function(handle: Pointer): PAnsiChar; cdecl;
  TCkXml_put_Tag = procedure(handle: Pointer; value: PAnsiChar); cdecl;
  TCkXml_get_TreeId = function(handle: Pointer): Integer; cdecl;
  TCkXml_get_I = function(handle: Pointer): Integer; cdecl;
  TCkXml_put_I = procedure(handle: Pointer; value: Integer); cdecl;
  TCkXml_get_J = function(handle: Pointer): Integer; cdecl;
  TCkXml_put_J = procedure(handle: Pointer; value: Integer); cdecl;
  TCkXml_get_K = function(handle: Pointer): Integer; cdecl;
  TCkXml_put_K = procedure(handle: Pointer; value: Integer); cdecl;
  TCkXml_get_EmitCompact = function(handle: Pointer): LongBool; cdecl;
  TCkXml_put_EmitCompact = procedure(handle: Pointer; value: LongBool); cdecl;
  TCkXml_get_IsBase64 = function(handle: Pointer): LongBool; cdecl;
  TCkXml_get_TagNsPrefix = function(handle: Pointer): PAnsiChar; cdecl;
  TCkXml_put_TagNsPrefix = procedure(handle: Pointer; value: PAnsiChar); cdecl;
  TCkXml_get_TagUnprefixed = function(handle: Pointer): PAnsiChar; cdecl;
  TCkXml_put_TagUnprefixed = procedure(handle: Pointer; value: PAnsiChar); cdecl;
  TCkXml_get_TagPath = function(handle: Pointer): PAnsiChar; cdecl;
  TCkXml_get_UncommonOptions = function(handle: Pointer): PAnsiChar; cdecl;
  TCkXml_put_UncommonOptions = procedure(handle: Pointer; value: PAnsiChar); cdecl;
  TCkXml_AccumulateTagContent = function(handle: Pointer; tag: PAnsiChar; skipTags: PAnsiChar): PAnsiChar; cdecl;
  TCkXml_AddAttribute = function(handle: Pointer; name: PAnsiChar; value: PAnsiChar): LongBool; cdecl;
  TCkXml_AddAttributeInt = function(handle: Pointer; name: PAnsiChar; value: Integer): LongBool; cdecl;
  TCkXml_AddChildTree = function(handle: Pointer; tree: Pointer): LongBool; cdecl;
  TCkXml_AddOrUpdateAttribute = procedure(handle: Pointer; name: PAnsiChar; value: PAnsiChar); cdecl;
  TCkXml_AddOrUpdateAttributeI = procedure(handle: Pointer; name: PAnsiChar; value: Integer); cdecl;
  TCkXml_AddStyleSheet = procedure(handle: Pointer; styleSheet: PAnsiChar); cdecl;
  TCkXml_AddToAttribute = procedure(handle: Pointer; name: PAnsiChar; amount: Integer); cdecl;
  TCkXml_AddToChildContent = procedure(handle: Pointer; tag: PAnsiChar; amount: Integer); cdecl;
  TCkXml_AddToContent = procedure(handle: Pointer; amount: Integer); cdecl;
  TCkXml_AppendToContent = function(handle: Pointer; str: PAnsiChar): LongBool; cdecl;
  TCkXml_ChildContentMatches = function(handle: Pointer; tagPath: PAnsiChar; pattern: PAnsiChar; caseSensitive: LongBool): LongBool; cdecl;
  TCkXml_ChilkatPath = function(handle: Pointer; pathCmd: PAnsiChar): PAnsiChar; cdecl;
  TCkXml_Clear = procedure(handle: Pointer); cdecl;
  TCkXml_ContentMatches = function(handle: Pointer; pattern: PAnsiChar; caseSensitive: LongBool): LongBool; cdecl;
  TCkXml_Copy = procedure(handle: Pointer; node: Pointer); cdecl;
  TCkXml_CopyRef = procedure(handle: Pointer; copyFromNode: Pointer); cdecl;
  TCkXml_DecodeEntities = function(handle: Pointer; str: PAnsiChar): PAnsiChar; cdecl;
  TCkXml_DecryptContent = function(handle: Pointer; password: PAnsiChar): LongBool; cdecl;
  TCkXml_EncryptContent = function(handle: Pointer; password: PAnsiChar): LongBool; cdecl;
  TCkXml_ExtractChildByIndex = function(handle: Pointer; index: Integer): Pointer; cdecl;
  TCkXml_ExtractChildByName = function(handle: Pointer; tagPath: PAnsiChar; attrName: PAnsiChar; attrValue: PAnsiChar): Pointer; cdecl;
  TCkXml_FindChild = function(handle: Pointer; tagPath: PAnsiChar): Pointer; cdecl;
  TCkXml_FindChild2 = function(handle: Pointer; tagPath: PAnsiChar): LongBool; cdecl;
  TCkXml_FindNextRecord = function(handle: Pointer; tagPath: PAnsiChar; contentPattern: PAnsiChar): Pointer; cdecl;
  TCkXml_FindOrAddNewChild = function(handle: Pointer; tagPath: PAnsiChar): Pointer; cdecl;
  TCkXml_FirstChild = function(handle: Pointer): Pointer; cdecl;
  TCkXml_FirstChild2 = function(handle: Pointer): LongBool; cdecl;
  TCkXml_GetAttrValue = function(handle: Pointer; name: PAnsiChar): PAnsiChar; cdecl;
  TCkXml_GetAttrValueInt = function(handle: Pointer; name: PAnsiChar): Integer; cdecl;
  TCkXml_GetAttributeName = function(handle: Pointer; index: Integer): PAnsiChar; cdecl;
  TCkXml_GetAttributeValue = function(handle: Pointer; index: Integer): PAnsiChar; cdecl;
  TCkXml_GetAttributeValueInt = function(handle: Pointer; index: Integer): Integer; cdecl;
  TCkXml_GetChild = function(handle: Pointer; index: Integer): Pointer; cdecl;
  TCkXml_GetChild2 = function(handle: Pointer; index: Integer): LongBool; cdecl;
  TCkXml_GetChildBoolValue = function(handle: Pointer; tagPath: PAnsiChar): LongBool; cdecl;
  TCkXml_GetChildContent = function(handle: Pointer; tagPath: PAnsiChar): PAnsiChar; cdecl;
  TCkXml_GetChildContentByIndex = function(handle: Pointer; index: Integer): PAnsiChar; cdecl;
  TCkXml_GetChildExact = function(handle: Pointer; tag: PAnsiChar; content: PAnsiChar): Pointer; cdecl;
  TCkXml_GetChildIntValue = function(handle: Pointer; tagPath: PAnsiChar): Integer; cdecl;
  TCkXml_GetChildTag = function(handle: Pointer; index: Integer): PAnsiChar; cdecl;
  TCkXml_GetChildTagByIndex = function(handle: Pointer; index: Integer): PAnsiChar; cdecl;
  TCkXml_GetChildWithAttr = function(handle: Pointer; tagPath: PAnsiChar; attrName: PAnsiChar; attrValue: PAnsiChar): Pointer; cdecl;
  TCkXml_GetChildWithContent = function(handle: Pointer; content: PAnsiChar): Pointer; cdecl;
  TCkXml_GetChildWithTag = function(handle: Pointer; tagPath: PAnsiChar): Pointer; cdecl;
  TCkXml_GetNthChildWithTag = function(handle: Pointer; tag: PAnsiChar; n: Integer): Pointer; cdecl;
  TCkXml_GetNthChildWithTag2 = function(handle: Pointer; tag: PAnsiChar; n: Integer): LongBool; cdecl;
  TCkXml_GetParent = function(handle: Pointer): Pointer; cdecl;
  TCkXml_GetParent2 = function(handle: Pointer): LongBool; cdecl;
  TCkXml_GetRoot = function(handle: Pointer): Pointer; cdecl;
  TCkXml_GetRoot2 = procedure(handle: Pointer); cdecl;
  TCkXml_GetSelf = function(handle: Pointer): Pointer; cdecl;
  TCkXml_GetXml = function(handle: Pointer): PAnsiChar; cdecl;
  TCkXml_HasAttrWithValue = function(handle: Pointer; name: PAnsiChar; value: PAnsiChar): LongBool; cdecl;
  TCkXml_HasAttribute = function(handle: Pointer; name: PAnsiChar): LongBool; cdecl;
  TCkXml_HasChildWithContent = function(handle: Pointer; content: PAnsiChar): LongBool; cdecl;
  TCkXml_HasChildWithTag = function(handle: Pointer; tagPath: PAnsiChar): LongBool; cdecl;
  TCkXml_HasChildWithTagAndContent = function(handle: Pointer; tagPath: PAnsiChar; content: PAnsiChar): LongBool; cdecl;
  TCkXml_InsertChildTreeAfter = procedure(handle: Pointer; index: Integer; tree: Pointer); cdecl;
  TCkXml_InsertChildTreeBefore = procedure(handle: Pointer; index: Integer; tree: Pointer); cdecl;
  TCkXml_LastChild = function(handle: Pointer): Pointer; cdecl;
  TCkXml_LastChild2 = function(handle: Pointer): LongBool; cdecl;
  TCkXml_LoadXml = function(handle: Pointer; xmlData: PAnsiChar): LongBool; cdecl;
  TCkXml_LoadXml2 = function(handle: Pointer; xmlData: PAnsiChar; autoTrim: LongBool): LongBool; cdecl;
  TCkXml_LoadXmlFile = function(handle: Pointer; fileName: PAnsiChar): LongBool; cdecl;
  TCkXml_LoadXmlFile2 = function(handle: Pointer; fileName: PAnsiChar; autoTrim: LongBool): LongBool; cdecl;
  TCkXml_NewChild = function(handle: Pointer; tagPath: PAnsiChar; content: PAnsiChar): Pointer; cdecl;
  TCkXml_NewChild2 = procedure(handle: Pointer; tagPath: PAnsiChar; content: PAnsiChar); cdecl;
  TCkXml_NewChildAfter = function(handle: Pointer; index: Integer; tag: PAnsiChar; content: PAnsiChar): Pointer; cdecl;
  TCkXml_NewChildBefore = function(handle: Pointer; index: Integer; tag: PAnsiChar; content: PAnsiChar): Pointer; cdecl;
  TCkXml_NewChildInt2 = procedure(handle: Pointer; tagPath: PAnsiChar; value: Integer); cdecl;
  TCkXml_NextSibling = function(handle: Pointer): Pointer; cdecl;
  TCkXml_NextSibling2 = function(handle: Pointer): LongBool; cdecl;
  TCkXml_NumChildrenHavingTag = function(handle: Pointer; tag: PAnsiChar): Integer; cdecl;
  TCkXml_PreviousSibling = function(handle: Pointer): Pointer; cdecl;
  TCkXml_PreviousSibling2 = function(handle: Pointer): LongBool; cdecl;
  TCkXml_RemoveAllAttributes = function(handle: Pointer): LongBool; cdecl;
  TCkXml_RemoveAllChildren = procedure(handle: Pointer); cdecl;
  TCkXml_RemoveAttribute = function(handle: Pointer; name: PAnsiChar): LongBool; cdecl;
  TCkXml_RemoveChild = procedure(handle: Pointer; tagPath: PAnsiChar); cdecl;
  TCkXml_RemoveChildByIndex = procedure(handle: Pointer; index: Integer); cdecl;
  TCkXml_RemoveChildWithContent = procedure(handle: Pointer; content: PAnsiChar); cdecl;
  TCkXml_RemoveFromTree = procedure(handle: Pointer); cdecl;
  TCkXml_SaveBinaryContent = function(handle: Pointer; filename: PAnsiChar; unzipFlag: LongBool; decryptFlag: LongBool; password: PAnsiChar): LongBool; cdecl;
  TCkXml_SaveXml = function(handle: Pointer; fileName: PAnsiChar): LongBool; cdecl;
  TCkXml_SearchAllForContent = function(handle: Pointer; afterPtr: Pointer; contentPattern: PAnsiChar): Pointer; cdecl;
  TCkXml_SearchAllForContent2 = function(handle: Pointer; afterPtr: Pointer; contentPattern: PAnsiChar): LongBool; cdecl;
  TCkXml_SearchForAttribute = function(handle: Pointer; afterPtr: Pointer; tag: PAnsiChar; attr: PAnsiChar; valuePattern: PAnsiChar): Pointer; cdecl;
  TCkXml_SearchForAttribute2 = function(handle: Pointer; afterPtr: Pointer; tag: PAnsiChar; attr: PAnsiChar; valuePattern: PAnsiChar): LongBool; cdecl;
  TCkXml_SearchForContent = function(handle: Pointer; afterPtr: Pointer; tag: PAnsiChar; contentPattern: PAnsiChar): Pointer; cdecl;
  TCkXml_SearchForContent2 = function(handle: Pointer; afterPtr: Pointer; tag: PAnsiChar; contentPattern: PAnsiChar): LongBool; cdecl;
  TCkXml_SearchForTag = function(handle: Pointer; afterPtr: Pointer; tag: PAnsiChar): Pointer; cdecl;
  TCkXml_SearchForTag2 = function(handle: Pointer; afterPtr: Pointer; tag: PAnsiChar): LongBool; cdecl;
  TCkXml_SetBinaryContentFromFile = function(handle: Pointer; filename: PAnsiChar; zipFlag: LongBool; encryptFlag: LongBool; password: PAnsiChar): LongBool; cdecl;
  TCkXml_SortByAttribute = procedure(handle: Pointer; attrName: PAnsiChar; ascending: LongBool); cdecl;
  TCkXml_SortByAttributeInt = procedure(handle: Pointer; attrName: PAnsiChar; ascending: LongBool); cdecl;
  TCkXml_SortByContent = procedure(handle: Pointer; ascending: LongBool); cdecl;
  TCkXml_SortByTag = procedure(handle: Pointer; ascending: LongBool); cdecl;
  TCkXml_SortRecordsByAttribute = procedure(handle: Pointer; sortTag: PAnsiChar; attrName: PAnsiChar; ascending: LongBool); cdecl;
  TCkXml_SortRecordsByContent = procedure(handle: Pointer; sortTag: PAnsiChar; ascending: LongBool); cdecl;
  TCkXml_SortRecordsByContentInt = procedure(handle: Pointer; sortTag: PAnsiChar; ascending: LongBool); cdecl;
  TCkXml_SwapNode = function(handle: Pointer; node: Pointer): LongBool; cdecl;
  TCkXml_SwapTree = function(handle: Pointer; tree: Pointer): LongBool; cdecl;
  TCkXml_TagContent = function(handle: Pointer; tagName: PAnsiChar): PAnsiChar; cdecl;
  TCkXml_TagEquals = function(handle: Pointer; tag: PAnsiChar): LongBool; cdecl;
  TCkXml_UnzipContent = function(handle: Pointer): LongBool; cdecl;
  TCkXml_UnzipTree = function(handle: Pointer): LongBool; cdecl;
  TCkXml_UpdateAttribute = function(handle: Pointer; attrName: PAnsiChar; attrValue: PAnsiChar): LongBool; cdecl;
  TCkXml_UpdateAttributeInt = function(handle: Pointer; attrName: PAnsiChar; value: Integer): LongBool; cdecl;
  TCkXml_UpdateChildContent = procedure(handle: Pointer; tagPath: PAnsiChar; value: PAnsiChar); cdecl;
  TCkXml_UpdateChildContentInt = procedure(handle: Pointer; tagPath: PAnsiChar; value: Integer); cdecl;
  TCkXml_ZipContent = function(handle: Pointer): LongBool; cdecl;
  TCkXml_ZipTree = function(handle: Pointer): LongBool; cdecl;
  TCkXml_LoadSb = function(handle: Pointer; sb: Pointer; autoTrim: LongBool): LongBool; cdecl;
  TCkXml_GetXmlSb = function(handle: Pointer; sb: Pointer): LongBool; cdecl;
  TCkXml_NumChildrenAt = function(handle: Pointer; tagPath: PAnsiChar): Integer; cdecl;
  TCkXml_UpdateAt = function(handle: Pointer; tagPath: PAnsiChar; autoCreate: LongBool; value: PAnsiChar): LongBool; cdecl;
  TCkXml_UpdateAttrAt = function(handle: Pointer; tagPath: PAnsiChar; autoCreate: LongBool; attrName: PAnsiChar; attrValue: PAnsiChar): LongBool; cdecl;
  TCkXml_GetChildContentSb = function(handle: Pointer; tagPath: PAnsiChar; sb: Pointer): LongBool; cdecl;
  TCkXml_TagIndex = function(handle: Pointer; tagPath: PAnsiChar): Integer; cdecl;
  TCkXml_TagNsEquals = function(handle: Pointer; ns: PAnsiChar): LongBool; cdecl;
  TCkXml_TagUnpEquals = function(handle: Pointer; unprefixedTag: PAnsiChar): LongBool; cdecl;
  TCkXml_GetChildAttrValue = function(handle: Pointer; tagPath: PAnsiChar; attrName: PAnsiChar): PAnsiChar; cdecl;
  TCkXml_RemoveStyleSheet = function(handle: Pointer; attrName: PAnsiChar; attrValue: PAnsiChar): Integer; cdecl;
  TCkXml_PruneAttribute = function(handle: Pointer; attrName: PAnsiChar): Integer; cdecl;
  TCkXml_PruneTag = function(handle: Pointer; tag: PAnsiChar): Integer; cdecl;
  TCkXml_Scrub = procedure(handle: Pointer; directives: PAnsiChar); cdecl;
  TCkXml_LoadBd = function(handle: Pointer; bd: Pointer; autoTrim: LongBool): LongBool; cdecl;
  TCkXml_GetXmlBd = function(handle: Pointer; bd: Pointer): LongBool; cdecl;
  TCkXml_NextInTraversal2 = function(handle: Pointer; sbState: Pointer): LongBool; cdecl;
  TCkXml_SetBinaryContentBd = function(handle: Pointer; data: Pointer; zipFlag: LongBool; encryptFlag: LongBool; password: PAnsiChar): LongBool; cdecl;
  TCkXml_GetChildWithTag2 = function(handle: Pointer; tagPath: PAnsiChar): LongBool; cdecl;

{ ---- C bridge function pointer variables ---- }
var
  CkXml_Create:  TCkXml_Create  = nil;
  CkXml_Dispose: TCkXml_Dispose = nil;
  CkXml_get_LastErrorHtml: TCkXml_get_LastErrorHtml = nil;
  CkXml_get_LastErrorText: TCkXml_get_LastErrorText = nil;
  CkXml_get_LastErrorXml: TCkXml_get_LastErrorXml = nil;
  CkXml_get_Version: TCkXml_get_Version = nil;
  CkXml_get_DebugLogFilePath: TCkXml_get_DebugLogFilePath = nil;
  CkXml_put_DebugLogFilePath: TCkXml_put_DebugLogFilePath = nil;
  CkXml_get_VerboseLogging: TCkXml_get_VerboseLogging = nil;
  CkXml_put_VerboseLogging: TCkXml_put_VerboseLogging = nil;
  CkXml_get_LastMethodSuccess: TCkXml_get_LastMethodSuccess = nil;
  CkXml_put_LastMethodSuccess: TCkXml_put_LastMethodSuccess = nil;
  CkXml_get_Cdata: TCkXml_get_Cdata = nil;
  CkXml_put_Cdata: TCkXml_put_Cdata = nil;
  CkXml_get_Content: TCkXml_get_Content = nil;
  CkXml_put_Content: TCkXml_put_Content = nil;
  CkXml_get_ContentInt: TCkXml_get_ContentInt = nil;
  CkXml_put_ContentInt: TCkXml_put_ContentInt = nil;
  CkXml_get_DocType: TCkXml_get_DocType = nil;
  CkXml_put_DocType: TCkXml_put_DocType = nil;
  CkXml_get_EmitBom: TCkXml_get_EmitBom = nil;
  CkXml_put_EmitBom: TCkXml_put_EmitBom = nil;
  CkXml_get_EmitXmlDecl: TCkXml_get_EmitXmlDecl = nil;
  CkXml_put_EmitXmlDecl: TCkXml_put_EmitXmlDecl = nil;
  CkXml_get_Encoding: TCkXml_get_Encoding = nil;
  CkXml_put_Encoding: TCkXml_put_Encoding = nil;
  CkXml_get_NumAttributes: TCkXml_get_NumAttributes = nil;
  CkXml_get_NumChildren: TCkXml_get_NumChildren = nil;
  CkXml_get_SortCaseInsensitive: TCkXml_get_SortCaseInsensitive = nil;
  CkXml_put_SortCaseInsensitive: TCkXml_put_SortCaseInsensitive = nil;
  CkXml_get_Standalone: TCkXml_get_Standalone = nil;
  CkXml_put_Standalone: TCkXml_put_Standalone = nil;
  CkXml_get_Strict: TCkXml_get_Strict = nil;
  CkXml_put_Strict: TCkXml_put_Strict = nil;
  CkXml_get_Tag: TCkXml_get_Tag = nil;
  CkXml_put_Tag: TCkXml_put_Tag = nil;
  CkXml_get_TreeId: TCkXml_get_TreeId = nil;
  CkXml_get_I: TCkXml_get_I = nil;
  CkXml_put_I: TCkXml_put_I = nil;
  CkXml_get_J: TCkXml_get_J = nil;
  CkXml_put_J: TCkXml_put_J = nil;
  CkXml_get_K: TCkXml_get_K = nil;
  CkXml_put_K: TCkXml_put_K = nil;
  CkXml_get_EmitCompact: TCkXml_get_EmitCompact = nil;
  CkXml_put_EmitCompact: TCkXml_put_EmitCompact = nil;
  CkXml_get_IsBase64: TCkXml_get_IsBase64 = nil;
  CkXml_get_TagNsPrefix: TCkXml_get_TagNsPrefix = nil;
  CkXml_put_TagNsPrefix: TCkXml_put_TagNsPrefix = nil;
  CkXml_get_TagUnprefixed: TCkXml_get_TagUnprefixed = nil;
  CkXml_put_TagUnprefixed: TCkXml_put_TagUnprefixed = nil;
  CkXml_get_TagPath: TCkXml_get_TagPath = nil;
  CkXml_get_UncommonOptions: TCkXml_get_UncommonOptions = nil;
  CkXml_put_UncommonOptions: TCkXml_put_UncommonOptions = nil;
  CkXml_AccumulateTagContent: TCkXml_AccumulateTagContent = nil;
  CkXml_AddAttribute: TCkXml_AddAttribute = nil;
  CkXml_AddAttributeInt: TCkXml_AddAttributeInt = nil;
  CkXml_AddChildTree: TCkXml_AddChildTree = nil;
  CkXml_AddOrUpdateAttribute: TCkXml_AddOrUpdateAttribute = nil;
  CkXml_AddOrUpdateAttributeI: TCkXml_AddOrUpdateAttributeI = nil;
  CkXml_AddStyleSheet: TCkXml_AddStyleSheet = nil;
  CkXml_AddToAttribute: TCkXml_AddToAttribute = nil;
  CkXml_AddToChildContent: TCkXml_AddToChildContent = nil;
  CkXml_AddToContent: TCkXml_AddToContent = nil;
  CkXml_AppendToContent: TCkXml_AppendToContent = nil;
  CkXml_ChildContentMatches: TCkXml_ChildContentMatches = nil;
  CkXml_ChilkatPath: TCkXml_ChilkatPath = nil;
  CkXml_Clear: TCkXml_Clear = nil;
  CkXml_ContentMatches: TCkXml_ContentMatches = nil;
  CkXml_Copy: TCkXml_Copy = nil;
  CkXml_CopyRef: TCkXml_CopyRef = nil;
  CkXml_DecodeEntities: TCkXml_DecodeEntities = nil;
  CkXml_DecryptContent: TCkXml_DecryptContent = nil;
  CkXml_EncryptContent: TCkXml_EncryptContent = nil;
  CkXml_ExtractChildByIndex: TCkXml_ExtractChildByIndex = nil;
  CkXml_ExtractChildByName: TCkXml_ExtractChildByName = nil;
  CkXml_FindChild: TCkXml_FindChild = nil;
  CkXml_FindChild2: TCkXml_FindChild2 = nil;
  CkXml_FindNextRecord: TCkXml_FindNextRecord = nil;
  CkXml_FindOrAddNewChild: TCkXml_FindOrAddNewChild = nil;
  CkXml_FirstChild: TCkXml_FirstChild = nil;
  CkXml_FirstChild2: TCkXml_FirstChild2 = nil;
  CkXml_GetAttrValue: TCkXml_GetAttrValue = nil;
  CkXml_GetAttrValueInt: TCkXml_GetAttrValueInt = nil;
  CkXml_GetAttributeName: TCkXml_GetAttributeName = nil;
  CkXml_GetAttributeValue: TCkXml_GetAttributeValue = nil;
  CkXml_GetAttributeValueInt: TCkXml_GetAttributeValueInt = nil;
  CkXml_GetChild: TCkXml_GetChild = nil;
  CkXml_GetChild2: TCkXml_GetChild2 = nil;
  CkXml_GetChildBoolValue: TCkXml_GetChildBoolValue = nil;
  CkXml_GetChildContent: TCkXml_GetChildContent = nil;
  CkXml_GetChildContentByIndex: TCkXml_GetChildContentByIndex = nil;
  CkXml_GetChildExact: TCkXml_GetChildExact = nil;
  CkXml_GetChildIntValue: TCkXml_GetChildIntValue = nil;
  CkXml_GetChildTag: TCkXml_GetChildTag = nil;
  CkXml_GetChildTagByIndex: TCkXml_GetChildTagByIndex = nil;
  CkXml_GetChildWithAttr: TCkXml_GetChildWithAttr = nil;
  CkXml_GetChildWithContent: TCkXml_GetChildWithContent = nil;
  CkXml_GetChildWithTag: TCkXml_GetChildWithTag = nil;
  CkXml_GetNthChildWithTag: TCkXml_GetNthChildWithTag = nil;
  CkXml_GetNthChildWithTag2: TCkXml_GetNthChildWithTag2 = nil;
  CkXml_GetParent: TCkXml_GetParent = nil;
  CkXml_GetParent2: TCkXml_GetParent2 = nil;
  CkXml_GetRoot: TCkXml_GetRoot = nil;
  CkXml_GetRoot2: TCkXml_GetRoot2 = nil;
  CkXml_GetSelf: TCkXml_GetSelf = nil;
  CkXml_GetXml: TCkXml_GetXml = nil;
  CkXml_HasAttrWithValue: TCkXml_HasAttrWithValue = nil;
  CkXml_HasAttribute: TCkXml_HasAttribute = nil;
  CkXml_HasChildWithContent: TCkXml_HasChildWithContent = nil;
  CkXml_HasChildWithTag: TCkXml_HasChildWithTag = nil;
  CkXml_HasChildWithTagAndContent: TCkXml_HasChildWithTagAndContent = nil;
  CkXml_InsertChildTreeAfter: TCkXml_InsertChildTreeAfter = nil;
  CkXml_InsertChildTreeBefore: TCkXml_InsertChildTreeBefore = nil;
  CkXml_LastChild: TCkXml_LastChild = nil;
  CkXml_LastChild2: TCkXml_LastChild2 = nil;
  CkXml_LoadXml: TCkXml_LoadXml = nil;
  CkXml_LoadXml2: TCkXml_LoadXml2 = nil;
  CkXml_LoadXmlFile: TCkXml_LoadXmlFile = nil;
  CkXml_LoadXmlFile2: TCkXml_LoadXmlFile2 = nil;
  CkXml_NewChild: TCkXml_NewChild = nil;
  CkXml_NewChild2: TCkXml_NewChild2 = nil;
  CkXml_NewChildAfter: TCkXml_NewChildAfter = nil;
  CkXml_NewChildBefore: TCkXml_NewChildBefore = nil;
  CkXml_NewChildInt2: TCkXml_NewChildInt2 = nil;
  CkXml_NextSibling: TCkXml_NextSibling = nil;
  CkXml_NextSibling2: TCkXml_NextSibling2 = nil;
  CkXml_NumChildrenHavingTag: TCkXml_NumChildrenHavingTag = nil;
  CkXml_PreviousSibling: TCkXml_PreviousSibling = nil;
  CkXml_PreviousSibling2: TCkXml_PreviousSibling2 = nil;
  CkXml_RemoveAllAttributes: TCkXml_RemoveAllAttributes = nil;
  CkXml_RemoveAllChildren: TCkXml_RemoveAllChildren = nil;
  CkXml_RemoveAttribute: TCkXml_RemoveAttribute = nil;
  CkXml_RemoveChild: TCkXml_RemoveChild = nil;
  CkXml_RemoveChildByIndex: TCkXml_RemoveChildByIndex = nil;
  CkXml_RemoveChildWithContent: TCkXml_RemoveChildWithContent = nil;
  CkXml_RemoveFromTree: TCkXml_RemoveFromTree = nil;
  CkXml_SaveBinaryContent: TCkXml_SaveBinaryContent = nil;
  CkXml_SaveXml: TCkXml_SaveXml = nil;
  CkXml_SearchAllForContent: TCkXml_SearchAllForContent = nil;
  CkXml_SearchAllForContent2: TCkXml_SearchAllForContent2 = nil;
  CkXml_SearchForAttribute: TCkXml_SearchForAttribute = nil;
  CkXml_SearchForAttribute2: TCkXml_SearchForAttribute2 = nil;
  CkXml_SearchForContent: TCkXml_SearchForContent = nil;
  CkXml_SearchForContent2: TCkXml_SearchForContent2 = nil;
  CkXml_SearchForTag: TCkXml_SearchForTag = nil;
  CkXml_SearchForTag2: TCkXml_SearchForTag2 = nil;
  CkXml_SetBinaryContentFromFile: TCkXml_SetBinaryContentFromFile = nil;
  CkXml_SortByAttribute: TCkXml_SortByAttribute = nil;
  CkXml_SortByAttributeInt: TCkXml_SortByAttributeInt = nil;
  CkXml_SortByContent: TCkXml_SortByContent = nil;
  CkXml_SortByTag: TCkXml_SortByTag = nil;
  CkXml_SortRecordsByAttribute: TCkXml_SortRecordsByAttribute = nil;
  CkXml_SortRecordsByContent: TCkXml_SortRecordsByContent = nil;
  CkXml_SortRecordsByContentInt: TCkXml_SortRecordsByContentInt = nil;
  CkXml_SwapNode: TCkXml_SwapNode = nil;
  CkXml_SwapTree: TCkXml_SwapTree = nil;
  CkXml_TagContent: TCkXml_TagContent = nil;
  CkXml_TagEquals: TCkXml_TagEquals = nil;
  CkXml_UnzipContent: TCkXml_UnzipContent = nil;
  CkXml_UnzipTree: TCkXml_UnzipTree = nil;
  CkXml_UpdateAttribute: TCkXml_UpdateAttribute = nil;
  CkXml_UpdateAttributeInt: TCkXml_UpdateAttributeInt = nil;
  CkXml_UpdateChildContent: TCkXml_UpdateChildContent = nil;
  CkXml_UpdateChildContentInt: TCkXml_UpdateChildContentInt = nil;
  CkXml_ZipContent: TCkXml_ZipContent = nil;
  CkXml_ZipTree: TCkXml_ZipTree = nil;
  CkXml_LoadSb: TCkXml_LoadSb = nil;
  CkXml_GetXmlSb: TCkXml_GetXmlSb = nil;
  CkXml_NumChildrenAt: TCkXml_NumChildrenAt = nil;
  CkXml_UpdateAt: TCkXml_UpdateAt = nil;
  CkXml_UpdateAttrAt: TCkXml_UpdateAttrAt = nil;
  CkXml_GetChildContentSb: TCkXml_GetChildContentSb = nil;
  CkXml_TagIndex: TCkXml_TagIndex = nil;
  CkXml_TagNsEquals: TCkXml_TagNsEquals = nil;
  CkXml_TagUnpEquals: TCkXml_TagUnpEquals = nil;
  CkXml_GetChildAttrValue: TCkXml_GetChildAttrValue = nil;
  CkXml_RemoveStyleSheet: TCkXml_RemoveStyleSheet = nil;
  CkXml_PruneAttribute: TCkXml_PruneAttribute = nil;
  CkXml_PruneTag: TCkXml_PruneTag = nil;
  CkXml_Scrub: TCkXml_Scrub = nil;
  CkXml_LoadBd: TCkXml_LoadBd = nil;
  CkXml_GetXmlBd: TCkXml_GetXmlBd = nil;
  CkXml_NextInTraversal2: TCkXml_NextInTraversal2 = nil;
  CkXml_SetBinaryContentBd: TCkXml_SetBinaryContentBd = nil;
  CkXml_GetChildWithTag2: TCkXml_GetChildWithTag2 = nil;

constructor TXml.Create;
begin
  inherited Create;
  FHandle := CkXml_Create();
end;

destructor TXml.Destroy;
begin
  if FHandle <> nil then
    CkXml_Dispose(FHandle);
  FHandle := nil;
  inherited;
end;

function TXml.GetLastErrorHtml: string;
begin
  Result := CkToStr(CkXml_get_LastErrorHtml(FHandle));
end;

function TXml.GetLastErrorText: string;
begin
  Result := CkToStr(CkXml_get_LastErrorText(FHandle));
end;

function TXml.GetLastErrorXml: string;
begin
  Result := CkToStr(CkXml_get_LastErrorXml(FHandle));
end;

function TXml.GetVersion: string;
begin
  Result := CkToStr(CkXml_get_Version(FHandle));
end;

function TXml.GetDebugLogFilePath: string;
begin
  Result := CkToStr(CkXml_get_DebugLogFilePath(FHandle));
end;

procedure TXml.SetDebugLogFilePath(AValue: string);
begin
  CkXml_put_DebugLogFilePath(FHandle, PAnsiChar(StrToCk(AValue)));
end;

function TXml.GetVerboseLogging: Boolean;
begin
  Result := Boolean(CkXml_get_VerboseLogging(FHandle));
end;

procedure TXml.SetVerboseLogging(AValue: Boolean);
begin
  CkXml_put_VerboseLogging(FHandle, LongBool(AValue));
end;

function TXml.GetLastMethodSuccess: Boolean;
begin
  Result := Boolean(CkXml_get_LastMethodSuccess(FHandle));
end;

procedure TXml.SetLastMethodSuccess(AValue: Boolean);
begin
  CkXml_put_LastMethodSuccess(FHandle, LongBool(AValue));
end;

function TXml.GetCdata: Boolean;
begin
  Result := Boolean(CkXml_get_Cdata(FHandle));
end;

procedure TXml.SetCdata(AValue: Boolean);
begin
  CkXml_put_Cdata(FHandle, LongBool(AValue));
end;

function TXml.GetContent: string;
begin
  Result := CkToStr(CkXml_get_Content(FHandle));
end;

procedure TXml.SetContent(AValue: string);
begin
  CkXml_put_Content(FHandle, PAnsiChar(StrToCk(AValue)));
end;

function TXml.GetContentInt: Integer;
begin
  Result := CkXml_get_ContentInt(FHandle);
end;

procedure TXml.SetContentInt(AValue: Integer);
begin
  CkXml_put_ContentInt(FHandle, AValue);
end;

function TXml.GetDocType: string;
begin
  Result := CkToStr(CkXml_get_DocType(FHandle));
end;

procedure TXml.SetDocType(AValue: string);
begin
  CkXml_put_DocType(FHandle, PAnsiChar(StrToCk(AValue)));
end;

function TXml.GetEmitBom: Boolean;
begin
  Result := Boolean(CkXml_get_EmitBom(FHandle));
end;

procedure TXml.SetEmitBom(AValue: Boolean);
begin
  CkXml_put_EmitBom(FHandle, LongBool(AValue));
end;

function TXml.GetEmitXmlDecl: Boolean;
begin
  Result := Boolean(CkXml_get_EmitXmlDecl(FHandle));
end;

procedure TXml.SetEmitXmlDecl(AValue: Boolean);
begin
  CkXml_put_EmitXmlDecl(FHandle, LongBool(AValue));
end;

function TXml.GetEncoding: string;
begin
  Result := CkToStr(CkXml_get_Encoding(FHandle));
end;

procedure TXml.SetEncoding(AValue: string);
begin
  CkXml_put_Encoding(FHandle, PAnsiChar(StrToCk(AValue)));
end;

function TXml.GetNumAttributes: Integer;
begin
  Result := CkXml_get_NumAttributes(FHandle);
end;

function TXml.GetNumChildren: Integer;
begin
  Result := CkXml_get_NumChildren(FHandle);
end;

function TXml.GetSortCaseInsensitive: Boolean;
begin
  Result := Boolean(CkXml_get_SortCaseInsensitive(FHandle));
end;

procedure TXml.SetSortCaseInsensitive(AValue: Boolean);
begin
  CkXml_put_SortCaseInsensitive(FHandle, LongBool(AValue));
end;

function TXml.GetStandalone: Boolean;
begin
  Result := Boolean(CkXml_get_Standalone(FHandle));
end;

procedure TXml.SetStandalone(AValue: Boolean);
begin
  CkXml_put_Standalone(FHandle, LongBool(AValue));
end;

function TXml.GetStrict: Boolean;
begin
  Result := Boolean(CkXml_get_Strict(FHandle));
end;

procedure TXml.SetStrict(AValue: Boolean);
begin
  CkXml_put_Strict(FHandle, LongBool(AValue));
end;

function TXml.GetTag: string;
begin
  Result := CkToStr(CkXml_get_Tag(FHandle));
end;

procedure TXml.SetTag(AValue: string);
begin
  CkXml_put_Tag(FHandle, PAnsiChar(StrToCk(AValue)));
end;

function TXml.GetTreeId: Integer;
begin
  Result := CkXml_get_TreeId(FHandle);
end;

function TXml.GetI: Integer;
begin
  Result := CkXml_get_I(FHandle);
end;

procedure TXml.SetI(AValue: Integer);
begin
  CkXml_put_I(FHandle, AValue);
end;

function TXml.GetJ: Integer;
begin
  Result := CkXml_get_J(FHandle);
end;

procedure TXml.SetJ(AValue: Integer);
begin
  CkXml_put_J(FHandle, AValue);
end;

function TXml.GetK: Integer;
begin
  Result := CkXml_get_K(FHandle);
end;

procedure TXml.SetK(AValue: Integer);
begin
  CkXml_put_K(FHandle, AValue);
end;

function TXml.GetEmitCompact: Boolean;
begin
  Result := Boolean(CkXml_get_EmitCompact(FHandle));
end;

procedure TXml.SetEmitCompact(AValue: Boolean);
begin
  CkXml_put_EmitCompact(FHandle, LongBool(AValue));
end;

function TXml.GetIsBase64: Boolean;
begin
  Result := Boolean(CkXml_get_IsBase64(FHandle));
end;

function TXml.GetTagNsPrefix: string;
begin
  Result := CkToStr(CkXml_get_TagNsPrefix(FHandle));
end;

procedure TXml.SetTagNsPrefix(AValue: string);
begin
  CkXml_put_TagNsPrefix(FHandle, PAnsiChar(StrToCk(AValue)));
end;

function TXml.GetTagUnprefixed: string;
begin
  Result := CkToStr(CkXml_get_TagUnprefixed(FHandle));
end;

procedure TXml.SetTagUnprefixed(AValue: string);
begin
  CkXml_put_TagUnprefixed(FHandle, PAnsiChar(StrToCk(AValue)));
end;

function TXml.GetTagPath: string;
begin
  Result := CkToStr(CkXml_get_TagPath(FHandle));
end;

function TXml.GetUncommonOptions: string;
begin
  Result := CkToStr(CkXml_get_UncommonOptions(FHandle));
end;

procedure TXml.SetUncommonOptions(AValue: string);
begin
  CkXml_put_UncommonOptions(FHandle, PAnsiChar(StrToCk(AValue)));
end;

function TXml.AccumulateTagContent(const tag: string; const skipTags: string): string;
begin
  Result := CkToStr(CkXml_AccumulateTagContent(FHandle, PAnsiChar(StrToCk(tag)), PAnsiChar(StrToCk(skipTags))));
end;

function TXml.AddAttribute(const name: string; const value: string): Boolean;
begin
  Result := Boolean(CkXml_AddAttribute(FHandle, PAnsiChar(StrToCk(name)), PAnsiChar(StrToCk(value))));
end;

function TXml.AddAttributeInt(const name: string; value: Integer): Boolean;
begin
  Result := Boolean(CkXml_AddAttributeInt(FHandle, PAnsiChar(StrToCk(name)), value));
end;

function TXml.AddChildTree(tree: TChilkatBase): Boolean;
begin
  Result := Boolean(CkXml_AddChildTree(FHandle, tree.Handle));
end;

procedure TXml.AddOrUpdateAttribute(const name: string; const value: string);
begin
  CkXml_AddOrUpdateAttribute(FHandle, PAnsiChar(StrToCk(name)), PAnsiChar(StrToCk(value)));
end;

procedure TXml.AddOrUpdateAttributeI(const name: string; value: Integer);
begin
  CkXml_AddOrUpdateAttributeI(FHandle, PAnsiChar(StrToCk(name)), value);
end;

procedure TXml.AddStyleSheet(const styleSheet: string);
begin
  CkXml_AddStyleSheet(FHandle, PAnsiChar(StrToCk(styleSheet)));
end;

procedure TXml.AddToAttribute(const name: string; amount: Integer);
begin
  CkXml_AddToAttribute(FHandle, PAnsiChar(StrToCk(name)), amount);
end;

procedure TXml.AddToChildContent(const tag: string; amount: Integer);
begin
  CkXml_AddToChildContent(FHandle, PAnsiChar(StrToCk(tag)), amount);
end;

procedure TXml.AddToContent(amount: Integer);
begin
  CkXml_AddToContent(FHandle, amount);
end;

function TXml.AppendToContent(const str: string): Boolean;
begin
  Result := Boolean(CkXml_AppendToContent(FHandle, PAnsiChar(StrToCk(str))));
end;

function TXml.ChildContentMatches(const tagPath: string; const pattern: string; caseSensitive: Boolean): Boolean;
begin
  Result := Boolean(CkXml_ChildContentMatches(FHandle, PAnsiChar(StrToCk(tagPath)), PAnsiChar(StrToCk(pattern)), LongBool(caseSensitive)));
end;

function TXml.ChilkatPath(const pathCmd: string): string;
begin
  Result := CkToStr(CkXml_ChilkatPath(FHandle, PAnsiChar(StrToCk(pathCmd))));
end;

procedure TXml.Clear;
begin
  CkXml_Clear(FHandle);
end;

function TXml.ContentMatches(const pattern: string; caseSensitive: Boolean): Boolean;
begin
  Result := Boolean(CkXml_ContentMatches(FHandle, PAnsiChar(StrToCk(pattern)), LongBool(caseSensitive)));
end;

procedure TXml.Copy(node: TChilkatBase);
begin
  CkXml_Copy(FHandle, node.Handle);
end;

procedure TXml.CopyRef(copyFromNode: TChilkatBase);
begin
  CkXml_CopyRef(FHandle, copyFromNode.Handle);
end;

function TXml.DecodeEntities(const str: string): string;
begin
  Result := CkToStr(CkXml_DecodeEntities(FHandle, PAnsiChar(StrToCk(str))));
end;

function TXml.DecryptContent(const password: string): Boolean;
begin
  Result := Boolean(CkXml_DecryptContent(FHandle, PAnsiChar(StrToCk(password))));
end;

function TXml.EncryptContent(const password: string): Boolean;
begin
  Result := Boolean(CkXml_EncryptContent(FHandle, PAnsiChar(StrToCk(password))));
end;

function TXml.ExtractChildByIndex(index: Integer): TChilkatBase;
begin
  Result := TChilkatBase.CreateFromHandle(CkXml_ExtractChildByIndex(FHandle, index));
end;

function TXml.ExtractChildByName(const tagPath: string; const attrName: string; const attrValue: string): TChilkatBase;
begin
  Result := TChilkatBase.CreateFromHandle(CkXml_ExtractChildByName(FHandle, PAnsiChar(StrToCk(tagPath)), PAnsiChar(StrToCk(attrName)), PAnsiChar(StrToCk(attrValue))));
end;

function TXml.FindChild(const tagPath: string): TChilkatBase;
begin
  Result := TChilkatBase.CreateFromHandle(CkXml_FindChild(FHandle, PAnsiChar(StrToCk(tagPath))));
end;

function TXml.FindChild2(const tagPath: string): Boolean;
begin
  Result := Boolean(CkXml_FindChild2(FHandle, PAnsiChar(StrToCk(tagPath))));
end;

function TXml.FindNextRecord(const tagPath: string; const contentPattern: string): TChilkatBase;
begin
  Result := TChilkatBase.CreateFromHandle(CkXml_FindNextRecord(FHandle, PAnsiChar(StrToCk(tagPath)), PAnsiChar(StrToCk(contentPattern))));
end;

function TXml.FindOrAddNewChild(const tagPath: string): TChilkatBase;
begin
  Result := TChilkatBase.CreateFromHandle(CkXml_FindOrAddNewChild(FHandle, PAnsiChar(StrToCk(tagPath))));
end;

function TXml.FirstChild: TChilkatBase;
begin
  Result := TChilkatBase.CreateFromHandle(CkXml_FirstChild(FHandle));
end;

function TXml.FirstChild2: Boolean;
begin
  Result := Boolean(CkXml_FirstChild2(FHandle));
end;

function TXml.GetAttrValue(const name: string): string;
begin
  Result := CkToStr(CkXml_GetAttrValue(FHandle, PAnsiChar(StrToCk(name))));
end;

function TXml.GetAttrValueInt(const name: string): Integer;
begin
  Result := CkXml_GetAttrValueInt(FHandle, PAnsiChar(StrToCk(name)));
end;

function TXml.GetAttributeName(index: Integer): string;
begin
  Result := CkToStr(CkXml_GetAttributeName(FHandle, index));
end;

function TXml.GetAttributeValue(index: Integer): string;
begin
  Result := CkToStr(CkXml_GetAttributeValue(FHandle, index));
end;

function TXml.GetAttributeValueInt(index: Integer): Integer;
begin
  Result := CkXml_GetAttributeValueInt(FHandle, index);
end;

function TXml.GetChild(index: Integer): TChilkatBase;
begin
  Result := TChilkatBase.CreateFromHandle(CkXml_GetChild(FHandle, index));
end;

function TXml.GetChild2(index: Integer): Boolean;
begin
  Result := Boolean(CkXml_GetChild2(FHandle, index));
end;

function TXml.GetChildBoolValue(const tagPath: string): Boolean;
begin
  Result := Boolean(CkXml_GetChildBoolValue(FHandle, PAnsiChar(StrToCk(tagPath))));
end;

function TXml.GetChildContent(const tagPath: string): string;
begin
  Result := CkToStr(CkXml_GetChildContent(FHandle, PAnsiChar(StrToCk(tagPath))));
end;

function TXml.GetChildContentByIndex(index: Integer): string;
begin
  Result := CkToStr(CkXml_GetChildContentByIndex(FHandle, index));
end;

function TXml.GetChildExact(const tag: string; const content: string): TChilkatBase;
begin
  Result := TChilkatBase.CreateFromHandle(CkXml_GetChildExact(FHandle, PAnsiChar(StrToCk(tag)), PAnsiChar(StrToCk(content))));
end;

function TXml.GetChildIntValue(const tagPath: string): Integer;
begin
  Result := CkXml_GetChildIntValue(FHandle, PAnsiChar(StrToCk(tagPath)));
end;

function TXml.GetChildTag(index: Integer): string;
begin
  Result := CkToStr(CkXml_GetChildTag(FHandle, index));
end;

function TXml.GetChildTagByIndex(index: Integer): string;
begin
  Result := CkToStr(CkXml_GetChildTagByIndex(FHandle, index));
end;

function TXml.GetChildWithAttr(const tagPath: string; const attrName: string; const attrValue: string): TChilkatBase;
begin
  Result := TChilkatBase.CreateFromHandle(CkXml_GetChildWithAttr(FHandle, PAnsiChar(StrToCk(tagPath)), PAnsiChar(StrToCk(attrName)), PAnsiChar(StrToCk(attrValue))));
end;

function TXml.GetChildWithContent(const content: string): TChilkatBase;
begin
  Result := TChilkatBase.CreateFromHandle(CkXml_GetChildWithContent(FHandle, PAnsiChar(StrToCk(content))));
end;

function TXml.GetChildWithTag(const tagPath: string): TChilkatBase;
begin
  Result := TChilkatBase.CreateFromHandle(CkXml_GetChildWithTag(FHandle, PAnsiChar(StrToCk(tagPath))));
end;

function TXml.GetNthChildWithTag(const tag: string; n: Integer): TChilkatBase;
begin
  Result := TChilkatBase.CreateFromHandle(CkXml_GetNthChildWithTag(FHandle, PAnsiChar(StrToCk(tag)), n));
end;

function TXml.GetNthChildWithTag2(const tag: string; n: Integer): Boolean;
begin
  Result := Boolean(CkXml_GetNthChildWithTag2(FHandle, PAnsiChar(StrToCk(tag)), n));
end;

function TXml.GetParent: TChilkatBase;
begin
  Result := TChilkatBase.CreateFromHandle(CkXml_GetParent(FHandle));
end;

function TXml.GetParent2: Boolean;
begin
  Result := Boolean(CkXml_GetParent2(FHandle));
end;

function TXml.GetRoot: TChilkatBase;
begin
  Result := TChilkatBase.CreateFromHandle(CkXml_GetRoot(FHandle));
end;

procedure TXml.GetRoot2;
begin
  CkXml_GetRoot2(FHandle);
end;

function TXml.GetSelf: TChilkatBase;
begin
  Result := TChilkatBase.CreateFromHandle(CkXml_GetSelf(FHandle));
end;

function TXml.GetXml: string;
begin
  Result := CkToStr(CkXml_GetXml(FHandle));
end;

function TXml.HasAttrWithValue(const name: string; const value: string): Boolean;
begin
  Result := Boolean(CkXml_HasAttrWithValue(FHandle, PAnsiChar(StrToCk(name)), PAnsiChar(StrToCk(value))));
end;

function TXml.HasAttribute(const name: string): Boolean;
begin
  Result := Boolean(CkXml_HasAttribute(FHandle, PAnsiChar(StrToCk(name))));
end;

function TXml.HasChildWithContent(const content: string): Boolean;
begin
  Result := Boolean(CkXml_HasChildWithContent(FHandle, PAnsiChar(StrToCk(content))));
end;

function TXml.HasChildWithTag(const tagPath: string): Boolean;
begin
  Result := Boolean(CkXml_HasChildWithTag(FHandle, PAnsiChar(StrToCk(tagPath))));
end;

function TXml.HasChildWithTagAndContent(const tagPath: string; const content: string): Boolean;
begin
  Result := Boolean(CkXml_HasChildWithTagAndContent(FHandle, PAnsiChar(StrToCk(tagPath)), PAnsiChar(StrToCk(content))));
end;

procedure TXml.InsertChildTreeAfter(index: Integer; tree: TChilkatBase);
begin
  CkXml_InsertChildTreeAfter(FHandle, index, tree.Handle);
end;

procedure TXml.InsertChildTreeBefore(index: Integer; tree: TChilkatBase);
begin
  CkXml_InsertChildTreeBefore(FHandle, index, tree.Handle);
end;

function TXml.LastChild: TChilkatBase;
begin
  Result := TChilkatBase.CreateFromHandle(CkXml_LastChild(FHandle));
end;

function TXml.LastChild2: Boolean;
begin
  Result := Boolean(CkXml_LastChild2(FHandle));
end;

function TXml.LoadXml(const xmlData: string): Boolean;
begin
  Result := Boolean(CkXml_LoadXml(FHandle, PAnsiChar(StrToCk(xmlData))));
end;

function TXml.LoadXml2(const xmlData: string; autoTrim: Boolean): Boolean;
begin
  Result := Boolean(CkXml_LoadXml2(FHandle, PAnsiChar(StrToCk(xmlData)), LongBool(autoTrim)));
end;

function TXml.LoadXmlFile(const fileName: string): Boolean;
begin
  Result := Boolean(CkXml_LoadXmlFile(FHandle, PAnsiChar(StrToCk(fileName))));
end;

function TXml.LoadXmlFile2(const fileName: string; autoTrim: Boolean): Boolean;
begin
  Result := Boolean(CkXml_LoadXmlFile2(FHandle, PAnsiChar(StrToCk(fileName)), LongBool(autoTrim)));
end;

function TXml.NewChild(const tagPath: string; const content: string): TChilkatBase;
begin
  Result := TChilkatBase.CreateFromHandle(CkXml_NewChild(FHandle, PAnsiChar(StrToCk(tagPath)), PAnsiChar(StrToCk(content))));
end;

procedure TXml.NewChild2(const tagPath: string; const content: string);
begin
  CkXml_NewChild2(FHandle, PAnsiChar(StrToCk(tagPath)), PAnsiChar(StrToCk(content)));
end;

function TXml.NewChildAfter(index: Integer; const tag: string; const content: string): TChilkatBase;
begin
  Result := TChilkatBase.CreateFromHandle(CkXml_NewChildAfter(FHandle, index, PAnsiChar(StrToCk(tag)), PAnsiChar(StrToCk(content))));
end;

function TXml.NewChildBefore(index: Integer; const tag: string; const content: string): TChilkatBase;
begin
  Result := TChilkatBase.CreateFromHandle(CkXml_NewChildBefore(FHandle, index, PAnsiChar(StrToCk(tag)), PAnsiChar(StrToCk(content))));
end;

procedure TXml.NewChildInt2(const tagPath: string; value: Integer);
begin
  CkXml_NewChildInt2(FHandle, PAnsiChar(StrToCk(tagPath)), value);
end;

function TXml.NextSibling: TChilkatBase;
begin
  Result := TChilkatBase.CreateFromHandle(CkXml_NextSibling(FHandle));
end;

function TXml.NextSibling2: Boolean;
begin
  Result := Boolean(CkXml_NextSibling2(FHandle));
end;

function TXml.NumChildrenHavingTag(const tag: string): Integer;
begin
  Result := CkXml_NumChildrenHavingTag(FHandle, PAnsiChar(StrToCk(tag)));
end;

function TXml.PreviousSibling: TChilkatBase;
begin
  Result := TChilkatBase.CreateFromHandle(CkXml_PreviousSibling(FHandle));
end;

function TXml.PreviousSibling2: Boolean;
begin
  Result := Boolean(CkXml_PreviousSibling2(FHandle));
end;

function TXml.RemoveAllAttributes: Boolean;
begin
  Result := Boolean(CkXml_RemoveAllAttributes(FHandle));
end;

procedure TXml.RemoveAllChildren;
begin
  CkXml_RemoveAllChildren(FHandle);
end;

function TXml.RemoveAttribute(const name: string): Boolean;
begin
  Result := Boolean(CkXml_RemoveAttribute(FHandle, PAnsiChar(StrToCk(name))));
end;

procedure TXml.RemoveChild(const tagPath: string);
begin
  CkXml_RemoveChild(FHandle, PAnsiChar(StrToCk(tagPath)));
end;

procedure TXml.RemoveChildByIndex(index: Integer);
begin
  CkXml_RemoveChildByIndex(FHandle, index);
end;

procedure TXml.RemoveChildWithContent(const content: string);
begin
  CkXml_RemoveChildWithContent(FHandle, PAnsiChar(StrToCk(content)));
end;

procedure TXml.RemoveFromTree;
begin
  CkXml_RemoveFromTree(FHandle);
end;

function TXml.SaveBinaryContent(const filename: string; unzipFlag: Boolean; decryptFlag: Boolean; const password: string): Boolean;
begin
  Result := Boolean(CkXml_SaveBinaryContent(FHandle, PAnsiChar(StrToCk(filename)), LongBool(unzipFlag), LongBool(decryptFlag), PAnsiChar(StrToCk(password))));
end;

function TXml.SaveXml(const fileName: string): Boolean;
begin
  Result := Boolean(CkXml_SaveXml(FHandle, PAnsiChar(StrToCk(fileName))));
end;

function TXml.SearchAllForContent(afterPtr: TChilkatBase; const contentPattern: string): TChilkatBase;
begin
  Result := TChilkatBase.CreateFromHandle(CkXml_SearchAllForContent(FHandle, afterPtr.Handle, PAnsiChar(StrToCk(contentPattern))));
end;

function TXml.SearchAllForContent2(afterPtr: TChilkatBase; const contentPattern: string): Boolean;
begin
  Result := Boolean(CkXml_SearchAllForContent2(FHandle, afterPtr.Handle, PAnsiChar(StrToCk(contentPattern))));
end;

function TXml.SearchForAttribute(afterPtr: TChilkatBase; const tag: string; const attr: string; const valuePattern: string): TChilkatBase;
begin
  Result := TChilkatBase.CreateFromHandle(CkXml_SearchForAttribute(FHandle, afterPtr.Handle, PAnsiChar(StrToCk(tag)), PAnsiChar(StrToCk(attr)), PAnsiChar(StrToCk(valuePattern))));
end;

function TXml.SearchForAttribute2(afterPtr: TChilkatBase; const tag: string; const attr: string; const valuePattern: string): Boolean;
begin
  Result := Boolean(CkXml_SearchForAttribute2(FHandle, afterPtr.Handle, PAnsiChar(StrToCk(tag)), PAnsiChar(StrToCk(attr)), PAnsiChar(StrToCk(valuePattern))));
end;

function TXml.SearchForContent(afterPtr: TChilkatBase; const tag: string; const contentPattern: string): TChilkatBase;
begin
  Result := TChilkatBase.CreateFromHandle(CkXml_SearchForContent(FHandle, afterPtr.Handle, PAnsiChar(StrToCk(tag)), PAnsiChar(StrToCk(contentPattern))));
end;

function TXml.SearchForContent2(afterPtr: TChilkatBase; const tag: string; const contentPattern: string): Boolean;
begin
  Result := Boolean(CkXml_SearchForContent2(FHandle, afterPtr.Handle, PAnsiChar(StrToCk(tag)), PAnsiChar(StrToCk(contentPattern))));
end;

function TXml.SearchForTag(afterPtr: TChilkatBase; const tag: string): TChilkatBase;
begin
  Result := TChilkatBase.CreateFromHandle(CkXml_SearchForTag(FHandle, afterPtr.Handle, PAnsiChar(StrToCk(tag))));
end;

function TXml.SearchForTag2(afterPtr: TChilkatBase; const tag: string): Boolean;
begin
  Result := Boolean(CkXml_SearchForTag2(FHandle, afterPtr.Handle, PAnsiChar(StrToCk(tag))));
end;

function TXml.SetBinaryContentFromFile(const filename: string; zipFlag: Boolean; encryptFlag: Boolean; const password: string): Boolean;
begin
  Result := Boolean(CkXml_SetBinaryContentFromFile(FHandle, PAnsiChar(StrToCk(filename)), LongBool(zipFlag), LongBool(encryptFlag), PAnsiChar(StrToCk(password))));
end;

procedure TXml.SortByAttribute(const attrName: string; ascending: Boolean);
begin
  CkXml_SortByAttribute(FHandle, PAnsiChar(StrToCk(attrName)), LongBool(ascending));
end;

procedure TXml.SortByAttributeInt(const attrName: string; ascending: Boolean);
begin
  CkXml_SortByAttributeInt(FHandle, PAnsiChar(StrToCk(attrName)), LongBool(ascending));
end;

procedure TXml.SortByContent(ascending: Boolean);
begin
  CkXml_SortByContent(FHandle, LongBool(ascending));
end;

procedure TXml.SortByTag(ascending: Boolean);
begin
  CkXml_SortByTag(FHandle, LongBool(ascending));
end;

procedure TXml.SortRecordsByAttribute(const sortTag: string; const attrName: string; ascending: Boolean);
begin
  CkXml_SortRecordsByAttribute(FHandle, PAnsiChar(StrToCk(sortTag)), PAnsiChar(StrToCk(attrName)), LongBool(ascending));
end;

procedure TXml.SortRecordsByContent(const sortTag: string; ascending: Boolean);
begin
  CkXml_SortRecordsByContent(FHandle, PAnsiChar(StrToCk(sortTag)), LongBool(ascending));
end;

procedure TXml.SortRecordsByContentInt(const sortTag: string; ascending: Boolean);
begin
  CkXml_SortRecordsByContentInt(FHandle, PAnsiChar(StrToCk(sortTag)), LongBool(ascending));
end;

function TXml.SwapNode(node: TChilkatBase): Boolean;
begin
  Result := Boolean(CkXml_SwapNode(FHandle, node.Handle));
end;

function TXml.SwapTree(tree: TChilkatBase): Boolean;
begin
  Result := Boolean(CkXml_SwapTree(FHandle, tree.Handle));
end;

function TXml.TagContent(const tagName: string): string;
begin
  Result := CkToStr(CkXml_TagContent(FHandle, PAnsiChar(StrToCk(tagName))));
end;

function TXml.TagEquals(const tag: string): Boolean;
begin
  Result := Boolean(CkXml_TagEquals(FHandle, PAnsiChar(StrToCk(tag))));
end;

function TXml.UnzipContent: Boolean;
begin
  Result := Boolean(CkXml_UnzipContent(FHandle));
end;

function TXml.UnzipTree: Boolean;
begin
  Result := Boolean(CkXml_UnzipTree(FHandle));
end;

function TXml.UpdateAttribute(const attrName: string; const attrValue: string): Boolean;
begin
  Result := Boolean(CkXml_UpdateAttribute(FHandle, PAnsiChar(StrToCk(attrName)), PAnsiChar(StrToCk(attrValue))));
end;

function TXml.UpdateAttributeInt(const attrName: string; value: Integer): Boolean;
begin
  Result := Boolean(CkXml_UpdateAttributeInt(FHandle, PAnsiChar(StrToCk(attrName)), value));
end;

procedure TXml.UpdateChildContent(const tagPath: string; const value: string);
begin
  CkXml_UpdateChildContent(FHandle, PAnsiChar(StrToCk(tagPath)), PAnsiChar(StrToCk(value)));
end;

procedure TXml.UpdateChildContentInt(const tagPath: string; value: Integer);
begin
  CkXml_UpdateChildContentInt(FHandle, PAnsiChar(StrToCk(tagPath)), value);
end;

function TXml.ZipContent: Boolean;
begin
  Result := Boolean(CkXml_ZipContent(FHandle));
end;

function TXml.ZipTree: Boolean;
begin
  Result := Boolean(CkXml_ZipTree(FHandle));
end;

function TXml.LoadSb(sb: TChilkatBase; autoTrim: Boolean): Boolean;
begin
  Result := Boolean(CkXml_LoadSb(FHandle, sb.Handle, LongBool(autoTrim)));
end;

function TXml.GetXmlSb(sb: TChilkatBase): Boolean;
begin
  Result := Boolean(CkXml_GetXmlSb(FHandle, sb.Handle));
end;

function TXml.NumChildrenAt(const tagPath: string): Integer;
begin
  Result := CkXml_NumChildrenAt(FHandle, PAnsiChar(StrToCk(tagPath)));
end;

function TXml.UpdateAt(const tagPath: string; autoCreate: Boolean; const value: string): Boolean;
begin
  Result := Boolean(CkXml_UpdateAt(FHandle, PAnsiChar(StrToCk(tagPath)), LongBool(autoCreate), PAnsiChar(StrToCk(value))));
end;

function TXml.UpdateAttrAt(const tagPath: string; autoCreate: Boolean; const attrName: string; const attrValue: string): Boolean;
begin
  Result := Boolean(CkXml_UpdateAttrAt(FHandle, PAnsiChar(StrToCk(tagPath)), LongBool(autoCreate), PAnsiChar(StrToCk(attrName)), PAnsiChar(StrToCk(attrValue))));
end;

function TXml.GetChildContentSb(const tagPath: string; sb: TChilkatBase): Boolean;
begin
  Result := Boolean(CkXml_GetChildContentSb(FHandle, PAnsiChar(StrToCk(tagPath)), sb.Handle));
end;

function TXml.TagIndex(const tagPath: string): Integer;
begin
  Result := CkXml_TagIndex(FHandle, PAnsiChar(StrToCk(tagPath)));
end;

function TXml.TagNsEquals(const ns: string): Boolean;
begin
  Result := Boolean(CkXml_TagNsEquals(FHandle, PAnsiChar(StrToCk(ns))));
end;

function TXml.TagUnpEquals(const unprefixedTag: string): Boolean;
begin
  Result := Boolean(CkXml_TagUnpEquals(FHandle, PAnsiChar(StrToCk(unprefixedTag))));
end;

function TXml.GetChildAttrValue(const tagPath: string; const attrName: string): string;
begin
  Result := CkToStr(CkXml_GetChildAttrValue(FHandle, PAnsiChar(StrToCk(tagPath)), PAnsiChar(StrToCk(attrName))));
end;

function TXml.RemoveStyleSheet(const attrName: string; const attrValue: string): Integer;
begin
  Result := CkXml_RemoveStyleSheet(FHandle, PAnsiChar(StrToCk(attrName)), PAnsiChar(StrToCk(attrValue)));
end;

function TXml.PruneAttribute(const attrName: string): Integer;
begin
  Result := CkXml_PruneAttribute(FHandle, PAnsiChar(StrToCk(attrName)));
end;

function TXml.PruneTag(const tag: string): Integer;
begin
  Result := CkXml_PruneTag(FHandle, PAnsiChar(StrToCk(tag)));
end;

procedure TXml.Scrub(const directives: string);
begin
  CkXml_Scrub(FHandle, PAnsiChar(StrToCk(directives)));
end;

function TXml.LoadBd(bd: TChilkatBase; autoTrim: Boolean): Boolean;
begin
  Result := Boolean(CkXml_LoadBd(FHandle, bd.Handle, LongBool(autoTrim)));
end;

function TXml.GetXmlBd(bd: TChilkatBase): Boolean;
begin
  Result := Boolean(CkXml_GetXmlBd(FHandle, bd.Handle));
end;

function TXml.NextInTraversal2(sbState: TChilkatBase): Boolean;
begin
  Result := Boolean(CkXml_NextInTraversal2(FHandle, sbState.Handle));
end;

function TXml.SetBinaryContentBd(data: TChilkatBase; zipFlag: Boolean; encryptFlag: Boolean; const password: string): Boolean;
begin
  Result := Boolean(CkXml_SetBinaryContentBd(FHandle, data.Handle, LongBool(zipFlag), LongBool(encryptFlag), PAnsiChar(StrToCk(password))));
end;

function TXml.GetChildWithTag2(const tagPath: string): Boolean;
begin
  Result := Boolean(CkXml_GetChildWithTag2(FHandle, PAnsiChar(StrToCk(tagPath))));
end;

initialization
  Chilkat_GetProcedureAddress(CkXml_Create,  'CkXml_Create');
  Chilkat_GetProcedureAddress(CkXml_Dispose, 'CkXml_Dispose');
  Chilkat_GetProcedureAddress(CkXml_get_LastErrorHtml, 'CkXml_get_LastErrorHtml');
  Chilkat_GetProcedureAddress(CkXml_get_LastErrorText, 'CkXml_get_LastErrorText');
  Chilkat_GetProcedureAddress(CkXml_get_LastErrorXml, 'CkXml_get_LastErrorXml');
  Chilkat_GetProcedureAddress(CkXml_get_Version, 'CkXml_get_Version');
  Chilkat_GetProcedureAddress(CkXml_get_DebugLogFilePath, 'CkXml_get_DebugLogFilePath');
  Chilkat_GetProcedureAddress(CkXml_put_DebugLogFilePath, 'CkXml_put_DebugLogFilePath');
  Chilkat_GetProcedureAddress(CkXml_get_VerboseLogging, 'CkXml_get_VerboseLogging');
  Chilkat_GetProcedureAddress(CkXml_put_VerboseLogging, 'CkXml_put_VerboseLogging');
  Chilkat_GetProcedureAddress(CkXml_get_LastMethodSuccess, 'CkXml_get_LastMethodSuccess');
  Chilkat_GetProcedureAddress(CkXml_put_LastMethodSuccess, 'CkXml_put_LastMethodSuccess');
  Chilkat_GetProcedureAddress(CkXml_get_Cdata, 'CkXml_get_Cdata');
  Chilkat_GetProcedureAddress(CkXml_put_Cdata, 'CkXml_put_Cdata');
  Chilkat_GetProcedureAddress(CkXml_get_Content, 'CkXml_get_Content');
  Chilkat_GetProcedureAddress(CkXml_put_Content, 'CkXml_put_Content');
  Chilkat_GetProcedureAddress(CkXml_get_ContentInt, 'CkXml_get_ContentInt');
  Chilkat_GetProcedureAddress(CkXml_put_ContentInt, 'CkXml_put_ContentInt');
  Chilkat_GetProcedureAddress(CkXml_get_DocType, 'CkXml_get_DocType');
  Chilkat_GetProcedureAddress(CkXml_put_DocType, 'CkXml_put_DocType');
  Chilkat_GetProcedureAddress(CkXml_get_EmitBom, 'CkXml_get_EmitBom');
  Chilkat_GetProcedureAddress(CkXml_put_EmitBom, 'CkXml_put_EmitBom');
  Chilkat_GetProcedureAddress(CkXml_get_EmitXmlDecl, 'CkXml_get_EmitXmlDecl');
  Chilkat_GetProcedureAddress(CkXml_put_EmitXmlDecl, 'CkXml_put_EmitXmlDecl');
  Chilkat_GetProcedureAddress(CkXml_get_Encoding, 'CkXml_get_Encoding');
  Chilkat_GetProcedureAddress(CkXml_put_Encoding, 'CkXml_put_Encoding');
  Chilkat_GetProcedureAddress(CkXml_get_NumAttributes, 'CkXml_get_NumAttributes');
  Chilkat_GetProcedureAddress(CkXml_get_NumChildren, 'CkXml_get_NumChildren');
  Chilkat_GetProcedureAddress(CkXml_get_SortCaseInsensitive, 'CkXml_get_SortCaseInsensitive');
  Chilkat_GetProcedureAddress(CkXml_put_SortCaseInsensitive, 'CkXml_put_SortCaseInsensitive');
  Chilkat_GetProcedureAddress(CkXml_get_Standalone, 'CkXml_get_Standalone');
  Chilkat_GetProcedureAddress(CkXml_put_Standalone, 'CkXml_put_Standalone');
  Chilkat_GetProcedureAddress(CkXml_get_Strict, 'CkXml_get_Strict');
  Chilkat_GetProcedureAddress(CkXml_put_Strict, 'CkXml_put_Strict');
  Chilkat_GetProcedureAddress(CkXml_get_Tag, 'CkXml_get_Tag');
  Chilkat_GetProcedureAddress(CkXml_put_Tag, 'CkXml_put_Tag');
  Chilkat_GetProcedureAddress(CkXml_get_TreeId, 'CkXml_get_TreeId');
  Chilkat_GetProcedureAddress(CkXml_get_I, 'CkXml_get_I');
  Chilkat_GetProcedureAddress(CkXml_put_I, 'CkXml_put_I');
  Chilkat_GetProcedureAddress(CkXml_get_J, 'CkXml_get_J');
  Chilkat_GetProcedureAddress(CkXml_put_J, 'CkXml_put_J');
  Chilkat_GetProcedureAddress(CkXml_get_K, 'CkXml_get_K');
  Chilkat_GetProcedureAddress(CkXml_put_K, 'CkXml_put_K');
  Chilkat_GetProcedureAddress(CkXml_get_EmitCompact, 'CkXml_get_EmitCompact');
  Chilkat_GetProcedureAddress(CkXml_put_EmitCompact, 'CkXml_put_EmitCompact');
  Chilkat_GetProcedureAddress(CkXml_get_IsBase64, 'CkXml_get_IsBase64');
  Chilkat_GetProcedureAddress(CkXml_get_TagNsPrefix, 'CkXml_get_TagNsPrefix');
  Chilkat_GetProcedureAddress(CkXml_put_TagNsPrefix, 'CkXml_put_TagNsPrefix');
  Chilkat_GetProcedureAddress(CkXml_get_TagUnprefixed, 'CkXml_get_TagUnprefixed');
  Chilkat_GetProcedureAddress(CkXml_put_TagUnprefixed, 'CkXml_put_TagUnprefixed');
  Chilkat_GetProcedureAddress(CkXml_get_TagPath, 'CkXml_get_TagPath');
  Chilkat_GetProcedureAddress(CkXml_get_UncommonOptions, 'CkXml_get_UncommonOptions');
  Chilkat_GetProcedureAddress(CkXml_put_UncommonOptions, 'CkXml_put_UncommonOptions');
  Chilkat_GetProcedureAddress(CkXml_AccumulateTagContent, 'CkXml_AccumulateTagContent');
  Chilkat_GetProcedureAddress(CkXml_AddAttribute, 'CkXml_AddAttribute');
  Chilkat_GetProcedureAddress(CkXml_AddAttributeInt, 'CkXml_AddAttributeInt');
  Chilkat_GetProcedureAddress(CkXml_AddChildTree, 'CkXml_AddChildTree');
  Chilkat_GetProcedureAddress(CkXml_AddOrUpdateAttribute, 'CkXml_AddOrUpdateAttribute');
  Chilkat_GetProcedureAddress(CkXml_AddOrUpdateAttributeI, 'CkXml_AddOrUpdateAttributeI');
  Chilkat_GetProcedureAddress(CkXml_AddStyleSheet, 'CkXml_AddStyleSheet');
  Chilkat_GetProcedureAddress(CkXml_AddToAttribute, 'CkXml_AddToAttribute');
  Chilkat_GetProcedureAddress(CkXml_AddToChildContent, 'CkXml_AddToChildContent');
  Chilkat_GetProcedureAddress(CkXml_AddToContent, 'CkXml_AddToContent');
  Chilkat_GetProcedureAddress(CkXml_AppendToContent, 'CkXml_AppendToContent');
  Chilkat_GetProcedureAddress(CkXml_ChildContentMatches, 'CkXml_ChildContentMatches');
  Chilkat_GetProcedureAddress(CkXml_ChilkatPath, 'CkXml_ChilkatPath');
  Chilkat_GetProcedureAddress(CkXml_Clear, 'CkXml_Clear');
  Chilkat_GetProcedureAddress(CkXml_ContentMatches, 'CkXml_ContentMatches');
  Chilkat_GetProcedureAddress(CkXml_Copy, 'CkXml_Copy');
  Chilkat_GetProcedureAddress(CkXml_CopyRef, 'CkXml_CopyRef');
  Chilkat_GetProcedureAddress(CkXml_DecodeEntities, 'CkXml_DecodeEntities');
  Chilkat_GetProcedureAddress(CkXml_DecryptContent, 'CkXml_DecryptContent');
  Chilkat_GetProcedureAddress(CkXml_EncryptContent, 'CkXml_EncryptContent');
  Chilkat_GetProcedureAddress(CkXml_ExtractChildByIndex, 'CkXml_ExtractChildByIndex');
  Chilkat_GetProcedureAddress(CkXml_ExtractChildByName, 'CkXml_ExtractChildByName');
  Chilkat_GetProcedureAddress(CkXml_FindChild, 'CkXml_FindChild');
  Chilkat_GetProcedureAddress(CkXml_FindChild2, 'CkXml_FindChild2');
  Chilkat_GetProcedureAddress(CkXml_FindNextRecord, 'CkXml_FindNextRecord');
  Chilkat_GetProcedureAddress(CkXml_FindOrAddNewChild, 'CkXml_FindOrAddNewChild');
  Chilkat_GetProcedureAddress(CkXml_FirstChild, 'CkXml_FirstChild');
  Chilkat_GetProcedureAddress(CkXml_FirstChild2, 'CkXml_FirstChild2');
  Chilkat_GetProcedureAddress(CkXml_GetAttrValue, 'CkXml_GetAttrValue');
  Chilkat_GetProcedureAddress(CkXml_GetAttrValueInt, 'CkXml_GetAttrValueInt');
  Chilkat_GetProcedureAddress(CkXml_GetAttributeName, 'CkXml_GetAttributeName');
  Chilkat_GetProcedureAddress(CkXml_GetAttributeValue, 'CkXml_GetAttributeValue');
  Chilkat_GetProcedureAddress(CkXml_GetAttributeValueInt, 'CkXml_GetAttributeValueInt');
  Chilkat_GetProcedureAddress(CkXml_GetChild, 'CkXml_GetChild');
  Chilkat_GetProcedureAddress(CkXml_GetChild2, 'CkXml_GetChild2');
  Chilkat_GetProcedureAddress(CkXml_GetChildBoolValue, 'CkXml_GetChildBoolValue');
  Chilkat_GetProcedureAddress(CkXml_GetChildContent, 'CkXml_GetChildContent');
  Chilkat_GetProcedureAddress(CkXml_GetChildContentByIndex, 'CkXml_GetChildContentByIndex');
  Chilkat_GetProcedureAddress(CkXml_GetChildExact, 'CkXml_GetChildExact');
  Chilkat_GetProcedureAddress(CkXml_GetChildIntValue, 'CkXml_GetChildIntValue');
  Chilkat_GetProcedureAddress(CkXml_GetChildTag, 'CkXml_GetChildTag');
  Chilkat_GetProcedureAddress(CkXml_GetChildTagByIndex, 'CkXml_GetChildTagByIndex');
  Chilkat_GetProcedureAddress(CkXml_GetChildWithAttr, 'CkXml_GetChildWithAttr');
  Chilkat_GetProcedureAddress(CkXml_GetChildWithContent, 'CkXml_GetChildWithContent');
  Chilkat_GetProcedureAddress(CkXml_GetChildWithTag, 'CkXml_GetChildWithTag');
  Chilkat_GetProcedureAddress(CkXml_GetNthChildWithTag, 'CkXml_GetNthChildWithTag');
  Chilkat_GetProcedureAddress(CkXml_GetNthChildWithTag2, 'CkXml_GetNthChildWithTag2');
  Chilkat_GetProcedureAddress(CkXml_GetParent, 'CkXml_GetParent');
  Chilkat_GetProcedureAddress(CkXml_GetParent2, 'CkXml_GetParent2');
  Chilkat_GetProcedureAddress(CkXml_GetRoot, 'CkXml_GetRoot');
  Chilkat_GetProcedureAddress(CkXml_GetRoot2, 'CkXml_GetRoot2');
  Chilkat_GetProcedureAddress(CkXml_GetSelf, 'CkXml_GetSelf');
  Chilkat_GetProcedureAddress(CkXml_GetXml, 'CkXml_GetXml');
  Chilkat_GetProcedureAddress(CkXml_HasAttrWithValue, 'CkXml_HasAttrWithValue');
  Chilkat_GetProcedureAddress(CkXml_HasAttribute, 'CkXml_HasAttribute');
  Chilkat_GetProcedureAddress(CkXml_HasChildWithContent, 'CkXml_HasChildWithContent');
  Chilkat_GetProcedureAddress(CkXml_HasChildWithTag, 'CkXml_HasChildWithTag');
  Chilkat_GetProcedureAddress(CkXml_HasChildWithTagAndContent, 'CkXml_HasChildWithTagAndContent');
  Chilkat_GetProcedureAddress(CkXml_InsertChildTreeAfter, 'CkXml_InsertChildTreeAfter');
  Chilkat_GetProcedureAddress(CkXml_InsertChildTreeBefore, 'CkXml_InsertChildTreeBefore');
  Chilkat_GetProcedureAddress(CkXml_LastChild, 'CkXml_LastChild');
  Chilkat_GetProcedureAddress(CkXml_LastChild2, 'CkXml_LastChild2');
  Chilkat_GetProcedureAddress(CkXml_LoadXml, 'CkXml_LoadXml');
  Chilkat_GetProcedureAddress(CkXml_LoadXml2, 'CkXml_LoadXml2');
  Chilkat_GetProcedureAddress(CkXml_LoadXmlFile, 'CkXml_LoadXmlFile');
  Chilkat_GetProcedureAddress(CkXml_LoadXmlFile2, 'CkXml_LoadXmlFile2');
  Chilkat_GetProcedureAddress(CkXml_NewChild, 'CkXml_NewChild');
  Chilkat_GetProcedureAddress(CkXml_NewChild2, 'CkXml_NewChild2');
  Chilkat_GetProcedureAddress(CkXml_NewChildAfter, 'CkXml_NewChildAfter');
  Chilkat_GetProcedureAddress(CkXml_NewChildBefore, 'CkXml_NewChildBefore');
  Chilkat_GetProcedureAddress(CkXml_NewChildInt2, 'CkXml_NewChildInt2');
  Chilkat_GetProcedureAddress(CkXml_NextSibling, 'CkXml_NextSibling');
  Chilkat_GetProcedureAddress(CkXml_NextSibling2, 'CkXml_NextSibling2');
  Chilkat_GetProcedureAddress(CkXml_NumChildrenHavingTag, 'CkXml_NumChildrenHavingTag');
  Chilkat_GetProcedureAddress(CkXml_PreviousSibling, 'CkXml_PreviousSibling');
  Chilkat_GetProcedureAddress(CkXml_PreviousSibling2, 'CkXml_PreviousSibling2');
  Chilkat_GetProcedureAddress(CkXml_RemoveAllAttributes, 'CkXml_RemoveAllAttributes');
  Chilkat_GetProcedureAddress(CkXml_RemoveAllChildren, 'CkXml_RemoveAllChildren');
  Chilkat_GetProcedureAddress(CkXml_RemoveAttribute, 'CkXml_RemoveAttribute');
  Chilkat_GetProcedureAddress(CkXml_RemoveChild, 'CkXml_RemoveChild');
  Chilkat_GetProcedureAddress(CkXml_RemoveChildByIndex, 'CkXml_RemoveChildByIndex');
  Chilkat_GetProcedureAddress(CkXml_RemoveChildWithContent, 'CkXml_RemoveChildWithContent');
  Chilkat_GetProcedureAddress(CkXml_RemoveFromTree, 'CkXml_RemoveFromTree');
  Chilkat_GetProcedureAddress(CkXml_SaveBinaryContent, 'CkXml_SaveBinaryContent');
  Chilkat_GetProcedureAddress(CkXml_SaveXml, 'CkXml_SaveXml');
  Chilkat_GetProcedureAddress(CkXml_SearchAllForContent, 'CkXml_SearchAllForContent');
  Chilkat_GetProcedureAddress(CkXml_SearchAllForContent2, 'CkXml_SearchAllForContent2');
  Chilkat_GetProcedureAddress(CkXml_SearchForAttribute, 'CkXml_SearchForAttribute');
  Chilkat_GetProcedureAddress(CkXml_SearchForAttribute2, 'CkXml_SearchForAttribute2');
  Chilkat_GetProcedureAddress(CkXml_SearchForContent, 'CkXml_SearchForContent');
  Chilkat_GetProcedureAddress(CkXml_SearchForContent2, 'CkXml_SearchForContent2');
  Chilkat_GetProcedureAddress(CkXml_SearchForTag, 'CkXml_SearchForTag');
  Chilkat_GetProcedureAddress(CkXml_SearchForTag2, 'CkXml_SearchForTag2');
  Chilkat_GetProcedureAddress(CkXml_SetBinaryContentFromFile, 'CkXml_SetBinaryContentFromFile');
  Chilkat_GetProcedureAddress(CkXml_SortByAttribute, 'CkXml_SortByAttribute');
  Chilkat_GetProcedureAddress(CkXml_SortByAttributeInt, 'CkXml_SortByAttributeInt');
  Chilkat_GetProcedureAddress(CkXml_SortByContent, 'CkXml_SortByContent');
  Chilkat_GetProcedureAddress(CkXml_SortByTag, 'CkXml_SortByTag');
  Chilkat_GetProcedureAddress(CkXml_SortRecordsByAttribute, 'CkXml_SortRecordsByAttribute');
  Chilkat_GetProcedureAddress(CkXml_SortRecordsByContent, 'CkXml_SortRecordsByContent');
  Chilkat_GetProcedureAddress(CkXml_SortRecordsByContentInt, 'CkXml_SortRecordsByContentInt');
  Chilkat_GetProcedureAddress(CkXml_SwapNode, 'CkXml_SwapNode');
  Chilkat_GetProcedureAddress(CkXml_SwapTree, 'CkXml_SwapTree');
  Chilkat_GetProcedureAddress(CkXml_TagContent, 'CkXml_TagContent');
  Chilkat_GetProcedureAddress(CkXml_TagEquals, 'CkXml_TagEquals');
  Chilkat_GetProcedureAddress(CkXml_UnzipContent, 'CkXml_UnzipContent');
  Chilkat_GetProcedureAddress(CkXml_UnzipTree, 'CkXml_UnzipTree');
  Chilkat_GetProcedureAddress(CkXml_UpdateAttribute, 'CkXml_UpdateAttribute');
  Chilkat_GetProcedureAddress(CkXml_UpdateAttributeInt, 'CkXml_UpdateAttributeInt');
  Chilkat_GetProcedureAddress(CkXml_UpdateChildContent, 'CkXml_UpdateChildContent');
  Chilkat_GetProcedureAddress(CkXml_UpdateChildContentInt, 'CkXml_UpdateChildContentInt');
  Chilkat_GetProcedureAddress(CkXml_ZipContent, 'CkXml_ZipContent');
  Chilkat_GetProcedureAddress(CkXml_ZipTree, 'CkXml_ZipTree');
  Chilkat_GetProcedureAddress(CkXml_LoadSb, 'CkXml_LoadSb');
  Chilkat_GetProcedureAddress(CkXml_GetXmlSb, 'CkXml_GetXmlSb');
  Chilkat_GetProcedureAddress(CkXml_NumChildrenAt, 'CkXml_NumChildrenAt');
  Chilkat_GetProcedureAddress(CkXml_UpdateAt, 'CkXml_UpdateAt');
  Chilkat_GetProcedureAddress(CkXml_UpdateAttrAt, 'CkXml_UpdateAttrAt');
  Chilkat_GetProcedureAddress(CkXml_GetChildContentSb, 'CkXml_GetChildContentSb');
  Chilkat_GetProcedureAddress(CkXml_TagIndex, 'CkXml_TagIndex');
  Chilkat_GetProcedureAddress(CkXml_TagNsEquals, 'CkXml_TagNsEquals');
  Chilkat_GetProcedureAddress(CkXml_TagUnpEquals, 'CkXml_TagUnpEquals');
  Chilkat_GetProcedureAddress(CkXml_GetChildAttrValue, 'CkXml_GetChildAttrValue');
  Chilkat_GetProcedureAddress(CkXml_RemoveStyleSheet, 'CkXml_RemoveStyleSheet');
  Chilkat_GetProcedureAddress(CkXml_PruneAttribute, 'CkXml_PruneAttribute');
  Chilkat_GetProcedureAddress(CkXml_PruneTag, 'CkXml_PruneTag');
  Chilkat_GetProcedureAddress(CkXml_Scrub, 'CkXml_Scrub');
  Chilkat_GetProcedureAddress(CkXml_LoadBd, 'CkXml_LoadBd');
  Chilkat_GetProcedureAddress(CkXml_GetXmlBd, 'CkXml_GetXmlBd');
  Chilkat_GetProcedureAddress(CkXml_NextInTraversal2, 'CkXml_NextInTraversal2');
  Chilkat_GetProcedureAddress(CkXml_SetBinaryContentBd, 'CkXml_SetBinaryContentBd');
  Chilkat_GetProcedureAddress(CkXml_GetChildWithTag2, 'CkXml_GetChildWithTag2');

end.
