blob: 37bfdc72ba5a28739e8338cb74759f36596eff2c [file] [log] [blame]
Daniel Veillard1af9a412003-08-20 22:54:39 +00001/*
2 * SAX.h : Default SAX2 handler interfaces to build a tree.
3 *
4 * See Copyright for the status of this software.
5 *
6 * Daniel Veillard <daniel@veillard.com>
7 */
8
9
10#ifndef __XML_SAX2_H__
11#define __XML_SAX2_H__
12
13#include <stdio.h>
14#include <stdlib.h>
Igor Zlatkovic76874e42003-08-25 09:05:12 +000015#include <libxml/xmlversion.h>
Daniel Veillard1af9a412003-08-20 22:54:39 +000016#include <libxml/parser.h>
17#include <libxml/xlink.h>
18
19#ifdef __cplusplus
20extern "C" {
21#endif
Igor Zlatkovic76874e42003-08-25 09:05:12 +000022XMLPUBFUN const xmlChar * XMLCALL
23 xmlSAX2GetPublicId (void *ctx);
24XMLPUBFUN const xmlChar * XMLCALL xmlSAX2GetSystemId (void *ctx);
25XMLPUBFUN void XMLCALL xmlSAX2SetDocumentLocator (void *ctx,
Daniel Veillard1af9a412003-08-20 22:54:39 +000026 xmlSAXLocatorPtr loc);
27
Igor Zlatkovic76874e42003-08-25 09:05:12 +000028XMLPUBFUN int XMLCALL xmlSAX2GetLineNumber (void *ctx);
29XMLPUBFUN int XMLCALL xmlSAX2GetColumnNumber (void *ctx);
Daniel Veillard1af9a412003-08-20 22:54:39 +000030
Igor Zlatkovic76874e42003-08-25 09:05:12 +000031XMLPUBFUN int XMLCALL xmlSAX2IsStandalone (void *ctx);
32XMLPUBFUN int XMLCALL xmlSAX2HasInternalSubset (void *ctx);
33XMLPUBFUN int XMLCALL xmlSAX2HasExternalSubset (void *ctx);
Daniel Veillard1af9a412003-08-20 22:54:39 +000034
Igor Zlatkovic76874e42003-08-25 09:05:12 +000035XMLPUBFUN void XMLCALL xmlSAX2InternalSubset (void *ctx,
Daniel Veillard1af9a412003-08-20 22:54:39 +000036 const xmlChar *name,
37 const xmlChar *ExternalID,
38 const xmlChar *SystemID);
Igor Zlatkovic76874e42003-08-25 09:05:12 +000039XMLPUBFUN void XMLCALL xmlSAX2ExternalSubset (void *ctx,
Daniel Veillard1af9a412003-08-20 22:54:39 +000040 const xmlChar *name,
41 const xmlChar *ExternalID,
42 const xmlChar *SystemID);
Igor Zlatkovic76874e42003-08-25 09:05:12 +000043XMLPUBFUN xmlEntityPtr XMLCALL xmlSAX2GetEntity (void *ctx,
Daniel Veillard1af9a412003-08-20 22:54:39 +000044 const xmlChar *name);
Igor Zlatkovic76874e42003-08-25 09:05:12 +000045XMLPUBFUN xmlEntityPtr XMLCALL xmlSAX2GetParameterEntity (void *ctx,
Daniel Veillard1af9a412003-08-20 22:54:39 +000046 const xmlChar *name);
Igor Zlatkovic76874e42003-08-25 09:05:12 +000047XMLPUBFUN xmlParserInputPtr XMLCALL xmlSAX2ResolveEntity (void *ctx,
Daniel Veillard1af9a412003-08-20 22:54:39 +000048 const xmlChar *publicId,
49 const xmlChar *systemId);
50
Igor Zlatkovic76874e42003-08-25 09:05:12 +000051XMLPUBFUN void XMLCALL xmlSAX2EntityDecl (void *ctx,
Daniel Veillard1af9a412003-08-20 22:54:39 +000052 const xmlChar *name,
53 int type,
54 const xmlChar *publicId,
55 const xmlChar *systemId,
56 xmlChar *content);
Igor Zlatkovic76874e42003-08-25 09:05:12 +000057XMLPUBFUN void XMLCALL xmlSAX2AttributeDecl (void *ctx,
Daniel Veillard1af9a412003-08-20 22:54:39 +000058 const xmlChar *elem,
59 const xmlChar *fullname,
60 int type,
61 int def,
62 const xmlChar *defaultValue,
63 xmlEnumerationPtr tree);
Igor Zlatkovic76874e42003-08-25 09:05:12 +000064XMLPUBFUN void XMLCALL xmlSAX2ElementDecl (void *ctx,
Daniel Veillard1af9a412003-08-20 22:54:39 +000065 const xmlChar *name,
66 int type,
67 xmlElementContentPtr content);
Igor Zlatkovic76874e42003-08-25 09:05:12 +000068XMLPUBFUN void XMLCALL xmlSAX2NotationDecl (void *ctx,
Daniel Veillard1af9a412003-08-20 22:54:39 +000069 const xmlChar *name,
70 const xmlChar *publicId,
71 const xmlChar *systemId);
Igor Zlatkovic76874e42003-08-25 09:05:12 +000072XMLPUBFUN void XMLCALL xmlSAX2UnparsedEntityDecl (void *ctx,
Daniel Veillard1af9a412003-08-20 22:54:39 +000073 const xmlChar *name,
74 const xmlChar *publicId,
75 const xmlChar *systemId,
76 const xmlChar *notationName);
77
Igor Zlatkovic76874e42003-08-25 09:05:12 +000078XMLPUBFUN void XMLCALL xmlSAX2StartDocument (void *ctx);
79XMLPUBFUN void XMLCALL xmlSAX2EndDocument (void *ctx);
80XMLPUBFUN void XMLCALL xmlSAX2StartElement (void *ctx,
Daniel Veillard1af9a412003-08-20 22:54:39 +000081 const xmlChar *fullname,
82 const xmlChar **atts);
Igor Zlatkovic76874e42003-08-25 09:05:12 +000083XMLPUBFUN void XMLCALL xmlSAX2EndElement (void *ctx,
Daniel Veillard1af9a412003-08-20 22:54:39 +000084 const xmlChar *name);
Igor Zlatkovic76874e42003-08-25 09:05:12 +000085XMLPUBFUN void XMLCALL xmlSAX2Reference (void *ctx,
Daniel Veillard1af9a412003-08-20 22:54:39 +000086 const xmlChar *name);
Igor Zlatkovic76874e42003-08-25 09:05:12 +000087XMLPUBFUN void XMLCALL xmlSAX2Characters (void *ctx,
Daniel Veillard1af9a412003-08-20 22:54:39 +000088 const xmlChar *ch,
89 int len);
Igor Zlatkovic76874e42003-08-25 09:05:12 +000090XMLPUBFUN void XMLCALL xmlSAX2IgnorableWhitespace (void *ctx,
Daniel Veillard1af9a412003-08-20 22:54:39 +000091 const xmlChar *ch,
92 int len);
Igor Zlatkovic76874e42003-08-25 09:05:12 +000093XMLPUBFUN void XMLCALL xmlSAX2ProcessingInstruction (void *ctx,
Daniel Veillard1af9a412003-08-20 22:54:39 +000094 const xmlChar *target,
95 const xmlChar *data);
Igor Zlatkovic76874e42003-08-25 09:05:12 +000096XMLPUBFUN void XMLCALL xmlSAX2GlobalNamespace (void *ctx,
Daniel Veillard1af9a412003-08-20 22:54:39 +000097 const xmlChar *href,
98 const xmlChar *prefix);
Igor Zlatkovic76874e42003-08-25 09:05:12 +000099XMLPUBFUN void XMLCALL xmlSAX2SetNamespace (void *ctx,
Daniel Veillard1af9a412003-08-20 22:54:39 +0000100 const xmlChar *name);
Igor Zlatkovic76874e42003-08-25 09:05:12 +0000101XMLPUBFUN xmlNsPtr XMLCALL xmlSAX2GetNamespace (void *ctx);
102XMLPUBFUN int XMLCALL xmlSAX2CheckNamespace (void *ctx,
Daniel Veillard1af9a412003-08-20 22:54:39 +0000103 xmlChar *nameSpace);
Igor Zlatkovic76874e42003-08-25 09:05:12 +0000104XMLPUBFUN void XMLCALL xmlSAX2NamespaceDecl (void *ctx,
Daniel Veillard1af9a412003-08-20 22:54:39 +0000105 const xmlChar *href,
106 const xmlChar *prefix);
Igor Zlatkovic76874e42003-08-25 09:05:12 +0000107XMLPUBFUN void XMLCALL xmlSAX2Comment (void *ctx,
Daniel Veillard1af9a412003-08-20 22:54:39 +0000108 const xmlChar *value);
Igor Zlatkovic76874e42003-08-25 09:05:12 +0000109XMLPUBFUN void XMLCALL xmlSAX2CDataBlock (void *ctx,
Daniel Veillard1af9a412003-08-20 22:54:39 +0000110 const xmlChar *value,
111 int len);
112
Igor Zlatkovic76874e42003-08-25 09:05:12 +0000113XMLPUBFUN void XMLCALL xmlSAX2InitDefaultSAXHandler (xmlSAXHandler *hdlr,
Daniel Veillard1af9a412003-08-20 22:54:39 +0000114 int warning);
115#ifdef LIBXML_HTML_ENABLED
Igor Zlatkovic76874e42003-08-25 09:05:12 +0000116XMLPUBFUN void XMLCALL xmlSAX2InitHtmlDefaultSAXHandler(xmlSAXHandler *hdlr);
Daniel Veillard1af9a412003-08-20 22:54:39 +0000117#endif
118#ifdef LIBXML_DOCB_ENABLED
Igor Zlatkovic76874e42003-08-25 09:05:12 +0000119XMLPUBFUN void XMLCALL xmlSAX2InitDocbDefaultSAXHandler(xmlSAXHandler *hdlr);
Daniel Veillard1af9a412003-08-20 22:54:39 +0000120#endif
Igor Zlatkovic76874e42003-08-25 09:05:12 +0000121XMLPUBFUN void XMLCALL xmlDefaultSAXHandlerInit (void);
122XMLPUBFUN void XMLCALL htmlDefaultSAXHandlerInit (void);
123XMLPUBFUN void XMLCALL docbDefaultSAXHandlerInit (void);
Daniel Veillard1af9a412003-08-20 22:54:39 +0000124#ifdef __cplusplus
125}
126#endif
127#endif /* __XML_SAX2_H__ */