15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Summary: SAX2 parser interface used to build the DOM tree
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Description: those are the default SAX2 interfaces used by
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *              the library when building DOM tree.
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copy: See Copyright for the status of this software.
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Author: Daniel Veillard
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef __XML_SAX2_H__
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define __XML_SAX2_H__
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <stdio.h>
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <stdlib.h>
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <libxml/xmlversion.h>
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <libxml/parser.h>
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <libxml/xlink.h>
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef __cplusplus
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)extern "C" {
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN const xmlChar * XMLCALL
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSAX2GetPublicId		(void *ctx);
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN const xmlChar * XMLCALL
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSAX2GetSystemId		(void *ctx);
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSAX2SetDocumentLocator	(void *ctx,
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 xmlSAXLocatorPtr loc);
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSAX2GetLineNumber		(void *ctx);
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSAX2GetColumnNumber		(void *ctx);
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSAX2IsStandalone		(void *ctx);
395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSAX2HasInternalSubset	(void *ctx);
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSAX2HasExternalSubset	(void *ctx);
435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSAX2InternalSubset		(void *ctx,
465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar *name,
475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar *ExternalID,
485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar *SystemID);
495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSAX2ExternalSubset		(void *ctx,
515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar *name,
525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar *ExternalID,
535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar *SystemID);
545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlEntityPtr XMLCALL
555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSAX2GetEntity		(void *ctx,
565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar *name);
575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlEntityPtr XMLCALL
585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSAX2GetParameterEntity	(void *ctx,
595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar *name);
605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN xmlParserInputPtr XMLCALL
615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSAX2ResolveEntity		(void *ctx,
625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar *publicId,
635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar *systemId);
645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSAX2EntityDecl		(void *ctx,
675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar *name,
685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 int type,
695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar *publicId,
705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar *systemId,
715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 xmlChar *content);
725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSAX2AttributeDecl		(void *ctx,
745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar *elem,
755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar *fullname,
765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 int type,
775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 int def,
785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar *defaultValue,
795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 xmlEnumerationPtr tree);
805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSAX2ElementDecl		(void *ctx,
825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar *name,
835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 int type,
845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 xmlElementContentPtr content);
855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSAX2NotationDecl		(void *ctx,
875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar *name,
885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar *publicId,
895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar *systemId);
905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSAX2UnparsedEntityDecl	(void *ctx,
925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar *name,
935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar *publicId,
945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar *systemId,
955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar *notationName);
965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSAX2StartDocument		(void *ctx);
995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
1005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSAX2EndDocument		(void *ctx);
1015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED)
1025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
1035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSAX2StartElement		(void *ctx,
1045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar *fullname,
1055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar **atts);
1065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
1075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSAX2EndElement		(void *ctx,
1085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar *name);
1095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* LIBXML_SAX1_ENABLED or LIBXML_HTML_ENABLED */
1105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
1115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSAX2StartElementNs		(void *ctx,
1125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar *localname,
1135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar *prefix,
1145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar *URI,
1155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 int nb_namespaces,
1165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar **namespaces,
1175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 int nb_attributes,
1185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 int nb_defaulted,
1195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar **attributes);
1205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
1215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSAX2EndElementNs		(void *ctx,
1225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar *localname,
1235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar *prefix,
1245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar *URI);
1255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
1265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSAX2Reference		(void *ctx,
1275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar *name);
1285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
1295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSAX2Characters		(void *ctx,
1305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar *ch,
1315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 int len);
1325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
1335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSAX2IgnorableWhitespace	(void *ctx,
1345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar *ch,
1355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 int len);
1365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
1375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSAX2ProcessingInstruction	(void *ctx,
1385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar *target,
1395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar *data);
1405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
1415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSAX2Comment			(void *ctx,
1425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar *value);
1435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
1445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSAX2CDataBlock		(void *ctx,
1455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 const xmlChar *value,
1465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 int len);
1475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef LIBXML_SAX1_ENABLED
1495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
1505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSAXDefaultVersion		(int version);
1515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* LIBXML_SAX1_ENABLED */
1525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN int XMLCALL
1545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSAXVersion			(xmlSAXHandler *hdlr,
1555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 int version);
1565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
1575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSAX2InitDefaultSAXHandler    (xmlSAXHandler *hdlr,
1585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)						 int warning);
1595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef LIBXML_HTML_ENABLED
1605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
1615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSAX2InitHtmlDefaultSAXHandler(xmlSAXHandler *hdlr);
1625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
1635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		htmlDefaultSAXHandlerInit	(void);
1645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
1655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef LIBXML_DOCB_ENABLED
1665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
1675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlSAX2InitDocbDefaultSAXHandler(xmlSAXHandler *hdlr);
1685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
1695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		docbDefaultSAXHandlerInit	(void);
1705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
1715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)XMLPUBFUN void XMLCALL
1725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)		xmlDefaultSAXHandlerInit	(void);
1735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef __cplusplus
1745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
1755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
1765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* __XML_SAX2_H__ */
177