Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
wine-mirror
GitHub Repository: wine-mirror/wine
Path: blob/master/libs/xml2/include/libxml/catalog.h
4394 views
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 Instruction 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
70
xmlNewCatalog (int sgml);
71
XMLPUBFUN xmlCatalogPtr
72
xmlLoadACatalog (const char *filename);
73
XMLPUBFUN xmlCatalogPtr
74
xmlLoadSGMLSuperCatalog (const char *filename);
75
XMLPUBFUN int
76
xmlConvertSGMLCatalog (xmlCatalogPtr catal);
77
XMLPUBFUN int
78
xmlACatalogAdd (xmlCatalogPtr catal,
79
const xmlChar *type,
80
const xmlChar *orig,
81
const xmlChar *replace);
82
XMLPUBFUN int
83
xmlACatalogRemove (xmlCatalogPtr catal,
84
const xmlChar *value);
85
XMLPUBFUN xmlChar *
86
xmlACatalogResolve (xmlCatalogPtr catal,
87
const xmlChar *pubID,
88
const xmlChar *sysID);
89
XMLPUBFUN xmlChar *
90
xmlACatalogResolveSystem(xmlCatalogPtr catal,
91
const xmlChar *sysID);
92
XMLPUBFUN xmlChar *
93
xmlACatalogResolvePublic(xmlCatalogPtr catal,
94
const xmlChar *pubID);
95
XMLPUBFUN xmlChar *
96
xmlACatalogResolveURI (xmlCatalogPtr catal,
97
const xmlChar *URI);
98
#ifdef LIBXML_OUTPUT_ENABLED
99
XMLPUBFUN void
100
xmlACatalogDump (xmlCatalogPtr catal,
101
FILE *out);
102
#endif /* LIBXML_OUTPUT_ENABLED */
103
XMLPUBFUN void
104
xmlFreeCatalog (xmlCatalogPtr catal);
105
XMLPUBFUN int
106
xmlCatalogIsEmpty (xmlCatalogPtr catal);
107
108
/*
109
* Global operations.
110
*/
111
XMLPUBFUN void
112
xmlInitializeCatalog (void);
113
XMLPUBFUN int
114
xmlLoadCatalog (const char *filename);
115
XMLPUBFUN void
116
xmlLoadCatalogs (const char *paths);
117
XMLPUBFUN void
118
xmlCatalogCleanup (void);
119
#ifdef LIBXML_OUTPUT_ENABLED
120
XMLPUBFUN void
121
xmlCatalogDump (FILE *out);
122
#endif /* LIBXML_OUTPUT_ENABLED */
123
XMLPUBFUN xmlChar *
124
xmlCatalogResolve (const xmlChar *pubID,
125
const xmlChar *sysID);
126
XMLPUBFUN xmlChar *
127
xmlCatalogResolveSystem (const xmlChar *sysID);
128
XMLPUBFUN xmlChar *
129
xmlCatalogResolvePublic (const xmlChar *pubID);
130
XMLPUBFUN xmlChar *
131
xmlCatalogResolveURI (const xmlChar *URI);
132
XMLPUBFUN int
133
xmlCatalogAdd (const xmlChar *type,
134
const xmlChar *orig,
135
const xmlChar *replace);
136
XMLPUBFUN int
137
xmlCatalogRemove (const xmlChar *value);
138
XMLPUBFUN xmlDocPtr
139
xmlParseCatalogFile (const char *filename);
140
XMLPUBFUN int
141
xmlCatalogConvert (void);
142
143
/*
144
* Strictly minimal interfaces for per-document catalogs used
145
* by the parser.
146
*/
147
XMLPUBFUN void
148
xmlCatalogFreeLocal (void *catalogs);
149
XMLPUBFUN void *
150
xmlCatalogAddLocal (void *catalogs,
151
const xmlChar *URL);
152
XMLPUBFUN xmlChar *
153
xmlCatalogLocalResolve (void *catalogs,
154
const xmlChar *pubID,
155
const xmlChar *sysID);
156
XMLPUBFUN xmlChar *
157
xmlCatalogLocalResolveURI(void *catalogs,
158
const xmlChar *URI);
159
/*
160
* Preference settings.
161
*/
162
XMLPUBFUN int
163
xmlCatalogSetDebug (int level);
164
XMLPUBFUN xmlCatalogPrefer
165
xmlCatalogSetDefaultPrefer(xmlCatalogPrefer prefer);
166
XMLPUBFUN void
167
xmlCatalogSetDefaults (xmlCatalogAllow allow);
168
XMLPUBFUN xmlCatalogAllow
169
xmlCatalogGetDefaults (void);
170
171
172
/* DEPRECATED interfaces */
173
XMLPUBFUN const xmlChar *
174
xmlCatalogGetSystem (const xmlChar *sysID);
175
XMLPUBFUN const xmlChar *
176
xmlCatalogGetPublic (const xmlChar *pubID);
177
178
#ifdef __cplusplus
179
}
180
#endif
181
#endif /* LIBXML_CATALOG_ENABLED */
182
#endif /* __XML_CATALOG_H__ */
183
184