1 /*
2 * DOCBparser.c : an attempt to parse SGML Docbook documents
3 *
4 * This is deprecated !!!
5 * Code removed with release 2.6.0 it was broken.
6 * The doc are expect to be migrated to XML DocBook
7 *
8 * See Copyright for the status of this software.
9 *
10 * daniel@veillard.com
11 */
12
13 #define IN_LIBXML
14 #include "libxml.h"
15 #ifdef LIBXML_DOCB_ENABLED
16
17 #include <libxml/xmlerror.h>
18 #include <libxml/DOCBparser.h>
19
20 /**
21 * docbEncodeEntities:
22 * @out: a pointer to an array of bytes to store the result
23 * @outlen: the length of @out
24 * @in: a pointer to an array of UTF-8 chars
25 * @inlen: the length of @in
26 * @quoteChar: the quote character to escape (' or ") or zero.
27 *
28 * Take a block of UTF-8 chars in and try to convert it to an ASCII
29 * plus SGML entities block of chars out.
30 *
31 * Returns 0 if success, -2 if the transcoding fails, or -1 otherwise
32 * The value of @inlen after return is the number of octets consumed
33 * as the return value is positive, else unpredictable.
34 * The value of @outlen after return is the number of octets consumed.
35 */
36 int
docbEncodeEntities(unsigned char * out ATTRIBUTE_UNUSED,int * outlen ATTRIBUTE_UNUSED,const unsigned char * in ATTRIBUTE_UNUSED,int * inlen ATTRIBUTE_UNUSED,int quoteChar ATTRIBUTE_UNUSED)37 docbEncodeEntities(unsigned char *out ATTRIBUTE_UNUSED,
38 int *outlen ATTRIBUTE_UNUSED,
39 const unsigned char *in ATTRIBUTE_UNUSED,
40 int *inlen ATTRIBUTE_UNUSED,
41 int quoteChar ATTRIBUTE_UNUSED)
42 {
43 static int deprecated = 0;
44
45 if (!deprecated) {
46 xmlGenericError(xmlGenericErrorContext,
47 "docbEncodeEntities() deprecated function reached\n");
48 deprecated = 1;
49 }
50 return(-1);
51 }
52
53 /**
54 * docbParseDocument:
55 * @ctxt: an SGML parser context
56 *
57 * parse an SGML document (and build a tree if using the standard SAX
58 * interface).
59 *
60 * Returns 0, -1 in case of error. the parser context is augmented
61 * as a result of the parsing.
62 */
63
64 int
docbParseDocument(docbParserCtxtPtr ctxt ATTRIBUTE_UNUSED)65 docbParseDocument(docbParserCtxtPtr ctxt ATTRIBUTE_UNUSED)
66 {
67 static int deprecated = 0;
68
69 if (!deprecated) {
70 xmlGenericError(xmlGenericErrorContext,
71 "docbParseDocument() deprecated function reached\n");
72 deprecated = 1;
73 }
74 return (xmlParseDocument(ctxt));
75 }
76
77 /**
78 * docbFreeParserCtxt:
79 * @ctxt: an SGML parser context
80 *
81 * Free all the memory used by a parser context. However the parsed
82 * document in ctxt->myDoc is not freed.
83 */
84
85 void
docbFreeParserCtxt(docbParserCtxtPtr ctxt ATTRIBUTE_UNUSED)86 docbFreeParserCtxt(docbParserCtxtPtr ctxt ATTRIBUTE_UNUSED)
87 {
88 static int deprecated = 0;
89
90 if (!deprecated) {
91 xmlGenericError(xmlGenericErrorContext,
92 "docbFreeParserCtxt() deprecated function reached\n");
93 deprecated = 1;
94 }
95 xmlFreeParserCtxt(ctxt);
96 }
97
98 /**
99 * docbParseChunk:
100 * @ctxt: an XML parser context
101 * @chunk: an char array
102 * @size: the size in byte of the chunk
103 * @terminate: last chunk indicator
104 *
105 * Parse a Chunk of memory
106 *
107 * Returns zero if no error, the xmlParserErrors otherwise.
108 */
109 int
docbParseChunk(docbParserCtxtPtr ctxt ATTRIBUTE_UNUSED,const char * chunk ATTRIBUTE_UNUSED,int size ATTRIBUTE_UNUSED,int terminate ATTRIBUTE_UNUSED)110 docbParseChunk(docbParserCtxtPtr ctxt ATTRIBUTE_UNUSED,
111 const char *chunk ATTRIBUTE_UNUSED,
112 int size ATTRIBUTE_UNUSED,
113 int terminate ATTRIBUTE_UNUSED)
114 {
115 static int deprecated = 0;
116
117 if (!deprecated) {
118 xmlGenericError(xmlGenericErrorContext,
119 "docbParseChunk() deprecated function reached\n");
120 deprecated = 1;
121 }
122
123 return (xmlParseChunk(ctxt, chunk, size, terminate));
124 }
125
126 /**
127 * docbCreatePushParserCtxt:
128 * @sax: a SAX handler
129 * @user_data: The user data returned on SAX callbacks
130 * @chunk: a pointer to an array of chars
131 * @size: number of chars in the array
132 * @filename: an optional file name or URI
133 * @enc: an optional encoding
134 *
135 * Create a parser context for using the DocBook SGML parser in push mode
136 * To allow content encoding detection, @size should be >= 4
137 * The value of @filename is used for fetching external entities
138 * and error/warning reports.
139 *
140 * Returns the new parser context or NULL
141 */
142 docbParserCtxtPtr
docbCreatePushParserCtxt(docbSAXHandlerPtr sax ATTRIBUTE_UNUSED,void * user_data ATTRIBUTE_UNUSED,const char * chunk ATTRIBUTE_UNUSED,int size ATTRIBUTE_UNUSED,const char * filename ATTRIBUTE_UNUSED,xmlCharEncoding enc ATTRIBUTE_UNUSED)143 docbCreatePushParserCtxt(docbSAXHandlerPtr sax ATTRIBUTE_UNUSED,
144 void *user_data ATTRIBUTE_UNUSED,
145 const char *chunk ATTRIBUTE_UNUSED,
146 int size ATTRIBUTE_UNUSED,
147 const char *filename ATTRIBUTE_UNUSED,
148 xmlCharEncoding enc ATTRIBUTE_UNUSED)
149 {
150 static int deprecated = 0;
151
152 if (!deprecated) {
153 xmlGenericError(xmlGenericErrorContext,
154 "docbParseChunk() deprecated function reached\n");
155 deprecated = 1;
156 }
157
158 return(xmlCreatePushParserCtxt(sax, user_data, chunk, size, filename));
159 }
160
161 /**
162 * docbSAXParseDoc:
163 * @cur: a pointer to an array of xmlChar
164 * @encoding: a free form C string describing the SGML document encoding, or NULL
165 * @sax: the SAX handler block
166 * @userData: if using SAX, this pointer will be provided on callbacks.
167 *
168 * parse an SGML in-memory document and build a tree.
169 * It use the given SAX function block to handle the parsing callback.
170 * If sax is NULL, fallback to the default DOM tree building routines.
171 *
172 * Returns the resulting document tree
173 */
174
175 docbDocPtr
docbSAXParseDoc(xmlChar * cur ATTRIBUTE_UNUSED,const char * encoding ATTRIBUTE_UNUSED,docbSAXHandlerPtr sax ATTRIBUTE_UNUSED,void * userData ATTRIBUTE_UNUSED)176 docbSAXParseDoc(xmlChar * cur ATTRIBUTE_UNUSED,
177 const char *encoding ATTRIBUTE_UNUSED,
178 docbSAXHandlerPtr sax ATTRIBUTE_UNUSED,
179 void *userData ATTRIBUTE_UNUSED)
180 {
181 static int deprecated = 0;
182
183 if (!deprecated) {
184 xmlGenericError(xmlGenericErrorContext,
185 "docbParseChunk() deprecated function reached\n");
186 deprecated = 1;
187 }
188
189 return (xmlSAXParseMemoryWithData(sax, (const char *)cur,
190 xmlStrlen((const xmlChar *) cur), 0, userData));
191 }
192
193 /**
194 * docbParseDoc:
195 * @cur: a pointer to an array of xmlChar
196 * @encoding: a free form C string describing the SGML document encoding, or NULL
197 *
198 * parse an SGML in-memory document and build a tree.
199 *
200 * Returns the resulting document tree
201 */
202
203 docbDocPtr
docbParseDoc(xmlChar * cur ATTRIBUTE_UNUSED,const char * encoding ATTRIBUTE_UNUSED)204 docbParseDoc(xmlChar * cur ATTRIBUTE_UNUSED,
205 const char *encoding ATTRIBUTE_UNUSED)
206 {
207 static int deprecated = 0;
208
209 if (!deprecated) {
210 xmlGenericError(xmlGenericErrorContext,
211 "docbParseChunk() deprecated function reached\n");
212 deprecated = 1;
213 }
214
215 return (xmlParseDoc(cur));
216 }
217
218
219 /**
220 * docbCreateFileParserCtxt:
221 * @filename: the filename
222 * @encoding: the SGML document encoding, or NULL
223 *
224 * Create a parser context for a file content.
225 * Automatic support for ZLIB/Compress compressed document is provided
226 * by default if found at compile-time.
227 *
228 * Returns the new parser context or NULL
229 */
230 docbParserCtxtPtr
docbCreateFileParserCtxt(const char * filename ATTRIBUTE_UNUSED,const char * encoding ATTRIBUTE_UNUSED)231 docbCreateFileParserCtxt(const char *filename ATTRIBUTE_UNUSED,
232 const char *encoding ATTRIBUTE_UNUSED)
233 {
234 static int deprecated = 0;
235
236 if (!deprecated) {
237 xmlGenericError(xmlGenericErrorContext,
238 "docbCreateFileParserCtxt() deprecated function reached\n");
239 deprecated = 1;
240 }
241
242 return (xmlCreateFileParserCtxt(filename));
243 }
244
245 /**
246 * docbSAXParseFile:
247 * @filename: the filename
248 * @encoding: a free form C string describing the SGML document encoding, or NULL
249 * @sax: the SAX handler block
250 * @userData: if using SAX, this pointer will be provided on callbacks.
251 *
252 * parse an SGML file and build a tree. Automatic support for ZLIB/Compress
253 * compressed document is provided by default if found at compile-time.
254 * It use the given SAX function block to handle the parsing callback.
255 * If sax is NULL, fallback to the default DOM tree building routines.
256 *
257 * Returns the resulting document tree
258 */
259
260 docbDocPtr
docbSAXParseFile(const char * filename ATTRIBUTE_UNUSED,const char * encoding ATTRIBUTE_UNUSED,docbSAXHandlerPtr sax ATTRIBUTE_UNUSED,void * userData ATTRIBUTE_UNUSED)261 docbSAXParseFile(const char *filename ATTRIBUTE_UNUSED,
262 const char *encoding ATTRIBUTE_UNUSED,
263 docbSAXHandlerPtr sax ATTRIBUTE_UNUSED,
264 void *userData ATTRIBUTE_UNUSED)
265 {
266 static int deprecated = 0;
267
268 if (!deprecated) {
269 xmlGenericError(xmlGenericErrorContext,
270 "docbSAXParseFile() deprecated function reached\n");
271 deprecated = 1;
272 }
273
274 return (xmlSAXParseFileWithData(sax, filename, 0, userData));
275 }
276
277 /**
278 * docbParseFile:
279 * @filename: the filename
280 * @encoding: a free form C string describing document encoding, or NULL
281 *
282 * parse a Docbook SGML file and build a tree. Automatic support for
283 * ZLIB/Compress compressed document is provided by default if found
284 * at compile-time.
285 *
286 * Returns the resulting document tree
287 */
288
289 docbDocPtr
docbParseFile(const char * filename ATTRIBUTE_UNUSED,const char * encoding ATTRIBUTE_UNUSED)290 docbParseFile(const char *filename ATTRIBUTE_UNUSED,
291 const char *encoding ATTRIBUTE_UNUSED)
292 {
293 static int deprecated = 0;
294
295 if (!deprecated) {
296 xmlGenericError(xmlGenericErrorContext,
297 "docbParseFile() deprecated function reached\n");
298 deprecated = 1;
299 }
300
301 return (xmlParseFile(filename));
302 }
303 #define bottom_DOCBparser
304 #include "elfgcchack.h"
305 #endif /* LIBXML_DOCB_ENABLED */
306