1 /* libxml2 - Library for parsing XML documents
2 * Copyright (C) 2006-2019 Free Software Foundation, Inc.
3 *
4 * This file is not part of the GNU gettext program, but is used with
5 * GNU gettext.
6 *
7 * The original copyright notice is as follows:
8 */
9
10 /*
11 * Copyright (C) 1998-2012 Daniel Veillard. All Rights Reserved.
12 *
13 * Permission is hereby granted, free of charge, to any person obtaining a copy
14 * of this software and associated documentation files (the "Software"), to deal
15 * in the Software without restriction, including without limitation the rights
16 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
17 * copies of the Software, and to permit persons to whom the Software is fur-
18 * nished to do so, subject to the following conditions:
19 *
20 * The above copyright notice and this permission notice shall be included in
21 * all copies or substantial portions of the Software.
22 *
23 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
24 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT-
25 * NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
26 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
27 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
28 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
29 * THE SOFTWARE.
30 *
31 * Author: Daniel Veillard
32 */
33
34 /*
35 * Summary: SAX2 parser interface used to build the DOM tree
36 * Description: those are the default SAX2 interfaces used by
37 * the library when building DOM tree.
38 */
39
40 #ifndef __XML_SAX2_H__
41 #define __XML_SAX2_H__
42
43 #include <stdio.h>
44 #include <stdlib.h>
45 #include <libxml/xmlversion.h>
46 #include <libxml/parser.h>
47 #include <libxml/xlink.h>
48
49 #ifdef __cplusplus
50 extern "C" {
51 #endif
52 XMLPUBFUN const xmlChar * XMLCALL
53 xmlSAX2GetPublicId (void *ctx);
54 XMLPUBFUN const xmlChar * XMLCALL
55 xmlSAX2GetSystemId (void *ctx);
56 XMLPUBFUN void XMLCALL
57 xmlSAX2SetDocumentLocator (void *ctx,
58 xmlSAXLocatorPtr loc);
59
60 XMLPUBFUN int XMLCALL
61 xmlSAX2GetLineNumber (void *ctx);
62 XMLPUBFUN int XMLCALL
63 xmlSAX2GetColumnNumber (void *ctx);
64
65 XMLPUBFUN int XMLCALL
66 xmlSAX2IsStandalone (void *ctx);
67 XMLPUBFUN int XMLCALL
68 xmlSAX2HasInternalSubset (void *ctx);
69 XMLPUBFUN int XMLCALL
70 xmlSAX2HasExternalSubset (void *ctx);
71
72 XMLPUBFUN void XMLCALL
73 xmlSAX2InternalSubset (void *ctx,
74 const xmlChar *name,
75 const xmlChar *ExternalID,
76 const xmlChar *SystemID);
77 XMLPUBFUN void XMLCALL
78 xmlSAX2ExternalSubset (void *ctx,
79 const xmlChar *name,
80 const xmlChar *ExternalID,
81 const xmlChar *SystemID);
82 XMLPUBFUN xmlEntityPtr XMLCALL
83 xmlSAX2GetEntity (void *ctx,
84 const xmlChar *name);
85 XMLPUBFUN xmlEntityPtr XMLCALL
86 xmlSAX2GetParameterEntity (void *ctx,
87 const xmlChar *name);
88 XMLPUBFUN xmlParserInputPtr XMLCALL
89 xmlSAX2ResolveEntity (void *ctx,
90 const xmlChar *publicId,
91 const xmlChar *systemId);
92
93 XMLPUBFUN void XMLCALL
94 xmlSAX2EntityDecl (void *ctx,
95 const xmlChar *name,
96 int type,
97 const xmlChar *publicId,
98 const xmlChar *systemId,
99 xmlChar *content);
100 XMLPUBFUN void XMLCALL
101 xmlSAX2AttributeDecl (void *ctx,
102 const xmlChar *elem,
103 const xmlChar *fullname,
104 int type,
105 int def,
106 const xmlChar *defaultValue,
107 xmlEnumerationPtr tree);
108 XMLPUBFUN void XMLCALL
109 xmlSAX2ElementDecl (void *ctx,
110 const xmlChar *name,
111 int type,
112 xmlElementContentPtr content);
113 XMLPUBFUN void XMLCALL
114 xmlSAX2NotationDecl (void *ctx,
115 const xmlChar *name,
116 const xmlChar *publicId,
117 const xmlChar *systemId);
118 XMLPUBFUN void XMLCALL
119 xmlSAX2UnparsedEntityDecl (void *ctx,
120 const xmlChar *name,
121 const xmlChar *publicId,
122 const xmlChar *systemId,
123 const xmlChar *notationName);
124
125 XMLPUBFUN void XMLCALL
126 xmlSAX2StartDocument (void *ctx);
127 XMLPUBFUN void XMLCALL
128 xmlSAX2EndDocument (void *ctx);
129 #if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || \
130 defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED) || \
131 defined(LIBXML_LEGACY_ENABLED)
132 XMLPUBFUN void XMLCALL
133 xmlSAX2StartElement (void *ctx,
134 const xmlChar *fullname,
135 const xmlChar **atts);
136 XMLPUBFUN void XMLCALL
137 xmlSAX2EndElement (void *ctx,
138 const xmlChar *name);
139 #endif /* LIBXML_SAX1_ENABLED or LIBXML_HTML_ENABLED or LIBXML_LEGACY_ENABLED */
140 XMLPUBFUN void XMLCALL
141 xmlSAX2StartElementNs (void *ctx,
142 const xmlChar *localname,
143 const xmlChar *prefix,
144 const xmlChar *URI,
145 int nb_namespaces,
146 const xmlChar **namespaces,
147 int nb_attributes,
148 int nb_defaulted,
149 const xmlChar **attributes);
150 XMLPUBFUN void XMLCALL
151 xmlSAX2EndElementNs (void *ctx,
152 const xmlChar *localname,
153 const xmlChar *prefix,
154 const xmlChar *URI);
155 XMLPUBFUN void XMLCALL
156 xmlSAX2Reference (void *ctx,
157 const xmlChar *name);
158 XMLPUBFUN void XMLCALL
159 xmlSAX2Characters (void *ctx,
160 const xmlChar *ch,
161 int len);
162 XMLPUBFUN void XMLCALL
163 xmlSAX2IgnorableWhitespace (void *ctx,
164 const xmlChar *ch,
165 int len);
166 XMLPUBFUN void XMLCALL
167 xmlSAX2ProcessingInstruction (void *ctx,
168 const xmlChar *target,
169 const xmlChar *data);
170 XMLPUBFUN void XMLCALL
171 xmlSAX2Comment (void *ctx,
172 const xmlChar *value);
173 XMLPUBFUN void XMLCALL
174 xmlSAX2CDataBlock (void *ctx,
175 const xmlChar *value,
176 int len);
177
178 #ifdef LIBXML_SAX1_ENABLED
179 XMLPUBFUN int XMLCALL
180 xmlSAXDefaultVersion (int version);
181 #endif /* LIBXML_SAX1_ENABLED */
182
183 XMLPUBFUN int XMLCALL
184 xmlSAXVersion (xmlSAXHandler *hdlr,
185 int version);
186 XMLPUBFUN void XMLCALL
187 xmlSAX2InitDefaultSAXHandler (xmlSAXHandler *hdlr,
188 int warning);
189 #ifdef LIBXML_HTML_ENABLED
190 XMLPUBFUN void XMLCALL
191 xmlSAX2InitHtmlDefaultSAXHandler(xmlSAXHandler *hdlr);
192 XMLPUBFUN void XMLCALL
193 htmlDefaultSAXHandlerInit (void);
194 #endif
195 #ifdef LIBXML_DOCB_ENABLED
196 XMLPUBFUN void XMLCALL
197 xmlSAX2InitDocbDefaultSAXHandler(xmlSAXHandler *hdlr);
198 XMLPUBFUN void XMLCALL
199 docbDefaultSAXHandlerInit (void);
200 #endif
201 XMLPUBFUN void XMLCALL
202 xmlDefaultSAXHandlerInit (void);
203 #ifdef __cplusplus
204 }
205 #endif
206 #endif /* __XML_SAX2_H__ */