• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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