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