00001
00017 #ifndef __XML_CATALOG_H__
00018 #define __XML_CATALOG_H__
00019
00020 #include <stdio.h>
00021
00022 #include <libxml/xmlversion.h>
00023 #include <libxml/xmlstring.h>
00024 #include <libxml/tree.h>
00025
00026 #ifdef LIBXML_CATALOG_ENABLED
00027
00028 #ifdef __cplusplus
00029 extern "C" {
00030 #endif
00031
00037 #define XML_CATALOGS_NAMESPACE \
00038 (const xmlChar *) "urn:oasis:names:tc:entity:xmlns:xml:catalog"
00039
00044 #define XML_CATALOG_PI \
00045 (const xmlChar *) "oasis-xml-catalog"
00046
00047
00048
00049
00050 typedef enum {
00051 XML_CATA_PREFER_NONE = 0,
00052 XML_CATA_PREFER_PUBLIC = 1,
00053 XML_CATA_PREFER_SYSTEM
00054 } xmlCatalogPrefer;
00055
00056 typedef enum {
00057 XML_CATA_ALLOW_NONE = 0,
00058 XML_CATA_ALLOW_GLOBAL = 1,
00059 XML_CATA_ALLOW_DOCUMENT = 2,
00060 XML_CATA_ALLOW_ALL = 3
00061 } xmlCatalogAllow;
00062
00063 typedef struct _xmlCatalog xmlCatalog;
00064 typedef xmlCatalog *xmlCatalogPtr;
00065
00066
00067
00068
00069 XMLPUBFUN xmlCatalogPtr XMLCALL
00070 xmlNewCatalog (int sgml);
00071 XMLPUBFUN xmlCatalogPtr XMLCALL
00072 xmlLoadACatalog (const char *filename);
00073 XMLPUBFUN xmlCatalogPtr XMLCALL
00074 xmlLoadSGMLSuperCatalog (const char *filename);
00075 XMLPUBFUN int XMLCALL
00076 xmlConvertSGMLCatalog (xmlCatalogPtr catal);
00077 XMLPUBFUN int XMLCALL
00078 xmlACatalogAdd (xmlCatalogPtr catal,
00079 const xmlChar *type,
00080 const xmlChar *orig,
00081 const xmlChar *replace);
00082 XMLPUBFUN int XMLCALL
00083 xmlACatalogRemove (xmlCatalogPtr catal,
00084 const xmlChar *value);
00085 XMLPUBFUN xmlChar * XMLCALL
00086 xmlACatalogResolve (xmlCatalogPtr catal,
00087 const xmlChar *pubID,
00088 const xmlChar *sysID);
00089 XMLPUBFUN xmlChar * XMLCALL
00090 xmlACatalogResolveSystem(xmlCatalogPtr catal,
00091 const xmlChar *sysID);
00092 XMLPUBFUN xmlChar * XMLCALL
00093 xmlACatalogResolvePublic(xmlCatalogPtr catal,
00094 const xmlChar *pubID);
00095 XMLPUBFUN xmlChar * XMLCALL
00096 xmlACatalogResolveURI (xmlCatalogPtr catal,
00097 const xmlChar *URI);
00098 #ifdef LIBXML_OUTPUT_ENABLED
00099 XMLPUBFUN void XMLCALL
00100 xmlACatalogDump (xmlCatalogPtr catal,
00101 FILE *out);
00102 #endif
00103 XMLPUBFUN void XMLCALL
00104 xmlFreeCatalog (xmlCatalogPtr catal);
00105 XMLPUBFUN int XMLCALL
00106 xmlCatalogIsEmpty (xmlCatalogPtr catal);
00107
00108
00109
00110
00111 XMLPUBFUN void XMLCALL
00112 xmlInitializeCatalog (void);
00113 XMLPUBFUN int XMLCALL
00114 xmlLoadCatalog (const char *filename);
00115 XMLPUBFUN void XMLCALL
00116 xmlLoadCatalogs (const char *paths);
00117 XMLPUBFUN void XMLCALL
00118 xmlCatalogCleanup (void);
00119 #ifdef LIBXML_OUTPUT_ENABLED
00120 XMLPUBFUN void XMLCALL
00121 xmlCatalogDump (FILE *out);
00122 #endif
00123 XMLPUBFUN xmlChar * XMLCALL
00124 xmlCatalogResolve (const xmlChar *pubID,
00125 const xmlChar *sysID);
00126 XMLPUBFUN xmlChar * XMLCALL
00127 xmlCatalogResolveSystem (const xmlChar *sysID);
00128 XMLPUBFUN xmlChar * XMLCALL
00129 xmlCatalogResolvePublic (const xmlChar *pubID);
00130 XMLPUBFUN xmlChar * XMLCALL
00131 xmlCatalogResolveURI (const xmlChar *URI);
00132 XMLPUBFUN int XMLCALL
00133 xmlCatalogAdd (const xmlChar *type,
00134 const xmlChar *orig,
00135 const xmlChar *replace);
00136 XMLPUBFUN int XMLCALL
00137 xmlCatalogRemove (const xmlChar *value);
00138 XMLPUBFUN xmlDocPtr XMLCALL
00139 xmlParseCatalogFile (const char *filename);
00140 XMLPUBFUN int XMLCALL
00141 xmlCatalogConvert (void);
00142
00143
00144
00145
00146
00147 XMLPUBFUN void XMLCALL
00148 xmlCatalogFreeLocal (void *catalogs);
00149 XMLPUBFUN void * XMLCALL
00150 xmlCatalogAddLocal (void *catalogs,
00151 const xmlChar *URL);
00152 XMLPUBFUN xmlChar * XMLCALL
00153 xmlCatalogLocalResolve (void *catalogs,
00154 const xmlChar *pubID,
00155 const xmlChar *sysID);
00156 XMLPUBFUN xmlChar * XMLCALL
00157 xmlCatalogLocalResolveURI(void *catalogs,
00158 const xmlChar *URI);
00159
00160
00161
00162 XMLPUBFUN int XMLCALL
00163 xmlCatalogSetDebug (int level);
00164 XMLPUBFUN xmlCatalogPrefer XMLCALL
00165 xmlCatalogSetDefaultPrefer(xmlCatalogPrefer prefer);
00166 XMLPUBFUN void XMLCALL
00167 xmlCatalogSetDefaults (xmlCatalogAllow allow);
00168 XMLPUBFUN xmlCatalogAllow XMLCALL
00169 xmlCatalogGetDefaults (void);
00170
00171
00172
00173 XMLPUBFUN const xmlChar * XMLCALL
00174 xmlCatalogGetSystem (const xmlChar *sysID);
00175 XMLPUBFUN const xmlChar * XMLCALL
00176 xmlCatalogGetPublic (const xmlChar *pubID);
00177
00178 #ifdef __cplusplus
00179 }
00180 #endif
00181 #endif
00182 #endif