imgtools/imgcheck/libxml/catalog.h
changeset 0 044383f39525
equal deleted inserted replaced
-1:000000000000 0:044383f39525
       
     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 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__ */