1(* 2 * Summary: string dictionnary 3 * Description: dictionary of reusable strings, just used to avoid allocation 4 * and freeing operations. 5 * 6 * Copy: See Copyright for the status of this software. 7 * 8 * Author: Daniel Veillard 9 *) 10 11(* 12 * The dictionnary 13 *) 14{$IFDEF POINTER} 15 xmlDictPtr = ^xmlDict; 16{$ENDIF} 17 18{$IFDEF TYPE} 19 xmlDict = record end; 20{$ENDIF} 21 22{$IFDEF FUNCTION} 23(* 24 * Constructor and destructor. 25 *) 26function xmlDictCreate: xmlDictPtr; EXTDECL; external xml2lib; 27function xmlDictCreateSub(sub: xmlDictPtr): xmlDictPtr; EXTDECL; external xml2lib; 28function xmlDictReference(dict: xmlDictPtr): cint; EXTDECL; external xml2lib; 29procedure xmlDictFree(dict: xmlDictPtr); EXTDECL; external xml2lib; 30 31(* 32 * Lookup of entry in the dictionnary. 33 *) 34function xmlDictLookup(dict: xmlDictPtr; name: xmlCharPtr; len: cint): xmlCharPtr; EXTDECL; external xml2lib; 35function xmlDictExists(dict: xmlDictPtr; name: xmlCharPtr; len: cint): xmlCharPtr; EXTDECL; external xml2lib; 36function xmlDictQLookup(dict: xmlDictPtr; prefix, name: xmlCharPtr): xmlCharPtr; EXTDECL; external xml2lib; 37function xmlDictOwns(dict: xmlDictPtr; str: xmlCharPtr): cint; EXTDECL; external xml2lib; 38function xmlDictOwns(dict: xmlDictPtr): cint; EXTDECL; external xml2lib; 39 40(* 41 * Cleanup function 42 *) 43procedure xmlDictCleanup; EXTDECL; external xml2lib; 44{$ENDIF} 45