Annotation of embedaddon/libxml2/DOCBparser.c, revision 1.1.1.2

1.1       misho       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
                     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
1.1.1.2 ! misho      56:  *
1.1       misho      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
1.1.1.2 ! misho     166:  * @userData: if using SAX, this pointer will be provided on callbacks.
1.1       misho     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.
1.1.1.2 ! misho     171:  *
1.1       misho     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.
1.1.1.2 ! misho     199:  *
1.1       misho     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:  *
1.1.1.2 ! misho     224:  * Create a parser context for a file content.
1.1       misho     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
1.1.1.2 ! misho     250:  * @userData: if using SAX, this pointer will be provided on callbacks.
1.1       misho     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 */

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>