text: /*
   * 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 */
  