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 (at) 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 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 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 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 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 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 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 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 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 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 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