From 35a201cc8ef0c3f5b2df88d2e528aabee1048348 Mon Sep 17 00:00:00 2001 From: Wojtek Kosior Date: Fri, 30 Apr 2021 18:47:09 +0200 Subject: Initial/Final commit --- libxml2-2.9.10/DOCBparser.c | 305 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 305 insertions(+) create mode 100644 libxml2-2.9.10/DOCBparser.c (limited to 'libxml2-2.9.10/DOCBparser.c') diff --git a/libxml2-2.9.10/DOCBparser.c b/libxml2-2.9.10/DOCBparser.c new file mode 100644 index 0000000..f12511b --- /dev/null +++ b/libxml2-2.9.10/DOCBparser.c @@ -0,0 +1,305 @@ +/* + * DOCBparser.c : an attempt to parse SGML Docbook documents + * + * This is deprecated !!! + * Code removed with release 2.6.0 it was broken. + * The doc are expect to be migrated to XML DocBook + * + * See Copyright for the status of this software. + * + * daniel@veillard.com + */ + +#define IN_LIBXML +#include "libxml.h" +#ifdef LIBXML_DOCB_ENABLED + +#include +#include + +/** + * docbEncodeEntities: + * @out: a pointer to an array of bytes to store the result + * @outlen: the length of @out + * @in: a pointer to an array of UTF-8 chars + * @inlen: the length of @in + * @quoteChar: the quote character to escape (' or ") or zero. + * + * Take a block of UTF-8 chars in and try to convert it to an ASCII + * plus SGML entities block of chars out. + * + * Returns 0 if success, -2 if the transcoding fails, or -1 otherwise + * The value of @inlen after return is the number of octets consumed + * as the return value is positive, else unpredictable. + * The value of @outlen after return is the number of octets consumed. + */ +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) +{ + static int deprecated = 0; + + if (!deprecated) { + xmlGenericError(xmlGenericErrorContext, + "docbEncodeEntities() deprecated function reached\n"); + deprecated = 1; + } + return(-1); +} + +/** + * docbParseDocument: + * @ctxt: an SGML parser context + * + * parse an SGML document (and build a tree if using the standard SAX + * interface). + * + * Returns 0, -1 in case of error. the parser context is augmented + * as a result of the parsing. + */ + +int +docbParseDocument(docbParserCtxtPtr ctxt ATTRIBUTE_UNUSED) +{ + static int deprecated = 0; + + if (!deprecated) { + xmlGenericError(xmlGenericErrorContext, + "docbParseDocument() deprecated function reached\n"); + deprecated = 1; + } + return (xmlParseDocument(ctxt)); +} + +/** + * docbFreeParserCtxt: + * @ctxt: an SGML parser context + * + * Free all the memory used by a parser context. However the parsed + * document in ctxt->myDoc is not freed. + */ + +void +docbFreeParserCtxt(docbParserCtxtPtr ctxt ATTRIBUTE_UNUSED) +{ + static int deprecated = 0; + + if (!deprecated) { + xmlGenericError(xmlGenericErrorContext, + "docbFreeParserCtxt() deprecated function reached\n"); + deprecated = 1; + } + xmlFreeParserCtxt(ctxt); +} + +/** + * docbParseChunk: + * @ctxt: an XML parser context + * @chunk: an char array + * @size: the size in byte of the chunk + * @terminate: last chunk indicator + * + * Parse a Chunk of memory + * + * Returns zero if no error, the xmlParserErrors otherwise. + */ +int +docbParseChunk(docbParserCtxtPtr ctxt ATTRIBUTE_UNUSED, + const char *chunk ATTRIBUTE_UNUSED, + int size ATTRIBUTE_UNUSED, + int terminate ATTRIBUTE_UNUSED) +{ + static int deprecated = 0; + + if (!deprecated) { + xmlGenericError(xmlGenericErrorContext, + "docbParseChunk() deprecated function reached\n"); + deprecated = 1; + } + + return (xmlParseChunk(ctxt, chunk, size, terminate)); +} + +/** + * docbCreatePushParserCtxt: + * @sax: a SAX handler + * @user_data: The user data returned on SAX callbacks + * @chunk: a pointer to an array of chars + * @size: number of chars in the array + * @filename: an optional file name or URI + * @enc: an optional encoding + * + * Create a parser context for using the DocBook SGML parser in push mode + * To allow content encoding detection, @size should be >= 4 + * The value of @filename is used for fetching external entities + * and error/warning reports. + * + * Returns the new parser context or NULL + */ +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) +{ + static int deprecated = 0; + + if (!deprecated) { + xmlGenericError(xmlGenericErrorContext, + "docbParseChunk() deprecated function reached\n"); + deprecated = 1; + } + + return(xmlCreatePushParserCtxt(sax, user_data, chunk, size, filename)); +} + +/** + * docbSAXParseDoc: + * @cur: a pointer to an array of xmlChar + * @encoding: a free form C string describing the SGML document encoding, or NULL + * @sax: the SAX handler block + * @userData: if using SAX, this pointer will be provided on callbacks. + * + * parse an SGML in-memory document and build a tree. + * It use the given SAX function block to handle the parsing callback. + * If sax is NULL, fallback to the default DOM tree building routines. + * + * Returns the resulting document tree + */ + +docbDocPtr +docbSAXParseDoc(xmlChar * cur ATTRIBUTE_UNUSED, + const char *encoding ATTRIBUTE_UNUSED, + docbSAXHandlerPtr sax ATTRIBUTE_UNUSED, + void *userData ATTRIBUTE_UNUSED) +{ + static int deprecated = 0; + + if (!deprecated) { + xmlGenericError(xmlGenericErrorContext, + "docbParseChunk() deprecated function reached\n"); + deprecated = 1; + } + + return (xmlSAXParseMemoryWithData(sax, (const char *)cur, + xmlStrlen((const xmlChar *) cur), 0, userData)); +} + +/** + * docbParseDoc: + * @cur: a pointer to an array of xmlChar + * @encoding: a free form C string describing the SGML document encoding, or NULL + * + * parse an SGML in-memory document and build a tree. + * + * Returns the resulting document tree + */ + +docbDocPtr +docbParseDoc(xmlChar * cur ATTRIBUTE_UNUSED, + const char *encoding ATTRIBUTE_UNUSED) +{ + static int deprecated = 0; + + if (!deprecated) { + xmlGenericError(xmlGenericErrorContext, + "docbParseChunk() deprecated function reached\n"); + deprecated = 1; + } + + return (xmlParseDoc(cur)); +} + + +/** + * docbCreateFileParserCtxt: + * @filename: the filename + * @encoding: the SGML document encoding, or NULL + * + * Create a parser context for a file content. + * Automatic support for ZLIB/Compress compressed document is provided + * by default if found at compile-time. + * + * Returns the new parser context or NULL + */ +docbParserCtxtPtr +docbCreateFileParserCtxt(const char *filename ATTRIBUTE_UNUSED, + const char *encoding ATTRIBUTE_UNUSED) +{ + static int deprecated = 0; + + if (!deprecated) { + xmlGenericError(xmlGenericErrorContext, + "docbCreateFileParserCtxt() deprecated function reached\n"); + deprecated = 1; + } + + return (xmlCreateFileParserCtxt(filename)); +} + +/** + * docbSAXParseFile: + * @filename: the filename + * @encoding: a free form C string describing the SGML document encoding, or NULL + * @sax: the SAX handler block + * @userData: if using SAX, this pointer will be provided on callbacks. + * + * parse an SGML file and build a tree. Automatic support for ZLIB/Compress + * compressed document is provided by default if found at compile-time. + * It use the given SAX function block to handle the parsing callback. + * If sax is NULL, fallback to the default DOM tree building routines. + * + * Returns the resulting document tree + */ + +docbDocPtr +docbSAXParseFile(const char *filename ATTRIBUTE_UNUSED, + const char *encoding ATTRIBUTE_UNUSED, + docbSAXHandlerPtr sax ATTRIBUTE_UNUSED, + void *userData ATTRIBUTE_UNUSED) +{ + static int deprecated = 0; + + if (!deprecated) { + xmlGenericError(xmlGenericErrorContext, + "docbSAXParseFile() deprecated function reached\n"); + deprecated = 1; + } + + return (xmlSAXParseFileWithData(sax, filename, 0, userData)); +} + +/** + * docbParseFile: + * @filename: the filename + * @encoding: a free form C string describing document encoding, or NULL + * + * parse a Docbook SGML file and build a tree. Automatic support for + * ZLIB/Compress compressed document is provided by default if found + * at compile-time. + * + * Returns the resulting document tree + */ + +docbDocPtr +docbParseFile(const char *filename ATTRIBUTE_UNUSED, + const char *encoding ATTRIBUTE_UNUSED) +{ + static int deprecated = 0; + + if (!deprecated) { + xmlGenericError(xmlGenericErrorContext, + "docbParseFile() deprecated function reached\n"); + deprecated = 1; + } + + return (xmlParseFile(filename)); +} +#define bottom_DOCBparser +#include "elfgcchack.h" +#endif /* LIBXML_DOCB_ENABLED */ -- cgit v1.2.3