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__ */ 207