You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
305 lines
8.6 KiB
305 lines
8.6 KiB
/* |
|
* 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 <libxml/xmlerror.h> |
|
#include <libxml/DOCBparser.h> |
|
|
|
/** |
|
* 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 */
|
|
|