123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182 |
- /**
- * Summary: interfaces to the Catalog handling system
- * Description: the catalog module implements the support for
- * XML Catalogs and SGML catalogs
- *
- * SGML Open Technical Resolution TR9401:1997.
- * http://www.jclark.com/sp/catalog.htm
- *
- * XML Catalogs Working Draft 06 August 2001
- * http://www.oasis-open.org/committees/entity/spec-2001-08-06.html
- *
- * Copy: See Copyright for the status of this software.
- *
- * Author: Daniel Veillard
- */
- #ifndef __XML_CATALOG_H__
- #define __XML_CATALOG_H__
- #include <stdio.h>
- #include <libxml/xmlversion.h>
- #include <libxml/xmlstring.h>
- #include <libxml/tree.h>
- #ifdef LIBXML_CATALOG_ENABLED
- #ifdef __cplusplus
- extern "C" {
- #endif
- /**
- * XML_CATALOGS_NAMESPACE:
- *
- * The namespace for the XML Catalogs elements.
- */
- #define XML_CATALOGS_NAMESPACE \
- (const xmlChar *) "urn:oasis:names:tc:entity:xmlns:xml:catalog"
- /**
- * XML_CATALOG_PI:
- *
- * The specific XML Catalog Processing Instuction name.
- */
- #define XML_CATALOG_PI \
- (const xmlChar *) "oasis-xml-catalog"
- /*
- * The API is voluntarily limited to general cataloging.
- */
- typedef enum {
- XML_CATA_PREFER_NONE = 0,
- XML_CATA_PREFER_PUBLIC = 1,
- XML_CATA_PREFER_SYSTEM
- } xmlCatalogPrefer;
- typedef enum {
- XML_CATA_ALLOW_NONE = 0,
- XML_CATA_ALLOW_GLOBAL = 1,
- XML_CATA_ALLOW_DOCUMENT = 2,
- XML_CATA_ALLOW_ALL = 3
- } xmlCatalogAllow;
- typedef struct _xmlCatalog xmlCatalog;
- typedef xmlCatalog *xmlCatalogPtr;
- /*
- * Operations on a given catalog.
- */
- XMLPUBFUN xmlCatalogPtr XMLCALL
- xmlNewCatalog (int sgml);
- XMLPUBFUN xmlCatalogPtr XMLCALL
- xmlLoadACatalog (const char *filename);
- XMLPUBFUN xmlCatalogPtr XMLCALL
- xmlLoadSGMLSuperCatalog (const char *filename);
- XMLPUBFUN int XMLCALL
- xmlConvertSGMLCatalog (xmlCatalogPtr catal);
- XMLPUBFUN int XMLCALL
- xmlACatalogAdd (xmlCatalogPtr catal,
- const xmlChar *type,
- const xmlChar *orig,
- const xmlChar *replace);
- XMLPUBFUN int XMLCALL
- xmlACatalogRemove (xmlCatalogPtr catal,
- const xmlChar *value);
- XMLPUBFUN xmlChar * XMLCALL
- xmlACatalogResolve (xmlCatalogPtr catal,
- const xmlChar *pubID,
- const xmlChar *sysID);
- XMLPUBFUN xmlChar * XMLCALL
- xmlACatalogResolveSystem(xmlCatalogPtr catal,
- const xmlChar *sysID);
- XMLPUBFUN xmlChar * XMLCALL
- xmlACatalogResolvePublic(xmlCatalogPtr catal,
- const xmlChar *pubID);
- XMLPUBFUN xmlChar * XMLCALL
- xmlACatalogResolveURI (xmlCatalogPtr catal,
- const xmlChar *URI);
- #ifdef LIBXML_OUTPUT_ENABLED
- XMLPUBFUN void XMLCALL
- xmlACatalogDump (xmlCatalogPtr catal,
- FILE *out);
- #endif /* LIBXML_OUTPUT_ENABLED */
- XMLPUBFUN void XMLCALL
- xmlFreeCatalog (xmlCatalogPtr catal);
- XMLPUBFUN int XMLCALL
- xmlCatalogIsEmpty (xmlCatalogPtr catal);
- /*
- * Global operations.
- */
- XMLPUBFUN void XMLCALL
- xmlInitializeCatalog (void);
- XMLPUBFUN int XMLCALL
- xmlLoadCatalog (const char *filename);
- XMLPUBFUN void XMLCALL
- xmlLoadCatalogs (const char *paths);
- XMLPUBFUN void XMLCALL
- xmlCatalogCleanup (void);
- #ifdef LIBXML_OUTPUT_ENABLED
- XMLPUBFUN void XMLCALL
- xmlCatalogDump (FILE *out);
- #endif /* LIBXML_OUTPUT_ENABLED */
- XMLPUBFUN xmlChar * XMLCALL
- xmlCatalogResolve (const xmlChar *pubID,
- const xmlChar *sysID);
- XMLPUBFUN xmlChar * XMLCALL
- xmlCatalogResolveSystem (const xmlChar *sysID);
- XMLPUBFUN xmlChar * XMLCALL
- xmlCatalogResolvePublic (const xmlChar *pubID);
- XMLPUBFUN xmlChar * XMLCALL
- xmlCatalogResolveURI (const xmlChar *URI);
- XMLPUBFUN int XMLCALL
- xmlCatalogAdd (const xmlChar *type,
- const xmlChar *orig,
- const xmlChar *replace);
- XMLPUBFUN int XMLCALL
- xmlCatalogRemove (const xmlChar *value);
- XMLPUBFUN xmlDocPtr XMLCALL
- xmlParseCatalogFile (const char *filename);
- XMLPUBFUN int XMLCALL
- xmlCatalogConvert (void);
- /*
- * Strictly minimal interfaces for per-document catalogs used
- * by the parser.
- */
- XMLPUBFUN void XMLCALL
- xmlCatalogFreeLocal (void *catalogs);
- XMLPUBFUN void * XMLCALL
- xmlCatalogAddLocal (void *catalogs,
- const xmlChar *URL);
- XMLPUBFUN xmlChar * XMLCALL
- xmlCatalogLocalResolve (void *catalogs,
- const xmlChar *pubID,
- const xmlChar *sysID);
- XMLPUBFUN xmlChar * XMLCALL
- xmlCatalogLocalResolveURI(void *catalogs,
- const xmlChar *URI);
- /*
- * Preference settings.
- */
- XMLPUBFUN int XMLCALL
- xmlCatalogSetDebug (int level);
- XMLPUBFUN xmlCatalogPrefer XMLCALL
- xmlCatalogSetDefaultPrefer(xmlCatalogPrefer prefer);
- XMLPUBFUN void XMLCALL
- xmlCatalogSetDefaults (xmlCatalogAllow allow);
- XMLPUBFUN xmlCatalogAllow XMLCALL
- xmlCatalogGetDefaults (void);
- /* DEPRECATED interfaces */
- XMLPUBFUN const xmlChar * XMLCALL
- xmlCatalogGetSystem (const xmlChar *sysID);
- XMLPUBFUN const xmlChar * XMLCALL
- xmlCatalogGetPublic (const xmlChar *pubID);
- #ifdef __cplusplus
- }
- #endif
- #endif /* LIBXML_CATALOG_ENABLED */
- #endif /* __XML_CATALOG_H__ */
|