1*7c568831SAndroid Build Coastguard Worker /** 2*7c568831SAndroid Build Coastguard Worker * Summary: interfaces to the Catalog handling system 3*7c568831SAndroid Build Coastguard Worker * Description: the catalog module implements the support for 4*7c568831SAndroid Build Coastguard Worker * XML Catalogs and SGML catalogs 5*7c568831SAndroid Build Coastguard Worker * 6*7c568831SAndroid Build Coastguard Worker * SGML Open Technical Resolution TR9401:1997. 7*7c568831SAndroid Build Coastguard Worker * http://www.jclark.com/sp/catalog.htm 8*7c568831SAndroid Build Coastguard Worker * 9*7c568831SAndroid Build Coastguard Worker * XML Catalogs Working Draft 06 August 2001 10*7c568831SAndroid Build Coastguard Worker * http://www.oasis-open.org/committees/entity/spec-2001-08-06.html 11*7c568831SAndroid Build Coastguard Worker * 12*7c568831SAndroid Build Coastguard Worker * Copy: See Copyright for the status of this software. 13*7c568831SAndroid Build Coastguard Worker * 14*7c568831SAndroid Build Coastguard Worker * Author: Daniel Veillard 15*7c568831SAndroid Build Coastguard Worker */ 16*7c568831SAndroid Build Coastguard Worker 17*7c568831SAndroid Build Coastguard Worker #ifndef __XML_CATALOG_H__ 18*7c568831SAndroid Build Coastguard Worker #define __XML_CATALOG_H__ 19*7c568831SAndroid Build Coastguard Worker 20*7c568831SAndroid Build Coastguard Worker #include <stdio.h> 21*7c568831SAndroid Build Coastguard Worker 22*7c568831SAndroid Build Coastguard Worker #include <libxml/xmlversion.h> 23*7c568831SAndroid Build Coastguard Worker #include <libxml/xmlstring.h> 24*7c568831SAndroid Build Coastguard Worker #include <libxml/tree.h> 25*7c568831SAndroid Build Coastguard Worker 26*7c568831SAndroid Build Coastguard Worker #ifdef LIBXML_CATALOG_ENABLED 27*7c568831SAndroid Build Coastguard Worker 28*7c568831SAndroid Build Coastguard Worker #ifdef __cplusplus 29*7c568831SAndroid Build Coastguard Worker extern "C" { 30*7c568831SAndroid Build Coastguard Worker #endif 31*7c568831SAndroid Build Coastguard Worker 32*7c568831SAndroid Build Coastguard Worker /** 33*7c568831SAndroid Build Coastguard Worker * XML_CATALOGS_NAMESPACE: 34*7c568831SAndroid Build Coastguard Worker * 35*7c568831SAndroid Build Coastguard Worker * The namespace for the XML Catalogs elements. 36*7c568831SAndroid Build Coastguard Worker */ 37*7c568831SAndroid Build Coastguard Worker #define XML_CATALOGS_NAMESPACE \ 38*7c568831SAndroid Build Coastguard Worker (const xmlChar *) "urn:oasis:names:tc:entity:xmlns:xml:catalog" 39*7c568831SAndroid Build Coastguard Worker /** 40*7c568831SAndroid Build Coastguard Worker * XML_CATALOG_PI: 41*7c568831SAndroid Build Coastguard Worker * 42*7c568831SAndroid Build Coastguard Worker * The specific XML Catalog Processing Instruction name. 43*7c568831SAndroid Build Coastguard Worker */ 44*7c568831SAndroid Build Coastguard Worker #define XML_CATALOG_PI \ 45*7c568831SAndroid Build Coastguard Worker (const xmlChar *) "oasis-xml-catalog" 46*7c568831SAndroid Build Coastguard Worker 47*7c568831SAndroid Build Coastguard Worker /* 48*7c568831SAndroid Build Coastguard Worker * The API is voluntarily limited to general cataloging. 49*7c568831SAndroid Build Coastguard Worker */ 50*7c568831SAndroid Build Coastguard Worker typedef enum { 51*7c568831SAndroid Build Coastguard Worker XML_CATA_PREFER_NONE = 0, 52*7c568831SAndroid Build Coastguard Worker XML_CATA_PREFER_PUBLIC = 1, 53*7c568831SAndroid Build Coastguard Worker XML_CATA_PREFER_SYSTEM 54*7c568831SAndroid Build Coastguard Worker } xmlCatalogPrefer; 55*7c568831SAndroid Build Coastguard Worker 56*7c568831SAndroid Build Coastguard Worker typedef enum { 57*7c568831SAndroid Build Coastguard Worker XML_CATA_ALLOW_NONE = 0, 58*7c568831SAndroid Build Coastguard Worker XML_CATA_ALLOW_GLOBAL = 1, 59*7c568831SAndroid Build Coastguard Worker XML_CATA_ALLOW_DOCUMENT = 2, 60*7c568831SAndroid Build Coastguard Worker XML_CATA_ALLOW_ALL = 3 61*7c568831SAndroid Build Coastguard Worker } xmlCatalogAllow; 62*7c568831SAndroid Build Coastguard Worker 63*7c568831SAndroid Build Coastguard Worker typedef struct _xmlCatalog xmlCatalog; 64*7c568831SAndroid Build Coastguard Worker typedef xmlCatalog *xmlCatalogPtr; 65*7c568831SAndroid Build Coastguard Worker 66*7c568831SAndroid Build Coastguard Worker /* 67*7c568831SAndroid Build Coastguard Worker * Operations on a given catalog. 68*7c568831SAndroid Build Coastguard Worker */ 69*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlCatalogPtr 70*7c568831SAndroid Build Coastguard Worker xmlNewCatalog (int sgml); 71*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlCatalogPtr 72*7c568831SAndroid Build Coastguard Worker xmlLoadACatalog (const char *filename); 73*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlCatalogPtr 74*7c568831SAndroid Build Coastguard Worker xmlLoadSGMLSuperCatalog (const char *filename); 75*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 76*7c568831SAndroid Build Coastguard Worker xmlConvertSGMLCatalog (xmlCatalogPtr catal); 77*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 78*7c568831SAndroid Build Coastguard Worker xmlACatalogAdd (xmlCatalogPtr catal, 79*7c568831SAndroid Build Coastguard Worker const xmlChar *type, 80*7c568831SAndroid Build Coastguard Worker const xmlChar *orig, 81*7c568831SAndroid Build Coastguard Worker const xmlChar *replace); 82*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 83*7c568831SAndroid Build Coastguard Worker xmlACatalogRemove (xmlCatalogPtr catal, 84*7c568831SAndroid Build Coastguard Worker const xmlChar *value); 85*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlChar * 86*7c568831SAndroid Build Coastguard Worker xmlACatalogResolve (xmlCatalogPtr catal, 87*7c568831SAndroid Build Coastguard Worker const xmlChar *pubID, 88*7c568831SAndroid Build Coastguard Worker const xmlChar *sysID); 89*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlChar * 90*7c568831SAndroid Build Coastguard Worker xmlACatalogResolveSystem(xmlCatalogPtr catal, 91*7c568831SAndroid Build Coastguard Worker const xmlChar *sysID); 92*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlChar * 93*7c568831SAndroid Build Coastguard Worker xmlACatalogResolvePublic(xmlCatalogPtr catal, 94*7c568831SAndroid Build Coastguard Worker const xmlChar *pubID); 95*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlChar * 96*7c568831SAndroid Build Coastguard Worker xmlACatalogResolveURI (xmlCatalogPtr catal, 97*7c568831SAndroid Build Coastguard Worker const xmlChar *URI); 98*7c568831SAndroid Build Coastguard Worker #ifdef LIBXML_OUTPUT_ENABLED 99*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void 100*7c568831SAndroid Build Coastguard Worker xmlACatalogDump (xmlCatalogPtr catal, 101*7c568831SAndroid Build Coastguard Worker FILE *out); 102*7c568831SAndroid Build Coastguard Worker #endif /* LIBXML_OUTPUT_ENABLED */ 103*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void 104*7c568831SAndroid Build Coastguard Worker xmlFreeCatalog (xmlCatalogPtr catal); 105*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 106*7c568831SAndroid Build Coastguard Worker xmlCatalogIsEmpty (xmlCatalogPtr catal); 107*7c568831SAndroid Build Coastguard Worker 108*7c568831SAndroid Build Coastguard Worker /* 109*7c568831SAndroid Build Coastguard Worker * Global operations. 110*7c568831SAndroid Build Coastguard Worker */ 111*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void 112*7c568831SAndroid Build Coastguard Worker xmlInitializeCatalog (void); 113*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 114*7c568831SAndroid Build Coastguard Worker xmlLoadCatalog (const char *filename); 115*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void 116*7c568831SAndroid Build Coastguard Worker xmlLoadCatalogs (const char *paths); 117*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void 118*7c568831SAndroid Build Coastguard Worker xmlCatalogCleanup (void); 119*7c568831SAndroid Build Coastguard Worker #ifdef LIBXML_OUTPUT_ENABLED 120*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void 121*7c568831SAndroid Build Coastguard Worker xmlCatalogDump (FILE *out); 122*7c568831SAndroid Build Coastguard Worker #endif /* LIBXML_OUTPUT_ENABLED */ 123*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlChar * 124*7c568831SAndroid Build Coastguard Worker xmlCatalogResolve (const xmlChar *pubID, 125*7c568831SAndroid Build Coastguard Worker const xmlChar *sysID); 126*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlChar * 127*7c568831SAndroid Build Coastguard Worker xmlCatalogResolveSystem (const xmlChar *sysID); 128*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlChar * 129*7c568831SAndroid Build Coastguard Worker xmlCatalogResolvePublic (const xmlChar *pubID); 130*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlChar * 131*7c568831SAndroid Build Coastguard Worker xmlCatalogResolveURI (const xmlChar *URI); 132*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 133*7c568831SAndroid Build Coastguard Worker xmlCatalogAdd (const xmlChar *type, 134*7c568831SAndroid Build Coastguard Worker const xmlChar *orig, 135*7c568831SAndroid Build Coastguard Worker const xmlChar *replace); 136*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 137*7c568831SAndroid Build Coastguard Worker xmlCatalogRemove (const xmlChar *value); 138*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlDocPtr 139*7c568831SAndroid Build Coastguard Worker xmlParseCatalogFile (const char *filename); 140*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 141*7c568831SAndroid Build Coastguard Worker xmlCatalogConvert (void); 142*7c568831SAndroid Build Coastguard Worker 143*7c568831SAndroid Build Coastguard Worker /* 144*7c568831SAndroid Build Coastguard Worker * Strictly minimal interfaces for per-document catalogs used 145*7c568831SAndroid Build Coastguard Worker * by the parser. 146*7c568831SAndroid Build Coastguard Worker */ 147*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void 148*7c568831SAndroid Build Coastguard Worker xmlCatalogFreeLocal (void *catalogs); 149*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void * 150*7c568831SAndroid Build Coastguard Worker xmlCatalogAddLocal (void *catalogs, 151*7c568831SAndroid Build Coastguard Worker const xmlChar *URL); 152*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlChar * 153*7c568831SAndroid Build Coastguard Worker xmlCatalogLocalResolve (void *catalogs, 154*7c568831SAndroid Build Coastguard Worker const xmlChar *pubID, 155*7c568831SAndroid Build Coastguard Worker const xmlChar *sysID); 156*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlChar * 157*7c568831SAndroid Build Coastguard Worker xmlCatalogLocalResolveURI(void *catalogs, 158*7c568831SAndroid Build Coastguard Worker const xmlChar *URI); 159*7c568831SAndroid Build Coastguard Worker /* 160*7c568831SAndroid Build Coastguard Worker * Preference settings. 161*7c568831SAndroid Build Coastguard Worker */ 162*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 163*7c568831SAndroid Build Coastguard Worker xmlCatalogSetDebug (int level); 164*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED 165*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlCatalogPrefer 166*7c568831SAndroid Build Coastguard Worker xmlCatalogSetDefaultPrefer(xmlCatalogPrefer prefer); 167*7c568831SAndroid Build Coastguard Worker XMLPUBFUN void 168*7c568831SAndroid Build Coastguard Worker xmlCatalogSetDefaults (xmlCatalogAllow allow); 169*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlCatalogAllow 170*7c568831SAndroid Build Coastguard Worker xmlCatalogGetDefaults (void); 171*7c568831SAndroid Build Coastguard Worker 172*7c568831SAndroid Build Coastguard Worker 173*7c568831SAndroid Build Coastguard Worker /* DEPRECATED interfaces */ 174*7c568831SAndroid Build Coastguard Worker XMLPUBFUN const xmlChar * 175*7c568831SAndroid Build Coastguard Worker xmlCatalogGetSystem (const xmlChar *sysID); 176*7c568831SAndroid Build Coastguard Worker XMLPUBFUN const xmlChar * 177*7c568831SAndroid Build Coastguard Worker xmlCatalogGetPublic (const xmlChar *pubID); 178*7c568831SAndroid Build Coastguard Worker 179*7c568831SAndroid Build Coastguard Worker #ifdef __cplusplus 180*7c568831SAndroid Build Coastguard Worker } 181*7c568831SAndroid Build Coastguard Worker #endif 182*7c568831SAndroid Build Coastguard Worker #endif /* LIBXML_CATALOG_ENABLED */ 183*7c568831SAndroid Build Coastguard Worker #endif /* __XML_CATALOG_H__ */ 184