1/*
2 * 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.
5 *
6 * Copy: See Copyright for the status of this software.
7 *
8 * Author: Daniel Veillard
9 */
10
11
12#ifndef __XML_SAX2_H__
13#define __XML_SAX2_H__
14
15#include <stdio.h>
16#include <stdlib.h>
17#include <libxml/xmlversion.h>
18#include <libxml/parser.h>
19#include <libxml/xlink.h>
20
21#ifdef __cplusplus
22extern "C" {
23#endif
24XMLPUBFUN const xmlChar * XMLCALL
25		xmlSAX2GetPublicId		(void *ctx);
26XMLPUBFUN const xmlChar * XMLCALL
27		xmlSAX2GetSystemId		(void *ctx);
28XMLPUBFUN void XMLCALL
29		xmlSAX2SetDocumentLocator	(void *ctx,
30						 xmlSAXLocatorPtr loc);
31
32XMLPUBFUN int XMLCALL
33		xmlSAX2GetLineNumber		(void *ctx);
34XMLPUBFUN int XMLCALL
35		xmlSAX2GetColumnNumber		(void *ctx);
36
37XMLPUBFUN int XMLCALL
38		xmlSAX2IsStandalone		(void *ctx);
39XMLPUBFUN int XMLCALL
40		xmlSAX2HasInternalSubset	(void *ctx);
41XMLPUBFUN int XMLCALL
42		xmlSAX2HasExternalSubset	(void *ctx);
43
44XMLPUBFUN void XMLCALL
45		xmlSAX2InternalSubset		(void *ctx,
46						 const xmlChar *name,
47						 const xmlChar *ExternalID,
48						 const xmlChar *SystemID);
49XMLPUBFUN void XMLCALL
50		xmlSAX2ExternalSubset		(void *ctx,
51						 const xmlChar *name,
52						 const xmlChar *ExternalID,
53						 const xmlChar *SystemID);
54XMLPUBFUN xmlEntityPtr XMLCALL
55		xmlSAX2GetEntity		(void *ctx,
56						 const xmlChar *name);
57XMLPUBFUN xmlEntityPtr XMLCALL
58		xmlSAX2GetParameterEntity	(void *ctx,
59						 const xmlChar *name);
60XMLPUBFUN xmlParserInputPtr XMLCALL
61		xmlSAX2ResolveEntity		(void *ctx,
62						 const xmlChar *publicId,
63						 const xmlChar *systemId);
64
65XMLPUBFUN void XMLCALL
66		xmlSAX2EntityDecl		(void *ctx,
67						 const xmlChar *name,
68						 int type,
69						 const xmlChar *publicId,
70						 const xmlChar *systemId,
71						 xmlChar *content);
72XMLPUBFUN void XMLCALL
73		xmlSAX2AttributeDecl		(void *ctx,
74						 const xmlChar *elem,
75						 const xmlChar *fullname,
76						 int type,
77						 int def,
78						 const xmlChar *defaultValue,
79						 xmlEnumerationPtr tree);
80XMLPUBFUN void XMLCALL
81		xmlSAX2ElementDecl		(void *ctx,
82						 const xmlChar *name,
83						 int type,
84						 xmlElementContentPtr content);
85XMLPUBFUN void XMLCALL
86		xmlSAX2NotationDecl		(void *ctx,
87						 const xmlChar *name,
88						 const xmlChar *publicId,
89						 const xmlChar *systemId);
90XMLPUBFUN void XMLCALL
91		xmlSAX2UnparsedEntityDecl	(void *ctx,
92						 const xmlChar *name,
93						 const xmlChar *publicId,
94						 const xmlChar *systemId,
95						 const xmlChar *notationName);
96
97XMLPUBFUN void XMLCALL
98		xmlSAX2StartDocument		(void *ctx);
99XMLPUBFUN void XMLCALL
100		xmlSAX2EndDocument		(void *ctx);
101#if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || \
102    defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED) || \
103    defined(LIBXML_LEGACY_ENABLED)
104XMLPUBFUN void XMLCALL
105		xmlSAX2StartElement		(void *ctx,
106						 const xmlChar *fullname,
107						 const xmlChar **atts);
108XMLPUBFUN void XMLCALL
109		xmlSAX2EndElement		(void *ctx,
110						 const xmlChar *name);
111#endif /* LIBXML_SAX1_ENABLED or LIBXML_HTML_ENABLED or LIBXML_LEGACY_ENABLED */
112XMLPUBFUN void XMLCALL
113		xmlSAX2StartElementNs		(void *ctx,
114						 const xmlChar *localname,
115						 const xmlChar *prefix,
116						 const xmlChar *URI,
117						 int nb_namespaces,
118						 const xmlChar **namespaces,
119						 int nb_attributes,
120						 int nb_defaulted,
121						 const xmlChar **attributes);
122XMLPUBFUN void XMLCALL
123		xmlSAX2EndElementNs		(void *ctx,
124						 const xmlChar *localname,
125						 const xmlChar *prefix,
126						 const xmlChar *URI);
127XMLPUBFUN void XMLCALL
128		xmlSAX2Reference		(void *ctx,
129						 const xmlChar *name);
130XMLPUBFUN void XMLCALL
131		xmlSAX2Characters		(void *ctx,
132						 const xmlChar *ch,
133						 int len);
134XMLPUBFUN void XMLCALL
135		xmlSAX2IgnorableWhitespace	(void *ctx,
136						 const xmlChar *ch,
137						 int len);
138XMLPUBFUN void XMLCALL
139		xmlSAX2ProcessingInstruction	(void *ctx,
140						 const xmlChar *target,
141						 const xmlChar *data);
142XMLPUBFUN void XMLCALL
143		xmlSAX2Comment			(void *ctx,
144						 const xmlChar *value);
145XMLPUBFUN void XMLCALL
146		xmlSAX2CDataBlock		(void *ctx,
147						 const xmlChar *value,
148						 int len);
149
150#ifdef LIBXML_SAX1_ENABLED
151XMLPUBFUN int XMLCALL
152		xmlSAXDefaultVersion		(int version);
153#endif /* LIBXML_SAX1_ENABLED */
154
155XMLPUBFUN int XMLCALL
156		xmlSAXVersion			(xmlSAXHandler *hdlr,
157						 int version);
158XMLPUBFUN void XMLCALL
159		xmlSAX2InitDefaultSAXHandler    (xmlSAXHandler *hdlr,
160						 int warning);
161#ifdef LIBXML_HTML_ENABLED
162XMLPUBFUN void XMLCALL
163		xmlSAX2InitHtmlDefaultSAXHandler(xmlSAXHandler *hdlr);
164XMLPUBFUN void XMLCALL
165		htmlDefaultSAXHandlerInit	(void);
166#endif
167#ifdef LIBXML_DOCB_ENABLED
168XMLPUBFUN void XMLCALL
169		xmlSAX2InitDocbDefaultSAXHandler(xmlSAXHandler *hdlr);
170XMLPUBFUN void XMLCALL
171		docbDefaultSAXHandlerInit	(void);
172#endif
173XMLPUBFUN void XMLCALL
174		xmlDefaultSAXHandlerInit	(void);
175#ifdef __cplusplus
176}
177#endif
178#endif /* __XML_SAX2_H__ */
179