catalog.h

00001 
00033 #ifndef __XML_CATALOG_H__
00034 
00035 #define __XML_CATALOG_H__
00036 
00037 
00038 
00039 #include <stdio.h>
00040 
00041 
00042 
00043 #include <libxml/xmlversion.h>
00044 
00045 #include <libxml/xmlstring.h>
00046 
00047 #include <libxml/tree.h>
00048 
00049 
00050 
00051 #ifdef LIBXML_CATALOG_ENABLED
00052 
00053 
00054 
00055 #ifdef __cplusplus
00056 
00057 extern "C" {
00058 
00059 #endif
00060 
00061 
00062 
00073 #define XML_CATALOGS_NAMESPACE                                  \
00074 
00075     (const xmlChar *) "urn:oasis:names:tc:entity:xmlns:xml:catalog"
00076 
00087 #define XML_CATALOG_PI                                          \
00088 
00089     (const xmlChar *) "oasis-xml-catalog"
00090 
00091 
00092 
00093 /*
00094 
00095  * The API is voluntarily limited to general cataloging.
00096 
00097  */
00098 
00099 typedef enum {
00100 
00101     XML_CATA_PREFER_NONE = 0,
00102 
00103     XML_CATA_PREFER_PUBLIC = 1,
00104 
00105     XML_CATA_PREFER_SYSTEM
00106 
00107 } xmlCatalogPrefer;
00108 
00109 
00110 
00111 typedef enum {
00112 
00113     XML_CATA_ALLOW_NONE = 0,
00114 
00115     XML_CATA_ALLOW_GLOBAL = 1,
00116 
00117     XML_CATA_ALLOW_DOCUMENT = 2,
00118 
00119     XML_CATA_ALLOW_ALL = 3
00120 
00121 } xmlCatalogAllow;
00122 
00123 
00124 
00125 typedef struct _xmlCatalog xmlCatalog;
00126 
00127 typedef xmlCatalog *xmlCatalogPtr;
00128 
00129 
00130 
00131 /*
00132 
00133  * Operations on a given catalog.
00134 
00135  */
00136 
00137 XMLPUBFUN xmlCatalogPtr XMLCALL
00138 
00139                 xmlNewCatalog           (int sgml);
00140 
00141 XMLPUBFUN xmlCatalogPtr XMLCALL 
00142 
00143                 xmlLoadACatalog         (const char *filename);
00144 
00145 XMLPUBFUN xmlCatalogPtr XMLCALL 
00146 
00147                 xmlLoadSGMLSuperCatalog (const char *filename);
00148 
00149 XMLPUBFUN int XMLCALL           
00150 
00151                 xmlConvertSGMLCatalog   (xmlCatalogPtr catal);
00152 
00153 XMLPUBFUN int XMLCALL           
00154 
00155                 xmlACatalogAdd          (xmlCatalogPtr catal,
00156 
00157                                          const xmlChar *type,
00158 
00159                                          const xmlChar *orig,
00160 
00161                                          const xmlChar *replace);
00162 
00163 XMLPUBFUN int XMLCALL           
00164 
00165                 xmlACatalogRemove       (xmlCatalogPtr catal,
00166 
00167                                          const xmlChar *value);
00168 
00169 XMLPUBFUN xmlChar * XMLCALL     
00170 
00171                 xmlACatalogResolve      (xmlCatalogPtr catal,
00172 
00173                                          const xmlChar *pubID,
00174 
00175                                          const xmlChar *sysID);
00176 
00177 XMLPUBFUN xmlChar * XMLCALL     
00178 
00179                 xmlACatalogResolveSystem(xmlCatalogPtr catal,
00180 
00181                                          const xmlChar *sysID);
00182 
00183 XMLPUBFUN xmlChar * XMLCALL     
00184 
00185                 xmlACatalogResolvePublic(xmlCatalogPtr catal,
00186 
00187                                          const xmlChar *pubID);
00188 
00189 XMLPUBFUN xmlChar * XMLCALL     
00190 
00191                 xmlACatalogResolveURI   (xmlCatalogPtr catal,
00192 
00193                                          const xmlChar *URI);
00194 
00195 #ifdef LIBXML_OUTPUT_ENABLED
00196 
00197 XMLPUBFUN void XMLCALL          
00198 
00199                 xmlACatalogDump         (xmlCatalogPtr catal,
00200 
00201                                          FILE *out);
00202 
00203 #endif /* LIBXML_OUTPUT_ENABLED */
00204 
00205 XMLPUBFUN void XMLCALL          
00206 
00207                 xmlFreeCatalog          (xmlCatalogPtr catal);
00208 
00209 XMLPUBFUN int XMLCALL           
00210 
00211                 xmlCatalogIsEmpty       (xmlCatalogPtr catal);
00212 
00213 
00214 
00215 /*
00216 
00217  * Global operations.
00218 
00219  */
00220 
00221 XMLPUBFUN void XMLCALL          
00222 
00223                 xmlInitializeCatalog    (void);
00224 
00225 XMLPUBFUN int XMLCALL           
00226 
00227                 xmlLoadCatalog          (const char *filename);
00228 
00229 XMLPUBFUN void XMLCALL          
00230 
00231                 xmlLoadCatalogs         (const char *paths);
00232 
00233 XMLPUBFUN void XMLCALL          
00234 
00235                 xmlCatalogCleanup       (void);
00236 
00237 #ifdef LIBXML_OUTPUT_ENABLED
00238 
00239 XMLPUBFUN void XMLCALL          
00240 
00241                 xmlCatalogDump          (FILE *out);
00242 
00243 #endif /* LIBXML_OUTPUT_ENABLED */
00244 
00245 XMLPUBFUN xmlChar * XMLCALL     
00246 
00247                 xmlCatalogResolve       (const xmlChar *pubID,
00248 
00249                                          const xmlChar *sysID);
00250 
00251 XMLPUBFUN xmlChar * XMLCALL     
00252 
00253                 xmlCatalogResolveSystem (const xmlChar *sysID);
00254 
00255 XMLPUBFUN xmlChar * XMLCALL     
00256 
00257                 xmlCatalogResolvePublic (const xmlChar *pubID);
00258 
00259 XMLPUBFUN xmlChar * XMLCALL     
00260 
00261                 xmlCatalogResolveURI    (const xmlChar *URI);
00262 
00263 XMLPUBFUN int XMLCALL           
00264 
00265                 xmlCatalogAdd           (const xmlChar *type,
00266 
00267                                          const xmlChar *orig,
00268 
00269                                          const xmlChar *replace);
00270 
00271 XMLPUBFUN int XMLCALL           
00272 
00273                 xmlCatalogRemove        (const xmlChar *value);
00274 
00275 XMLPUBFUN xmlDocPtr XMLCALL     
00276 
00277                 xmlParseCatalogFile     (const char *filename);
00278 
00279 XMLPUBFUN int XMLCALL           
00280 
00281                 xmlCatalogConvert       (void);
00282 
00283 
00284 
00285 /*
00286 
00287  * Strictly minimal interfaces for per-document catalogs used
00288 
00289  * by the parser.
00290 
00291  */
00292 
00293 XMLPUBFUN void XMLCALL          
00294 
00295                 xmlCatalogFreeLocal     (void *catalogs);
00296 
00297 XMLPUBFUN void * XMLCALL                
00298 
00299                 xmlCatalogAddLocal      (void *catalogs,
00300 
00301                                          const xmlChar *URL);
00302 
00303 XMLPUBFUN xmlChar * XMLCALL     
00304 
00305                 xmlCatalogLocalResolve  (void *catalogs,
00306 
00307                                          const xmlChar *pubID,
00308 
00309                                          const xmlChar *sysID);
00310 
00311 XMLPUBFUN xmlChar * XMLCALL     
00312 
00313                 xmlCatalogLocalResolveURI(void *catalogs,
00314 
00315                                          const xmlChar *URI);
00316 
00317 /*
00318 
00319  * Preference settings.
00320 
00321  */
00322 
00323 XMLPUBFUN int XMLCALL           
00324 
00325                 xmlCatalogSetDebug      (int level);
00326 
00327 XMLPUBFUN xmlCatalogPrefer XMLCALL 
00328 
00329                 xmlCatalogSetDefaultPrefer(xmlCatalogPrefer prefer);
00330 
00331 XMLPUBFUN void XMLCALL          
00332 
00333                 xmlCatalogSetDefaults   (xmlCatalogAllow allow);
00334 
00335 XMLPUBFUN xmlCatalogAllow XMLCALL       
00336 
00337                 xmlCatalogGetDefaults   (void);
00338 
00339 
00340 
00341 
00342 
00343 /* DEPRECATED interfaces */
00344 
00345 XMLPUBFUN const xmlChar * XMLCALL       
00346 
00347                 xmlCatalogGetSystem     (const xmlChar *sysID);
00348 
00349 XMLPUBFUN const xmlChar * XMLCALL       
00350 
00351                 xmlCatalogGetPublic     (const xmlChar *pubID);
00352 
00353 
00354 
00355 #ifdef __cplusplus
00356 
00357 }
00358 
00359 #endif
00360 
00361 #endif /* LIBXML_CATALOG_ENABLED */
00362 
00363 #endif /* __XML_CATALOG_H__ */
00364 

Generated on Wed Jul 26 13:30:45 2006 for XSB by  doxygen 1.4.5