catalog.inc 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  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: String = 'urn:oasis:names:tc:entity:xmlns:xml:catalog';
  24. XML_CATALOGS_NAMESPACE: xmlCharPtr = @__XML_CATALOGS_NAMESPACE[1];
  25. (**
  26. * XML_CATALOG_PI:
  27. *
  28. * The specific XML Catalog Processing Instuction name.
  29. *)
  30. __XML_CATALOG_PI: String = 'urn:oasis:names:tc:entity:xmlns:xml:catalog';
  31. XML_CATALOG_PI: xmlCharPtr = @__XML_CATALOG_PI[1];
  32. {$ENDIF}
  33. {$IFDEF POINTER}
  34. xmlCatalogPtr = ^xmlCatalog;
  35. {$ENDIF}
  36. {$IFDEF TYPE}
  37. (*
  38. * The API is voluntarily limited to general cataloging.
  39. *)
  40. xmlCatalogPrefer = (
  41. XML_CATA_PREFER_NONE = 0,
  42. XML_CATA_PREFER_PUBLIC = 1,
  43. XML_CATA_PREFER_SYSTEM
  44. );
  45. xmlCatalogAllow = (
  46. XML_CATA_ALLOW_NONE = 0,
  47. XML_CATA_ALLOW_GLOBAL = 1,
  48. XML_CATA_ALLOW_DOCUMENT = 2,
  49. XML_CATA_ALLOW_ALL = 3
  50. );
  51. xmlCatalog = record end;
  52. {$ENDIF}
  53. {$IFDEF FUNCTION}
  54. (*
  55. * Operations on a given catalog.
  56. *)
  57. function xmlNewCatalog(sgml: cint): xmlCatalogPtr; EXTDECL; external xml2lib;
  58. function xmlLoadACatalog(filename: pchar): xmlCatalogPtr; EXTDECL; external xml2lib;
  59. function xmlLoadSGMLSuperCatalog(filename: pchar): xmlCatalogPtr; EXTDECL; external xml2lib;
  60. function xmlLoadACatalog(catal: xmlCatalogPtr): cint; EXTDECL; external xml2lib;
  61. function xmlACatalogAdd(catal: xmlCatalogPtr; _type, orig, replace: xmlCharPtr): cint; EXTDECL; external xml2lib;
  62. function xmlACatalogRemove(catal: xmlCatalogPtr; value: xmlCharPtr): cint; EXTDECL; external xml2lib;
  63. function xmlACatalogResolve(catal: xmlCatalogPtr; pubID, sysID: xmlCharPtr): xmlCharPtr; EXTDECL; external xml2lib;
  64. function xmlACatalogResolveSystem(catal: xmlCatalogPtr; sysID: xmlCharPtr): xmlCharPtr; EXTDECL; external xml2lib;
  65. function xmlACatalogResolvePublic(catal: xmlCatalogPtr; pubID: xmlCharPtr): xmlCharPtr; EXTDECL; external xml2lib;
  66. function xmlACatalogResolveURI(catal: xmlCatalogPtr; URI: xmlCharPtr): xmlCharPtr; EXTDECL; external xml2lib;
  67. {$IFDEF LIBXML_OUTPUT_ENABLED}
  68. procedure xmlACatalogDump(catal: xmlCatalogPtr; _out: PFILE); EXTDECL; external xml2lib;
  69. {$ENDIF} (* LIBXML_OUTPUT_ENABLED *)
  70. procedure xmlFreeCatalog(catal: xmlCatalogPtr); EXTDECL; external xml2lib;
  71. function xmlCatalogIsEmpty(catal: xmlCatalogPtr): cint; EXTDECL; external xml2lib;
  72. (*
  73. * Global operations.
  74. *)
  75. procedure xmlInitializeCatalog; EXTDECL; external xml2lib;
  76. function xmlLoadCatalog(filename: pchar): cint; EXTDECL; external xml2lib;
  77. function xmlLoadCatalogs(paths: pchar): cint; EXTDECL; external xml2lib;
  78. procedure xmlCatalogCleanup; EXTDECL; external xml2lib;
  79. {$IFDEF LIBXML_OUTPUT_ENABLED}
  80. procedure xmlCatalogDump(_out: PFILE); EXTDECL; external xml2lib;
  81. {$ENDIF} (* LIBXML_OUTPUT_ENABLED *)
  82. function xmlCatalogResolve(pubID, sysID: xmlCharPtr): xmlCharPtr; EXTDECL; external xml2lib;
  83. function xmlCatalogResolveSystem(sysID: xmlCharPtr): xmlCharPtr; EXTDECL; external xml2lib;
  84. function xmlCatalogResolvePublic(pubID: xmlCharPtr): xmlCharPtr; EXTDECL; external xml2lib;
  85. function xmlCatalogResolveURI(URI: xmlCharPtr): xmlCharPtr; EXTDECL; external xml2lib;
  86. function xmlCatalogAdd(_type, orig, replace: xmlCharPtr): cint; EXTDECL; external xml2lib;
  87. function xmlCatalogRemove(value: xmlCharPtr): cint; EXTDECL; external xml2lib;
  88. function xmlParseCatalogFile(filename: pchar): xmlDocPtr; EXTDECL; external xml2lib;
  89. function xmlCatalogConvert: cint; EXTDECL; external xml2lib;
  90. (*
  91. * Strictly minimal interfaces for per-document catalogs used
  92. * by the parser.
  93. *)
  94. procedure xmlCatalogFreeLocal(catalogs: pointer); EXTDECL; external xml2lib;
  95. function xmlCatalogAddLocal(catalogs: pointer; URL: xmlCharPtr): pointer; EXTDECL; external xml2lib;
  96. function xmlCatalogLocalResolve(catalogs: pointer; pubID, sysID: xmlCharPtr): xmlCharPtr; EXTDECL; external xml2lib;
  97. function xmlCatalogLocalResolveURI(catalogs: pointer; URI: xmlCharPtr): xmlCharPtr; EXTDECL; external xml2lib;
  98. (*
  99. * Preference settings.
  100. *)
  101. function xmlCatalogSetDebug(level: cint): cint; EXTDECL; external xml2lib;
  102. function xmlCatalogSetDefaultPrefer(prefer: xmlCatalogPrefer): cint; EXTDECL; external xml2lib;
  103. procedure xmlCatalogSetDefaults(allow: xmlCatalogAllow); EXTDECL; external xml2lib;
  104. function xmlCatalogGetDefaults: xmlCatalogAllow; EXTDECL; external xml2lib;
  105. {$ENDIF}
  106. {$ENDIF} (* LIBXML_CATALOG_ENABLED *)