blob: 0ca019b93a65a09f71a5417eddbb904dbf694657 [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);
101XMLPUBFUN void XMLCALL
102 xmlSAX2StartElement (void *ctx,
Daniel Veillard1af9a412003-08-20 22:54:39 +0000103 const xmlChar *fullname,
104 const xmlChar **atts);
Igor Zlatkovic93f984a2003-08-25 10:34:41 +0000105XMLPUBFUN void XMLCALL
106 xmlSAX2EndElement (void *ctx,
Daniel Veillard1af9a412003-08-20 22:54:39 +0000107 const xmlChar *name);
Daniel Veillard07cb8222003-09-10 10:51:05 +0000108XMLPUBFUN void XMLCALL
109 xmlSAX2StartElementNs (void *ctx,
110 const xmlChar *localname,
111 const xmlChar *prefix,
112 const xmlChar *URI,
113 int nb_namespaces,
114 const xmlChar **namespaces,
115 int nb_attributes,
116 int nb_defaulted,
117 const xmlChar **attributes);
118XMLPUBFUN void XMLCALL
119 xmlSAX2EndElementNs (void *ctx,
120 const xmlChar *localname,
121 const xmlChar *prefix,
122 const xmlChar *URI);
Igor Zlatkovic93f984a2003-08-25 10:34:41 +0000123XMLPUBFUN void XMLCALL
124 xmlSAX2Reference (void *ctx,
Daniel Veillard1af9a412003-08-20 22:54:39 +0000125 const xmlChar *name);
Igor Zlatkovic93f984a2003-08-25 10:34:41 +0000126XMLPUBFUN void XMLCALL
127 xmlSAX2Characters (void *ctx,
Daniel Veillard1af9a412003-08-20 22:54:39 +0000128 const xmlChar *ch,
129 int len);
Igor Zlatkovic93f984a2003-08-25 10:34:41 +0000130XMLPUBFUN void XMLCALL
131 xmlSAX2IgnorableWhitespace (void *ctx,
Daniel Veillard1af9a412003-08-20 22:54:39 +0000132 const xmlChar *ch,
133 int len);
Igor Zlatkovic93f984a2003-08-25 10:34:41 +0000134XMLPUBFUN void XMLCALL
135 xmlSAX2ProcessingInstruction (void *ctx,
Daniel Veillard1af9a412003-08-20 22:54:39 +0000136 const xmlChar *target,
137 const xmlChar *data);
Igor Zlatkovic93f984a2003-08-25 10:34:41 +0000138XMLPUBFUN void XMLCALL
Igor Zlatkovic93f984a2003-08-25 10:34:41 +0000139 xmlSAX2Comment (void *ctx,
Daniel Veillard1af9a412003-08-20 22:54:39 +0000140 const xmlChar *value);
Igor Zlatkovic93f984a2003-08-25 10:34:41 +0000141XMLPUBFUN void XMLCALL
142 xmlSAX2CDataBlock (void *ctx,
Daniel Veillard1af9a412003-08-20 22:54:39 +0000143 const xmlChar *value,
144 int len);
145
Daniel Veillard07cb8222003-09-10 10:51:05 +0000146XMLPUBFUN int XMLCALL
147 xmlSAXDefaultVersion (int version);
148
149XMLPUBFUN int XMLCALL
150 xmlSAXVersion (xmlSAXHandler *hdlr,
151 int version);
Igor Zlatkovic93f984a2003-08-25 10:34:41 +0000152XMLPUBFUN void XMLCALL
153 xmlSAX2InitDefaultSAXHandler (xmlSAXHandler *hdlr,
Daniel Veillard1af9a412003-08-20 22:54:39 +0000154 int warning);
155#ifdef LIBXML_HTML_ENABLED
Igor Zlatkovic93f984a2003-08-25 10:34:41 +0000156XMLPUBFUN void XMLCALL
157 xmlSAX2InitHtmlDefaultSAXHandler(xmlSAXHandler *hdlr);
Daniel Veillard1af9a412003-08-20 22:54:39 +0000158#endif
159#ifdef LIBXML_DOCB_ENABLED
Igor Zlatkovic93f984a2003-08-25 10:34:41 +0000160XMLPUBFUN void XMLCALL
161 xmlSAX2InitDocbDefaultSAXHandler(xmlSAXHandler *hdlr);
Daniel Veillard1af9a412003-08-20 22:54:39 +0000162#endif
Igor Zlatkovic93f984a2003-08-25 10:34:41 +0000163XMLPUBFUN void XMLCALL
164 xmlDefaultSAXHandlerInit (void);
165XMLPUBFUN void XMLCALL
166 htmlDefaultSAXHandlerInit (void);
167XMLPUBFUN void XMLCALL
168 docbDefaultSAXHandlerInit (void);
Daniel Veillard1af9a412003-08-20 22:54:39 +0000169#ifdef __cplusplus
170}
171#endif
172#endif /* __XML_SAX2_H__ */