blob: 6626564571be0b4f38bb4a97f35dca7fc1ecf0d3 [file] [log] [blame]
Daniel Veillard1af9a412003-08-20 22:54:39 +00001/*
Daniel Veillardbe586972003-11-18 20:56:51 +00002 * Summary: SAX2 parser interface used to build the DOM tree
3 * Description: those are the default SAX2 interfaces used by
4 * the library when building DOM tree.
Daniel Veillard1af9a412003-08-20 22:54:39 +00005 *
Daniel Veillardbe586972003-11-18 20:56:51 +00006 * Copy: See Copyright for the status of this software.
Daniel Veillard1af9a412003-08-20 22:54:39 +00007 *
Daniel Veillardbe586972003-11-18 20:56:51 +00008 * Author: Daniel Veillard
Daniel Veillard1af9a412003-08-20 22:54:39 +00009 */
10
11
12#ifndef __XML_SAX2_H__
13#define __XML_SAX2_H__
14
15#include <stdio.h>
16#include <stdlib.h>
Igor Zlatkovic76874e42003-08-25 09:05:12 +000017#include <libxml/xmlversion.h>
Daniel Veillard1af9a412003-08-20 22:54:39 +000018#include <libxml/parser.h>
19#include <libxml/xlink.h>
20
21#ifdef __cplusplus
22extern "C" {
23#endif
Igor Zlatkovic76874e42003-08-25 09:05:12 +000024XMLPUBFUN const xmlChar * XMLCALL
25 xmlSAX2GetPublicId (void *ctx);
Igor Zlatkovic93f984a2003-08-25 10:34:41 +000026XMLPUBFUN const xmlChar * XMLCALL
27 xmlSAX2GetSystemId (void *ctx);
28XMLPUBFUN void XMLCALL
29 xmlSAX2SetDocumentLocator (void *ctx,
Daniel Veillard1af9a412003-08-20 22:54:39 +000030 xmlSAXLocatorPtr loc);
31
Igor Zlatkovic93f984a2003-08-25 10:34:41 +000032XMLPUBFUN int XMLCALL
33 xmlSAX2GetLineNumber (void *ctx);
34XMLPUBFUN int XMLCALL
35 xmlSAX2GetColumnNumber (void *ctx);
Daniel Veillard1af9a412003-08-20 22:54:39 +000036
Igor Zlatkovic93f984a2003-08-25 10:34:41 +000037XMLPUBFUN int XMLCALL
38 xmlSAX2IsStandalone (void *ctx);
39XMLPUBFUN int XMLCALL
40 xmlSAX2HasInternalSubset (void *ctx);
41XMLPUBFUN int XMLCALL
42 xmlSAX2HasExternalSubset (void *ctx);
Daniel Veillard1af9a412003-08-20 22:54:39 +000043
Igor Zlatkovic93f984a2003-08-25 10:34:41 +000044XMLPUBFUN void XMLCALL
45 xmlSAX2InternalSubset (void *ctx,
Daniel Veillard1af9a412003-08-20 22:54:39 +000046 const xmlChar *name,
47 const xmlChar *ExternalID,
48 const xmlChar *SystemID);
Igor Zlatkovic93f984a2003-08-25 10:34:41 +000049XMLPUBFUN void XMLCALL
50 xmlSAX2ExternalSubset (void *ctx,
Daniel Veillard1af9a412003-08-20 22:54:39 +000051 const xmlChar *name,
52 const xmlChar *ExternalID,
53 const xmlChar *SystemID);
Igor Zlatkovic93f984a2003-08-25 10:34:41 +000054XMLPUBFUN xmlEntityPtr XMLCALL
55 xmlSAX2GetEntity (void *ctx,
Daniel Veillard1af9a412003-08-20 22:54:39 +000056 const xmlChar *name);
Igor Zlatkovic93f984a2003-08-25 10:34:41 +000057XMLPUBFUN xmlEntityPtr XMLCALL
58 xmlSAX2GetParameterEntity (void *ctx,
Daniel Veillard1af9a412003-08-20 22:54:39 +000059 const xmlChar *name);
Igor Zlatkovic93f984a2003-08-25 10:34:41 +000060XMLPUBFUN xmlParserInputPtr XMLCALL
61 xmlSAX2ResolveEntity (void *ctx,
Daniel Veillard1af9a412003-08-20 22:54:39 +000062 const xmlChar *publicId,
63 const xmlChar *systemId);
64
Igor Zlatkovic93f984a2003-08-25 10:34:41 +000065XMLPUBFUN void XMLCALL
66 xmlSAX2EntityDecl (void *ctx,
Daniel Veillard1af9a412003-08-20 22:54:39 +000067 const xmlChar *name,
68 int type,
69 const xmlChar *publicId,
70 const xmlChar *systemId,
71 xmlChar *content);
Igor Zlatkovic93f984a2003-08-25 10:34:41 +000072XMLPUBFUN void XMLCALL
73 xmlSAX2AttributeDecl (void *ctx,
Daniel Veillard1af9a412003-08-20 22:54:39 +000074 const xmlChar *elem,
75 const xmlChar *fullname,
76 int type,
77 int def,
78 const xmlChar *defaultValue,
79 xmlEnumerationPtr tree);
Igor Zlatkovic93f984a2003-08-25 10:34:41 +000080XMLPUBFUN void XMLCALL
81 xmlSAX2ElementDecl (void *ctx,
Daniel Veillard1af9a412003-08-20 22:54:39 +000082 const xmlChar *name,
83 int type,
84 xmlElementContentPtr content);
Igor Zlatkovic93f984a2003-08-25 10:34:41 +000085XMLPUBFUN void XMLCALL
86 xmlSAX2NotationDecl (void *ctx,
Daniel Veillard1af9a412003-08-20 22:54:39 +000087 const xmlChar *name,
88 const xmlChar *publicId,
89 const xmlChar *systemId);
Igor Zlatkovic93f984a2003-08-25 10:34:41 +000090XMLPUBFUN void XMLCALL
91 xmlSAX2UnparsedEntityDecl (void *ctx,
Daniel Veillard1af9a412003-08-20 22:54:39 +000092 const xmlChar *name,
93 const xmlChar *publicId,
94 const xmlChar *systemId,
95 const xmlChar *notationName);
96
Igor Zlatkovic93f984a2003-08-25 10:34:41 +000097XMLPUBFUN void XMLCALL
98 xmlSAX2StartDocument (void *ctx);
99XMLPUBFUN void XMLCALL
100 xmlSAX2EndDocument (void *ctx);
William M. Brack21e4ef22005-01-02 09:53:13 +0000101#if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED)
Igor Zlatkovic93f984a2003-08-25 10:34:41 +0000102XMLPUBFUN void XMLCALL
103 xmlSAX2StartElement (void *ctx,
Daniel Veillard1af9a412003-08-20 22:54:39 +0000104 const xmlChar *fullname,
105 const xmlChar **atts);
Igor Zlatkovic93f984a2003-08-25 10:34:41 +0000106XMLPUBFUN void XMLCALL
107 xmlSAX2EndElement (void *ctx,
Daniel Veillard1af9a412003-08-20 22:54:39 +0000108 const xmlChar *name);
William M. Brack21e4ef22005-01-02 09:53:13 +0000109#endif /* LIBXML_SAX1_ENABLED or LIBXML_HTML_ENABLED */
Daniel Veillard07cb8222003-09-10 10:51:05 +0000110XMLPUBFUN void XMLCALL
111 xmlSAX2StartElementNs (void *ctx,
112 const xmlChar *localname,
113 const xmlChar *prefix,
114 const xmlChar *URI,
115 int nb_namespaces,
116 const xmlChar **namespaces,
117 int nb_attributes,
118 int nb_defaulted,
119 const xmlChar **attributes);
120XMLPUBFUN void XMLCALL
121 xmlSAX2EndElementNs (void *ctx,
122 const xmlChar *localname,
123 const xmlChar *prefix,
124 const xmlChar *URI);
Igor Zlatkovic93f984a2003-08-25 10:34:41 +0000125XMLPUBFUN void XMLCALL
126 xmlSAX2Reference (void *ctx,
Daniel Veillard1af9a412003-08-20 22:54:39 +0000127 const xmlChar *name);
Igor Zlatkovic93f984a2003-08-25 10:34:41 +0000128XMLPUBFUN void XMLCALL
129 xmlSAX2Characters (void *ctx,
Daniel Veillard1af9a412003-08-20 22:54:39 +0000130 const xmlChar *ch,
131 int len);
Igor Zlatkovic93f984a2003-08-25 10:34:41 +0000132XMLPUBFUN void XMLCALL
133 xmlSAX2IgnorableWhitespace (void *ctx,
Daniel Veillard1af9a412003-08-20 22:54:39 +0000134 const xmlChar *ch,
135 int len);
Igor Zlatkovic93f984a2003-08-25 10:34:41 +0000136XMLPUBFUN void XMLCALL
137 xmlSAX2ProcessingInstruction (void *ctx,
Daniel Veillard1af9a412003-08-20 22:54:39 +0000138 const xmlChar *target,
139 const xmlChar *data);
Igor Zlatkovic93f984a2003-08-25 10:34:41 +0000140XMLPUBFUN void XMLCALL
Igor Zlatkovic93f984a2003-08-25 10:34:41 +0000141 xmlSAX2Comment (void *ctx,
Daniel Veillard1af9a412003-08-20 22:54:39 +0000142 const xmlChar *value);
Igor Zlatkovic93f984a2003-08-25 10:34:41 +0000143XMLPUBFUN void XMLCALL
144 xmlSAX2CDataBlock (void *ctx,
Daniel Veillard1af9a412003-08-20 22:54:39 +0000145 const xmlChar *value,
146 int len);
147
William M. Brack21e4ef22005-01-02 09:53:13 +0000148#ifdef LIBXML_SAX1_ENABLED
Daniel Veillard07cb8222003-09-10 10:51:05 +0000149XMLPUBFUN int XMLCALL
150 xmlSAXDefaultVersion (int version);
William M. Brack21e4ef22005-01-02 09:53:13 +0000151#endif /* LIBXML_SAX1_ENABLED */
Daniel Veillard07cb8222003-09-10 10:51:05 +0000152
153XMLPUBFUN int XMLCALL
154 xmlSAXVersion (xmlSAXHandler *hdlr,
155 int version);
Igor Zlatkovic93f984a2003-08-25 10:34:41 +0000156XMLPUBFUN void XMLCALL
157 xmlSAX2InitDefaultSAXHandler (xmlSAXHandler *hdlr,
Daniel Veillard1af9a412003-08-20 22:54:39 +0000158 int warning);
159#ifdef LIBXML_HTML_ENABLED
Igor Zlatkovic93f984a2003-08-25 10:34:41 +0000160XMLPUBFUN void XMLCALL
161 xmlSAX2InitHtmlDefaultSAXHandler(xmlSAXHandler *hdlr);
William M. Brack21e4ef22005-01-02 09:53:13 +0000162XMLPUBFUN void XMLCALL
163 htmlDefaultSAXHandlerInit (void);
Daniel Veillard1af9a412003-08-20 22:54:39 +0000164#endif
165#ifdef LIBXML_DOCB_ENABLED
Igor Zlatkovic93f984a2003-08-25 10:34:41 +0000166XMLPUBFUN void XMLCALL
167 xmlSAX2InitDocbDefaultSAXHandler(xmlSAXHandler *hdlr);
William M. Brack21e4ef22005-01-02 09:53:13 +0000168XMLPUBFUN void XMLCALL
169 docbDefaultSAXHandlerInit (void);
Daniel Veillard1af9a412003-08-20 22:54:39 +0000170#endif
Igor Zlatkovic93f984a2003-08-25 10:34:41 +0000171XMLPUBFUN void XMLCALL
172 xmlDefaultSAXHandlerInit (void);
Daniel Veillard1af9a412003-08-20 22:54:39 +0000173#ifdef __cplusplus
174}
175#endif
176#endif /* __XML_SAX2_H__ */