catalog.inc 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. (**
  2. * Summary: interfaces to the Catalog handling system
  3. * Description: the catalog module implements the support for
  4. * XML Catalogs and SGML catalogs
  5. *
  6. * SGML Open Technical Resolution TR9401:1997.
  7. * http://www.jclark.com/sp/catalog.htm
  8. *
  9. * XML Catalogs Working Draft 06 August 2001
  10. * http://www.oasis-open.org/committees/entity/spec-2001-08-06.html
  11. *
  12. * Copy: See Copyright for the status of this software.
  13. *
  14. * Author: Daniel Veillard
  15. *)
  16. {$IFDEF LIBXML_CATALOG_ENABLED}
  17. {$IFDEF CONST}
  18. (**
  19. * XML_CATALOGS_NAMESPACE:
  20. *
  21. * The namespace for the XML Catalogs elements.
  22. *)
  23. XML_CATALOGS_NAMESPACE: xmlCharPtr = 'urn:oasis:names:tc:entity:xmlns:xml:catalog';
  24. (**
  25. * XML_CATALOG_PI:
  26. *
  27. * The specific XML Catalog Processing Instuction name.
  28. *)
  29. XML_CATALOG_PI: xmlCharPtr = 'oasis-xml-catalog';
  30. {$ENDIF}
  31. {$IFDEF POINTER}
  32. xmlCatalogPtr = ^xmlCatalog;
  33. {$ENDIF}
  34. {$IFDEF TYPE}
  35. (*
  36. * The API is voluntarily limited to general cataloging.
  37. *)
  38. xmlCatalogPrefer = (
  39. XML_CATA_PREFER_NONE = 0,
  40. XML_CATA_PREFER_PUBLIC = 1,
  41. XML_CATA_PREFER_SYSTEM
  42. );
  43. xmlCatalogAllow = (
  44. XML_CATA_ALLOW_NONE = 0,
  45. XML_CATA_ALLOW_GLOBAL = 1,
  46. XML_CATA_ALLOW_DOCUMENT = 2,
  47. XML_CATA_ALLOW_ALL = 3
  48. );
  49. xmlCatalog = record end;
  50. {$ENDIF}
  51. {$IFDEF FUNCTION}
  52. (*
  53. * Operations on a given catalog.
  54. *)
  55. function xmlNewCatalog(sgml: cint): xmlCatalogPtr; EXTDECL; external xml2lib;
  56. function xmlLoadACatalog(filename: PAnsiChar): xmlCatalogPtr; EXTDECL; external xml2lib;
  57. function xmlLoadSGMLSuperCatalog(filename: PAnsiChar): xmlCatalogPtr; EXTDECL; external xml2lib;
  58. function xmlConvertSGMLCatalog(catal: xmlCatalogPtr): cint; EXTDECL; external xml2lib;
  59. //function xmlLoadACatalog(catal: xmlCatalogPtr): cint; EXTDECL; external xml2lib;
  60. function xmlACatalogAdd(catal: xmlCatalogPtr; _type, orig, replace: xmlCharPtr): cint; EXTDECL; external xml2lib;
  61. function xmlACatalogRemove(catal: xmlCatalogPtr; value: xmlCharPtr): cint; EXTDECL; external xml2lib;
  62. function xmlACatalogResolve(catal: xmlCatalogPtr; pubID, sysID: xmlCharPtr): xmlCharPtr; EXTDECL; external xml2lib;
  63. function xmlACatalogResolveSystem(catal: xmlCatalogPtr; sysID: xmlCharPtr): xmlCharPtr; EXTDECL; external xml2lib;
  64. function xmlACatalogResolvePublic(catal: xmlCatalogPtr; pubID: xmlCharPtr): xmlCharPtr; EXTDECL; external xml2lib;
  65. function xmlACatalogResolveURI(catal: xmlCatalogPtr; URI: xmlCharPtr): xmlCharPtr; EXTDECL; external xml2lib;
  66. {$IFDEF LIBXML_OUTPUT_ENABLED}
  67. procedure xmlACatalogDump(catal: xmlCatalogPtr; _out: PFILE); EXTDECL; external xml2lib;
  68. {$ENDIF} (* LIBXML_OUTPUT_ENABLED *)
  69. procedure xmlFreeCatalog(catal: xmlCatalogPtr); EXTDECL; external xml2lib;
  70. function xmlCatalogIsEmpty(catal: xmlCatalogPtr): cint; EXTDECL; external xml2lib;
  71. (*
  72. * Global operations.
  73. *)
  74. procedure xmlInitializeCatalog; EXTDECL; external xml2lib;
  75. function xmlLoadCatalog(filename: PAnsiChar): cint; EXTDECL; external xml2lib;
  76. function xmlLoadCatalogs(paths: PAnsiChar): cint; EXTDECL; external xml2lib;
  77. procedure xmlCatalogCleanup; EXTDECL; external xml2lib;
  78. {$IFDEF LIBXML_OUTPUT_ENABLED}
  79. procedure xmlCatalogDump(_out: PFILE); EXTDECL; external xml2lib;
  80. {$ENDIF} (* LIBXML_OUTPUT_ENABLED *)
  81. function xmlCatalogResolve(pubID, sysID: xmlCharPtr): xmlCharPtr; EXTDECL; external xml2lib;
  82. function xmlCatalogResolveSystem(sysID: xmlCharPtr): xmlCharPtr; EXTDECL; external xml2lib;
  83. function xmlCatalogResolvePublic(pubID: xmlCharPtr): xmlCharPtr; EXTDECL; external xml2lib;
  84. function xmlCatalogResolveURI(URI: xmlCharPtr): xmlCharPtr; EXTDECL; external xml2lib;
  85. function xmlCatalogAdd(_type, orig, replace: xmlCharPtr): cint; EXTDECL; external xml2lib;
  86. function xmlCatalogRemove(value: xmlCharPtr): cint; EXTDECL; external xml2lib;
  87. function xmlParseCatalogFile(filename: PAnsiChar): xmlDocPtr; EXTDECL; external xml2lib;
  88. function xmlCatalogConvert: cint; EXTDECL; external xml2lib;
  89. (*
  90. * Strictly minimal interfaces for per-document catalogs used
  91. * by the parser.
  92. *)
  93. procedure xmlCatalogFreeLocal(catalogs: pointer); EXTDECL; external xml2lib;
  94. function xmlCatalogAddLocal(catalogs: pointer; URL: xmlCharPtr): pointer; EXTDECL; external xml2lib;
  95. function xmlCatalogLocalResolve(catalogs: pointer; pubID, sysID: xmlCharPtr): xmlCharPtr; EXTDECL; external xml2lib;
  96. function xmlCatalogLocalResolveURI(catalogs: pointer; URI: xmlCharPtr): xmlCharPtr; EXTDECL; external xml2lib;
  97. (*
  98. * Preference settings.
  99. *)
  100. function xmlCatalogSetDebug(level: cint): cint; EXTDECL; external xml2lib;
  101. function xmlCatalogSetDefaultPrefer(prefer: xmlCatalogPrefer): cint; EXTDECL; external xml2lib;
  102. procedure xmlCatalogSetDefaults(allow: xmlCatalogAllow); EXTDECL; external xml2lib;
  103. function xmlCatalogGetDefaults: xmlCatalogAllow; EXTDECL; external xml2lib;
  104. {$ENDIF}
  105. {$IFDEF FUNCTIONVAR}
  106. (*
  107. * Operations on a given catalog.
  108. *)
  109. xmlNewCatalog: function(sgml: cint): xmlCatalogPtr; EXTDECL;
  110. xmlLoadACatalog: function(filename: PAnsiChar): xmlCatalogPtr; EXTDECL;
  111. xmlLoadSGMLSuperCatalog: function(filename: PAnsiChar): xmlCatalogPtr; EXTDECL;
  112. xmlConvertSGMLCatalog: function(catal: xmlCatalogPtr): cint; EXTDECL;
  113. //xmlLoadACatalog: function(catal: xmlCatalogPtr): cint; EXTDECL;
  114. xmlACatalogAdd: function(catal: xmlCatalogPtr; _type, orig, replace: xmlCharPtr): cint; EXTDECL;
  115. xmlACatalogRemove: function(catal: xmlCatalogPtr; value: xmlCharPtr): cint; EXTDECL;
  116. xmlACatalogResolve: function(catal: xmlCatalogPtr; pubID, sysID: xmlCharPtr): xmlCharPtr; EXTDECL;
  117. xmlACatalogResolveSystem: function(catal: xmlCatalogPtr; sysID: xmlCharPtr): xmlCharPtr; EXTDECL;
  118. xmlACatalogResolvePublic: function(catal: xmlCatalogPtr; pubID: xmlCharPtr): xmlCharPtr; EXTDECL;
  119. xmlACatalogResolveURI: function(catal: xmlCatalogPtr; URI: xmlCharPtr): xmlCharPtr; EXTDECL;
  120. {$IFDEF LIBXML_OUTPUT_ENABLED}
  121. xmlACatalogDump: procedure(catal: xmlCatalogPtr; _out: PFILE); EXTDECL;
  122. {$ENDIF} (* LIBXML_OUTPUT_ENABLED *)
  123. xmlFreeCatalog: procedure(catal: xmlCatalogPtr); EXTDECL;
  124. xmlCatalogIsEmpty: function(catal: xmlCatalogPtr): cint; EXTDECL;
  125. (*
  126. * Global operations.
  127. *)
  128. xmlInitializeCatalog: procedure; EXTDECL;
  129. xmlLoadCatalog: function(filename: PAnsiChar): cint; EXTDECL;
  130. xmlLoadCatalogs: function(paths: PAnsiChar): cint; EXTDECL;
  131. xmlCatalogCleanup: procedure; EXTDECL;
  132. {$IFDEF LIBXML_OUTPUT_ENABLED}
  133. xmlCatalogDump: procedure(_out: PFILE); EXTDECL;
  134. {$ENDIF} (* LIBXML_OUTPUT_ENABLED *)
  135. xmlCatalogResolve: function(pubID, sysID: xmlCharPtr): xmlCharPtr; EXTDECL;
  136. xmlCatalogResolveSystem: function(sysID: xmlCharPtr): xmlCharPtr; EXTDECL;
  137. xmlCatalogResolvePublic: function (pubID: xmlCharPtr): xmlCharPtr; EXTDECL;
  138. xmlCatalogResolveURI: function(URI: xmlCharPtr): xmlCharPtr; EXTDECL;
  139. xmlCatalogAdd: function(_type, orig, replace: xmlCharPtr): cint; EXTDECL;
  140. xmlCatalogRemove: function(value: xmlCharPtr): cint; EXTDECL;
  141. xmlParseCatalogFile: function(filename: PAnsiChar): xmlDocPtr; EXTDECL;
  142. xmlCatalogConvert: function: cint; EXTDECL;
  143. (*
  144. * Strictly minimal interfaces for per-document catalogs used
  145. * by the parser.
  146. *)
  147. xmlCatalogFreeLocal: procedure(catalogs: pointer); EXTDECL;
  148. xmlCatalogAddLocal: function(catalogs: pointer; URL: xmlCharPtr): pointer; EXTDECL;
  149. xmlCatalogLocalResolve: function(catalogs: pointer; pubID, sysID: xmlCharPtr): xmlCharPtr; EXTDECL;
  150. xmlCatalogLocalResolveURI: function(catalogs: pointer; URI: xmlCharPtr): xmlCharPtr; EXTDECL;
  151. (*
  152. * Preference settings.
  153. *)
  154. xmlCatalogSetDebug: function(level: cint): cint; EXTDECL;
  155. xmlCatalogSetDefaultPrefer: function(prefer: xmlCatalogPrefer): cint; EXTDECL;
  156. xmlCatalogSetDefaults: procedure(allow: xmlCatalogAllow); EXTDECL;
  157. xmlCatalogGetDefaults: function: xmlCatalogAllow; EXTDECL;
  158. {$ENDIF}
  159. {$ENDIF} (* LIBXML_CATALOG_ENABLED *)