1      * Summary: interfaces to the Catalog handling system
2      * Description: the catalog module implements the support for
3      * XML Catalogs and SGML catalogs
4      *
5      * SGML Open Technical Resolution TR9401:1997.
6      * http://www.jclark.com/sp/catalog.htm
7      *
8      * XML Catalogs Working Draft 06 August 2001
9      * http://www.oasis-open.org/committees/entity/spec-2001-08-06.html
10      *
11      * Copy: See Copyright for the status of this software.
12      *
13      * Author: Patrick Monnerat <pm@datasphere.ch>, DATASPHERE S.A.
14
15      /if not defined(XML_CATALOG_H__)
16      /define XML_CATALOG_H__
17
18      /include "libxmlrpg/xmlversion"
19
20      /if defined(LIBXML_CATALOG_ENABLED)
21
22      /include "libxmlrpg/xmlTypesC"
23      /include "libxmlrpg/xmlstring"
24      /include "libxmlrpg/tree"
25
26      * XML_CATALOGS_NAMESPACE:
27      *
28      * The namespace for the XML Catalogs elements.
29
30     d XML_CATALOGS_NAMESPACE...
31     d                 c                   'urn:oasis:names:+
32     d                                      tc:entity:xmlns:xml:catalog'
33
34      * XML_CATALOG_PI:
35      *
36      * The specific XML Catalog Processing Instruction name.
37
38     d XML_CATALOG_PI  c                   'oasis-xml-catalog'
39
40      * The API is voluntarily limited to general cataloging.
41
42     d xmlCatalogPrefer...
43     d                 s                   based(######typedef######)
44     d                                     like(xmlCenum)
45     d XML_CATA_PREFER_NONE...
46     d                 c                   0
47     d XML_CATA_PREFER_PUBLIC...
48     d                 c                   1
49     d XML_CATA_PREFER_SYSTEM...
50     d                 c                   2
51
52     d xmlCatalogAllow...
53     d                 s                   based(######typedef######)
54     d                                     like(xmlCenum)
55     d XML_CATA_ALLOW_NONE...
56     d                 c                   0
57     d XML_CATA_ALLOW_GLOBAL...
58     d                 c                   1
59     d XML_CATA_ALLOW_DOCUMENT...
60     d                 c                   2
61     d XML_CATA_ALLOW_ALL...
62     d                 c                   3
63
64     d xmlCatalogPtr   s               *   based(######typedef######)
65
66      * Operations on a given catalog.
67
68     d xmlNewCatalog   pr                  extproc('xmlNewCatalog')
69     d                                     like(xmlCatalogPtr)
70     d  sgml                               value like(xmlCint)
71
72     d xmlLoadACatalog...
73     d                 pr                  extproc('xmlLoadACatalog')
74     d                                     like(xmlCatalogPtr)
75     d  filename                       *   value options(*string)               const char *
76
77     d xmlLoadSGMLSuperCatalog...
78     d                 pr                  extproc('xmlLoadSGMLSuperCatalog')
79     d                                     like(xmlCatalogPtr)
80     d  filename                       *   value options(*string)               const char *
81
82     d xmlConvertSGMLCatalog...
83     d                 pr                  extproc('xmlConvertSGMLCatalog')
84     d                                     like(xmlCint)
85     d  catal                              value like(xmlCatalogPtr)
86
87     d xmlACatalogAdd  pr                  extproc('xmlACatalogAdd')
88     d                                     like(xmlCint)
89     d  catal                              value like(xmlCatalogPtr)
90     d  type                           *   value options(*string)               const xmlChar *
91     d  orig                           *   value options(*string)               const xmlChar *
92     d  replace                        *   value options(*string)               const xmlChar *
93
94     d xmlACatalogRemove...
95     d                 pr                  extproc('xmlACatalogRemove')
96     d                                     like(xmlCint)
97     d  catal                              value like(xmlCatalogPtr)
98     d  value                          *   value options(*string)               const xmlChar *
99
100     d xmlACatalogResolve...
101     d                 pr              *   extproc('xmlACatalogResolve')        xmlChar *
102     d  catal                              value like(xmlCatalogPtr)
103     d  pubID                          *   value options(*string)               const xmlChar *
104     d  sysID                          *   value options(*string)               const xmlChar *
105
106     d xmlACatalogResolveSystem...
107     d                 pr              *   extproc('xmlACatalogResolveSystem')  xmlChar *
108     d  catal                              value like(xmlCatalogPtr)
109     d  sysID                          *   value options(*string)               const xmlChar *
110
111     d xmlACatalogResolvePublic...
112     d                 pr              *   extproc('xmlACatalogResolvePublic')  xmlChar *
113     d  catal                              value like(xmlCatalogPtr)
114     d  pubID                          *   value options(*string)               const xmlChar *
115
116     d xmlACatalogResolveURI...
117     d                 pr              *   extproc('xmlACatalogResolveURI')     xmlChar *
118     d  catal                              value like(xmlCatalogPtr)
119     d  URI                            *   value options(*string)               const xmlChar *
120
121      /if defined(LIBXML_OUTPUT_ENABLED)
122     d xmlACatalogDump...
123     d                 pr                  extproc('xmlACatalogDump')
124     d  catal                              value like(xmlCatalogPtr)
125     d  out                            *   value                                FILE *
126      /endif                                                                    LIBXML_OUTPUT_ENABLD
127
128     d xmlFreeCatalog  pr                  extproc('xmlFreeCatalog')
129     d  catal                              value like(xmlCatalogPtr)
130
131     d xmlCatalogIsEmpty...
132     d                 pr                  extproc('xmlCatalogIsEmpty')
133     d                                     like(xmlCint)
134     d  catal                              value like(xmlCatalogPtr)
135
136      * Global operations.
137
138     d xmlInitializeCatalog...
139     d                 pr                  extproc('xmlInitializeCatalog')
140
141     d xmlLoadCatalog  pr                  extproc('xmlLoadCatalog')
142     d                                     like(xmlCint)
143     d  filename                       *   value options(*string)               const char *
144
145     d xmlLoadCatalogs...
146     d                 pr                  extproc('xmlLoadCatalogs')
147     d  paths                          *   value options(*string)               const char *
148
149     d xmlCatalogCleanup...
150     d                 pr                  extproc('xmlCatalogCleanup')
151
152      /if defined(LIBXML_OUTPUT_ENABLED)
153     d xmlCatalogDump  pr                  extproc('xmlCatalogDump')
154     d  out                            *   value                                FILE *
155      /endif                                                                    LIBXML_OUTPUT_ENABLD
156
157     d xmlCatalogResolve...
158     d                 pr              *   extproc('xmlCatalogResolve')         xmlChar *
159     d  pubID                          *   value options(*string)               const xmlChar *
160     d  sysID                          *   value options(*string)               const xmlChar *
161
162     d xmlCatalogResolveSystem...
163     d                 pr              *   extproc('xmlCatalogResolveSystem')   xmlChar *
164     d  sysID                          *   value options(*string)               const xmlChar *
165
166     d xmlCatalogResolvePublic...
167     d                 pr              *   extproc('xmlCatalogResolvePublic')   xmlChar *
168     d  pubID                          *   value options(*string)               const xmlChar *
169
170     d xmlCatalogResolveURI...
171     d                 pr              *   extproc('xmlCatalogResolveURI')      xmlChar *
172     d  URI                            *   value options(*string)               const xmlChar *
173
174     d xmlCatalogAdd   pr                  extproc('xmlCatalogAdd')
175     d                                     like(xmlCint)
176     d  type                           *   value options(*string)               const xmlChar *
177     d  orig                           *   value options(*string)               const xmlChar *
178     d  replace                        *   value options(*string)               const xmlChar *
179
180     d xmlCatalogRemove...
181     d                 pr                  extproc('xmlCatalogRemove')
182     d                                     like(xmlCint)
183     d  value                          *   value options(*string)               const xmlChar *
184
185     d xmlParseCatalogFile...
186     d                 pr                  extproc('xmlParseCatalogFile')
187     d                                     like(xmlDocPtr)
188     d  filename                       *   value options(*string)               const char *
189
190     d xmlCatalogConvert...
191     d                 pr                  extproc('xmlCatalogConvert')
192     d                                     like(xmlCint)
193
194      * Strictly minimal interfaces for per-document catalogs used
195      * by the parser.
196
197     d xmlCatalogFreeLocal...
198     d                 pr                  extproc('xmlCatalogFreeLocal')
199     d  catalogs                       *   value                                void *
200
201     d xmlCatalogAddLocal...
202     d                 pr              *   extproc('xmlCatalogAddLocal')        void *
203     d  catalogs                       *   value                                void *
204     d  URL                            *   value options(*string)               const xmlChar *
205
206     d xmlCatalogLocalResolve...
207     d                 pr              *   extproc('xmlCatalogLocalResolve')    xmlChar *
208     d  catalogs                       *   value                                void *
209     d  pubID                          *   value options(*string)               const xmlChar *
210     d  sysID                          *   value options(*string)               const xmlChar *
211
212     d xmlCatalogLocalResolveURI...
213     d                 pr              *   extproc('xmlCatalogLocalResolveURI') xmlChar *
214     d  catalogs                       *   value                                void *
215     d  URI                            *   value options(*string)               const xmlChar *
216
217      * Preference settings.
218
219     d xmlCatalogSetDebug...
220     d                 pr                  extproc('xmlCatalogSetDebug')
221     d                                     like(xmlCint)
222     d  level                              value like(xmlCint)
223
224     d xmlCatalogSetDefaultPrefer...
225     d                 pr                  extproc('xmlCatalogSetDefaultPrefer')
226     d                                     like(xmlCatalogPrefer)
227     d  prefer                             value like(xmlCatalogPrefer)
228
229     d xmlCatalogSetDefaults...
230     d                 pr                  extproc('xmlCatalogSetDefaults')
231     d  allow                              value like(xmlCatalogAllow)
232
233     d xmlCatalogGetDefaults...
234     d                 pr                  extproc('xmlCatalogGetDefaults')
235     d                                     like(xmlCatalogAllow)
236
237      * DEPRECATED interfaces
238
239     d xmlCatalogGetSystem...
240     d                 pr              *   extproc('xmlCatalogGetSystem')       const xmlChar *
241     d  sysID                          *   value options(*string)               const xmlChar *
242
243     d xmlCatalogGetPublic...
244     d                 pr              *   extproc('xmlCatalogGetPublic')       const xmlChar *
245     d  pubID                          *   value options(*string)               const xmlChar *
246
247      /endif                                                                    LIBXML_CATALOG_ENBLD
248      /endif                                                                    XML_CATALOG_H__
249