blob: 461d4ee802d45dfcc598101e74680a583431c841 [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
Igor Zlatkovic76874e42003-08-25 09:05:12 +000050XMLPUBFUN docbDocPtr XMLCALL
51 docbSAXParseDoc (xmlChar *cur,
Daniel Veillardeae522a2001-04-23 13:41:34 +000052 const char *encoding,
53 docbSAXHandlerPtr sax,
54 void *userData);
Igor Zlatkovic76874e42003-08-25 09:05:12 +000055XMLPUBFUN docbDocPtr XMLCALL
56 docbParseDoc (xmlChar *cur,
Daniel Veillardeae522a2001-04-23 13:41:34 +000057 const char *encoding);
Igor Zlatkovic76874e42003-08-25 09:05:12 +000058XMLPUBFUN docbDocPtr XMLCALL
59 docbSAXParseFile (const char *filename,
Daniel Veillardeae522a2001-04-23 13:41:34 +000060 const char *encoding,
61 docbSAXHandlerPtr sax,
62 void *userData);
Igor Zlatkovic76874e42003-08-25 09:05:12 +000063XMLPUBFUN docbDocPtr XMLCALL
64 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 */
Igor Zlatkovic76874e42003-08-25 09:05:12 +000070XMLPUBFUN void XMLCALL
71 docbFreeParserCtxt (docbParserCtxtPtr ctxt);
72XMLPUBFUN docbParserCtxtPtr XMLCALL
73 docbCreatePushParserCtxt(docbSAXHandlerPtr sax,
74 void *user_data,
75 const char *chunk,
76 int size,
77 const char *filename,
78 xmlCharEncoding enc);
79XMLPUBFUN int XMLCALL
80 docbParseChunk (docbParserCtxtPtr ctxt,
81 const char *chunk,
82 int size,
83 int terminate);
84XMLPUBFUN docbParserCtxtPtr XMLCALL
85 docbCreateFileParserCtxt(const char *filename,
86 const char *encoding);
87XMLPUBFUN int XMLCALL
88 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__ */