Return to catalog.h CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / libxml2 / include / libxml |
1.1 ! misho 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: ! 17: #ifndef __XML_CATALOG_H__ ! 18: #define __XML_CATALOG_H__ ! 19: ! 20: #include <stdio.h> ! 21: ! 22: #include <libxml/xmlversion.h> ! 23: #include <libxml/xmlstring.h> ! 24: #include <libxml/tree.h> ! 25: ! 26: #ifdef LIBXML_CATALOG_ENABLED ! 27: ! 28: #ifdef __cplusplus ! 29: extern "C" { ! 30: #endif ! 31: ! 32: /** ! 33: * XML_CATALOGS_NAMESPACE: ! 34: * ! 35: * The namespace for the XML Catalogs elements. ! 36: */ ! 37: #define XML_CATALOGS_NAMESPACE \ ! 38: (const xmlChar *) "urn:oasis:names:tc:entity:xmlns:xml:catalog" ! 39: /** ! 40: * XML_CATALOG_PI: ! 41: * ! 42: * The specific XML Catalog Processing Instuction name. ! 43: */ ! 44: #define XML_CATALOG_PI \ ! 45: (const xmlChar *) "oasis-xml-catalog" ! 46: ! 47: /* ! 48: * The API is voluntarily limited to general cataloging. ! 49: */ ! 50: typedef enum { ! 51: XML_CATA_PREFER_NONE = 0, ! 52: XML_CATA_PREFER_PUBLIC = 1, ! 53: XML_CATA_PREFER_SYSTEM ! 54: } xmlCatalogPrefer; ! 55: ! 56: typedef enum { ! 57: XML_CATA_ALLOW_NONE = 0, ! 58: XML_CATA_ALLOW_GLOBAL = 1, ! 59: XML_CATA_ALLOW_DOCUMENT = 2, ! 60: XML_CATA_ALLOW_ALL = 3 ! 61: } xmlCatalogAllow; ! 62: ! 63: typedef struct _xmlCatalog xmlCatalog; ! 64: typedef xmlCatalog *xmlCatalogPtr; ! 65: ! 66: /* ! 67: * Operations on a given catalog. ! 68: */ ! 69: XMLPUBFUN xmlCatalogPtr XMLCALL ! 70: xmlNewCatalog (int sgml); ! 71: XMLPUBFUN xmlCatalogPtr XMLCALL ! 72: xmlLoadACatalog (const char *filename); ! 73: XMLPUBFUN xmlCatalogPtr XMLCALL ! 74: xmlLoadSGMLSuperCatalog (const char *filename); ! 75: XMLPUBFUN int XMLCALL ! 76: xmlConvertSGMLCatalog (xmlCatalogPtr catal); ! 77: XMLPUBFUN int XMLCALL ! 78: xmlACatalogAdd (xmlCatalogPtr catal, ! 79: const xmlChar *type, ! 80: const xmlChar *orig, ! 81: const xmlChar *replace); ! 82: XMLPUBFUN int XMLCALL ! 83: xmlACatalogRemove (xmlCatalogPtr catal, ! 84: const xmlChar *value); ! 85: XMLPUBFUN xmlChar * XMLCALL ! 86: xmlACatalogResolve (xmlCatalogPtr catal, ! 87: const xmlChar *pubID, ! 88: const xmlChar *sysID); ! 89: XMLPUBFUN xmlChar * XMLCALL ! 90: xmlACatalogResolveSystem(xmlCatalogPtr catal, ! 91: const xmlChar *sysID); ! 92: XMLPUBFUN xmlChar * XMLCALL ! 93: xmlACatalogResolvePublic(xmlCatalogPtr catal, ! 94: const xmlChar *pubID); ! 95: XMLPUBFUN xmlChar * XMLCALL ! 96: xmlACatalogResolveURI (xmlCatalogPtr catal, ! 97: const xmlChar *URI); ! 98: #ifdef LIBXML_OUTPUT_ENABLED ! 99: XMLPUBFUN void XMLCALL ! 100: xmlACatalogDump (xmlCatalogPtr catal, ! 101: FILE *out); ! 102: #endif /* LIBXML_OUTPUT_ENABLED */ ! 103: XMLPUBFUN void XMLCALL ! 104: xmlFreeCatalog (xmlCatalogPtr catal); ! 105: XMLPUBFUN int XMLCALL ! 106: xmlCatalogIsEmpty (xmlCatalogPtr catal); ! 107: ! 108: /* ! 109: * Global operations. ! 110: */ ! 111: XMLPUBFUN void XMLCALL ! 112: xmlInitializeCatalog (void); ! 113: XMLPUBFUN int XMLCALL ! 114: xmlLoadCatalog (const char *filename); ! 115: XMLPUBFUN void XMLCALL ! 116: xmlLoadCatalogs (const char *paths); ! 117: XMLPUBFUN void XMLCALL ! 118: xmlCatalogCleanup (void); ! 119: #ifdef LIBXML_OUTPUT_ENABLED ! 120: XMLPUBFUN void XMLCALL ! 121: xmlCatalogDump (FILE *out); ! 122: #endif /* LIBXML_OUTPUT_ENABLED */ ! 123: XMLPUBFUN xmlChar * XMLCALL ! 124: xmlCatalogResolve (const xmlChar *pubID, ! 125: const xmlChar *sysID); ! 126: XMLPUBFUN xmlChar * XMLCALL ! 127: xmlCatalogResolveSystem (const xmlChar *sysID); ! 128: XMLPUBFUN xmlChar * XMLCALL ! 129: xmlCatalogResolvePublic (const xmlChar *pubID); ! 130: XMLPUBFUN xmlChar * XMLCALL ! 131: xmlCatalogResolveURI (const xmlChar *URI); ! 132: XMLPUBFUN int XMLCALL ! 133: xmlCatalogAdd (const xmlChar *type, ! 134: const xmlChar *orig, ! 135: const xmlChar *replace); ! 136: XMLPUBFUN int XMLCALL ! 137: xmlCatalogRemove (const xmlChar *value); ! 138: XMLPUBFUN xmlDocPtr XMLCALL ! 139: xmlParseCatalogFile (const char *filename); ! 140: XMLPUBFUN int XMLCALL ! 141: xmlCatalogConvert (void); ! 142: ! 143: /* ! 144: * Strictly minimal interfaces for per-document catalogs used ! 145: * by the parser. ! 146: */ ! 147: XMLPUBFUN void XMLCALL ! 148: xmlCatalogFreeLocal (void *catalogs); ! 149: XMLPUBFUN void * XMLCALL ! 150: xmlCatalogAddLocal (void *catalogs, ! 151: const xmlChar *URL); ! 152: XMLPUBFUN xmlChar * XMLCALL ! 153: xmlCatalogLocalResolve (void *catalogs, ! 154: const xmlChar *pubID, ! 155: const xmlChar *sysID); ! 156: XMLPUBFUN xmlChar * XMLCALL ! 157: xmlCatalogLocalResolveURI(void *catalogs, ! 158: const xmlChar *URI); ! 159: /* ! 160: * Preference settings. ! 161: */ ! 162: XMLPUBFUN int XMLCALL ! 163: xmlCatalogSetDebug (int level); ! 164: XMLPUBFUN xmlCatalogPrefer XMLCALL ! 165: xmlCatalogSetDefaultPrefer(xmlCatalogPrefer prefer); ! 166: XMLPUBFUN void XMLCALL ! 167: xmlCatalogSetDefaults (xmlCatalogAllow allow); ! 168: XMLPUBFUN xmlCatalogAllow XMLCALL ! 169: xmlCatalogGetDefaults (void); ! 170: ! 171: ! 172: /* DEPRECATED interfaces */ ! 173: XMLPUBFUN const xmlChar * XMLCALL ! 174: xmlCatalogGetSystem (const xmlChar *sysID); ! 175: XMLPUBFUN const xmlChar * XMLCALL ! 176: xmlCatalogGetPublic (const xmlChar *pubID); ! 177: ! 178: #ifdef __cplusplus ! 179: } ! 180: #endif ! 181: #endif /* LIBXML_CATALOG_ENABLED */ ! 182: #endif /* __XML_CATALOG_H__ */