blob: 9b0c959efc4f693645cf7ec32dc9b7f96a0184d3 [file] [log] [blame]
Daniel Veillardd4330462003-04-29 12:40:16 +00001<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>parser</title><meta name="generator" content="DocBook XSL Stylesheets V1.58.1"><style xmlns="http://www.w3.org/TR/xhtml1/transitional" type="text/css">
3 .synopsis, .classsynopsis {
4 background: #eeeeee;
5 border: solid 1px #aaaaaa;
6 padding: 0.5em;
7 }
8 .programlisting {
9 background: #eeeeff;
10 border: solid 1px #aaaaff;
11 padding: 0.5em;
12 }
13 .variablelist {
14 padding: 4px;
15 margin-left: 3em;
16 }
17 .navigation {
18 background: #ffeeee;
19 border: solid 1px #ffaaaa;
20 margin-top: 0.5em;
21 margin-bottom: 0.5em;
22 }
23 .navigation a {
24 color: #770000;
25 }
26 .navigation a:visited {
27 color: #550000;
28 }
29 .navigation .title {
30 font-size: 200%;
31 }
32 </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="libxml-lib.html" title="Libxml Library Reference"><link rel="previous" href="libxml-lib.html" title="Libxml Library Reference"><link rel="next" href="libxml-xmlreader.html" title="xmlreader"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table xmlns="http://www.w3.org/TR/xhtml1/transitional" class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-lib.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></img></a></td><td><a accesskey="u" href="libxml-lib.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></img></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></img></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-xmlreader.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></img></a></td></tr></table><div class="refentry" lang="en"><a name="libxml-parser"></a><div class="titlepage"></div><div class="refnamediv"><h2>parser</h2><p>parser &#8212; </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="synopsis">
Daniel Veillard35925471999-02-25 08:46:07 +000033
Daniel Veillardd4330462003-04-29 12:40:16 +000034
35
36#define <a href="libxml-parser.html#XML-DEFAULT-VERSION-CAPS">XML_DEFAULT_VERSION</a>
37void (<a href="libxml-parser.html#xmlParserInputDeallocate">*xmlParserInputDeallocate</a>) (<a href="libxml-tree.html#xmlChar">xmlChar</a> *str);
38struct <a href="libxml-parser.html#xmlParserInput">xmlParserInput</a>;
39struct <a href="libxml-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a>;
40typedef <a href="libxml-parser.html#xmlParserNodeInfoPtr">xmlParserNodeInfoPtr</a>;
41struct <a href="libxml-parser.html#xmlParserNodeInfoSeq">xmlParserNodeInfoSeq</a>;
42typedef <a href="libxml-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a>;
43enum <a href="libxml-parser.html#xmlParserInputState">xmlParserInputState</a>;
44#define <a href="libxml-parser.html#XML-DETECT-IDS-CAPS">XML_DETECT_IDS</a>
45#define <a href="libxml-parser.html#XML-COMPLETE-ATTRS-CAPS">XML_COMPLETE_ATTRS</a>
46#define <a href="libxml-parser.html#XML-SKIP-IDS-CAPS">XML_SKIP_IDS</a>
47struct <a href="libxml-parser.html#xmlParserCtxt">xmlParserCtxt</a>;
48struct <a href="libxml-parser.html#xmlSAXLocator">xmlSAXLocator</a>;
49<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> (<a href="libxml-parser.html#resolveEntitySAXFunc">*resolveEntitySAXFunc</a>) (void *ctx,
50 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *publicId,
51 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *systemId);
52void (<a href="libxml-parser.html#internalSubsetSAXFunc">*internalSubsetSAXFunc</a>) (void *ctx,
53 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
54 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ExternalID,
55 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID);
56void (<a href="libxml-parser.html#externalSubsetSAXFunc">*externalSubsetSAXFunc</a>) (void *ctx,
57 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
58 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ExternalID,
59 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID);
60<a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> (<a href="libxml-parser.html#getEntitySAXFunc">*getEntitySAXFunc</a>) (void *ctx,
61 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
62<a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> (<a href="libxml-parser.html#getParameterEntitySAXFunc">*getParameterEntitySAXFunc</a>) (void *ctx,
63 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
64void (<a href="libxml-parser.html#entityDeclSAXFunc">*entityDeclSAXFunc</a>) (void *ctx,
65 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
Daniel Veillard5099ae81999-04-21 20:12:07 +000066 int type,
Daniel Veillardd4330462003-04-29 12:40:16 +000067 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *publicId,
68 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *systemId,
69 <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);
70void (<a href="libxml-parser.html#notationDeclSAXFunc">*notationDeclSAXFunc</a>) (void *ctx,
71 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
72 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *publicId,
73 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *systemId);
74void (<a href="libxml-parser.html#attributeDeclSAXFunc">*attributeDeclSAXFunc</a>) (void *ctx,
75 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *elem,
76 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *fullname,
Daniel Veillard5099ae81999-04-21 20:12:07 +000077 int type,
78 int def,
Daniel Veillardd4330462003-04-29 12:40:16 +000079 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *defaultValue,
80 <a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree);
81void (<a href="libxml-parser.html#elementDeclSAXFunc">*elementDeclSAXFunc</a>) (void *ctx,
82 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
Daniel Veillard5099ae81999-04-21 20:12:07 +000083 int type,
Daniel Veillardd4330462003-04-29 12:40:16 +000084 <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content);
85void (<a href="libxml-parser.html#unparsedEntityDeclSAXFunc">*unparsedEntityDeclSAXFunc</a>) (void *ctx,
86 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
87 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *publicId,
88 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *systemId,
89 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *notationName);
90void (<a href="libxml-parser.html#setDocumentLocatorSAXFunc">*setDocumentLocatorSAXFunc</a>) (void *ctx,
91 <a href="libxml-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc);
92void (<a href="libxml-parser.html#startDocumentSAXFunc">*startDocumentSAXFunc</a>) (void *ctx);
93void (<a href="libxml-parser.html#endDocumentSAXFunc">*endDocumentSAXFunc</a>) (void *ctx);
94void (<a href="libxml-parser.html#startElementSAXFunc">*startElementSAXFunc</a>) (void *ctx,
95 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
96 const <a href="libxml-tree.html#xmlChar">xmlChar</a> **atts);
97void (<a href="libxml-parser.html#endElementSAXFunc">*endElementSAXFunc</a>) (void *ctx,
98 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
99void (<a href="libxml-parser.html#attributeSAXFunc">*attributeSAXFunc</a>) (void *ctx,
100 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
101 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
102void (<a href="libxml-parser.html#referenceSAXFunc">*referenceSAXFunc</a>) (void *ctx,
103 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
104void (<a href="libxml-parser.html#charactersSAXFunc">*charactersSAXFunc</a>) (void *ctx,
105 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ch,
Daniel Veillard35925471999-02-25 08:46:07 +0000106 int len);
Daniel Veillardd4330462003-04-29 12:40:16 +0000107void (<a href="libxml-parser.html#ignorableWhitespaceSAXFunc">*ignorableWhitespaceSAXFunc</a>) (void *ctx,
108 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ch,
Daniel Veillard35925471999-02-25 08:46:07 +0000109 int len);
Daniel Veillardd4330462003-04-29 12:40:16 +0000110void (<a href="libxml-parser.html#processingInstructionSAXFunc">*processingInstructionSAXFunc</a>) (void *ctx,
111 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *target,
112 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *data);
113void (<a href="libxml-parser.html#commentSAXFunc">*commentSAXFunc</a>) (void *ctx,
114 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
115void (<a href="libxml-parser.html#cdataBlockSAXFunc">*cdataBlockSAXFunc</a>) (void *ctx,
116 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value,
Daniel Veillardb05deb71999-08-10 19:04:08 +0000117 int len);
Daniel Veillardd4330462003-04-29 12:40:16 +0000118void (<a href="libxml-parser.html#warningSAXFunc">*warningSAXFunc</a>) (void *ctx,
Daniel Veillard35925471999-02-25 08:46:07 +0000119 const char *msg,
120 ...);
Daniel Veillardd4330462003-04-29 12:40:16 +0000121void (<a href="libxml-parser.html#errorSAXFunc">*errorSAXFunc</a>) (void *ctx,
Daniel Veillard35925471999-02-25 08:46:07 +0000122 const char *msg,
123 ...);
Daniel Veillardd4330462003-04-29 12:40:16 +0000124void (<a href="libxml-parser.html#fatalErrorSAXFunc">*fatalErrorSAXFunc</a>) (void *ctx,
Daniel Veillard35925471999-02-25 08:46:07 +0000125 const char *msg,
126 ...);
Daniel Veillardd4330462003-04-29 12:40:16 +0000127int (<a href="libxml-parser.html#isStandaloneSAXFunc">*isStandaloneSAXFunc</a>) (void *ctx);
128int (<a href="libxml-parser.html#hasInternalSubsetSAXFunc">*hasInternalSubsetSAXFunc</a>) (void *ctx);
129int (<a href="libxml-parser.html#hasExternalSubsetSAXFunc">*hasExternalSubsetSAXFunc</a>) (void *ctx);
130struct <a href="libxml-parser.html#xmlSAXHandler">xmlSAXHandler</a>;
131<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> (<a href="libxml-parser.html#xmlExternalEntityLoader">*xmlExternalEntityLoader</a>)
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000132 (const char *URL,
133 const char *ID,
Daniel Veillardd4330462003-04-29 12:40:16 +0000134 <a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> context);
135void <a href="libxml-parser.html#xmlInitParser">xmlInitParser</a> (void);
136void <a href="libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a> (void);
137int <a href="libxml-parser.html#xmlParserInputRead">xmlParserInputRead</a> (<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in,
Daniel Veillarde2d034d1999-07-27 19:52:06 +0000138 int len);
Daniel Veillardd4330462003-04-29 12:40:16 +0000139int <a href="libxml-parser.html#xmlParserInputGrow">xmlParserInputGrow</a> (<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in,
Daniel Veillarde2d034d1999-07-27 19:52:06 +0000140 int len);
Daniel Veillardd4330462003-04-29 12:40:16 +0000141<a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-parser.html#xmlStrdup">xmlStrdup</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *cur);
142<a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-parser.html#xmlStrndup">xmlStrndup</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
Daniel Veillard35925471999-02-25 08:46:07 +0000143 int len);
Daniel Veillardd4330462003-04-29 12:40:16 +0000144<a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-parser.html#xmlCharStrndup">xmlCharStrndup</a> (const char *cur,
Daniel Veillarda41123c2001-04-22 19:31:20 +0000145 int len);
Daniel Veillardd4330462003-04-29 12:40:16 +0000146<a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-parser.html#xmlCharStrdup">xmlCharStrdup</a> (const char *cur);
147<a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-parser.html#xmlStrsub">xmlStrsub</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str,
Daniel Veillard1566d3a1999-07-15 14:24:29 +0000148 int start,
149 int len);
Daniel Veillardd4330462003-04-29 12:40:16 +0000150const <a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-parser.html#xmlStrchr">xmlStrchr</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str,
151 <a href="libxml-tree.html#xmlChar">xmlChar</a> val);
152const <a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-parser.html#xmlStrstr">xmlStrstr</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str,
153 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *val);
154const <a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-parser.html#xmlStrcasestr">xmlStrcasestr</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str,
155 <a href="libxml-tree.html#xmlChar">xmlChar</a> *val);
156int <a href="libxml-parser.html#xmlStrcmp">xmlStrcmp</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str1,
157 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str2);
158int <a href="libxml-parser.html#xmlStrncmp">xmlStrncmp</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str1,
159 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str2,
Daniel Veillard35925471999-02-25 08:46:07 +0000160 int len);
Daniel Veillardd4330462003-04-29 12:40:16 +0000161int <a href="libxml-parser.html#xmlStrcasecmp">xmlStrcasecmp</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str1,
162 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str2);
163int <a href="libxml-parser.html#xmlStrncasecmp">xmlStrncasecmp</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str1,
164 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str2,
Daniel Veillard3bff2b02000-10-01 20:33:47 +0000165 int len);
Daniel Veillardd4330462003-04-29 12:40:16 +0000166int <a href="libxml-parser.html#xmlStrEqual">xmlStrEqual</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str1,
167 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str2);
168int <a href="libxml-parser.html#xmlStrlen">xmlStrlen</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str);
169<a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-parser.html#xmlStrcat">xmlStrcat</a> (<a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
170 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *add);
171<a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-parser.html#xmlStrncat">xmlStrncat</a> (<a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
172 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *add,
Daniel Veillard35925471999-02-25 08:46:07 +0000173 int len);
Daniel Veillardd4330462003-04-29 12:40:16 +0000174<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="libxml-parser.html#xmlParseDoc">xmlParseDoc</a> (<a href="libxml-tree.html#xmlChar">xmlChar</a> *cur);
175<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="libxml-parser.html#xmlParseMemory">xmlParseMemory</a> (const char *buffer,
Daniel Veillard35925471999-02-25 08:46:07 +0000176 int size);
Daniel Veillardd4330462003-04-29 12:40:16 +0000177<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="libxml-parser.html#xmlParseFile">xmlParseFile</a> (const char *filename);
178int <a href="libxml-parser.html#xmlSubstituteEntitiesDefault">xmlSubstituteEntitiesDefault</a> (int val);
179int <a href="libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a> (int val);
180void <a href="libxml-parser.html#xmlStopParser">xmlStopParser</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
181int <a href="libxml-parser.html#xmlPedanticParserDefault">xmlPedanticParserDefault</a> (int val);
182int <a href="libxml-parser.html#xmlLineNumbersDefault">xmlLineNumbersDefault</a> (int val);
183<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="libxml-parser.html#xmlRecoverDoc">xmlRecoverDoc</a> (<a href="libxml-tree.html#xmlChar">xmlChar</a> *cur);
184<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="libxml-parser.html#xmlRecoverMemory">xmlRecoverMemory</a> (const char *buffer,
Daniel Veillard35925471999-02-25 08:46:07 +0000185 int size);
Daniel Veillardd4330462003-04-29 12:40:16 +0000186<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="libxml-parser.html#xmlRecoverFile">xmlRecoverFile</a> (const char *filename);
187int <a href="libxml-parser.html#xmlParseDocument">xmlParseDocument</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
188int <a href="libxml-parser.html#xmlParseExtParsedEnt">xmlParseExtParsedEnt</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
189<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="libxml-parser.html#xmlSAXParseDoc">xmlSAXParseDoc</a> (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
190 <a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
Daniel Veillard35925471999-02-25 08:46:07 +0000191 int recovery);
Daniel Veillardd4330462003-04-29 12:40:16 +0000192int <a href="libxml-parser.html#xmlSAXUserParseFile">xmlSAXUserParseFile</a> (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000193 void *user_data,
194 const char *filename);
Daniel Veillardd4330462003-04-29 12:40:16 +0000195int <a href="libxml-parser.html#xmlSAXUserParseMemory">xmlSAXUserParseMemory</a> (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000196 void *user_data,
Daniel Veillardbed7b052001-05-19 14:59:49 +0000197 const char *buffer,
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000198 int size);
Daniel Veillardd4330462003-04-29 12:40:16 +0000199<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="libxml-parser.html#xmlSAXParseMemory">xmlSAXParseMemory</a> (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
Daniel Veillarde7ead2d2001-08-22 23:44:09 +0000200 const char *buffer,
Daniel Veillard35925471999-02-25 08:46:07 +0000201 int size,
202 int recovery);
Daniel Veillardd4330462003-04-29 12:40:16 +0000203<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="libxml-parser.html#xmlSAXParseMemoryWithData">xmlSAXParseMemoryWithData</a> (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
Daniel Veillardaec63562003-03-23 20:42:17 +0000204 const char *buffer,
205 int size,
206 int recovery,
207 void *data);
Daniel Veillardd4330462003-04-29 12:40:16 +0000208<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="libxml-parser.html#xmlSAXParseFile">xmlSAXParseFile</a> (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
Daniel Veillard35925471999-02-25 08:46:07 +0000209 const char *filename,
210 int recovery);
Daniel Veillardd4330462003-04-29 12:40:16 +0000211<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="libxml-parser.html#xmlSAXParseFileWithData">xmlSAXParseFileWithData</a> (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
Daniel Veillard60087f32001-10-10 09:45:09 +0000212 const char *filename,
213 int recovery,
214 void *data);
Daniel Veillardd4330462003-04-29 12:40:16 +0000215<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="libxml-parser.html#xmlSAXParseEntity">xmlSAXParseEntity</a> (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
Daniel Veillard3bff2b02000-10-01 20:33:47 +0000216 const char *filename);
Daniel Veillardd4330462003-04-29 12:40:16 +0000217<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="libxml-parser.html#xmlParseEntity">xmlParseEntity</a> (const char *filename);
218<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> <a href="libxml-parser.html#xmlParseDTD">xmlParseDTD</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ExternalID,
219 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID);
220<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> <a href="libxml-parser.html#xmlSAXParseDTD">xmlSAXParseDTD</a> (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
221 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ExternalID,
222 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID);
223<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> <a href="libxml-parser.html#xmlIOParseDTD">xmlIOParseDTD</a> (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
224 <a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input,
225 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
226int <a href="libxml-parser.html#xmlParseBalancedChunkMemory">xmlParseBalancedChunkMemory</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
227 <a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000228 void *user_data,
229 int depth,
Daniel Veillardd4330462003-04-29 12:40:16 +0000230 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *string,
231 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> *lst);
232int <a href="libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a>
233 (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
234 <a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
Daniel Veillard2ace1952002-09-26 12:28:02 +0000235 void *user_data,
236 int depth,
Daniel Veillardd4330462003-04-29 12:40:16 +0000237 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *string,
238 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> *lst,
Daniel Veillard2ace1952002-09-26 12:28:02 +0000239 int recover);
Daniel Veillardd4330462003-04-29 12:40:16 +0000240int <a href="libxml-parser.html#xmlParseExternalEntity">xmlParseExternalEntity</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
241 <a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000242 void *user_data,
243 int depth,
Daniel Veillardd4330462003-04-29 12:40:16 +0000244 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *URL,
245 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ID,
246 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> *lst);
247int <a href="libxml-parser.html#xmlParseCtxtExternalEntity">xmlParseCtxtExternalEntity</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctx,
248 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *URL,
249 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ID,
250 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> *lst);
251int <a href="libxml-parser.html#xmlInitParserCtxt">xmlInitParserCtxt</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
252void <a href="libxml-parser.html#xmlClearParserCtxt">xmlClearParserCtxt</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
253void <a href="libxml-parser.html#xmlFreeParserCtxt">xmlFreeParserCtxt</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
254void <a href="libxml-parser.html#xmlSetupParserForBuffer">xmlSetupParserForBuffer</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
255 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *buffer,
Daniel Veillard35925471999-02-25 08:46:07 +0000256 const char *filename);
Daniel Veillardd4330462003-04-29 12:40:16 +0000257<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> <a href="libxml-parser.html#xmlCreateDocParserCtxt">xmlCreateDocParserCtxt</a> (<a href="libxml-tree.html#xmlChar">xmlChar</a> *cur);
258int <a href="libxml-parser.html#xmlGetFeaturesList">xmlGetFeaturesList</a> (int *len,
Daniel Veillard7c29ce22000-08-12 21:20:53 +0000259 const char **result);
Daniel Veillardd4330462003-04-29 12:40:16 +0000260int <a href="libxml-parser.html#xmlGetFeature">xmlGetFeature</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
Daniel Veillard7c29ce22000-08-12 21:20:53 +0000261 const char *name,
262 void *result);
Daniel Veillardd4330462003-04-29 12:40:16 +0000263int <a href="libxml-parser.html#xmlSetFeature">xmlSetFeature</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
Daniel Veillard7c29ce22000-08-12 21:20:53 +0000264 const char *name,
265 void *value);
Daniel Veillardd4330462003-04-29 12:40:16 +0000266<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> <a href="libxml-parser.html#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a> (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000267 void *user_data,
268 const char *chunk,
269 int size,
270 const char *filename);
Daniel Veillardd4330462003-04-29 12:40:16 +0000271int <a href="libxml-parser.html#xmlParseChunk">xmlParseChunk</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000272 const char *chunk,
273 int size,
274 int terminate);
Daniel Veillardd4330462003-04-29 12:40:16 +0000275<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> <a href="libxml-parser.html#xmlCreateIOParserCtxt">xmlCreateIOParserCtxt</a> (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000276 void *user_data,
Daniel Veillardd4330462003-04-29 12:40:16 +0000277 <a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread,
278 <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose,
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000279 void *ioctx,
Daniel Veillardd4330462003-04-29 12:40:16 +0000280 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
281<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> <a href="libxml-parser.html#xmlNewIOInputStream">xmlNewIOInputStream</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
282 <a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input,
283 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
284const <a href="libxml-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a>* <a href="libxml-parser.html#xmlParserFindNodeInfo">xmlParserFindNodeInfo</a>
285 (const <a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
286 const <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);
287void <a href="libxml-parser.html#xmlInitNodeInfoSeq">xmlInitNodeInfoSeq</a> (<a href="libxml-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq);
288void <a href="libxml-parser.html#xmlClearNodeInfoSeq">xmlClearNodeInfoSeq</a> (<a href="libxml-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq);
289unsigned <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="long">long</GTKDOCLINK> <a href="libxml-parser.html#xmlParserFindNodeInfoIndex">xmlParserFindNodeInfoIndex</a> (const <a href="libxml-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq,
290 const <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);
291void <a href="libxml-parser.html#xmlParserAddNodeInfo">xmlParserAddNodeInfo</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
292 const <a href="libxml-parser.html#xmlParserNodeInfoPtr">xmlParserNodeInfoPtr</a> info);
293void <a href="libxml-parser.html#xmlSetExternalEntityLoader">xmlSetExternalEntityLoader</a> (<a href="libxml-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a> f);
294<a href="libxml-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a> <a href="libxml-parser.html#xmlGetExternalEntityLoader">xmlGetExternalEntityLoader</a>
Daniel Veillard6bd26dc1999-09-03 14:28:40 +0000295 (void);
Daniel Veillardd4330462003-04-29 12:40:16 +0000296<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> <a href="libxml-parser.html#xmlLoadExternalEntity">xmlLoadExternalEntity</a> (const char *URL,
Daniel Veillard6bd26dc1999-09-03 14:28:40 +0000297 const char *ID,
Daniel Veillardd4330462003-04-29 12:40:16 +0000298 <a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
299</pre></div><div class="refsect1" lang="en"><h2>Description</h2><p>
300
Daniel Veillard93d95252003-04-29 20:25:40 +0000301</p></div><div class="refsect1" lang="en"><h2>Details</h2><div class="refsect2" lang="en"><h3><a name="XML-DEFAULT-VERSION-CAPS"></a>XML_DEFAULT_VERSION</h3><pre class="programlisting">#define XML_DEFAULT_VERSION</pre><p>
Daniel Veillardd4330462003-04-29 12:40:16 +0000302The default version of XML used: 1.0</p><p>
303
304</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlParserInputDeallocate"></a>xmlParserInputDeallocate ()</h3><pre class="programlisting">void (*xmlParserInputDeallocate) (<a href="libxml-tree.html#xmlChar">xmlChar</a> *str);</pre><p>
305Callback for freeing some parser input allocations.</p><p>
306
Daniel Veillard93d95252003-04-29 20:25:40 +0000307</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>str</tt></i> :</span></td><td>
308
309
Daniel Veillardd4330462003-04-29 12:40:16 +0000310</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlParserInput"></a>struct xmlParserInput</h3><pre class="programlisting">struct xmlParserInput {
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000311 /* Input buffer */
312 xmlParserInputBufferPtr buf; /* UTF-8 encoded buffer */
313
314 const char *filename; /* The file analyzed, if any */
Daniel Veillard60087f32001-10-10 09:45:09 +0000315 const char *directory; /* the directory/base of the file */
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000316 const xmlChar *base; /* Base of the array to parse */
317 const xmlChar *cur; /* Current char being parsed */
Daniel Veillardcbaf3992001-12-31 16:16:02 +0000318 const xmlChar *end; /* end of the array to parse */
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000319 int length; /* length if known */
320 int line; /* Current line */
321 int col; /* Current column */
Daniel Veillardd4330462003-04-29 12:40:16 +0000322 /*
323 * NOTE: consumed is only tested for equality in the parser code,
324 * so even if there is an overflow this should not give troubles
325 * for parsing very large instances.
326 */
327 unsigned long consumed; /* How many xmlChars already consumed */
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000328 xmlParserInputDeallocate free; /* function to deallocate the base */
329 const xmlChar *encoding; /* the encoding string for entity */
330 const xmlChar *version; /* the version string for entity */
331 int standalone; /* Was that entity marked standalone */
Daniel Veillardd4330462003-04-29 12:40:16 +0000332};
333</pre><p>
334An xmlParserInput is an input flow for the XML processor.
Daniel Veillarde7ead2d2001-08-22 23:44:09 +0000335Each entity parsed is associated an xmlParserInput (except the
336few predefined ones). This is the case both for internal entities
337- in which case the flow is already completely in memory - or
338external entities - in which case we use the buf structure for
Daniel Veillardd4330462003-04-29 12:40:16 +0000339progressive reading and I18N conversions to the internal UTF-8 format.</p><p>
340
341</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlParserNodeInfo"></a>struct xmlParserNodeInfo</h3><pre class="programlisting">struct xmlParserNodeInfo {
Daniel Veillard71b656e2000-01-05 14:46:17 +0000342 const struct _xmlNode* node;
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +0000343 /* Position &amp; line # that text that created the node begins &amp; ends on */
Daniel Veillard71b656e2000-01-05 14:46:17 +0000344 unsigned long begin_pos;
345 unsigned long begin_line;
346 unsigned long end_pos;
347 unsigned long end_line;
Daniel Veillardd4330462003-04-29 12:40:16 +0000348};
349</pre><p>
350The parser can be asked to collect Node informations, i.e. at what
Daniel Veillarde7ead2d2001-08-22 23:44:09 +0000351place in the file they were detected.
Daniel Veillardd4330462003-04-29 12:40:16 +0000352NOTE: This is off by default and not very well tested.</p><p>
353
Daniel Veillard93d95252003-04-29 20:25:40 +0000354</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlParserNodeInfoPtr"></a>xmlParserNodeInfoPtr</h3><p>
Daniel Veillardd4330462003-04-29 12:40:16 +0000355
356</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlParserNodeInfoSeq"></a>struct xmlParserNodeInfoSeq</h3><pre class="programlisting">struct xmlParserNodeInfoSeq {
Daniel Veillard71b656e2000-01-05 14:46:17 +0000357 unsigned long maximum;
358 unsigned long length;
359 xmlParserNodeInfo* buffer;
Daniel Veillardd4330462003-04-29 12:40:16 +0000360};
361</pre><p>
362
Daniel Veillard93d95252003-04-29 20:25:40 +0000363</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlParserNodeInfoSeqPtr"></a>xmlParserNodeInfoSeqPtr</h3><p>
Daniel Veillardd4330462003-04-29 12:40:16 +0000364
365</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlParserInputState"></a>enum xmlParserInputState</h3><pre class="programlisting">typedef enum {
Daniel Veillardbe849cf1999-12-28 16:43:59 +0000366 XML_PARSER_EOF = -1, /* nothing is to be parsed */
367 XML_PARSER_START = 0, /* nothing has been parsed */
368 XML_PARSER_MISC, /* Misc* before int subset */
Daniel Veillardcbaf3992001-12-31 16:16:02 +0000369 XML_PARSER_PI, /* Within a processing instruction */
Daniel Veillardbe849cf1999-12-28 16:43:59 +0000370 XML_PARSER_DTD, /* within some DTD content */
371 XML_PARSER_PROLOG, /* Misc* after internal subset */
372 XML_PARSER_COMMENT, /* within a comment */
373 XML_PARSER_START_TAG, /* within a start tag */
374 XML_PARSER_CONTENT, /* within the content */
375 XML_PARSER_CDATA_SECTION, /* within a CDATA section */
376 XML_PARSER_END_TAG, /* within a closing tag */
377 XML_PARSER_ENTITY_DECL, /* within an entity declaration */
378 XML_PARSER_ENTITY_VALUE, /* within an entity value in a decl */
379 XML_PARSER_ATTRIBUTE_VALUE, /* within an attribute value */
Daniel Veillardedfb29b2000-03-14 19:59:05 +0000380 XML_PARSER_SYSTEM_LITERAL, /* within a SYSTEM value */
Daniel Veillard28929b22000-11-13 18:22:49 +0000381 XML_PARSER_EPILOG, /* the Misc* after the last end tag */
Daniel Veillard5f4b5992002-02-20 10:22:49 +0000382 XML_PARSER_IGNORE, /* within an IGNORED section */
383 XML_PARSER_PUBLIC_LITERAL /* within a PUBLIC value */
Daniel Veillardd4330462003-04-29 12:40:16 +0000384} xmlParserInputState;
385</pre><p>
386The parser is now working also as a state based parser.
387The recursive one use the state info for entities processing.</p><p>
388
Daniel Veillard93d95252003-04-29 20:25:40 +0000389</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="XML-DETECT-IDS-CAPS"></a>XML_DETECT_IDS</h3><pre class="programlisting">#define XML_DETECT_IDS</pre><p>
Daniel Veillardd4330462003-04-29 12:40:16 +0000390Bit in the loadsubset context field to tell to do ID/REFs lookups.
391Use it to initialize xmlLoadExtDtdDefaultValue.</p><p>
392
Daniel Veillard93d95252003-04-29 20:25:40 +0000393</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="XML-COMPLETE-ATTRS-CAPS"></a>XML_COMPLETE_ATTRS</h3><pre class="programlisting">#define XML_COMPLETE_ATTRS</pre><p>
Daniel Veillardd4330462003-04-29 12:40:16 +0000394Bit in the loadsubset context field to tell to do complete the
Daniel Veillard19274092002-03-25 16:48:03 +0000395elements attributes lists with the ones defaulted from the DTDs.
Daniel Veillardd4330462003-04-29 12:40:16 +0000396Use it to initialize xmlLoadExtDtdDefaultValue.</p><p>
397
Daniel Veillard93d95252003-04-29 20:25:40 +0000398</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="XML-SKIP-IDS-CAPS"></a>XML_SKIP_IDS</h3><pre class="programlisting">#define XML_SKIP_IDS</pre><p>
Daniel Veillardd4330462003-04-29 12:40:16 +0000399Bit in the loadsubset context field to tell to not do ID/REFs registration.
400Used to initialize xmlLoadExtDtdDefaultValue in some special cases.</p><p>
401
402</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlParserCtxt"></a>struct xmlParserCtxt</h3><pre class="programlisting">struct xmlParserCtxt {
Daniel Veillard71b656e2000-01-05 14:46:17 +0000403 struct _xmlSAXHandler *sax; /* The SAX handler */
Daniel Veillard3bff2b02000-10-01 20:33:47 +0000404 void *userData; /* For SAX interface only, used by DOM build */
Daniel Veillard71b656e2000-01-05 14:46:17 +0000405 xmlDocPtr myDoc; /* the document being built */
406 int wellFormed; /* is the document well formed */
407 int replaceEntities; /* shall we replace entities ? */
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000408 const xmlChar *version; /* the XML version string */
409 const xmlChar *encoding; /* the declared encoding, if any */
Daniel Veillard71b656e2000-01-05 14:46:17 +0000410 int standalone; /* standalone document */
Daniel Veillard3bff2b02000-10-01 20:33:47 +0000411 int html; /* an HTML(1)/Docbook(2) document */
Daniel Veillard71b656e2000-01-05 14:46:17 +0000412
413 /* Input stream stack */
414 xmlParserInputPtr input; /* Current input stream */
415 int inputNr; /* Number of current input streams */
416 int inputMax; /* Max number of input streams */
417 xmlParserInputPtr *inputTab; /* stack of inputs */
418
419 /* Node analysis stack only used for DOM building */
420 xmlNodePtr node; /* Current parsed Node */
421 int nodeNr; /* Depth of the parsing stack */
422 int nodeMax; /* Max depth of the parsing stack */
423 xmlNodePtr *nodeTab; /* array of nodes */
424
425 int record_info; /* Whether node info should be kept */
426 xmlParserNodeInfoSeq node_seq; /* info about each node parsed */
427
428 int errNo; /* error code */
429
430 int hasExternalSubset; /* reference and external subset */
431 int hasPErefs; /* the internal subset has PE refs */
432 int external; /* are we parsing an external entity */
433
434 int valid; /* is the document valid */
435 int validate; /* shall we try to validate ? */
436 xmlValidCtxt vctxt; /* The validity context */
437
438 xmlParserInputState instate; /* current type of input */
439 int token; /* next char look-ahead */
440
441 char *directory; /* the data directory */
442
Daniel Veillardedfb29b2000-03-14 19:59:05 +0000443 /* Node name stack */
Daniel Veillard71b656e2000-01-05 14:46:17 +0000444 xmlChar *name; /* Current parsed Node */
445 int nameNr; /* Depth of the parsing stack */
446 int nameMax; /* Max depth of the parsing stack */
447 xmlChar * *nameTab; /* array of nodes */
448
449 long nbChars; /* number of xmlChar processed */
450 long checkIndex; /* used by progressive parsing lookup */
Daniel Veillardf6868712000-01-05 14:58:38 +0000451 int keepBlanks; /* ugly but ... */
Daniel Veillardedfb29b2000-03-14 19:59:05 +0000452 int disableSAX; /* SAX callbacks are disabled */
453 int inSubset; /* Parsing is in int 1/ext 2 subset */
454 xmlChar * intSubName; /* name of subset */
455 xmlChar * extSubURI; /* URI of external subset */
456 xmlChar * extSubSystem; /* SYSTEM ID of external subset */
457
458 /* xml:space values */
459 int * space; /* Should the parser preserve spaces */
460 int spaceNr; /* Depth of the parsing stack */
461 int spaceMax; /* Max depth of the parsing stack */
462 int * spaceTab; /* array of space infos */
463
464 int depth; /* to prevent entity substitution loops */
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000465 xmlParserInputPtr entity; /* used to check entities boundaries */
466 int charset; /* encoding of the in-memory content
467 actually an xmlCharEncoding */
468 int nodelen; /* Those two fields are there to */
469 int nodemem; /* Speed up large node parsing */
Daniel Veillard3bff2b02000-10-01 20:33:47 +0000470 int pedantic; /* signal pedantic warnings */
471 void *_private; /* For user data, libxml won't touch it */
Daniel Veillardd194dd22001-02-14 10:37:43 +0000472
473 int loadsubset; /* should the external subset be loaded */
Daniel Veillarde7ead2d2001-08-22 23:44:09 +0000474 int linenumbers; /* set line number in element content */
475 void *catalogs; /* document's own catalog */
Daniel Veillardaec63562003-03-23 20:42:17 +0000476 int recovery; /* run in recovery mode */
Daniel Veillardd4330462003-04-29 12:40:16 +0000477 int progressive; /* is this a progressive parsing */
478};
479</pre><p>
480The parser context.
Daniel Veillard19274092002-03-25 16:48:03 +0000481NOTE This doesn't completely define the parser state, the (current ?)
Daniel Veillardaec63562003-03-23 20:42:17 +0000482 design of the parser uses recursive function calls since this allow
483 and easy mapping from the production rules of the specification
484 to the actual code. The drawback is that the actual function call
485 also reflect the parser state. However most of the parsing routines
486 takes as the only argument the parser context pointer, so migrating
Daniel Veillardd4330462003-04-29 12:40:16 +0000487 to a state based parser for progressive parsing shouldn't be too hard.</p><p>
488
489</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSAXLocator"></a>struct xmlSAXLocator</h3><pre class="programlisting">struct xmlSAXLocator {
Daniel Veillard71b656e2000-01-05 14:46:17 +0000490 const xmlChar *(*getPublicId)(void *ctx);
491 const xmlChar *(*getSystemId)(void *ctx);
492 int (*getLineNumber)(void *ctx);
493 int (*getColumnNumber)(void *ctx);
Daniel Veillardd4330462003-04-29 12:40:16 +0000494};
495</pre><p>
496A SAX Locator.</p><p>
497
498</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="resolveEntitySAXFunc"></a>resolveEntitySAXFunc ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> (*resolveEntitySAXFunc) (void *ctx,
499 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *publicId,
500 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *systemId);</pre><p>
501Callback:
Daniel Veillard5f4b5992002-02-20 10:22:49 +0000502The entity loader, to control the loading of external entities,
503the application can either:
Daniel Veillardd4330462003-04-29 12:40:16 +0000504 - override this <a href="libxml-SAX.html#resolveEntity">resolveEntity</a>() callback in the SAX block
505 - or better use the <a href="libxml-parser.html#xmlSetExternalEntityLoader">xmlSetExternalEntityLoader</a>() function to
506 set up it's own entity resolution routine</p><p>
507
Daniel Veillard93d95252003-04-29 20:25:40 +0000508</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctx</tt></i> :</span></td><td>
509</td></tr><tr><td><span class="term"><i><tt>publicId</tt></i> :</span></td><td>
510</td></tr><tr><td><span class="term"><i><tt>systemId</tt></i> :</span></td><td>
511</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
512
513
Daniel Veillardd4330462003-04-29 12:40:16 +0000514</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="internalSubsetSAXFunc"></a>internalSubsetSAXFunc ()</h3><pre class="programlisting">void (*internalSubsetSAXFunc) (void *ctx,
515 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
516 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ExternalID,
517 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID);</pre><p>
518Callback on internal subset declaration.</p><p>
519
Daniel Veillard93d95252003-04-29 20:25:40 +0000520</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctx</tt></i> :</span></td><td>
521</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td>
522</td></tr><tr><td><span class="term"><i><tt>ExternalID</tt></i> :</span></td><td>
523</td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i> :</span></td><td>
524
525
Daniel Veillardd4330462003-04-29 12:40:16 +0000526</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="externalSubsetSAXFunc"></a>externalSubsetSAXFunc ()</h3><pre class="programlisting">void (*externalSubsetSAXFunc) (void *ctx,
527 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
528 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ExternalID,
529 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID);</pre><p>
530Callback on external subset declaration.</p><p>
531
Daniel Veillard93d95252003-04-29 20:25:40 +0000532</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctx</tt></i> :</span></td><td>
533</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td>
534</td></tr><tr><td><span class="term"><i><tt>ExternalID</tt></i> :</span></td><td>
535</td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i> :</span></td><td>
536
537
Daniel Veillardd4330462003-04-29 12:40:16 +0000538</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="getEntitySAXFunc"></a>getEntitySAXFunc ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> (*getEntitySAXFunc) (void *ctx,
539 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
540Get an entity by name.</p><p>
541
Daniel Veillard93d95252003-04-29 20:25:40 +0000542</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctx</tt></i> :</span></td><td>
543</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td>
544</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
545
546
Daniel Veillardd4330462003-04-29 12:40:16 +0000547</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="getParameterEntitySAXFunc"></a>getParameterEntitySAXFunc ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> (*getParameterEntitySAXFunc) (void *ctx,
548 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
549Get a parameter entity by name.</p><p>
550
Daniel Veillard93d95252003-04-29 20:25:40 +0000551</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctx</tt></i> :</span></td><td>
552</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td>
553</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
554
555
Daniel Veillardd4330462003-04-29 12:40:16 +0000556</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="entityDeclSAXFunc"></a>entityDeclSAXFunc ()</h3><pre class="programlisting">void (*entityDeclSAXFunc) (void *ctx,
557 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
Daniel Veillard5099ae81999-04-21 20:12:07 +0000558 int type,
Daniel Veillardd4330462003-04-29 12:40:16 +0000559 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *publicId,
560 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *systemId,
561 <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><p>
562An entity definition has been parsed.</p><p>
563
Daniel Veillard93d95252003-04-29 20:25:40 +0000564</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctx</tt></i> :</span></td><td>
565</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td>
566</td></tr><tr><td><span class="term"><i><tt>type</tt></i> :</span></td><td>
567</td></tr><tr><td><span class="term"><i><tt>publicId</tt></i> :</span></td><td>
568</td></tr><tr><td><span class="term"><i><tt>systemId</tt></i> :</span></td><td>
569</td></tr><tr><td><span class="term"><i><tt>content</tt></i> :</span></td><td>
570
571
Daniel Veillardd4330462003-04-29 12:40:16 +0000572</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="notationDeclSAXFunc"></a>notationDeclSAXFunc ()</h3><pre class="programlisting">void (*notationDeclSAXFunc) (void *ctx,
573 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
574 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *publicId,
575 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *systemId);</pre><p>
576What to do when a notation declaration has been parsed.</p><p>
577
Daniel Veillard93d95252003-04-29 20:25:40 +0000578</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctx</tt></i> :</span></td><td>
579</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td>
580</td></tr><tr><td><span class="term"><i><tt>publicId</tt></i> :</span></td><td>
581</td></tr><tr><td><span class="term"><i><tt>systemId</tt></i> :</span></td><td>
582
583
Daniel Veillardd4330462003-04-29 12:40:16 +0000584</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="attributeDeclSAXFunc"></a>attributeDeclSAXFunc ()</h3><pre class="programlisting">void (*attributeDeclSAXFunc) (void *ctx,
585 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *elem,
586 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *fullname,
Daniel Veillard5099ae81999-04-21 20:12:07 +0000587 int type,
588 int def,
Daniel Veillardd4330462003-04-29 12:40:16 +0000589 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *defaultValue,
590 <a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree);</pre><p>
591An attribute definition has been parsed.</p><p>
592
Daniel Veillard93d95252003-04-29 20:25:40 +0000593</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctx</tt></i> :</span></td><td>
594</td></tr><tr><td><span class="term"><i><tt>elem</tt></i> :</span></td><td>
595</td></tr><tr><td><span class="term"><i><tt>fullname</tt></i> :</span></td><td>
596</td></tr><tr><td><span class="term"><i><tt>type</tt></i> :</span></td><td>
597</td></tr><tr><td><span class="term"><i><tt>def</tt></i> :</span></td><td>
598</td></tr><tr><td><span class="term"><i><tt>defaultValue</tt></i> :</span></td><td>
599</td></tr><tr><td><span class="term"><i><tt>tree</tt></i> :</span></td><td>
600
601
Daniel Veillardd4330462003-04-29 12:40:16 +0000602</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="elementDeclSAXFunc"></a>elementDeclSAXFunc ()</h3><pre class="programlisting">void (*elementDeclSAXFunc) (void *ctx,
603 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
Daniel Veillard5099ae81999-04-21 20:12:07 +0000604 int type,
Daniel Veillardd4330462003-04-29 12:40:16 +0000605 <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content);</pre><p>
606An element definition has been parsed.</p><p>
607
Daniel Veillard93d95252003-04-29 20:25:40 +0000608</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctx</tt></i> :</span></td><td>
609</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td>
610</td></tr><tr><td><span class="term"><i><tt>type</tt></i> :</span></td><td>
611</td></tr><tr><td><span class="term"><i><tt>content</tt></i> :</span></td><td>
612
613
Daniel Veillardd4330462003-04-29 12:40:16 +0000614</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="unparsedEntityDeclSAXFunc"></a>unparsedEntityDeclSAXFunc ()</h3><pre class="programlisting">void (*unparsedEntityDeclSAXFunc) (void *ctx,
615 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
616 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *publicId,
617 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *systemId,
618 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *notationName);</pre><p>
619What to do when an unparsed entity declaration is parsed.</p><p>
620
Daniel Veillard93d95252003-04-29 20:25:40 +0000621</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctx</tt></i> :</span></td><td>
622</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td>
623</td></tr><tr><td><span class="term"><i><tt>publicId</tt></i> :</span></td><td>
624</td></tr><tr><td><span class="term"><i><tt>systemId</tt></i> :</span></td><td>
625</td></tr><tr><td><span class="term"><i><tt>notationName</tt></i> :</span></td><td>
626
627
Daniel Veillardd4330462003-04-29 12:40:16 +0000628</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="setDocumentLocatorSAXFunc"></a>setDocumentLocatorSAXFunc ()</h3><pre class="programlisting">void (*setDocumentLocatorSAXFunc) (void *ctx,
629 <a href="libxml-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc);</pre><p>
630Receive the document locator at startup, actually xmlDefaultSAXLocator.
631Everything is available on the context, so this is useless in our case.</p><p>
632
Daniel Veillard93d95252003-04-29 20:25:40 +0000633</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctx</tt></i> :</span></td><td>
634</td></tr><tr><td><span class="term"><i><tt>loc</tt></i> :</span></td><td>
635
636
Daniel Veillardd4330462003-04-29 12:40:16 +0000637</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="startDocumentSAXFunc"></a>startDocumentSAXFunc ()</h3><pre class="programlisting">void (*startDocumentSAXFunc) (void *ctx);</pre><p>
638Called when the document start being processed.</p><p>
639
Daniel Veillard93d95252003-04-29 20:25:40 +0000640</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctx</tt></i> :</span></td><td>
641
642
Daniel Veillardd4330462003-04-29 12:40:16 +0000643</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="endDocumentSAXFunc"></a>endDocumentSAXFunc ()</h3><pre class="programlisting">void (*endDocumentSAXFunc) (void *ctx);</pre><p>
644Called when the document end has been detected.</p><p>
645
Daniel Veillard93d95252003-04-29 20:25:40 +0000646</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctx</tt></i> :</span></td><td>
647
648
Daniel Veillardd4330462003-04-29 12:40:16 +0000649</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="startElementSAXFunc"></a>startElementSAXFunc ()</h3><pre class="programlisting">void (*startElementSAXFunc) (void *ctx,
650 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
651 const <a href="libxml-tree.html#xmlChar">xmlChar</a> **atts);</pre><p>
652Called when an opening tag has been processed.</p><p>
653
Daniel Veillard93d95252003-04-29 20:25:40 +0000654</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctx</tt></i> :</span></td><td>
655</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td>
656</td></tr><tr><td><span class="term"><i><tt>atts</tt></i> :</span></td><td>
657
658
Daniel Veillardd4330462003-04-29 12:40:16 +0000659</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="endElementSAXFunc"></a>endElementSAXFunc ()</h3><pre class="programlisting">void (*endElementSAXFunc) (void *ctx,
660 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
661Called when the end of an element has been detected.</p><p>
662
Daniel Veillard93d95252003-04-29 20:25:40 +0000663</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctx</tt></i> :</span></td><td>
664</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td>
665
666
Daniel Veillardd4330462003-04-29 12:40:16 +0000667</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="attributeSAXFunc"></a>attributeSAXFunc ()</h3><pre class="programlisting">void (*attributeSAXFunc) (void *ctx,
668 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
669 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p>
670Handle an attribute that has been read by the parser.
Daniel Veillard5f4b5992002-02-20 10:22:49 +0000671The default handling is to convert the attribute into an
672DOM subtree and past it in a new xmlAttr element added to
Daniel Veillardd4330462003-04-29 12:40:16 +0000673the element.</p><p>
674
Daniel Veillard93d95252003-04-29 20:25:40 +0000675</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctx</tt></i> :</span></td><td>
676</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td>
677</td></tr><tr><td><span class="term"><i><tt>value</tt></i> :</span></td><td>
678
679
Daniel Veillardd4330462003-04-29 12:40:16 +0000680</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="referenceSAXFunc"></a>referenceSAXFunc ()</h3><pre class="programlisting">void (*referenceSAXFunc) (void *ctx,
681 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
682Called when an entity reference is detected.</p><p>
683
Daniel Veillard93d95252003-04-29 20:25:40 +0000684</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctx</tt></i> :</span></td><td>
685</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td>
686
687
Daniel Veillardd4330462003-04-29 12:40:16 +0000688</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="charactersSAXFunc"></a>charactersSAXFunc ()</h3><pre class="programlisting">void (*charactersSAXFunc) (void *ctx,
689 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ch,
690 int len);</pre><p>
691Receiving some chars from the parser.</p><p>
692
Daniel Veillard93d95252003-04-29 20:25:40 +0000693</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctx</tt></i> :</span></td><td>
694</td></tr><tr><td><span class="term"><i><tt>ch</tt></i> :</span></td><td>
695</td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td>
696
697
Daniel Veillardd4330462003-04-29 12:40:16 +0000698</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="ignorableWhitespaceSAXFunc"></a>ignorableWhitespaceSAXFunc ()</h3><pre class="programlisting">void (*ignorableWhitespaceSAXFunc) (void *ctx,
699 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ch,
700 int len);</pre><p>
701Receiving some ignorable whitespaces from the parser.
702UNUSED: by default the DOM building will use characters.</p><p>
703
Daniel Veillard93d95252003-04-29 20:25:40 +0000704</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctx</tt></i> :</span></td><td>
705</td></tr><tr><td><span class="term"><i><tt>ch</tt></i> :</span></td><td>
706</td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td>
707
708
Daniel Veillardd4330462003-04-29 12:40:16 +0000709</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="processingInstructionSAXFunc"></a>processingInstructionSAXFunc ()</h3><pre class="programlisting">void (*processingInstructionSAXFunc) (void *ctx,
710 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *target,
711 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *data);</pre><p>
712A processing instruction has been parsed.</p><p>
713
Daniel Veillard93d95252003-04-29 20:25:40 +0000714</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctx</tt></i> :</span></td><td>
715</td></tr><tr><td><span class="term"><i><tt>target</tt></i> :</span></td><td>
716</td></tr><tr><td><span class="term"><i><tt>data</tt></i> :</span></td><td>
717
718
Daniel Veillardd4330462003-04-29 12:40:16 +0000719</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="commentSAXFunc"></a>commentSAXFunc ()</h3><pre class="programlisting">void (*commentSAXFunc) (void *ctx,
720 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p>
721A comment has been parsed.</p><p>
722
Daniel Veillard93d95252003-04-29 20:25:40 +0000723</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctx</tt></i> :</span></td><td>
724</td></tr><tr><td><span class="term"><i><tt>value</tt></i> :</span></td><td>
725
726
Daniel Veillardd4330462003-04-29 12:40:16 +0000727</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="cdataBlockSAXFunc"></a>cdataBlockSAXFunc ()</h3><pre class="programlisting">void (*cdataBlockSAXFunc) (void *ctx,
728 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value,
729 int len);</pre><p>
730Called when a pcdata block has been parsed.</p><p>
731
Daniel Veillard93d95252003-04-29 20:25:40 +0000732</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctx</tt></i> :</span></td><td>
733</td></tr><tr><td><span class="term"><i><tt>value</tt></i> :</span></td><td>
734</td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td>
735
736
Daniel Veillardd4330462003-04-29 12:40:16 +0000737</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="warningSAXFunc"></a>warningSAXFunc ()</h3><pre class="programlisting">void (*warningSAXFunc) (void *ctx,
Daniel Veillard35925471999-02-25 08:46:07 +0000738 const char *msg,
Daniel Veillardd4330462003-04-29 12:40:16 +0000739 ...);</pre><p>
740Display and format a warning messages, callback.</p><p>
741
Daniel Veillard93d95252003-04-29 20:25:40 +0000742</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctx</tt></i> :</span></td><td>
743</td></tr><tr><td><span class="term"><i><tt>msg</tt></i> :</span></td><td>
744</td></tr><tr><td><span class="term"><i><tt>...</tt></i> :</span></td><td>
745
746
Daniel Veillardd4330462003-04-29 12:40:16 +0000747</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="errorSAXFunc"></a>errorSAXFunc ()</h3><pre class="programlisting">void (*errorSAXFunc) (void *ctx,
Daniel Veillard35925471999-02-25 08:46:07 +0000748 const char *msg,
Daniel Veillardd4330462003-04-29 12:40:16 +0000749 ...);</pre><p>
750Display and format an error messages, callback.</p><p>
751
Daniel Veillard93d95252003-04-29 20:25:40 +0000752</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctx</tt></i> :</span></td><td>
753</td></tr><tr><td><span class="term"><i><tt>msg</tt></i> :</span></td><td>
754</td></tr><tr><td><span class="term"><i><tt>...</tt></i> :</span></td><td>
755
756
Daniel Veillardd4330462003-04-29 12:40:16 +0000757</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="fatalErrorSAXFunc"></a>fatalErrorSAXFunc ()</h3><pre class="programlisting">void (*fatalErrorSAXFunc) (void *ctx,
Daniel Veillard35925471999-02-25 08:46:07 +0000758 const char *msg,
Daniel Veillardd4330462003-04-29 12:40:16 +0000759 ...);</pre><p>
760Display and format fatal error messages, callback.
761Note: so far <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="fatalError">fatalError</GTKDOCLINK>() SAX callbacks are not used, <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="error">error</GTKDOCLINK>()
762 get all the callbacks for errors.</p><p>
763
Daniel Veillard93d95252003-04-29 20:25:40 +0000764</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctx</tt></i> :</span></td><td>
765</td></tr><tr><td><span class="term"><i><tt>msg</tt></i> :</span></td><td>
766</td></tr><tr><td><span class="term"><i><tt>...</tt></i> :</span></td><td>
767
768
Daniel Veillardd4330462003-04-29 12:40:16 +0000769</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="isStandaloneSAXFunc"></a>isStandaloneSAXFunc ()</h3><pre class="programlisting">int (*isStandaloneSAXFunc) (void *ctx);</pre><p>
770Is this document tagged standalone?</p><p>
771
Daniel Veillard93d95252003-04-29 20:25:40 +0000772</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctx</tt></i> :</span></td><td>
773</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
774
775
Daniel Veillardd4330462003-04-29 12:40:16 +0000776</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="hasInternalSubsetSAXFunc"></a>hasInternalSubsetSAXFunc ()</h3><pre class="programlisting">int (*hasInternalSubsetSAXFunc) (void *ctx);</pre><p>
777Does this document has an internal subset.</p><p>
778
Daniel Veillard93d95252003-04-29 20:25:40 +0000779</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctx</tt></i> :</span></td><td>
780</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
781
782
Daniel Veillardd4330462003-04-29 12:40:16 +0000783</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="hasExternalSubsetSAXFunc"></a>hasExternalSubsetSAXFunc ()</h3><pre class="programlisting">int (*hasExternalSubsetSAXFunc) (void *ctx);</pre><p>
784Does this document has an external subset?</p><p>
785
Daniel Veillard93d95252003-04-29 20:25:40 +0000786</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctx</tt></i> :</span></td><td>
787</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
788
789
Daniel Veillardd4330462003-04-29 12:40:16 +0000790</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSAXHandler"></a>struct xmlSAXHandler</h3><pre class="programlisting">struct xmlSAXHandler {
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000791 internalSubsetSAXFunc internalSubset;
792 isStandaloneSAXFunc isStandalone;
793 hasInternalSubsetSAXFunc hasInternalSubset;
794 hasExternalSubsetSAXFunc hasExternalSubset;
795 resolveEntitySAXFunc resolveEntity;
796 getEntitySAXFunc getEntity;
797 entityDeclSAXFunc entityDecl;
798 notationDeclSAXFunc notationDecl;
799 attributeDeclSAXFunc attributeDecl;
800 elementDeclSAXFunc elementDecl;
801 unparsedEntityDeclSAXFunc unparsedEntityDecl;
802 setDocumentLocatorSAXFunc setDocumentLocator;
803 startDocumentSAXFunc startDocument;
804 endDocumentSAXFunc endDocument;
805 startElementSAXFunc startElement;
806 endElementSAXFunc endElement;
807 referenceSAXFunc reference;
808 charactersSAXFunc characters;
809 ignorableWhitespaceSAXFunc ignorableWhitespace;
810 processingInstructionSAXFunc processingInstruction;
811 commentSAXFunc comment;
812 warningSAXFunc warning;
813 errorSAXFunc error;
Daniel Veillardaec63562003-03-23 20:42:17 +0000814 fatalErrorSAXFunc fatalError; /* unused error() get all the errors */
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000815 getParameterEntitySAXFunc getParameterEntity;
816 cdataBlockSAXFunc cdataBlock;
817 externalSubsetSAXFunc externalSubset;
Daniel Veillard52dcab32001-10-30 12:51:17 +0000818 int initialized;
Daniel Veillardd4330462003-04-29 12:40:16 +0000819};
820</pre><p>
821A SAX handler is bunch of callbacks called by the parser when processing
822of the input generate data or structure informations.</p><p>
823
824</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlExternalEntityLoader"></a>xmlExternalEntityLoader ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> (*xmlExternalEntityLoader)
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000825 (const char *URL,
826 const char *ID,
Daniel Veillardd4330462003-04-29 12:40:16 +0000827 <a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> context);</pre><p>
828External entity loaders types.</p><p>
829
Daniel Veillard93d95252003-04-29 20:25:40 +0000830</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>URL</tt></i> :</span></td><td>
831</td></tr><tr><td><span class="term"><i><tt>ID</tt></i> :</span></td><td>
832</td></tr><tr><td><span class="term"><i><tt>context</tt></i> :</span></td><td>
833</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
834
835
Daniel Veillardd4330462003-04-29 12:40:16 +0000836</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlInitParser"></a>xmlInitParser ()</h3><pre class="programlisting">void xmlInitParser (void);</pre><p>
837Initialization function for the XML parser.
Daniel Veillard3bff2b02000-10-01 20:33:47 +0000838This is not reentrant. Call once before processing in case of
Daniel Veillardd4330462003-04-29 12:40:16 +0000839use in multithreaded programs.</p><p>
840
841</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlCleanupParser"></a>xmlCleanupParser ()</h3><pre class="programlisting">void xmlCleanupParser (void);</pre><p>
842Cleanup function for the XML parser. It tries to reclaim all
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000843parsing related global memory allocated for the parser processing.
844It doesn't deallocate any document related memory. Calling this
Daniel Veillardaec63562003-03-23 20:42:17 +0000845function should not prevent reusing the parser.
Daniel Veillardd4330462003-04-29 12:40:16 +0000846One should call <a href="libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a>() only when the process has
847finished using the library or XML document built with it.</p><p>
848
849</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlParserInputRead"></a>xmlParserInputRead ()</h3><pre class="programlisting">int xmlParserInputRead (<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in,
850 int len);</pre><p>
851This function refresh the input for the parser. It doesn't try to
852preserve pointers to the input buffer, and discard already read data</p><p>
853
Daniel Veillard93d95252003-04-29 20:25:40 +0000854</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>in</tt></i> :</span></td><td>
855</td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td>
856</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
857
858
Daniel Veillardd4330462003-04-29 12:40:16 +0000859</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlParserInputGrow"></a>xmlParserInputGrow ()</h3><pre class="programlisting">int xmlParserInputGrow (<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in,
860 int len);</pre><p>
861This function increase the input for the parser. It tries to
862preserve pointers to the input buffer, and keep already read data</p><p>
863
Daniel Veillard93d95252003-04-29 20:25:40 +0000864</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>in</tt></i> :</span></td><td>
865</td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td>
866</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
867
868
Daniel Veillardd4330462003-04-29 12:40:16 +0000869</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlStrdup"></a>xmlStrdup ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlStrdup (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *cur);</pre><p>
870a strdup for array of xmlChar's. Since they are supposed to be
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000871encoded in UTF-8 or an encoding with 8bit based chars, we assume
Daniel Veillardd4330462003-04-29 12:40:16 +0000872a termination mark of '0'.</p><p>
873
Daniel Veillard93d95252003-04-29 20:25:40 +0000874</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>cur</tt></i> :</span></td><td>
875</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
876
877
Daniel Veillardd4330462003-04-29 12:40:16 +0000878</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlStrndup"></a>xmlStrndup ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlStrndup (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
879 int len);</pre><p>
880a strndup for array of xmlChar's</p><p>
881
Daniel Veillard93d95252003-04-29 20:25:40 +0000882</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>cur</tt></i> :</span></td><td>
883</td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td>
884</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
885
886
Daniel Veillardd4330462003-04-29 12:40:16 +0000887</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlCharStrndup"></a>xmlCharStrndup ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlCharStrndup (const char *cur,
888 int len);</pre><p>
889a strndup for char's to xmlChar's</p><p>
890
Daniel Veillard93d95252003-04-29 20:25:40 +0000891</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>cur</tt></i> :</span></td><td>
892</td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td>
893</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
894
895
Daniel Veillardd4330462003-04-29 12:40:16 +0000896</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlCharStrdup"></a>xmlCharStrdup ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlCharStrdup (const char *cur);</pre><p>
897a strdup for char's to xmlChar's</p><p>
898
Daniel Veillard93d95252003-04-29 20:25:40 +0000899</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>cur</tt></i> :</span></td><td>
900</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
901
902
Daniel Veillardd4330462003-04-29 12:40:16 +0000903</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlStrsub"></a>xmlStrsub ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlStrsub (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str,
Daniel Veillard1566d3a1999-07-15 14:24:29 +0000904 int start,
Daniel Veillardd4330462003-04-29 12:40:16 +0000905 int len);</pre><p>
906Extract a substring of a given string</p><p>
907
Daniel Veillard93d95252003-04-29 20:25:40 +0000908</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>str</tt></i> :</span></td><td>
909</td></tr><tr><td><span class="term"><i><tt>start</tt></i> :</span></td><td>
910</td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td>
911</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
912
913
Daniel Veillardd4330462003-04-29 12:40:16 +0000914</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlStrchr"></a>xmlStrchr ()</h3><pre class="programlisting">const <a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlStrchr (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str,
915 <a href="libxml-tree.html#xmlChar">xmlChar</a> val);</pre><p>
916a strchr for xmlChar's</p><p>
917
Daniel Veillard93d95252003-04-29 20:25:40 +0000918</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>str</tt></i> :</span></td><td>
919</td></tr><tr><td><span class="term"><i><tt>val</tt></i> :</span></td><td>
920</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
921
922
Daniel Veillardd4330462003-04-29 12:40:16 +0000923</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlStrstr"></a>xmlStrstr ()</h3><pre class="programlisting">const <a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlStrstr (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str,
924 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *val);</pre><p>
925a strstr for xmlChar's</p><p>
926
Daniel Veillard93d95252003-04-29 20:25:40 +0000927</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>str</tt></i> :</span></td><td>
928</td></tr><tr><td><span class="term"><i><tt>val</tt></i> :</span></td><td>
929</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
930
931
Daniel Veillardd4330462003-04-29 12:40:16 +0000932</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlStrcasestr"></a>xmlStrcasestr ()</h3><pre class="programlisting">const <a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlStrcasestr (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str,
933 <a href="libxml-tree.html#xmlChar">xmlChar</a> *val);</pre><p>
934a case-ignoring strstr for xmlChar's</p><p>
935
Daniel Veillard93d95252003-04-29 20:25:40 +0000936</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>str</tt></i> :</span></td><td>
937</td></tr><tr><td><span class="term"><i><tt>val</tt></i> :</span></td><td>
938</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
939
940
Daniel Veillardd4330462003-04-29 12:40:16 +0000941</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlStrcmp"></a>xmlStrcmp ()</h3><pre class="programlisting">int xmlStrcmp (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str1,
942 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str2);</pre><p>
943a strcmp for xmlChar's</p><p>
944
Daniel Veillard93d95252003-04-29 20:25:40 +0000945</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>str1</tt></i> :</span></td><td>
946</td></tr><tr><td><span class="term"><i><tt>str2</tt></i> :</span></td><td>
947</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
948
949
Daniel Veillardd4330462003-04-29 12:40:16 +0000950</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlStrncmp"></a>xmlStrncmp ()</h3><pre class="programlisting">int xmlStrncmp (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str1,
951 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str2,
952 int len);</pre><p>
953a strncmp for xmlChar's</p><p>
954
Daniel Veillard93d95252003-04-29 20:25:40 +0000955</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>str1</tt></i> :</span></td><td>
956</td></tr><tr><td><span class="term"><i><tt>str2</tt></i> :</span></td><td>
957</td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td>
958</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
959
960
Daniel Veillardd4330462003-04-29 12:40:16 +0000961</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlStrcasecmp"></a>xmlStrcasecmp ()</h3><pre class="programlisting">int xmlStrcasecmp (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str1,
962 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str2);</pre><p>
963a strcasecmp for xmlChar's</p><p>
964
Daniel Veillard93d95252003-04-29 20:25:40 +0000965</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>str1</tt></i> :</span></td><td>
966</td></tr><tr><td><span class="term"><i><tt>str2</tt></i> :</span></td><td>
967</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
968
969
Daniel Veillardd4330462003-04-29 12:40:16 +0000970</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlStrncasecmp"></a>xmlStrncasecmp ()</h3><pre class="programlisting">int xmlStrncasecmp (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str1,
971 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str2,
972 int len);</pre><p>
973a strncasecmp for xmlChar's</p><p>
974
Daniel Veillard93d95252003-04-29 20:25:40 +0000975</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>str1</tt></i> :</span></td><td>
976</td></tr><tr><td><span class="term"><i><tt>str2</tt></i> :</span></td><td>
977</td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td>
978</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
979
980
Daniel Veillardd4330462003-04-29 12:40:16 +0000981</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlStrEqual"></a>xmlStrEqual ()</h3><pre class="programlisting">int xmlStrEqual (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str1,
982 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str2);</pre><p>
983Check if both string are equal of have same content
984Should be a bit more readable and faster than <a href="libxml-parser.html#xmlStrEqual">xmlStrEqual</a>()</p><p>
985
Daniel Veillard93d95252003-04-29 20:25:40 +0000986</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>str1</tt></i> :</span></td><td>
987</td></tr><tr><td><span class="term"><i><tt>str2</tt></i> :</span></td><td>
988</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
989
990
Daniel Veillardd4330462003-04-29 12:40:16 +0000991</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlStrlen"></a>xmlStrlen ()</h3><pre class="programlisting">int xmlStrlen (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str);</pre><p>
992length of a xmlChar's string</p><p>
993
Daniel Veillard93d95252003-04-29 20:25:40 +0000994</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>str</tt></i> :</span></td><td>
995</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
996
997
Daniel Veillardd4330462003-04-29 12:40:16 +0000998</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlStrcat"></a>xmlStrcat ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlStrcat (<a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
999 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *add);</pre><p>
1000a strcat for array of xmlChar's. Since they are supposed to be
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001001encoded in UTF-8 or an encoding with 8bit based chars, we assume
Daniel Veillardd4330462003-04-29 12:40:16 +00001002a termination mark of '0'.</p><p>
1003
Daniel Veillard93d95252003-04-29 20:25:40 +00001004</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>cur</tt></i> :</span></td><td>
1005</td></tr><tr><td><span class="term"><i><tt>add</tt></i> :</span></td><td>
1006</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
1007
1008
Daniel Veillardd4330462003-04-29 12:40:16 +00001009</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlStrncat"></a>xmlStrncat ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlStrncat (<a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
1010 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *add,
1011 int len);</pre><p>
1012a strncat for array of xmlChar's, it will extend <i><tt>cur</tt></i> with the len
1013first bytes of <i><tt>add</tt></i>.</p><p>
1014
Daniel Veillard93d95252003-04-29 20:25:40 +00001015</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>cur</tt></i> :</span></td><td>
1016</td></tr><tr><td><span class="term"><i><tt>add</tt></i> :</span></td><td>
1017</td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td>
1018</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
1019
1020
Daniel Veillardd4330462003-04-29 12:40:16 +00001021</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlParseDoc"></a>xmlParseDoc ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> xmlParseDoc (<a href="libxml-tree.html#xmlChar">xmlChar</a> *cur);</pre><p>
1022parse an XML in-memory document and build a tree.</p><p>
1023
Daniel Veillard93d95252003-04-29 20:25:40 +00001024</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>cur</tt></i> :</span></td><td>
1025</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
1026
1027
Daniel Veillardd4330462003-04-29 12:40:16 +00001028</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlParseMemory"></a>xmlParseMemory ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> xmlParseMemory (const char *buffer,
1029 int size);</pre><p>
1030parse an XML in-memory block and build a tree.</p><p>
1031
Daniel Veillard93d95252003-04-29 20:25:40 +00001032</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>buffer</tt></i> :</span></td><td>
1033</td></tr><tr><td><span class="term"><i><tt>size</tt></i> :</span></td><td>
1034</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
1035
1036
Daniel Veillardd4330462003-04-29 12:40:16 +00001037</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlParseFile"></a>xmlParseFile ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> xmlParseFile (const char *filename);</pre><p>
1038parse an XML file and build a tree. Automatic support for ZLIB/Compress
1039compressed document is provided by default if found at compile-time.</p><p>
1040
Daniel Veillard93d95252003-04-29 20:25:40 +00001041</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>filename</tt></i> :</span></td><td>
1042</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
1043
1044
Daniel Veillardd4330462003-04-29 12:40:16 +00001045</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSubstituteEntitiesDefault"></a>xmlSubstituteEntitiesDefault ()</h3><pre class="programlisting">int xmlSubstituteEntitiesDefault (int val);</pre><p>
1046Set and return the previous value for default entity support.
Daniel Veillard011b63c1999-06-02 17:44:04 +00001047Initially the parser always keep entity references instead of substituting
1048entity values in the output. This function has to be used to change the
Daniel Veillardcbaf3992001-12-31 16:16:02 +00001049default parser behavior
Daniel Veillardd4330462003-04-29 12:40:16 +00001050SAX::<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="substituteEntities">substituteEntities</GTKDOCLINK>() has to be used for changing that on a file by
1051file basis.</p><p>
1052
Daniel Veillard93d95252003-04-29 20:25:40 +00001053</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>val</tt></i> :</span></td><td>
1054</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
1055
1056
Daniel Veillardd4330462003-04-29 12:40:16 +00001057</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlKeepBlanksDefault"></a>xmlKeepBlanksDefault ()</h3><pre class="programlisting">int xmlKeepBlanksDefault (int val);</pre><p>
1058Set and return the previous value for default blanks text nodes support.
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001059The 1.x version of the parser used an heuristic to try to detect
1060ignorable white spaces. As a result the SAX callback was generating
Daniel Veillardd4330462003-04-29 12:40:16 +00001061<a href="libxml-SAX.html#ignorableWhitespace">ignorableWhitespace</a>() callbacks instead of <a href="libxml-SAX.html#characters">characters</a>() one, and when
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001062using the DOM output text nodes containing those blanks were not generated.
1063The 2.x and later version will switch to the XML standard way and
Daniel Veillardd4330462003-04-29 12:40:16 +00001064<a href="libxml-SAX.html#ignorableWhitespace">ignorableWhitespace</a>() are only generated when running the parser in
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001065validating mode and when the current element doesn't allow CDATA or
1066mixed content.
Daniel Veillardcbaf3992001-12-31 16:16:02 +00001067This function is provided as a way to force the standard behavior
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001068on 1.X libs and to switch back to the old mode for compatibility when
1069running 1.X client code on 2.X . Upgrade of 1.X code should be done
Daniel Veillardd4330462003-04-29 12:40:16 +00001070by using <a href="libxml-tree.html#xmlIsBlankNode">xmlIsBlankNode</a>() commodity function to detect the &quot;empty&quot;
Daniel Veillard3f6f7f62000-06-30 17:58:25 +00001071nodes generated.
1072This value also affect autogeneration of indentation when saving code
Daniel Veillardd4330462003-04-29 12:40:16 +00001073if blanks sections are kept, indentation is not generated.</p><p>
1074
Daniel Veillard93d95252003-04-29 20:25:40 +00001075</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>val</tt></i> :</span></td><td>
1076</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
1077
1078
Daniel Veillardd4330462003-04-29 12:40:16 +00001079</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlStopParser"></a>xmlStopParser ()</h3><pre class="programlisting">void xmlStopParser (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
1080Blocks further parser processing</p><p>
1081
Daniel Veillard93d95252003-04-29 20:25:40 +00001082</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i> :</span></td><td>
1083
1084
Daniel Veillardd4330462003-04-29 12:40:16 +00001085</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlPedanticParserDefault"></a>xmlPedanticParserDefault ()</h3><pre class="programlisting">int xmlPedanticParserDefault (int val);</pre><p>
1086Set and return the previous value for enabling pedantic warnings.</p><p>
1087
Daniel Veillard93d95252003-04-29 20:25:40 +00001088</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>val</tt></i> :</span></td><td>
1089</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
1090
1091
Daniel Veillardd4330462003-04-29 12:40:16 +00001092</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlLineNumbersDefault"></a>xmlLineNumbersDefault ()</h3><pre class="programlisting">int xmlLineNumbersDefault (int val);</pre><p>
1093Set and return the previous value for enabling line numbers in elements
1094contents. This may break on old application and is turned off by default.</p><p>
1095
Daniel Veillard93d95252003-04-29 20:25:40 +00001096</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>val</tt></i> :</span></td><td>
1097</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
1098
1099
Daniel Veillardd4330462003-04-29 12:40:16 +00001100</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlRecoverDoc"></a>xmlRecoverDoc ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> xmlRecoverDoc (<a href="libxml-tree.html#xmlChar">xmlChar</a> *cur);</pre><p>
1101parse an XML in-memory document and build a tree.
1102In the case the document is not Well Formed, a tree is built anyway</p><p>
1103
Daniel Veillard93d95252003-04-29 20:25:40 +00001104</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>cur</tt></i> :</span></td><td>
1105</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
1106
1107
Daniel Veillardd4330462003-04-29 12:40:16 +00001108</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlRecoverMemory"></a>xmlRecoverMemory ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> xmlRecoverMemory (const char *buffer,
1109 int size);</pre><p>
1110parse an XML in-memory block and build a tree.
1111In the case the document is not Well Formed, a tree is built anyway</p><p>
1112
Daniel Veillard93d95252003-04-29 20:25:40 +00001113</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>buffer</tt></i> :</span></td><td>
1114</td></tr><tr><td><span class="term"><i><tt>size</tt></i> :</span></td><td>
1115</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
1116
1117
Daniel Veillardd4330462003-04-29 12:40:16 +00001118</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlRecoverFile"></a>xmlRecoverFile ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> xmlRecoverFile (const char *filename);</pre><p>
1119parse an XML file and build a tree. Automatic support for ZLIB/Compress
Daniel Veillard06622df2002-01-21 17:53:42 +00001120compressed document is provided by default if found at compile-time.
Daniel Veillardd4330462003-04-29 12:40:16 +00001121In the case the document is not Well Formed, a tree is built anyway</p><p>
1122
Daniel Veillard93d95252003-04-29 20:25:40 +00001123</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>filename</tt></i> :</span></td><td>
1124</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
1125
1126
Daniel Veillardd4330462003-04-29 12:40:16 +00001127</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlParseDocument"></a>xmlParseDocument ()</h3><pre class="programlisting">int xmlParseDocument (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
1128parse an XML document (and build a tree if using the standard SAX
1129interface).
1130</p><p>
1131[1] document ::= prolog element Misc*
1132</p><p>
1133[22] prolog ::= XMLDecl? Misc* (doctypedecl Misc*)?</p><p>
1134
Daniel Veillard93d95252003-04-29 20:25:40 +00001135</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i> :</span></td><td>
1136</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
1137
1138
Daniel Veillardd4330462003-04-29 12:40:16 +00001139</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlParseExtParsedEnt"></a>xmlParseExtParsedEnt ()</h3><pre class="programlisting">int xmlParseExtParsedEnt (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
1140parse a general parsed entity
Daniel Veillard06622df2002-01-21 17:53:42 +00001141An external general parsed entity is well-formed if it matches the
Daniel Veillardd4330462003-04-29 12:40:16 +00001142production labeled extParsedEnt.
1143</p><p>
1144[78] extParsedEnt ::= TextDecl? content</p><p>
1145
Daniel Veillard93d95252003-04-29 20:25:40 +00001146</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i> :</span></td><td>
1147</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
1148
1149
Daniel Veillardd4330462003-04-29 12:40:16 +00001150</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSAXParseDoc"></a>xmlSAXParseDoc ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> xmlSAXParseDoc (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
1151 <a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
1152 int recovery);</pre><p>
1153parse an XML in-memory document and build a tree.
Daniel Veillard06622df2002-01-21 17:53:42 +00001154It use the given SAX function block to handle the parsing callback.
Daniel Veillardd4330462003-04-29 12:40:16 +00001155If sax is NULL, fallback to the default DOM tree building routines.</p><p>
1156
Daniel Veillard93d95252003-04-29 20:25:40 +00001157</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>sax</tt></i> :</span></td><td>
1158</td></tr><tr><td><span class="term"><i><tt>cur</tt></i> :</span></td><td>
1159</td></tr><tr><td><span class="term"><i><tt>recovery</tt></i> :</span></td><td>
1160</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
1161
1162
Daniel Veillardd4330462003-04-29 12:40:16 +00001163</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSAXUserParseFile"></a>xmlSAXUserParseFile ()</h3><pre class="programlisting">int xmlSAXUserParseFile (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
Daniel Veillard06622df2002-01-21 17:53:42 +00001164 void *user_data,
Daniel Veillardd4330462003-04-29 12:40:16 +00001165 const char *filename);</pre><p>
1166parse an XML file and call the given SAX handler routines.
1167Automatic support for ZLIB/Compress compressed document is provided</p><p>
1168
Daniel Veillard93d95252003-04-29 20:25:40 +00001169</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>sax</tt></i> :</span></td><td>
1170</td></tr><tr><td><span class="term"><i><tt>user_data</tt></i> :</span></td><td>
1171</td></tr><tr><td><span class="term"><i><tt>filename</tt></i> :</span></td><td>
1172</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
1173
1174
Daniel Veillardd4330462003-04-29 12:40:16 +00001175</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSAXUserParseMemory"></a>xmlSAXUserParseMemory ()</h3><pre class="programlisting">int xmlSAXUserParseMemory (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
Daniel Veillard06622df2002-01-21 17:53:42 +00001176 void *user_data,
1177 const char *buffer,
Daniel Veillardd4330462003-04-29 12:40:16 +00001178 int size);</pre><p>
1179A better SAX parsing routine.
1180parse an XML in-memory buffer and call the given SAX handler routines.</p><p>
1181
Daniel Veillard93d95252003-04-29 20:25:40 +00001182</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>sax</tt></i> :</span></td><td>
1183</td></tr><tr><td><span class="term"><i><tt>user_data</tt></i> :</span></td><td>
1184</td></tr><tr><td><span class="term"><i><tt>buffer</tt></i> :</span></td><td>
1185</td></tr><tr><td><span class="term"><i><tt>size</tt></i> :</span></td><td>
1186</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
1187
1188
Daniel Veillardd4330462003-04-29 12:40:16 +00001189</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSAXParseMemory"></a>xmlSAXParseMemory ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> xmlSAXParseMemory (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
Daniel Veillard06622df2002-01-21 17:53:42 +00001190 const char *buffer,
1191 int size,
Daniel Veillardd4330462003-04-29 12:40:16 +00001192 int recovery);</pre><p>
1193parse an XML in-memory block and use the given SAX function block
Daniel Veillard06622df2002-01-21 17:53:42 +00001194to handle the parsing callback. If sax is NULL, fallback to the default
Daniel Veillardd4330462003-04-29 12:40:16 +00001195DOM tree building routines.</p><p>
1196
Daniel Veillard93d95252003-04-29 20:25:40 +00001197</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>sax</tt></i> :</span></td><td>
1198</td></tr><tr><td><span class="term"><i><tt>buffer</tt></i> :</span></td><td>
1199</td></tr><tr><td><span class="term"><i><tt>size</tt></i> :</span></td><td>
1200</td></tr><tr><td><span class="term"><i><tt>recovery</tt></i> :</span></td><td>
1201</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
1202
1203
Daniel Veillardd4330462003-04-29 12:40:16 +00001204</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSAXParseMemoryWithData"></a>xmlSAXParseMemoryWithData ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> xmlSAXParseMemoryWithData (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
Daniel Veillardaec63562003-03-23 20:42:17 +00001205 const char *buffer,
1206 int size,
Daniel Veillard06622df2002-01-21 17:53:42 +00001207 int recovery,
Daniel Veillardd4330462003-04-29 12:40:16 +00001208 void *data);</pre><p>
1209parse an XML in-memory block and use the given SAX function block
Daniel Veillardaec63562003-03-23 20:42:17 +00001210to handle the parsing callback. If sax is NULL, fallback to the default
Daniel Veillardd4330462003-04-29 12:40:16 +00001211DOM tree building routines.
1212</p><p>
1213User data (void *) is stored within the parser context in the
1214context's _private member, so it is available nearly everywhere in libxml</p><p>
1215
Daniel Veillard93d95252003-04-29 20:25:40 +00001216</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>sax</tt></i> :</span></td><td>
1217</td></tr><tr><td><span class="term"><i><tt>buffer</tt></i> :</span></td><td>
1218</td></tr><tr><td><span class="term"><i><tt>size</tt></i> :</span></td><td>
1219</td></tr><tr><td><span class="term"><i><tt>recovery</tt></i> :</span></td><td>
1220</td></tr><tr><td><span class="term"><i><tt>data</tt></i> :</span></td><td>
1221</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
1222
1223
Daniel Veillardd4330462003-04-29 12:40:16 +00001224</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSAXParseFile"></a>xmlSAXParseFile ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> xmlSAXParseFile (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
Daniel Veillardaec63562003-03-23 20:42:17 +00001225 const char *filename,
Daniel Veillardd4330462003-04-29 12:40:16 +00001226 int recovery);</pre><p>
1227parse an XML file and build a tree. Automatic support for ZLIB/Compress
Daniel Veillardaec63562003-03-23 20:42:17 +00001228compressed document is provided by default if found at compile-time.
1229It use the given SAX function block to handle the parsing callback.
Daniel Veillardd4330462003-04-29 12:40:16 +00001230If sax is NULL, fallback to the default DOM tree building routines.</p><p>
1231
Daniel Veillard93d95252003-04-29 20:25:40 +00001232</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>sax</tt></i> :</span></td><td>
1233</td></tr><tr><td><span class="term"><i><tt>filename</tt></i> :</span></td><td>
1234</td></tr><tr><td><span class="term"><i><tt>recovery</tt></i> :</span></td><td>
1235</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
1236
1237
Daniel Veillardd4330462003-04-29 12:40:16 +00001238</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSAXParseFileWithData"></a>xmlSAXParseFileWithData ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> xmlSAXParseFileWithData (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
Daniel Veillardaec63562003-03-23 20:42:17 +00001239 const char *filename,
1240 int recovery,
Daniel Veillardd4330462003-04-29 12:40:16 +00001241 void *data);</pre><p>
1242parse an XML file and build a tree. Automatic support for ZLIB/Compress
Daniel Veillardaec63562003-03-23 20:42:17 +00001243compressed document is provided by default if found at compile-time.
1244It use the given SAX function block to handle the parsing callback.
Daniel Veillardd4330462003-04-29 12:40:16 +00001245If sax is NULL, fallback to the default DOM tree building routines.
1246</p><p>
1247User data (void *) is stored within the parser context in the
1248context's _private member, so it is available nearly everywhere in libxml</p><p>
1249
Daniel Veillard93d95252003-04-29 20:25:40 +00001250</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>sax</tt></i> :</span></td><td>
1251</td></tr><tr><td><span class="term"><i><tt>filename</tt></i> :</span></td><td>
1252</td></tr><tr><td><span class="term"><i><tt>recovery</tt></i> :</span></td><td>
1253</td></tr><tr><td><span class="term"><i><tt>data</tt></i> :</span></td><td>
1254</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
1255
1256
Daniel Veillardd4330462003-04-29 12:40:16 +00001257</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSAXParseEntity"></a>xmlSAXParseEntity ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> xmlSAXParseEntity (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
1258 const char *filename);</pre><p>
1259parse an XML external entity out of context and build a tree.
Daniel Veillard06622df2002-01-21 17:53:42 +00001260It use the given SAX function block to handle the parsing callback.
Daniel Veillardd4330462003-04-29 12:40:16 +00001261If sax is NULL, fallback to the default DOM tree building routines.
1262</p><p>
1263[78] extParsedEnt ::= TextDecl? content
1264</p><p>
1265This correspond to a &quot;Well Balanced&quot; chunk</p><p>
1266
Daniel Veillard93d95252003-04-29 20:25:40 +00001267</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>sax</tt></i> :</span></td><td>
1268</td></tr><tr><td><span class="term"><i><tt>filename</tt></i> :</span></td><td>
1269</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
1270
1271
Daniel Veillardd4330462003-04-29 12:40:16 +00001272</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlParseEntity"></a>xmlParseEntity ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> xmlParseEntity (const char *filename);</pre><p>
1273parse an XML external entity out of context and build a tree.
1274</p><p>
1275[78] extParsedEnt ::= TextDecl? content
1276</p><p>
1277This correspond to a &quot;Well Balanced&quot; chunk</p><p>
1278
Daniel Veillard93d95252003-04-29 20:25:40 +00001279</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>filename</tt></i> :</span></td><td>
1280</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
1281
1282
Daniel Veillardd4330462003-04-29 12:40:16 +00001283</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlParseDTD"></a>xmlParseDTD ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> xmlParseDTD (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ExternalID,
1284 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID);</pre><p>
1285Load and parse an external subset.</p><p>
1286
Daniel Veillard93d95252003-04-29 20:25:40 +00001287</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ExternalID</tt></i> :</span></td><td>
1288</td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i> :</span></td><td>
1289</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
1290
1291
Daniel Veillardd4330462003-04-29 12:40:16 +00001292</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSAXParseDTD"></a>xmlSAXParseDTD ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> xmlSAXParseDTD (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
1293 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ExternalID,
1294 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID);</pre><p>
1295Load and parse an external subset.</p><p>
1296
Daniel Veillard93d95252003-04-29 20:25:40 +00001297</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>sax</tt></i> :</span></td><td>
1298</td></tr><tr><td><span class="term"><i><tt>ExternalID</tt></i> :</span></td><td>
1299</td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i> :</span></td><td>
1300</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
1301
1302
Daniel Veillardd4330462003-04-29 12:40:16 +00001303</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlIOParseDTD"></a>xmlIOParseDTD ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> xmlIOParseDTD (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
1304 <a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input,
1305 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);</pre><p>
1306Load and parse a DTD</p><p>
1307
Daniel Veillard93d95252003-04-29 20:25:40 +00001308</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>sax</tt></i> :</span></td><td>
1309</td></tr><tr><td><span class="term"><i><tt>input</tt></i> :</span></td><td>
1310</td></tr><tr><td><span class="term"><i><tt>enc</tt></i> :</span></td><td>
1311</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
1312
1313
Daniel Veillardd4330462003-04-29 12:40:16 +00001314</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlParseBalancedChunkMemory"></a>xmlParseBalancedChunkMemory ()</h3><pre class="programlisting">int xmlParseBalancedChunkMemory (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
1315 <a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
Daniel Veillard06622df2002-01-21 17:53:42 +00001316 void *user_data,
1317 int depth,
Daniel Veillardd4330462003-04-29 12:40:16 +00001318 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *string,
1319 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> *lst);</pre><p>
1320Parse a well-balanced chunk of an XML document
Daniel Veillard06622df2002-01-21 17:53:42 +00001321called by the parser
1322The allowed sequence for the Well Balanced Chunk is the one defined by
Daniel Veillardd4330462003-04-29 12:40:16 +00001323the content production in the XML grammar:
1324</p><p>
1325[43] content ::= (element | CharData | Reference | CDSect | PI | Comment)*</p><p>
1326
Daniel Veillard93d95252003-04-29 20:25:40 +00001327</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td>
1328</td></tr><tr><td><span class="term"><i><tt>sax</tt></i> :</span></td><td>
1329</td></tr><tr><td><span class="term"><i><tt>user_data</tt></i> :</span></td><td>
1330</td></tr><tr><td><span class="term"><i><tt>depth</tt></i> :</span></td><td>
1331</td></tr><tr><td><span class="term"><i><tt>string</tt></i> :</span></td><td>
1332</td></tr><tr><td><span class="term"><i><tt>lst</tt></i> :</span></td><td>
1333</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
1334
1335
Daniel Veillardd4330462003-04-29 12:40:16 +00001336</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlParseBalancedChunkMemoryRecover"></a>xmlParseBalancedChunkMemoryRecover ()</h3><pre class="programlisting">int xmlParseBalancedChunkMemoryRecover
1337 (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
1338 <a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
Daniel Veillard2ace1952002-09-26 12:28:02 +00001339 void *user_data,
1340 int depth,
Daniel Veillardd4330462003-04-29 12:40:16 +00001341 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *string,
1342 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> *lst,
1343 int recover);</pre><p>
1344Parse a well-balanced chunk of an XML document
Daniel Veillard2ace1952002-09-26 12:28:02 +00001345called by the parser
1346The allowed sequence for the Well Balanced Chunk is the one defined by
Daniel Veillardd4330462003-04-29 12:40:16 +00001347the content production in the XML grammar:
1348</p><p>
1349[43] content ::= (element | CharData | Reference | CDSect | PI | Comment)*</p><p>
1350
Daniel Veillard93d95252003-04-29 20:25:40 +00001351</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td>
1352</td></tr><tr><td><span class="term"><i><tt>sax</tt></i> :</span></td><td>
1353</td></tr><tr><td><span class="term"><i><tt>user_data</tt></i> :</span></td><td>
1354</td></tr><tr><td><span class="term"><i><tt>depth</tt></i> :</span></td><td>
1355</td></tr><tr><td><span class="term"><i><tt>string</tt></i> :</span></td><td>
1356</td></tr><tr><td><span class="term"><i><tt>lst</tt></i> :</span></td><td>
1357</td></tr><tr><td><span class="term"><i><tt>recover</tt></i> :</span></td><td>
1358</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
1359
1360
Daniel Veillardd4330462003-04-29 12:40:16 +00001361</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlParseExternalEntity"></a>xmlParseExternalEntity ()</h3><pre class="programlisting">int xmlParseExternalEntity (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
1362 <a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
Daniel Veillard06622df2002-01-21 17:53:42 +00001363 void *user_data,
1364 int depth,
Daniel Veillardd4330462003-04-29 12:40:16 +00001365 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *URL,
1366 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ID,
1367 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> *lst);</pre><p>
1368Parse an external general entity
Daniel Veillard06622df2002-01-21 17:53:42 +00001369An external general parsed entity is well-formed if it matches the
Daniel Veillardd4330462003-04-29 12:40:16 +00001370production labeled extParsedEnt.
1371</p><p>
1372[78] extParsedEnt ::= TextDecl? content</p><p>
1373
Daniel Veillard93d95252003-04-29 20:25:40 +00001374</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td>
1375</td></tr><tr><td><span class="term"><i><tt>sax</tt></i> :</span></td><td>
1376</td></tr><tr><td><span class="term"><i><tt>user_data</tt></i> :</span></td><td>
1377</td></tr><tr><td><span class="term"><i><tt>depth</tt></i> :</span></td><td>
1378</td></tr><tr><td><span class="term"><i><tt>URL</tt></i> :</span></td><td>
1379</td></tr><tr><td><span class="term"><i><tt>ID</tt></i> :</span></td><td>
1380</td></tr><tr><td><span class="term"><i><tt>lst</tt></i> :</span></td><td>
1381</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
1382
1383
Daniel Veillardd4330462003-04-29 12:40:16 +00001384</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlParseCtxtExternalEntity"></a>xmlParseCtxtExternalEntity ()</h3><pre class="programlisting">int xmlParseCtxtExternalEntity (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctx,
1385 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *URL,
1386 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ID,
1387 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> *lst);</pre><p>
1388Parse an external general entity within an existing parsing context
Daniel Veillard06622df2002-01-21 17:53:42 +00001389An external general parsed entity is well-formed if it matches the
Daniel Veillardd4330462003-04-29 12:40:16 +00001390production labeled extParsedEnt.
1391</p><p>
1392[78] extParsedEnt ::= TextDecl? content</p><p>
1393
Daniel Veillard93d95252003-04-29 20:25:40 +00001394</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctx</tt></i> :</span></td><td>
1395</td></tr><tr><td><span class="term"><i><tt>URL</tt></i> :</span></td><td>
1396</td></tr><tr><td><span class="term"><i><tt>ID</tt></i> :</span></td><td>
1397</td></tr><tr><td><span class="term"><i><tt>lst</tt></i> :</span></td><td>
1398</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
1399
1400
Daniel Veillardd4330462003-04-29 12:40:16 +00001401</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlInitParserCtxt"></a>xmlInitParserCtxt ()</h3><pre class="programlisting">int xmlInitParserCtxt (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
1402Initialize a parser context</p><p>
1403
Daniel Veillard93d95252003-04-29 20:25:40 +00001404</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i> :</span></td><td>
1405</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
1406
1407
Daniel Veillardd4330462003-04-29 12:40:16 +00001408</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlClearParserCtxt"></a>xmlClearParserCtxt ()</h3><pre class="programlisting">void xmlClearParserCtxt (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
1409Clear (release owned resources) and reinitialize a parser context</p><p>
1410
Daniel Veillard93d95252003-04-29 20:25:40 +00001411</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i> :</span></td><td>
1412
1413
Daniel Veillardd4330462003-04-29 12:40:16 +00001414</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlFreeParserCtxt"></a>xmlFreeParserCtxt ()</h3><pre class="programlisting">void xmlFreeParserCtxt (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
1415Free all the memory used by a parser context. However the parsed
1416document in ctxt-&gt;myDoc is not freed.</p><p>
1417
Daniel Veillard93d95252003-04-29 20:25:40 +00001418</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i> :</span></td><td>
1419
1420
Daniel Veillardd4330462003-04-29 12:40:16 +00001421</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSetupParserForBuffer"></a>xmlSetupParserForBuffer ()</h3><pre class="programlisting">void xmlSetupParserForBuffer (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
1422 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *buffer,
1423 const char *filename);</pre><p>
1424Setup the parser context to parse a new buffer; Clears any prior
Daniel Veillard06622df2002-01-21 17:53:42 +00001425contents from the parser context. The buffer parameter must not be
Daniel Veillardd4330462003-04-29 12:40:16 +00001426NULL, but the filename parameter can be</p><p>
1427
Daniel Veillard93d95252003-04-29 20:25:40 +00001428</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i> :</span></td><td>
1429</td></tr><tr><td><span class="term"><i><tt>buffer</tt></i> :</span></td><td>
1430</td></tr><tr><td><span class="term"><i><tt>filename</tt></i> :</span></td><td>
1431
1432
Daniel Veillardd4330462003-04-29 12:40:16 +00001433</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlCreateDocParserCtxt"></a>xmlCreateDocParserCtxt ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> xmlCreateDocParserCtxt (<a href="libxml-tree.html#xmlChar">xmlChar</a> *cur);</pre><p>
1434Creates a parser context for an XML in-memory document.</p><p>
1435
Daniel Veillard93d95252003-04-29 20:25:40 +00001436</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>cur</tt></i> :</span></td><td>
1437</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
1438
1439
Daniel Veillardd4330462003-04-29 12:40:16 +00001440</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlGetFeaturesList"></a>xmlGetFeaturesList ()</h3><pre class="programlisting">int xmlGetFeaturesList (int *len,
1441 const char **result);</pre><p>
1442Copy at most *<i><tt>len</tt></i> feature names into the <i><tt>result</tt></i> array</p><p>
1443
Daniel Veillard93d95252003-04-29 20:25:40 +00001444</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td>
1445</td></tr><tr><td><span class="term"><i><tt>result</tt></i> :</span></td><td>
1446</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
1447
1448
Daniel Veillardd4330462003-04-29 12:40:16 +00001449</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlGetFeature"></a>xmlGetFeature ()</h3><pre class="programlisting">int xmlGetFeature (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
Daniel Veillard06622df2002-01-21 17:53:42 +00001450 const char *name,
Daniel Veillardd4330462003-04-29 12:40:16 +00001451 void *result);</pre><p>
1452Read the current value of one feature of this parser instance</p><p>
1453
Daniel Veillard93d95252003-04-29 20:25:40 +00001454</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i> :</span></td><td>
1455</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td>
1456</td></tr><tr><td><span class="term"><i><tt>result</tt></i> :</span></td><td>
1457</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
1458
1459
Daniel Veillardd4330462003-04-29 12:40:16 +00001460</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSetFeature"></a>xmlSetFeature ()</h3><pre class="programlisting">int xmlSetFeature (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
Daniel Veillard06622df2002-01-21 17:53:42 +00001461 const char *name,
Daniel Veillardd4330462003-04-29 12:40:16 +00001462 void *value);</pre><p>
1463Change the current value of one feature of this parser instance</p><p>
1464
Daniel Veillard93d95252003-04-29 20:25:40 +00001465</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i> :</span></td><td>
1466</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td>
1467</td></tr><tr><td><span class="term"><i><tt>value</tt></i> :</span></td><td>
1468</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
1469
1470
Daniel Veillardd4330462003-04-29 12:40:16 +00001471</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlCreatePushParserCtxt"></a>xmlCreatePushParserCtxt ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> xmlCreatePushParserCtxt (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
Daniel Veillard06622df2002-01-21 17:53:42 +00001472 void *user_data,
1473 const char *chunk,
1474 int size,
Daniel Veillardd4330462003-04-29 12:40:16 +00001475 const char *filename);</pre><p>
1476Create a parser context for using the XML parser in push mode.
1477If <i><tt>buffer</tt></i> and <i><tt>size</tt></i> are non-NULL, the data is used to detect
Daniel Veillardaec63562003-03-23 20:42:17 +00001478the encoding. The remaining characters will be parsed so they
1479don't need to be fed in again through xmlParseChunk.
Daniel Veillardd4330462003-04-29 12:40:16 +00001480To allow content encoding detection, <i><tt>size</tt></i> should be &gt;= 4
1481The value of <i><tt>filename</tt></i> is used for fetching external entities
1482and error/warning reports.</p><p>
1483
Daniel Veillard93d95252003-04-29 20:25:40 +00001484</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>sax</tt></i> :</span></td><td>
1485</td></tr><tr><td><span class="term"><i><tt>user_data</tt></i> :</span></td><td>
1486</td></tr><tr><td><span class="term"><i><tt>chunk</tt></i> :</span></td><td>
1487</td></tr><tr><td><span class="term"><i><tt>size</tt></i> :</span></td><td>
1488</td></tr><tr><td><span class="term"><i><tt>filename</tt></i> :</span></td><td>
1489</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
1490
1491
Daniel Veillardd4330462003-04-29 12:40:16 +00001492</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlParseChunk"></a>xmlParseChunk ()</h3><pre class="programlisting">int xmlParseChunk (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
Daniel Veillard06622df2002-01-21 17:53:42 +00001493 const char *chunk,
1494 int size,
Daniel Veillardd4330462003-04-29 12:40:16 +00001495 int terminate);</pre><p>
1496Parse a Chunk of memory</p><p>
1497
Daniel Veillard93d95252003-04-29 20:25:40 +00001498</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i> :</span></td><td>
1499</td></tr><tr><td><span class="term"><i><tt>chunk</tt></i> :</span></td><td>
1500</td></tr><tr><td><span class="term"><i><tt>size</tt></i> :</span></td><td>
1501</td></tr><tr><td><span class="term"><i><tt>terminate</tt></i> :</span></td><td>
1502</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
1503
1504
Daniel Veillardd4330462003-04-29 12:40:16 +00001505</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlCreateIOParserCtxt"></a>xmlCreateIOParserCtxt ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> xmlCreateIOParserCtxt (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
Daniel Veillard06622df2002-01-21 17:53:42 +00001506 void *user_data,
Daniel Veillardd4330462003-04-29 12:40:16 +00001507 <a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread,
1508 <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose,
Daniel Veillard06622df2002-01-21 17:53:42 +00001509 void *ioctx,
Daniel Veillardd4330462003-04-29 12:40:16 +00001510 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);</pre><p>
1511Create a parser context for using the XML parser with an existing
1512I/O stream</p><p>
1513
Daniel Veillard93d95252003-04-29 20:25:40 +00001514</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>sax</tt></i> :</span></td><td>
1515</td></tr><tr><td><span class="term"><i><tt>user_data</tt></i> :</span></td><td>
1516</td></tr><tr><td><span class="term"><i><tt>ioread</tt></i> :</span></td><td>
1517</td></tr><tr><td><span class="term"><i><tt>ioclose</tt></i> :</span></td><td>
1518</td></tr><tr><td><span class="term"><i><tt>ioctx</tt></i> :</span></td><td>
1519</td></tr><tr><td><span class="term"><i><tt>enc</tt></i> :</span></td><td>
1520</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
1521
1522
Daniel Veillardd4330462003-04-29 12:40:16 +00001523</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNewIOInputStream"></a>xmlNewIOInputStream ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> xmlNewIOInputStream (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
1524 <a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input,
1525 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);</pre><p>
1526Create a new input stream structure encapsulating the <i><tt>input</tt></i> into
1527a stream suitable for the parser.</p><p>
1528
Daniel Veillard93d95252003-04-29 20:25:40 +00001529</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i> :</span></td><td>
1530</td></tr><tr><td><span class="term"><i><tt>input</tt></i> :</span></td><td>
1531</td></tr><tr><td><span class="term"><i><tt>enc</tt></i> :</span></td><td>
1532</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
1533
1534
Daniel Veillardd4330462003-04-29 12:40:16 +00001535</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlParserFindNodeInfo"></a>xmlParserFindNodeInfo ()</h3><pre class="programlisting">const <a href="libxml-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a>* xmlParserFindNodeInfo
1536 (const <a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
1537 const <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);</pre><p>
1538Find the parser node info struct for a given node</p><p>
1539
1540</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i> :</span></td><td>
Daniel Veillard93d95252003-04-29 20:25:40 +00001541</td></tr><tr><td><span class="term"><i><tt>node</tt></i> :</span></td><td>
1542</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
1543
1544
Daniel Veillardd4330462003-04-29 12:40:16 +00001545</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlInitNodeInfoSeq"></a>xmlInitNodeInfoSeq ()</h3><pre class="programlisting">void xmlInitNodeInfoSeq (<a href="libxml-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq);</pre><p>
1546-- Initialize (set to initial state) node info sequence</p><p>
1547
Daniel Veillard93d95252003-04-29 20:25:40 +00001548</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>seq</tt></i> :</span></td><td>
1549
1550
Daniel Veillardd4330462003-04-29 12:40:16 +00001551</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlClearNodeInfoSeq"></a>xmlClearNodeInfoSeq ()</h3><pre class="programlisting">void xmlClearNodeInfoSeq (<a href="libxml-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq);</pre><p>
1552-- Clear (release memory and reinitialize) node
1553 info sequence</p><p>
1554
Daniel Veillard93d95252003-04-29 20:25:40 +00001555</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>seq</tt></i> :</span></td><td>
1556
1557
Daniel Veillardd4330462003-04-29 12:40:16 +00001558</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlParserFindNodeInfoIndex"></a>xmlParserFindNodeInfoIndex ()</h3><pre class="programlisting">unsigned <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="long">long</GTKDOCLINK> xmlParserFindNodeInfoIndex (const <a href="libxml-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq,
1559 const <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);</pre><p>
1560xmlParserFindNodeInfoIndex : Find the index that the info record for
1561 the given node is or should be at in a sorted sequence</p><p>
1562
Daniel Veillard93d95252003-04-29 20:25:40 +00001563</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>seq</tt></i> :</span></td><td>
1564</td></tr><tr><td><span class="term"><i><tt>node</tt></i> :</span></td><td>
1565</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
1566
1567
Daniel Veillardd4330462003-04-29 12:40:16 +00001568</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlParserAddNodeInfo"></a>xmlParserAddNodeInfo ()</h3><pre class="programlisting">void xmlParserAddNodeInfo (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
1569 const <a href="libxml-parser.html#xmlParserNodeInfoPtr">xmlParserNodeInfoPtr</a> info);</pre><p>
1570Insert node info record into the sorted sequence</p><p>
1571
Daniel Veillard93d95252003-04-29 20:25:40 +00001572</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i> :</span></td><td>
1573</td></tr><tr><td><span class="term"><i><tt>info</tt></i> :</span></td><td>
1574
1575
Daniel Veillardd4330462003-04-29 12:40:16 +00001576</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSetExternalEntityLoader"></a>xmlSetExternalEntityLoader ()</h3><pre class="programlisting">void xmlSetExternalEntityLoader (<a href="libxml-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a> f);</pre><p>
1577Changes the defaultexternal entity resolver function for the application</p><p>
1578
Daniel Veillard93d95252003-04-29 20:25:40 +00001579</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>f</tt></i> :</span></td><td>
1580
1581
Daniel Veillardd4330462003-04-29 12:40:16 +00001582</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlGetExternalEntityLoader"></a>xmlGetExternalEntityLoader ()</h3><pre class="programlisting"><a href="libxml-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a> xmlGetExternalEntityLoader
1583 (void);</pre><p>
1584Get the default external entity resolver function for the application</p><p>
1585
Daniel Veillard93d95252003-04-29 20:25:40 +00001586</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
1587
1588
Daniel Veillardd4330462003-04-29 12:40:16 +00001589</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlLoadExternalEntity"></a>xmlLoadExternalEntity ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> xmlLoadExternalEntity (const char *URL,
Daniel Veillard06622df2002-01-21 17:53:42 +00001590 const char *ID,
Daniel Veillardd4330462003-04-29 12:40:16 +00001591 <a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
1592Load an external entity, note that the use of this function for
Daniel Veillard06622df2002-01-21 17:53:42 +00001593unparsed entities may generate problems
Daniel Veillardd4330462003-04-29 12:40:16 +00001594TODO: a more generic External entity API must be designed</p><p>
1595
Daniel Veillard93d95252003-04-29 20:25:40 +00001596</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>URL</tt></i> :</span></td><td>
1597</td></tr><tr><td><span class="term"><i><tt>ID</tt></i> :</span></td><td>
1598</td></tr><tr><td><span class="term"><i><tt>ctxt</tt></i> :</span></td><td>
1599</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
1600
1601
Daniel Veillardd4330462003-04-29 12:40:16 +00001602</td></tr></tbody></table></div></div></div></div><table xmlns="http://www.w3.org/TR/xhtml1/transitional" class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-lib.html"><b>&lt;&lt; Libxml Library Reference</b></a></td><td align="right"><a accesskey="n" href="libxml-xmlreader.html"><b>xmlreader &gt;&gt;</b></a></td></tr></table></body></html>