xref: /aosp_15_r20/external/libxml2/include/libxml/catalog.h (revision 7c5688314b92172186c154356a6374bf7684c3ca)
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