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) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED)
102 XMLPUBFUN void XMLCALL
103 		xmlSAX2StartElement		(void *ctx,
104 						 const xmlChar *fullname,
105 						 const xmlChar **atts);
106 XMLPUBFUN void XMLCALL
107 		xmlSAX2EndElement		(void *ctx,
108 						 const xmlChar *name);
109 #endif /* LIBXML_SAX1_ENABLED or LIBXML_HTML_ENABLED */
110 XMLPUBFUN 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);
120 XMLPUBFUN void XMLCALL
121 		xmlSAX2EndElementNs		(void *ctx,
122 						 const xmlChar *localname,
123 						 const xmlChar *prefix,
124 						 const xmlChar *URI);
125 XMLPUBFUN void XMLCALL
126 		xmlSAX2Reference		(void *ctx,
127 						 const xmlChar *name);
128 XMLPUBFUN void XMLCALL
129 		xmlSAX2Characters		(void *ctx,
130 						 const xmlChar *ch,
131 						 int len);
132 XMLPUBFUN void XMLCALL
133 		xmlSAX2IgnorableWhitespace	(void *ctx,
134 						 const xmlChar *ch,
135 						 int len);
136 XMLPUBFUN void XMLCALL
137 		xmlSAX2ProcessingInstruction	(void *ctx,
138 						 const xmlChar *target,
139 						 const xmlChar *data);
140 XMLPUBFUN void XMLCALL
141 		xmlSAX2Comment			(void *ctx,
142 						 const xmlChar *value);
143 XMLPUBFUN void XMLCALL
144 		xmlSAX2CDataBlock		(void *ctx,
145 						 const xmlChar *value,
146 						 int len);
147 
148 #ifdef LIBXML_SAX1_ENABLED
149 XMLPUBFUN int XMLCALL
150 		xmlSAXDefaultVersion		(int version);
151 #endif /* LIBXML_SAX1_ENABLED */
152 
153 XMLPUBFUN int XMLCALL
154 		xmlSAXVersion			(xmlSAXHandler *hdlr,
155 						 int version);
156 XMLPUBFUN void XMLCALL
157 		xmlSAX2InitDefaultSAXHandler    (xmlSAXHandler *hdlr,
158 						 int warning);
159 #ifdef LIBXML_HTML_ENABLED
160 XMLPUBFUN void XMLCALL
161 		xmlSAX2InitHtmlDefaultSAXHandler(xmlSAXHandler *hdlr);
162 XMLPUBFUN void XMLCALL
163 		htmlDefaultSAXHandlerInit	(void);
164 #endif
165 #ifdef LIBXML_DOCB_ENABLED
166 XMLPUBFUN void XMLCALL
167 		xmlSAX2InitDocbDefaultSAXHandler(xmlSAXHandler *hdlr);
168 XMLPUBFUN void XMLCALL
169 		docbDefaultSAXHandlerInit	(void);
170 #endif
171 XMLPUBFUN void XMLCALL
172 		xmlDefaultSAXHandlerInit	(void);
173 #ifdef __cplusplus
174 }
175 #endif
176 #endif /* __XML_SAX2_H__ */
177