blob: 4fabbdf1e373ffe99a8405124a0a44c7fbcccfff [file] [log] [blame]
Daniel Veillard294cbca1999-12-03 13:19:09 +00001/*
Daniel Veillarde4e51311999-12-18 15:32:46 +00002 * SAX.h : Default SAX handler interfaces.
Daniel Veillard294cbca1999-12-03 13:19:09 +00003 *
4 * See Copyright for the status of this software.
5 *
6 * Daniel Veillard <Daniel.Veillard@w3.org>
7 */
8
9
Daniel Veillardb24054a1999-12-18 15:32:46 +000010#ifndef __XML_SAX_H__
11#define __XML_SAX_H__
12
Daniel Veillard294cbca1999-12-03 13:19:09 +000013#include <stdio.h>
14#include <stdlib.h>
Daniel Veillard361d8452000-04-03 19:48:13 +000015#include <libxml/parser.h>
16#include <libxml/xlink.h>
Daniel Veillard294cbca1999-12-03 13:19:09 +000017
Daniel Veillarde4e51311999-12-18 15:32:46 +000018#ifdef __cplusplus
Daniel Veillard32bc74e2000-07-14 14:49:25 +000019extern "C" {
Daniel Veillarde4e51311999-12-18 15:32:46 +000020#endif
Daniel Veillard294cbca1999-12-03 13:19:09 +000021const xmlChar * getPublicId (void *ctx);
22const xmlChar * getSystemId (void *ctx);
23void setDocumentLocator (void *ctx,
24 xmlSAXLocatorPtr loc);
25
26int getLineNumber (void *ctx);
27int getColumnNumber (void *ctx);
28
29int isStandalone (void *ctx);
30int hasInternalSubset (void *ctx);
31int hasExternalSubset (void *ctx);
32
33void internalSubset (void *ctx,
34 const xmlChar *name,
35 const xmlChar *ExternalID,
36 const xmlChar *SystemID);
Daniel Veillard134c9f32000-10-15 10:27:08 +000037void externalSubset (void *ctx,
38 const xmlChar *name,
39 const xmlChar *ExternalID,
40 const xmlChar *SystemID);
Daniel Veillard294cbca1999-12-03 13:19:09 +000041xmlEntityPtr getEntity (void *ctx,
42 const xmlChar *name);
43xmlEntityPtr getParameterEntity (void *ctx,
44 const xmlChar *name);
45xmlParserInputPtr resolveEntity (void *ctx,
46 const xmlChar *publicId,
47 const xmlChar *systemId);
48
49void entityDecl (void *ctx,
50 const xmlChar *name,
51 int type,
52 const xmlChar *publicId,
53 const xmlChar *systemId,
54 xmlChar *content);
55void attributeDecl (void *ctx,
56 const xmlChar *elem,
57 const xmlChar *name,
58 int type,
59 int def,
60 const xmlChar *defaultValue,
61 xmlEnumerationPtr tree);
62void elementDecl (void *ctx,
63 const xmlChar *name,
64 int type,
65 xmlElementContentPtr content);
66void notationDecl (void *ctx,
67 const xmlChar *name,
68 const xmlChar *publicId,
69 const xmlChar *systemId);
70void unparsedEntityDecl (void *ctx,
71 const xmlChar *name,
72 const xmlChar *publicId,
73 const xmlChar *systemId,
74 const xmlChar *notationName);
75
76void startDocument (void *ctx);
77void endDocument (void *ctx);
78void attribute (void *ctx,
79 const xmlChar *fullname,
80 const xmlChar *value);
81void startElement (void *ctx,
82 const xmlChar *fullname,
83 const xmlChar **atts);
84void endElement (void *ctx,
85 const xmlChar *name);
86void reference (void *ctx,
87 const xmlChar *name);
88void characters (void *ctx,
89 const xmlChar *ch,
90 int len);
91void ignorableWhitespace (void *ctx,
92 const xmlChar *ch,
93 int len);
94void processingInstruction (void *ctx,
95 const xmlChar *target,
96 const xmlChar *data);
97void globalNamespace (void *ctx,
98 const xmlChar *href,
99 const xmlChar *prefix);
100void setNamespace (void *ctx,
101 const xmlChar *name);
102xmlNsPtr getNamespace (void *ctx);
103int checkNamespace (void *ctx,
Ramiro Estrugobfce3771999-12-15 04:32:07 +0000104 xmlChar *nameSpace);
Daniel Veillard294cbca1999-12-03 13:19:09 +0000105void namespaceDecl (void *ctx,
106 const xmlChar *href,
107 const xmlChar *prefix);
108void comment (void *ctx,
109 const xmlChar *value);
110void cdataBlock (void *ctx,
111 const xmlChar *value,
112 int len);
113
114void xmlDefaultSAXHandlerInit (void);
115void htmlDefaultSAXHandlerInit (void);
Daniel Veillard39c7d712000-09-10 16:14:55 +0000116void sgmlDefaultSAXHandlerInit (void);
Daniel Veillarde4e51311999-12-18 15:32:46 +0000117#ifdef __cplusplus
118}
119#endif
Daniel Veillard294cbca1999-12-03 13:19:09 +0000120#endif /* __XML_SAX_H__ */