blob: 9394fa71bddc597f5f9d71273e06bfe010f7124d [file] [log] [blame]
Daniel Veillardeae522a2001-04-23 13:41:34 +00001/*
Daniel Veillardbe586972003-11-18 20:56:51 +00002 * Summary: old DocBook SGML parser
3 * Description: interface for a DocBook SGML non-verifying parser
4 * This code is DEPRECATED, and should not be used anymore.
Daniel Veillardeae522a2001-04-23 13:41:34 +00005 *
Daniel Veillardbe586972003-11-18 20:56:51 +00006 * Copy: See Copyright for the status of this software.
Daniel Veillardeae522a2001-04-23 13:41:34 +00007 *
Daniel Veillardbe586972003-11-18 20:56:51 +00008 * Author: Daniel Veillard
Daniel Veillardeae522a2001-04-23 13:41:34 +00009 */
10
11#ifndef __DOCB_PARSER_H__
12#define __DOCB_PARSER_H__
Igor Zlatkovic76874e42003-08-25 09:05:12 +000013#include <libxml/xmlversion.h>
Daniel Veillarda2351322004-06-27 12:08:10 +000014
15#ifdef LIBXML_DOCB_ENABLED
16
Daniel Veillardb59076b2001-04-29 17:04:07 +000017#include <libxml/parser.h>
Daniel Veillard3648fcb2003-10-01 12:21:31 +000018#include <libxml/parserInternals.h>
Daniel Veillardeae522a2001-04-23 13:41:34 +000019
Daniel Veillard877a7bd2003-09-13 00:16:32 +000020#ifndef IN_LIBXML
William M. Brack09428a32003-12-20 09:20:39 +000021#ifdef __GNUC__
Daniel Veillard877a7bd2003-09-13 00:16:32 +000022#warning "The DOCBparser module has been deprecated in libxml2-2.6.0"
Daniel Veillard3648fcb2003-10-01 12:21:31 +000023#endif
William M. Brack09428a32003-12-20 09:20:39 +000024#endif
25
Daniel Veillardeae522a2001-04-23 13:41:34 +000026#ifdef __cplusplus
27extern "C" {
28#endif
29
30/*
Daniel Veillard61f26172002-03-12 18:46:39 +000031 * Most of the back-end structures from XML and SGML are shared.
Daniel Veillardeae522a2001-04-23 13:41:34 +000032 */
33typedef xmlParserCtxt docbParserCtxt;
34typedef xmlParserCtxtPtr docbParserCtxtPtr;
Daniel Veillardeae522a2001-04-23 13:41:34 +000035typedef xmlSAXHandler docbSAXHandler;
36typedef xmlSAXHandlerPtr docbSAXHandlerPtr;
37typedef xmlParserInput docbParserInput;
38typedef xmlParserInputPtr docbParserInputPtr;
39typedef xmlDocPtr docbDocPtr;
Daniel Veillardeae522a2001-04-23 13:41:34 +000040
41/*
42 * There is only few public functions.
43 */
Igor Zlatkovic76874e42003-08-25 09:05:12 +000044XMLPUBFUN int XMLCALL
45 docbEncodeEntities(unsigned char *out,
Daniel Veillardeae522a2001-04-23 13:41:34 +000046 int *outlen,
Daniel Veillard963d2ae2002-01-20 22:08:18 +000047 const unsigned char *in,
Daniel Veillardeae522a2001-04-23 13:41:34 +000048 int *inlen, int quoteChar);
49
Daniel Veillardf8e3db02012-09-11 13:26:36 +080050XMLPUBFUN docbDocPtr XMLCALL
Igor Zlatkovic76874e42003-08-25 09:05:12 +000051 docbSAXParseDoc (xmlChar *cur,
Daniel Veillardeae522a2001-04-23 13:41:34 +000052 const char *encoding,
53 docbSAXHandlerPtr sax,
54 void *userData);
Daniel Veillardf8e3db02012-09-11 13:26:36 +080055XMLPUBFUN docbDocPtr XMLCALL
Igor Zlatkovic76874e42003-08-25 09:05:12 +000056 docbParseDoc (xmlChar *cur,
Daniel Veillardeae522a2001-04-23 13:41:34 +000057 const char *encoding);
Daniel Veillardf8e3db02012-09-11 13:26:36 +080058XMLPUBFUN docbDocPtr XMLCALL
Igor Zlatkovic76874e42003-08-25 09:05:12 +000059 docbSAXParseFile (const char *filename,
Daniel Veillardeae522a2001-04-23 13:41:34 +000060 const char *encoding,
61 docbSAXHandlerPtr sax,
62 void *userData);
Daniel Veillardf8e3db02012-09-11 13:26:36 +080063XMLPUBFUN docbDocPtr XMLCALL
Igor Zlatkovic76874e42003-08-25 09:05:12 +000064 docbParseFile (const char *filename,
Daniel Veillardeae522a2001-04-23 13:41:34 +000065 const char *encoding);
66
67/**
Daniel Veillard61f26172002-03-12 18:46:39 +000068 * Interfaces for the Push mode.
Daniel Veillardeae522a2001-04-23 13:41:34 +000069 */
Daniel Veillardf8e3db02012-09-11 13:26:36 +080070XMLPUBFUN void XMLCALL
Igor Zlatkovic76874e42003-08-25 09:05:12 +000071 docbFreeParserCtxt (docbParserCtxtPtr ctxt);
Daniel Veillardf8e3db02012-09-11 13:26:36 +080072XMLPUBFUN docbParserCtxtPtr XMLCALL
Igor Zlatkovic76874e42003-08-25 09:05:12 +000073 docbCreatePushParserCtxt(docbSAXHandlerPtr sax,
74 void *user_data,
75 const char *chunk,
76 int size,
77 const char *filename,
78 xmlCharEncoding enc);
Daniel Veillardf8e3db02012-09-11 13:26:36 +080079XMLPUBFUN int XMLCALL
Igor Zlatkovic76874e42003-08-25 09:05:12 +000080 docbParseChunk (docbParserCtxtPtr ctxt,
81 const char *chunk,
82 int size,
83 int terminate);
Daniel Veillardf8e3db02012-09-11 13:26:36 +080084XMLPUBFUN docbParserCtxtPtr XMLCALL
Igor Zlatkovic76874e42003-08-25 09:05:12 +000085 docbCreateFileParserCtxt(const char *filename,
86 const char *encoding);
Daniel Veillardf8e3db02012-09-11 13:26:36 +080087XMLPUBFUN int XMLCALL
Igor Zlatkovic76874e42003-08-25 09:05:12 +000088 docbParseDocument (docbParserCtxtPtr ctxt);
Daniel Veillardeae522a2001-04-23 13:41:34 +000089
90#ifdef __cplusplus
91}
92#endif
Daniel Veillarda2351322004-06-27 12:08:10 +000093
94#endif /* LIBXML_DOCB_ENABLED */
95
Daniel Veillardeae522a2001-04-23 13:41:34 +000096#endif /* __DOCB_PARSER_H__ */