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
22 extern "C" {
23 #endif
24 XMLPUBFUN const xmlChar * XMLCALL
25 		xmlSAX2GetPublicId		(void *ctx);
26 XMLPUBFUN const xmlChar * XMLCALL
27 		xmlSAX2GetSystemId		(void *ctx);
28 XMLPUBFUN void XMLCALL
29 		xmlSAX2SetDocumentLocator	(void *ctx,
30 						 xmlSAXLocatorPtr loc);
31 
32 XMLPUBFUN int XMLCALL
33 		xmlSAX2GetLineNumber		(void *ctx);
34 XMLPUBFUN int XMLCALL
35 		xmlSAX2GetColumnNumber		(void *ctx);
36 
37 XMLPUBFUN int XMLCALL
38 		xmlSAX2IsStandalone		(void *ctx);
39 XMLPUBFUN int XMLCALL
40 		xmlSAX2HasInternalSubset	(void *ctx);
41 XMLPUBFUN int XMLCALL
42 		xmlSAX2HasExternalSubset	(void *ctx);
43 
44 XMLPUBFUN void XMLCALL
45 		xmlSAX2InternalSubset		(void *ctx,
46 						 const xmlChar *name,
47 						 const xmlChar *ExternalID,
48 						 const xmlChar *SystemID);
49 XMLPUBFUN void XMLCALL
50 		xmlSAX2ExternalSubset		(void *ctx,
51 						 const xmlChar *name,
52 						 const xmlChar *ExternalID,
53 						 const xmlChar *SystemID);
54 XMLPUBFUN xmlEntityPtr XMLCALL
55 		xmlSAX2GetEntity		(void *ctx,
56 						 const xmlChar *name);
57 XMLPUBFUN xmlEntityPtr XMLCALL
58 		xmlSAX2GetParameterEntity	(void *ctx,
59 						 const xmlChar *name);
60 XMLPUBFUN xmlParserInputPtr XMLCALL
61 		xmlSAX2ResolveEntity		(void *ctx,
62 						 const xmlChar *publicId,
63 						 const xmlChar *systemId);
64 
65 XMLPUBFUN void XMLCALL
66 		xmlSAX2EntityDecl		(void *ctx,
67 						 const xmlChar *name,
68 						 int type,
69 						 const xmlChar *publicId,
70 						 const xmlChar *systemId,
71 						 xmlChar *content);
72 XMLPUBFUN 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);
80 XMLPUBFUN void XMLCALL
81 		xmlSAX2ElementDecl		(void *ctx,
82 						 const xmlChar *name,
83 						 int type,
84 						 xmlElementContentPtr content);
85 XMLPUBFUN void XMLCALL
86 		xmlSAX2NotationDecl		(void *ctx,
87 						 const xmlChar *name,
88 						 const xmlChar *publicId,
89 						 const xmlChar *systemId);
90 XMLPUBFUN void XMLCALL
91 		xmlSAX2UnparsedEntityDecl	(void *ctx,
92 						 const xmlChar *name,
93 						 const xmlChar *publicId,
94 						 const xmlChar *systemId,
95 						 const xmlChar *notationName);
96 
97 XMLPUBFUN void XMLCALL
98 		xmlSAX2StartDocument		(void *ctx);
99 XMLPUBFUN 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)
104 XMLPUBFUN void XMLCALL
105 		xmlSAX2StartElement		(void *ctx,
106 						 const xmlChar *fullname,
107 						 const xmlChar **atts);
108 XMLPUBFUN void XMLCALL
109 		xmlSAX2EndElement		(void *ctx,
110 						 const xmlChar *name);
111 #endif /* LIBXML_SAX1_ENABLED or LIBXML_HTML_ENABLED or LIBXML_LEGACY_ENABLED */
112 XMLPUBFUN 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);
122 XMLPUBFUN void XMLCALL
123 		xmlSAX2EndElementNs		(void *ctx,
124 						 const xmlChar *localname,
125 						 const xmlChar *prefix,
126 						 const xmlChar *URI);
127 XMLPUBFUN void XMLCALL
128 		xmlSAX2Reference		(void *ctx,
129 						 const xmlChar *name);
130 XMLPUBFUN void XMLCALL
131 		xmlSAX2Characters		(void *ctx,
132 						 const xmlChar *ch,
133 						 int len);
134 XMLPUBFUN void XMLCALL
135 		xmlSAX2IgnorableWhitespace	(void *ctx,
136 						 const xmlChar *ch,
137 						 int len);
138 XMLPUBFUN void XMLCALL
139 		xmlSAX2ProcessingInstruction	(void *ctx,
140 						 const xmlChar *target,
141 						 const xmlChar *data);
142 XMLPUBFUN void XMLCALL
143 		xmlSAX2Comment			(void *ctx,
144 						 const xmlChar *value);
145 XMLPUBFUN void XMLCALL
146 		xmlSAX2CDataBlock		(void *ctx,
147 						 const xmlChar *value,
148 						 int len);
149 
150 #ifdef LIBXML_SAX1_ENABLED
151 XMLPUBFUN int XMLCALL
152 		xmlSAXDefaultVersion		(int version);
153 #endif /* LIBXML_SAX1_ENABLED */
154 
155 XMLPUBFUN int XMLCALL
156 		xmlSAXVersion			(xmlSAXHandler *hdlr,
157 						 int version);
158 XMLPUBFUN void XMLCALL
159 		xmlSAX2InitDefaultSAXHandler    (xmlSAXHandler *hdlr,
160 						 int warning);
161 #ifdef LIBXML_HTML_ENABLED
162 XMLPUBFUN void XMLCALL
163 		xmlSAX2InitHtmlDefaultSAXHandler(xmlSAXHandler *hdlr);
164 XMLPUBFUN void XMLCALL
165 		htmlDefaultSAXHandlerInit	(void);
166 #endif
167 #ifdef LIBXML_DOCB_ENABLED
168 XMLPUBFUN void XMLCALL
169 		xmlSAX2InitDocbDefaultSAXHandler(xmlSAXHandler *hdlr);
170 XMLPUBFUN void XMLCALL
171 		docbDefaultSAXHandlerInit	(void);
172 #endif
173 XMLPUBFUN void XMLCALL
174 		xmlDefaultSAXHandlerInit	(void);
175 #ifdef __cplusplus
176 }
177 #endif
178 #endif /* __XML_SAX2_H__ */
179