Eneboo - Documentación para desarrolladores
|
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 * The API is voluntarily limited to general cataloging. 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 * Operations on a given catalog. 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 /* LIBXML_OUTPUT_ENABLED */ 00103 XMLPUBFUN void XMLCALL 00104 xmlFreeCatalog (xmlCatalogPtr catal); 00105 XMLPUBFUN int XMLCALL 00106 xmlCatalogIsEmpty (xmlCatalogPtr catal); 00107 00108 /* 00109 * Global operations. 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 /* LIBXML_OUTPUT_ENABLED */ 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 * Strictly minimal interfaces for per-document catalogs used 00145 * by the parser. 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 * Preference settings. 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 /* DEPRECATED interfaces */ 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 /* LIBXML_CATALOG_ENABLED */ 00182 #endif /* __XML_CATALOG_H__ */