1 <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">
2 .synopsis, .classsynopsis {
4 border: solid 1px #aaaaaa;
9 border: solid 1px #aaaaff;
18 border: solid 1px #ffaaaa;
25 .navigation a:visited {
31 </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 — </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="synopsis">
35 #define <a href="libxml-parser.html#XML-DEFAULT-VERSION-CAPS">XML_DEFAULT_VERSION</a>
36 void (<a href="libxml-parser.html#xmlParserInputDeallocate">*xmlParserInputDeallocate</a>) (<a href="libxml-tree.html#xmlChar">xmlChar</a> *str);
37 struct <a href="libxml-parser.html#xmlParserInput">xmlParserInput</a>;
38 struct <a href="libxml-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a>;
39 typedef <a href="libxml-parser.html#xmlParserNodeInfoPtr">xmlParserNodeInfoPtr</a>;
40 struct <a href="libxml-parser.html#xmlParserNodeInfoSeq">xmlParserNodeInfoSeq</a>;
41 typedef <a href="libxml-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a>;
42 enum <a href="libxml-parser.html#xmlParserInputState">xmlParserInputState</a>;
43 #define <a href="libxml-parser.html#XML-DETECT-IDS-CAPS">XML_DETECT_IDS</a>
44 #define <a href="libxml-parser.html#XML-COMPLETE-ATTRS-CAPS">XML_COMPLETE_ATTRS</a>
45 #define <a href="libxml-parser.html#XML-SKIP-IDS-CAPS">XML_SKIP_IDS</a>
46 struct <a href="libxml-parser.html#xmlParserCtxt">xmlParserCtxt</a>;
47 struct <a href="libxml-parser.html#xmlSAXLocator">xmlSAXLocator</a>;
48 <a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> (<a href="libxml-parser.html#resolveEntitySAXFunc">*resolveEntitySAXFunc</a>) (void *ctx,
49 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *publicId,
50 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *systemId);
51 void (<a href="libxml-parser.html#internalSubsetSAXFunc">*internalSubsetSAXFunc</a>) (void *ctx,
52 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
53 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ExternalID,
54 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID);
55 void (<a href="libxml-parser.html#externalSubsetSAXFunc">*externalSubsetSAXFunc</a>) (void *ctx,
56 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
57 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ExternalID,
58 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID);
59 <a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> (<a href="libxml-parser.html#getEntitySAXFunc">*getEntitySAXFunc</a>) (void *ctx,
60 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
61 <a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> (<a href="libxml-parser.html#getParameterEntitySAXFunc">*getParameterEntitySAXFunc</a>) (void *ctx,
62 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
63 void (<a href="libxml-parser.html#entityDeclSAXFunc">*entityDeclSAXFunc</a>) (void *ctx,
64 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
66 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *publicId,
67 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *systemId,
68 <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);
69 void (<a href="libxml-parser.html#notationDeclSAXFunc">*notationDeclSAXFunc</a>) (void *ctx,
70 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
71 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *publicId,
72 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *systemId);
73 void (<a href="libxml-parser.html#attributeDeclSAXFunc">*attributeDeclSAXFunc</a>) (void *ctx,
74 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *elem,
75 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *fullname,
78 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *defaultValue,
79 <a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree);
80 void (<a href="libxml-parser.html#elementDeclSAXFunc">*elementDeclSAXFunc</a>) (void *ctx,
81 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
83 <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content);
84 void (<a href="libxml-parser.html#unparsedEntityDeclSAXFunc">*unparsedEntityDeclSAXFunc</a>) (void *ctx,
85 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
86 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *publicId,
87 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *systemId,
88 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *notationName);
89 void (<a href="libxml-parser.html#setDocumentLocatorSAXFunc">*setDocumentLocatorSAXFunc</a>) (void *ctx,
90 <a href="libxml-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc);
91 void (<a href="libxml-parser.html#startDocumentSAXFunc">*startDocumentSAXFunc</a>) (void *ctx);
92 void (<a href="libxml-parser.html#endDocumentSAXFunc">*endDocumentSAXFunc</a>) (void *ctx);
93 void (<a href="libxml-parser.html#startElementSAXFunc">*startElementSAXFunc</a>) (void *ctx,
94 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
95 const <a href="libxml-tree.html#xmlChar">xmlChar</a> **atts);
96 void (<a href="libxml-parser.html#endElementSAXFunc">*endElementSAXFunc</a>) (void *ctx,
97 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
98 void (<a href="libxml-parser.html#attributeSAXFunc">*attributeSAXFunc</a>) (void *ctx,
99 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
100 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
101 void (<a href="libxml-parser.html#referenceSAXFunc">*referenceSAXFunc</a>) (void *ctx,
102 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
103 void (<a href="libxml-parser.html#charactersSAXFunc">*charactersSAXFunc</a>) (void *ctx,
104 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ch,
106 void (<a href="libxml-parser.html#ignorableWhitespaceSAXFunc">*ignorableWhitespaceSAXFunc</a>) (void *ctx,
107 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ch,
109 void (<a href="libxml-parser.html#processingInstructionSAXFunc">*processingInstructionSAXFunc</a>) (void *ctx,
110 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *target,
111 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *data);
112 void (<a href="libxml-parser.html#commentSAXFunc">*commentSAXFunc</a>) (void *ctx,
113 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
114 void (<a href="libxml-parser.html#cdataBlockSAXFunc">*cdataBlockSAXFunc</a>) (void *ctx,
115 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value,
117 void (<a href="libxml-parser.html#warningSAXFunc">*warningSAXFunc</a>) (void *ctx,
120 void (<a href="libxml-parser.html#errorSAXFunc">*errorSAXFunc</a>) (void *ctx,
123 void (<a href="libxml-parser.html#fatalErrorSAXFunc">*fatalErrorSAXFunc</a>) (void *ctx,
126 int (<a href="libxml-parser.html#isStandaloneSAXFunc">*isStandaloneSAXFunc</a>) (void *ctx);
127 int (<a href="libxml-parser.html#hasInternalSubsetSAXFunc">*hasInternalSubsetSAXFunc</a>) (void *ctx);
128 int (<a href="libxml-parser.html#hasExternalSubsetSAXFunc">*hasExternalSubsetSAXFunc</a>) (void *ctx);
129 struct <a href="libxml-parser.html#xmlSAXHandler">xmlSAXHandler</a>;
130 <a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> (<a href="libxml-parser.html#xmlExternalEntityLoader">*xmlExternalEntityLoader</a>)
133 <a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> context);
134 void <a href="libxml-parser.html#xmlInitParser">xmlInitParser</a> (void);
135 void <a href="libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a> (void);
136 int <a href="libxml-parser.html#xmlParserInputRead">xmlParserInputRead</a> (<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in,
138 int <a href="libxml-parser.html#xmlParserInputGrow">xmlParserInputGrow</a> (<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in,
140 <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);
141 <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,
143 <a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-parser.html#xmlCharStrndup">xmlCharStrndup</a> (const char *cur,
145 <a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-parser.html#xmlCharStrdup">xmlCharStrdup</a> (const char *cur);
146 <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,
149 const <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,
150 <a href="libxml-tree.html#xmlChar">xmlChar</a> val);
151 const <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,
152 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *val);
153 const <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,
154 <a href="libxml-tree.html#xmlChar">xmlChar</a> *val);
155 int <a href="libxml-parser.html#xmlStrcmp">xmlStrcmp</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str1,
156 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str2);
157 int <a href="libxml-parser.html#xmlStrncmp">xmlStrncmp</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str1,
158 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str2,
160 int <a href="libxml-parser.html#xmlStrcasecmp">xmlStrcasecmp</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str1,
161 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str2);
162 int <a href="libxml-parser.html#xmlStrncasecmp">xmlStrncasecmp</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str1,
163 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str2,
165 int <a href="libxml-parser.html#xmlStrEqual">xmlStrEqual</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str1,
166 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str2);
167 int <a href="libxml-parser.html#xmlStrlen">xmlStrlen</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str);
168 <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,
169 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *add);
170 <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,
171 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *add,
173 <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);
174 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="libxml-parser.html#xmlParseMemory">xmlParseMemory</a> (const char *buffer,
176 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="libxml-parser.html#xmlParseFile">xmlParseFile</a> (const char *filename);
177 int <a href="libxml-parser.html#xmlSubstituteEntitiesDefault">xmlSubstituteEntitiesDefault</a> (int val);
178 int <a href="libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a> (int val);
179 void <a href="libxml-parser.html#xmlStopParser">xmlStopParser</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
180 int <a href="libxml-parser.html#xmlPedanticParserDefault">xmlPedanticParserDefault</a> (int val);
181 int <a href="libxml-parser.html#xmlLineNumbersDefault">xmlLineNumbersDefault</a> (int val);
182 <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);
183 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="libxml-parser.html#xmlRecoverMemory">xmlRecoverMemory</a> (const char *buffer,
185 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="libxml-parser.html#xmlRecoverFile">xmlRecoverFile</a> (const char *filename);
186 int <a href="libxml-parser.html#xmlParseDocument">xmlParseDocument</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
187 int <a href="libxml-parser.html#xmlParseExtParsedEnt">xmlParseExtParsedEnt</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
188 <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,
189 <a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
191 int <a href="libxml-parser.html#xmlSAXUserParseFile">xmlSAXUserParseFile</a> (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
193 const char *filename);
194 int <a href="libxml-parser.html#xmlSAXUserParseMemory">xmlSAXUserParseMemory</a> (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
198 <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,
202 <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,
207 <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,
208 const char *filename,
210 <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,
211 const char *filename,
214 <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,
215 const char *filename);
216 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="libxml-parser.html#xmlParseEntity">xmlParseEntity</a> (const char *filename);
217 <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,
218 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID);
219 <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,
220 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ExternalID,
221 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID);
222 <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,
223 <a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input,
224 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
225 int <a href="libxml-parser.html#xmlParseBalancedChunkMemory">xmlParseBalancedChunkMemory</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
226 <a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
229 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *string,
230 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> *lst);
231 int <a href="libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a>
232 (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
233 <a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
236 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *string,
237 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> *lst,
239 int <a href="libxml-parser.html#xmlParseExternalEntity">xmlParseExternalEntity</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
240 <a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
243 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *URL,
244 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ID,
245 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> *lst);
246 int <a href="libxml-parser.html#xmlParseCtxtExternalEntity">xmlParseCtxtExternalEntity</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctx,
247 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *URL,
248 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ID,
249 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> *lst);
250 int <a href="libxml-parser.html#xmlInitParserCtxt">xmlInitParserCtxt</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
251 void <a href="libxml-parser.html#xmlClearParserCtxt">xmlClearParserCtxt</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
252 void <a href="libxml-parser.html#xmlFreeParserCtxt">xmlFreeParserCtxt</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
253 void <a href="libxml-parser.html#xmlSetupParserForBuffer">xmlSetupParserForBuffer</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
254 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *buffer,
255 const char *filename);
256 <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);
257 int <a href="libxml-parser.html#xmlGetFeaturesList">xmlGetFeaturesList</a> (int *len,
258 const char **result);
259 int <a href="libxml-parser.html#xmlGetFeature">xmlGetFeature</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
262 int <a href="libxml-parser.html#xmlSetFeature">xmlSetFeature</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
265 <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,
269 const char *filename);
270 int <a href="libxml-parser.html#xmlParseChunk">xmlParseChunk</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
274 <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,
276 <a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread,
277 <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose,
279 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
280 <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,
281 <a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input,
282 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
283 const <a href="libxml-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a>* <a href="libxml-parser.html#xmlParserFindNodeInfo">xmlParserFindNodeInfo</a>
284 (const <a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
285 const <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);
286 void <a href="libxml-parser.html#xmlInitNodeInfoSeq">xmlInitNodeInfoSeq</a> (<a href="libxml-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq);
287 void <a href="libxml-parser.html#xmlClearNodeInfoSeq">xmlClearNodeInfoSeq</a> (<a href="libxml-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq);
288 unsigned <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,
289 const <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);
290 void <a href="libxml-parser.html#xmlParserAddNodeInfo">xmlParserAddNodeInfo</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
291 const <a href="libxml-parser.html#xmlParserNodeInfoPtr">xmlParserNodeInfoPtr</a> info);
292 void <a href="libxml-parser.html#xmlSetExternalEntityLoader">xmlSetExternalEntityLoader</a> (<a href="libxml-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a> f);
293 <a href="libxml-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a> <a href="libxml-parser.html#xmlGetExternalEntityLoader">xmlGetExternalEntityLoader</a>
295 <a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> <a href="libxml-parser.html#xmlLoadExternalEntity">xmlLoadExternalEntity</a> (const char *URL,
297 <a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
298 </pre></div><div class="refsect1" lang="en"><h2>Description</h2><p>
300 </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 "1.0"
302 The default version of XML used: 1.0</p><p>
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>
305 Callback for freeing some parser input allocations.</p><p>
307 </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> the string to deallocate
308 </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 {
310 xmlParserInputBufferPtr buf; /* UTF-8 encoded buffer */
312 const char *filename; /* The file analyzed, if any */
313 const char *directory; /* the directory/base of the file */
314 const xmlChar *base; /* Base of the array to parse */
315 const xmlChar *cur; /* Current char being parsed */
316 const xmlChar *end; /* end of the array to parse */
317 int length; /* length if known */
318 int line; /* Current line */
319 int col; /* Current column */
321 * NOTE: consumed is only tested for equality in the parser code,
322 * so even if there is an overflow this should not give troubles
323 * for parsing very large instances.
325 unsigned long consumed; /* How many xmlChars already consumed */
326 xmlParserInputDeallocate free; /* function to deallocate the base */
327 const xmlChar *encoding; /* the encoding string for entity */
328 const xmlChar *version; /* the version string for entity */
329 int standalone; /* Was that entity marked standalone */
332 An xmlParserInput is an input flow for the XML processor.
333 Each entity parsed is associated an xmlParserInput (except the
334 few predefined ones). This is the case both for internal entities
335 - in which case the flow is already completely in memory - or
336 external entities - in which case we use the buf structure for
337 progressive reading and I18N conversions to the internal UTF-8 format.</p><p>
339 </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 {
340 const struct _xmlNode* node;
341 /* Position & line # that text that created the node begins & ends on */
342 unsigned long begin_pos;
343 unsigned long begin_line;
344 unsigned long end_pos;
345 unsigned long end_line;
348 The parser can be asked to collect Node informations, i.e. at what
349 place in the file they were detected.
350 NOTE: This is off by default and not very well tested.</p><p>
352 </p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlParserNodeInfoPtr"></a>xmlParserNodeInfoPtr</h3><pre class="programlisting">typedef xmlParserNodeInfo *xmlParserNodeInfoPtr;
355 </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 {
356 unsigned long maximum;
357 unsigned long length;
358 xmlParserNodeInfo* buffer;
362 </p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlParserNodeInfoSeqPtr"></a>xmlParserNodeInfoSeqPtr</h3><pre class="programlisting">typedef xmlParserNodeInfoSeq *xmlParserNodeInfoSeqPtr;
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 {
366 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 */
369 XML_PARSER_PI, /* Within a processing instruction */
370 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 */
380 XML_PARSER_SYSTEM_LITERAL, /* within a SYSTEM value */
381 XML_PARSER_EPILOG, /* the Misc* after the last end tag */
382 XML_PARSER_IGNORE, /* within an IGNORED section */
383 XML_PARSER_PUBLIC_LITERAL /* within a PUBLIC value */
384 } xmlParserInputState;
386 The parser is now working also as a state based parser.
387 The recursive one use the state info for entities processing.</p><p>
389 </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 2
391 Bit in the loadsubset context field to tell to do ID/REFs lookups.
392 Use it to initialize xmlLoadExtDtdDefaultValue.</p><p>
394 </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 4
396 Bit in the loadsubset context field to tell to do complete the
397 elements attributes lists with the ones defaulted from the DTDs.
398 Use it to initialize xmlLoadExtDtdDefaultValue.</p><p>
400 </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 8
402 Bit in the loadsubset context field to tell to not do ID/REFs registration.
403 Used to initialize xmlLoadExtDtdDefaultValue in some special cases.</p><p>
405 </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 {
406 struct _xmlSAXHandler *sax; /* The SAX handler */
407 void *userData; /* For SAX interface only, used by DOM build */
408 xmlDocPtr myDoc; /* the document being built */
409 int wellFormed; /* is the document well formed */
410 int replaceEntities; /* shall we replace entities ? */
411 const xmlChar *version; /* the XML version string */
412 const xmlChar *encoding; /* the declared encoding, if any */
413 int standalone; /* standalone document */
414 int html; /* an HTML(1)/Docbook(2) document */
416 /* Input stream stack */
417 xmlParserInputPtr input; /* Current input stream */
418 int inputNr; /* Number of current input streams */
419 int inputMax; /* Max number of input streams */
420 xmlParserInputPtr *inputTab; /* stack of inputs */
422 /* Node analysis stack only used for DOM building */
423 xmlNodePtr node; /* Current parsed Node */
424 int nodeNr; /* Depth of the parsing stack */
425 int nodeMax; /* Max depth of the parsing stack */
426 xmlNodePtr *nodeTab; /* array of nodes */
428 int record_info; /* Whether node info should be kept */
429 xmlParserNodeInfoSeq node_seq; /* info about each node parsed */
431 int errNo; /* error code */
433 int hasExternalSubset; /* reference and external subset */
434 int hasPErefs; /* the internal subset has PE refs */
435 int external; /* are we parsing an external entity */
437 int valid; /* is the document valid */
438 int validate; /* shall we try to validate ? */
439 xmlValidCtxt vctxt; /* The validity context */
441 xmlParserInputState instate; /* current type of input */
442 int token; /* next char look-ahead */
444 char *directory; /* the data directory */
446 /* Node name stack */
447 xmlChar *name; /* Current parsed Node */
448 int nameNr; /* Depth of the parsing stack */
449 int nameMax; /* Max depth of the parsing stack */
450 xmlChar * *nameTab; /* array of nodes */
452 long nbChars; /* number of xmlChar processed */
453 long checkIndex; /* used by progressive parsing lookup */
454 int keepBlanks; /* ugly but ... */
455 int disableSAX; /* SAX callbacks are disabled */
456 int inSubset; /* Parsing is in int 1/ext 2 subset */
457 xmlChar * intSubName; /* name of subset */
458 xmlChar * extSubURI; /* URI of external subset */
459 xmlChar * extSubSystem; /* SYSTEM ID of external subset */
461 /* xml:space values */
462 int * space; /* Should the parser preserve spaces */
463 int spaceNr; /* Depth of the parsing stack */
464 int spaceMax; /* Max depth of the parsing stack */
465 int * spaceTab; /* array of space infos */
467 int depth; /* to prevent entity substitution loops */
468 xmlParserInputPtr entity; /* used to check entities boundaries */
469 int charset; /* encoding of the in-memory content
470 actually an xmlCharEncoding */
471 int nodelen; /* Those two fields are there to */
472 int nodemem; /* Speed up large node parsing */
473 int pedantic; /* signal pedantic warnings */
474 void *_private; /* For user data, libxml won't touch it */
476 int loadsubset; /* should the external subset be loaded */
477 int linenumbers; /* set line number in element content */
478 void *catalogs; /* document's own catalog */
479 int recovery; /* run in recovery mode */
480 int progressive; /* is this a progressive parsing */
484 NOTE This doesn't completely define the parser state, the (current ?)
485 design of the parser uses recursive function calls since this allow
486 and easy mapping from the production rules of the specification
487 to the actual code. The drawback is that the actual function call
488 also reflect the parser state. However most of the parsing routines
489 takes as the only argument the parser context pointer, so migrating
490 to a state based parser for progressive parsing shouldn't be too hard.</p><p>
492 </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 {
493 const xmlChar *(*getPublicId)(void *ctx);
494 const xmlChar *(*getSystemId)(void *ctx);
495 int (*getLineNumber)(void *ctx);
496 int (*getColumnNumber)(void *ctx);
499 A SAX Locator.</p><p>
501 </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,
502 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *publicId,
503 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *systemId);</pre><p>
505 The entity loader, to control the loading of external entities,
506 the application can either:
507 - override this <a href="libxml-SAX.html#resolveEntity">resolveEntity</a>() callback in the SAX block
508 - or better use the <a href="libxml-parser.html#xmlSetExternalEntityLoader">xmlSetExternalEntityLoader</a>() function to
509 set up it's own entity resolution routine</p><p>
511 </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> the user data (XML parser context)
512 </td></tr><tr><td><span class="term"><i><tt>publicId</tt></i> :</span></td><td> The public ID of the entity
513 </td></tr><tr><td><span class="term"><i><tt>systemId</tt></i> :</span></td><td> The system ID of the entity
514 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the xmlParserInputPtr if inlined or NULL for DOM behaviour.
515 </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,
516 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
517 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ExternalID,
518 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID);</pre><p>
519 Callback on internal subset declaration.</p><p>
521 </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> the user data (XML parser context)
522 </td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the root element name
523 </td></tr><tr><td><span class="term"><i><tt>ExternalID</tt></i> :</span></td><td> the external ID
524 </td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i> :</span></td><td> the SYSTEM ID (e.g. filename or URL)
525 </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,
526 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
527 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ExternalID,
528 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID);</pre><p>
529 Callback on external subset declaration.</p><p>
531 </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> the user data (XML parser context)
532 </td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the root element name
533 </td></tr><tr><td><span class="term"><i><tt>ExternalID</tt></i> :</span></td><td> the external ID
534 </td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i> :</span></td><td> the SYSTEM ID (e.g. filename or URL)
535 </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,
536 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
537 Get an entity by name.</p><p>
539 </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> the user data (XML parser context)
540 </td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> The entity name
541 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the xmlEntityPtr if found.
542 </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,
543 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
544 Get a parameter entity by name.</p><p>
546 </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> the user data (XML parser context)
547 </td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> The entity name
548 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the xmlEntityPtr if found.
549 </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,
550 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
552 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *publicId,
553 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *systemId,
554 <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><p>
555 An entity definition has been parsed.</p><p>
557 </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> the user data (XML parser context)
558 </td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the entity name
559 </td></tr><tr><td><span class="term"><i><tt>type</tt></i> :</span></td><td> the entity type
560 </td></tr><tr><td><span class="term"><i><tt>publicId</tt></i> :</span></td><td> The public ID of the entity
561 </td></tr><tr><td><span class="term"><i><tt>systemId</tt></i> :</span></td><td> The system ID of the entity
562 </td></tr><tr><td><span class="term"><i><tt>content</tt></i> :</span></td><td> the entity value (without processing).
563 </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,
564 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
565 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *publicId,
566 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *systemId);</pre><p>
567 What to do when a notation declaration has been parsed.</p><p>
569 </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> the user data (XML parser context)
570 </td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> The name of the notation
571 </td></tr><tr><td><span class="term"><i><tt>publicId</tt></i> :</span></td><td> The public ID of the entity
572 </td></tr><tr><td><span class="term"><i><tt>systemId</tt></i> :</span></td><td> The system ID of the entity
573 </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,
574 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *elem,
575 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *fullname,
578 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *defaultValue,
579 <a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree);</pre><p>
580 An attribute definition has been parsed.</p><p>
582 </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> the user data (XML parser context)
583 </td></tr><tr><td><span class="term"><i><tt>elem</tt></i> :</span></td><td> the name of the element
584 </td></tr><tr><td><span class="term"><i><tt>fullname</tt></i> :</span></td><td> the attribute name
585 </td></tr><tr><td><span class="term"><i><tt>type</tt></i> :</span></td><td> the attribute type
586 </td></tr><tr><td><span class="term"><i><tt>def</tt></i> :</span></td><td> the type of default value
587 </td></tr><tr><td><span class="term"><i><tt>defaultValue</tt></i> :</span></td><td> the attribute default value
588 </td></tr><tr><td><span class="term"><i><tt>tree</tt></i> :</span></td><td> the tree of enumerated value set
589 </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,
590 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
592 <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content);</pre><p>
593 An element definition has been parsed.</p><p>
595 </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> the user data (XML parser context)
596 </td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the element name
597 </td></tr><tr><td><span class="term"><i><tt>type</tt></i> :</span></td><td> the element type
598 </td></tr><tr><td><span class="term"><i><tt>content</tt></i> :</span></td><td> the element value tree
599 </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,
600 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
601 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *publicId,
602 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *systemId,
603 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *notationName);</pre><p>
604 What to do when an unparsed entity declaration is parsed.</p><p>
606 </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> the user data (XML parser context)
607 </td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> The name of the entity
608 </td></tr><tr><td><span class="term"><i><tt>publicId</tt></i> :</span></td><td> The public ID of the entity
609 </td></tr><tr><td><span class="term"><i><tt>systemId</tt></i> :</span></td><td> The system ID of the entity
610 </td></tr><tr><td><span class="term"><i><tt>notationName</tt></i> :</span></td><td> the name of the notation
611 </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,
612 <a href="libxml-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc);</pre><p>
613 Receive the document locator at startup, actually xmlDefaultSAXLocator.
614 Everything is available on the context, so this is useless in our case.</p><p>
616 </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> the user data (XML parser context)
617 </td></tr><tr><td><span class="term"><i><tt>loc</tt></i> :</span></td><td> A SAX Locator
618 </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>
619 Called when the document start being processed.</p><p>
621 </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> the user data (XML parser context)
622 </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>
623 Called when the document end has been detected.</p><p>
625 </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> the user data (XML parser context)
626 </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,
627 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
628 const <a href="libxml-tree.html#xmlChar">xmlChar</a> **atts);</pre><p>
629 Called when an opening tag has been processed.</p><p>
631 </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> the user data (XML parser context)
632 </td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> The element name, including namespace prefix
633 </td></tr><tr><td><span class="term"><i><tt>atts</tt></i> :</span></td><td> An array of name/value attributes pairs, NULL terminated
634 </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,
635 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
636 Called when the end of an element has been detected.</p><p>
638 </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> the user data (XML parser context)
639 </td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> The element name
640 </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,
641 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
642 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p>
643 Handle an attribute that has been read by the parser.
644 The default handling is to convert the attribute into an
645 DOM subtree and past it in a new xmlAttr element added to
648 </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> the user data (XML parser context)
649 </td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> The attribute name, including namespace prefix
650 </td></tr><tr><td><span class="term"><i><tt>value</tt></i> :</span></td><td> The attribute value
651 </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,
652 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
653 Called when an entity reference is detected.</p><p>
655 </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> the user data (XML parser context)
656 </td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> The entity name
657 </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,
658 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ch,
660 Receiving some chars from the parser.</p><p>
662 </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> the user data (XML parser context)
663 </td></tr><tr><td><span class="term"><i><tt>ch</tt></i> :</span></td><td> a xmlChar string
664 </td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td> the number of xmlChar
665 </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,
666 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ch,
668 Receiving some ignorable whitespaces from the parser.
669 UNUSED: by default the DOM building will use characters.</p><p>
671 </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> the user data (XML parser context)
672 </td></tr><tr><td><span class="term"><i><tt>ch</tt></i> :</span></td><td> a xmlChar string
673 </td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td> the number of xmlChar
674 </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,
675 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *target,
676 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *data);</pre><p>
677 A processing instruction has been parsed.</p><p>
679 </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> the user data (XML parser context)
680 </td></tr><tr><td><span class="term"><i><tt>target</tt></i> :</span></td><td> the target name
681 </td></tr><tr><td><span class="term"><i><tt>data</tt></i> :</span></td><td> the PI data's
682 </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,
683 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p>
684 A comment has been parsed.</p><p>
686 </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> the user data (XML parser context)
687 </td></tr><tr><td><span class="term"><i><tt>value</tt></i> :</span></td><td> the comment content
688 </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,
689 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value,
691 Called when a pcdata block has been parsed.</p><p>
693 </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> the user data (XML parser context)
694 </td></tr><tr><td><span class="term"><i><tt>value</tt></i> :</span></td><td> The pcdata content
695 </td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td> the block length
696 </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,
699 Display and format a warning messages, callback.</p><p>
701 </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> an XML parser context
702 </td></tr><tr><td><span class="term"><i><tt>msg</tt></i> :</span></td><td> the message to display/transmit
703 </td></tr><tr><td><span class="term"><i><tt>...</tt></i> :</span></td><td> extra parameters for the message display
704 </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,
707 Display and format an error messages, callback.</p><p>
709 </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> an XML parser context
710 </td></tr><tr><td><span class="term"><i><tt>msg</tt></i> :</span></td><td> the message to display/transmit
711 </td></tr><tr><td><span class="term"><i><tt>...</tt></i> :</span></td><td> extra parameters for the message display
712 </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,
715 Display and format fatal error messages, callback.
716 Note: 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>()
717 get all the callbacks for errors.</p><p>
719 </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> an XML parser context
720 </td></tr><tr><td><span class="term"><i><tt>msg</tt></i> :</span></td><td> the message to display/transmit
721 </td></tr><tr><td><span class="term"><i><tt>...</tt></i> :</span></td><td> extra parameters for the message display
722 </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>
723 Is this document tagged standalone?</p><p>
725 </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> the user data (XML parser context)
726 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true
727 </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>
728 Does this document has an internal subset.</p><p>
730 </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> the user data (XML parser context)
731 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true
732 </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>
733 Does this document has an external subset?</p><p>
735 </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> the user data (XML parser context)
736 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true
737 </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 {
738 internalSubsetSAXFunc internalSubset;
739 isStandaloneSAXFunc isStandalone;
740 hasInternalSubsetSAXFunc hasInternalSubset;
741 hasExternalSubsetSAXFunc hasExternalSubset;
742 resolveEntitySAXFunc resolveEntity;
743 getEntitySAXFunc getEntity;
744 entityDeclSAXFunc entityDecl;
745 notationDeclSAXFunc notationDecl;
746 attributeDeclSAXFunc attributeDecl;
747 elementDeclSAXFunc elementDecl;
748 unparsedEntityDeclSAXFunc unparsedEntityDecl;
749 setDocumentLocatorSAXFunc setDocumentLocator;
750 startDocumentSAXFunc startDocument;
751 endDocumentSAXFunc endDocument;
752 startElementSAXFunc startElement;
753 endElementSAXFunc endElement;
754 referenceSAXFunc reference;
755 charactersSAXFunc characters;
756 ignorableWhitespaceSAXFunc ignorableWhitespace;
757 processingInstructionSAXFunc processingInstruction;
758 commentSAXFunc comment;
759 warningSAXFunc warning;
761 fatalErrorSAXFunc fatalError; /* unused error() get all the errors */
762 getParameterEntitySAXFunc getParameterEntity;
763 cdataBlockSAXFunc cdataBlock;
764 externalSubsetSAXFunc externalSubset;
768 A SAX handler is bunch of callbacks called by the parser when processing
769 of the input generate data or structure informations.</p><p>
771 </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)
774 <a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> context);</pre><p>
775 External entity loaders types.</p><p>
777 </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> The System ID of the resource requested
778 </td></tr><tr><td><span class="term"><i><tt>ID</tt></i> :</span></td><td> The Public ID of the resource requested
779 </td></tr><tr><td><span class="term"><i><tt>context</tt></i> :</span></td><td> the XML parser context
780 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the entity input parser.
781 </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>
782 Initialization function for the XML parser.
783 This is not reentrant. Call once before processing in case of
784 use in multithreaded programs.</p><p>
786 </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>
787 Cleanup function for the XML parser. It tries to reclaim all
788 parsing related global memory allocated for the parser processing.
789 It doesn't deallocate any document related memory. Calling this
790 function should not prevent reusing the parser.
791 One should call <a href="libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a>() only when the process has
792 finished using the library or XML document built with it.</p><p>
794 </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,
796 This function refresh the input for the parser. It doesn't try to
797 preserve pointers to the input buffer, and discard already read data</p><p>
799 </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> an XML parser input
800 </td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td> an indicative size for the lookahead
801 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the number of xmlChars read, or -1 in case of error, 0 indicate the
803 </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,
805 This function increase the input for the parser. It tries to
806 preserve pointers to the input buffer, and keep already read data</p><p>
808 </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> an XML parser input
809 </td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td> an indicative size for the lookahead
810 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the number of xmlChars read, or -1 in case of error, 0 indicate the
812 </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>
813 a strdup for array of xmlChar's. Since they are supposed to be
814 encoded in UTF-8 or an encoding with 8bit based chars, we assume
815 a termination mark of '0'.</p><p>
817 </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> the input xmlChar *
818 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a new xmlChar * or NULL
819 </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,
821 a strndup for array of xmlChar's</p><p>
823 </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> the input xmlChar *
824 </td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td> the len of <i><tt>cur</tt></i>
825 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a new xmlChar * or NULL
826 </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,
828 a strndup for char's to xmlChar's</p><p>
830 </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> the input char *
831 </td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td> the len of <i><tt>cur</tt></i>
832 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a new xmlChar * or NULL
833 </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>
834 a strdup for char's to xmlChar's</p><p>
836 </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> the input char *
837 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a new xmlChar * or NULL
838 </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,
841 Extract a substring of a given string</p><p>
843 </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> the xmlChar * array (haystack)
844 </td></tr><tr><td><span class="term"><i><tt>start</tt></i> :</span></td><td> the index of the first char (zero based)
845 </td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td> the length of the substring
846 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the xmlChar * for the first occurrence or NULL.
847 </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,
848 <a href="libxml-tree.html#xmlChar">xmlChar</a> val);</pre><p>
849 a strchr for xmlChar's</p><p>
851 </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> the xmlChar * array
852 </td></tr><tr><td><span class="term"><i><tt>val</tt></i> :</span></td><td> the xmlChar to search
853 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the xmlChar * for the first occurrence or NULL.
854 </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,
855 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *val);</pre><p>
856 a strstr for xmlChar's</p><p>
858 </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> the xmlChar * array (haystack)
859 </td></tr><tr><td><span class="term"><i><tt>val</tt></i> :</span></td><td> the xmlChar to search (needle)
860 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the xmlChar * for the first occurrence or NULL.
861 </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,
862 <a href="libxml-tree.html#xmlChar">xmlChar</a> *val);</pre><p>
863 a case-ignoring strstr for xmlChar's</p><p>
865 </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> the xmlChar * array (haystack)
866 </td></tr><tr><td><span class="term"><i><tt>val</tt></i> :</span></td><td> the xmlChar to search (needle)
867 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the xmlChar * for the first occurrence or NULL.
868 </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,
869 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str2);</pre><p>
870 a strcmp for xmlChar's</p><p>
872 </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> the first xmlChar *
873 </td></tr><tr><td><span class="term"><i><tt>str2</tt></i> :</span></td><td> the second xmlChar *
874 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the integer result of the comparison
875 </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,
876 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str2,
878 a strncmp for xmlChar's</p><p>
880 </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> the first xmlChar *
881 </td></tr><tr><td><span class="term"><i><tt>str2</tt></i> :</span></td><td> the second xmlChar *
882 </td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td> the max comparison length
883 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the integer result of the comparison
884 </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,
885 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str2);</pre><p>
886 a strcasecmp for xmlChar's</p><p>
888 </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> the first xmlChar *
889 </td></tr><tr><td><span class="term"><i><tt>str2</tt></i> :</span></td><td> the second xmlChar *
890 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the integer result of the comparison
891 </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,
892 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str2,
894 a strncasecmp for xmlChar's</p><p>
896 </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> the first xmlChar *
897 </td></tr><tr><td><span class="term"><i><tt>str2</tt></i> :</span></td><td> the second xmlChar *
898 </td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td> the max comparison length
899 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the integer result of the comparison
900 </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,
901 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str2);</pre><p>
902 Check if both string are equal of have same content
903 Should be a bit more readable and faster than <a href="libxml-parser.html#xmlStrEqual">xmlStrEqual</a>()</p><p>
905 </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> the first xmlChar *
906 </td></tr><tr><td><span class="term"><i><tt>str2</tt></i> :</span></td><td> the second xmlChar *
907 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if they are equal, 0 if they are different
908 </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>
909 length of a xmlChar's string</p><p>
911 </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> the xmlChar * array
912 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the number of xmlChar contained in the ARRAY.
913 </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,
914 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *add);</pre><p>
915 a strcat for array of xmlChar's. Since they are supposed to be
916 encoded in UTF-8 or an encoding with 8bit based chars, we assume
917 a termination mark of '0'.</p><p>
919 </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> the original xmlChar * array
920 </td></tr><tr><td><span class="term"><i><tt>add</tt></i> :</span></td><td> the xmlChar * array added
921 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a new xmlChar * containing the concatenated string.
922 </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,
923 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *add,
925 a strncat for array of xmlChar's, it will extend <i><tt>cur</tt></i> with the len
926 first bytes of <i><tt>add</tt></i>.</p><p>
928 </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> the original xmlChar * array
929 </td></tr><tr><td><span class="term"><i><tt>add</tt></i> :</span></td><td> the xmlChar * array added
930 </td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td> the length of <i><tt>add</tt></i>
931 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a new xmlChar *, the original <i><tt>cur</tt></i> is reallocated if needed
932 and should not be freed
933 </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>
934 parse an XML in-memory document and build a tree.</p><p>
936 </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> a pointer to an array of xmlChar
937 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the resulting document tree
938 </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,
940 parse an XML in-memory block and build a tree.</p><p>
942 </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> an pointer to a char array
943 </td></tr><tr><td><span class="term"><i><tt>size</tt></i> :</span></td><td> the size of the array
944 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the resulting document tree
945 </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>
946 parse an XML file and build a tree. Automatic support for ZLIB/Compress
947 compressed document is provided by default if found at compile-time.</p><p>
949 </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> the filename
950 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the resulting document tree if the file was wellformed,
952 </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>
953 Set and return the previous value for default entity support.
954 Initially the parser always keep entity references instead of substituting
955 entity values in the output. This function has to be used to change the
956 default parser behavior
957 SAX::<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="substituteEntities">substituteEntities</GTKDOCLINK>() has to be used for changing that on a file by
960 </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> int 0 or 1
961 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the last value for 0 for no substitution, 1 for substitution.
962 </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>
963 Set and return the previous value for default blanks text nodes support.
964 The 1.x version of the parser used an heuristic to try to detect
965 ignorable white spaces. As a result the SAX callback was generating
966 <a href="libxml-SAX.html#ignorableWhitespace">ignorableWhitespace</a>() callbacks instead of <a href="libxml-SAX.html#characters">characters</a>() one, and when
967 using the DOM output text nodes containing those blanks were not generated.
968 The 2.x and later version will switch to the XML standard way and
969 <a href="libxml-SAX.html#ignorableWhitespace">ignorableWhitespace</a>() are only generated when running the parser in
970 validating mode and when the current element doesn't allow CDATA or
972 This function is provided as a way to force the standard behavior
973 on 1.X libs and to switch back to the old mode for compatibility when
974 running 1.X client code on 2.X . Upgrade of 1.X code should be done
975 by using <a href="libxml-tree.html#xmlIsBlankNode">xmlIsBlankNode</a>() commodity function to detect the "empty"
977 This value also affect autogeneration of indentation when saving code
978 if blanks sections are kept, indentation is not generated.</p><p>
980 </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> int 0 or 1
981 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the last value for 0 for no substitution, 1 for substitution.
982 </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>
983 Blocks further parser processing</p><p>
985 </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> an XML parser context
986 </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>
987 Set and return the previous value for enabling pedantic warnings.</p><p>
989 </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> int 0 or 1
990 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the last value for 0 for no substitution, 1 for substitution.
991 </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>
992 Set and return the previous value for enabling line numbers in elements
993 contents. This may break on old application and is turned off by default.</p><p>
995 </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> int 0 or 1
996 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the last value for 0 for no substitution, 1 for substitution.
997 </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>
998 parse an XML in-memory document and build a tree.
999 In the case the document is not Well Formed, a tree is built anyway</p><p>
1001 </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> a pointer to an array of xmlChar
1002 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the resulting document tree
1003 </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,
1005 parse an XML in-memory block and build a tree.
1006 In the case the document is not Well Formed, a tree is built anyway</p><p>
1008 </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> an pointer to a char array
1009 </td></tr><tr><td><span class="term"><i><tt>size</tt></i> :</span></td><td> the size of the array
1010 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the resulting document tree
1011 </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>
1012 parse an XML file and build a tree. Automatic support for ZLIB/Compress
1013 compressed document is provided by default if found at compile-time.
1014 In the case the document is not Well Formed, a tree is built anyway</p><p>
1016 </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> the filename
1017 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the resulting document tree
1018 </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>
1019 parse an XML document (and build a tree if using the standard SAX
1022 [1] document ::= prolog element Misc*
1024 [22] prolog ::= XMLDecl? Misc* (doctypedecl Misc*)?</p><p>
1026 </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> an XML parser context
1027 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0, -1 in case of error. the parser context is augmented
1028 as a result of the parsing.
1029 </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>
1030 parse a general parsed entity
1031 An external general parsed entity is well-formed if it matches the
1032 production labeled extParsedEnt.
1034 [78] extParsedEnt ::= TextDecl? content</p><p>
1036 </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> an XML parser context
1037 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0, -1 in case of error. the parser context is augmented
1038 as a result of the parsing.
1039 </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,
1040 <a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
1041 int recovery);</pre><p>
1042 parse an XML in-memory document and build a tree.
1043 It use the given SAX function block to handle the parsing callback.
1044 If sax is NULL, fallback to the default DOM tree building routines.</p><p>
1046 </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> the SAX handler block
1047 </td></tr><tr><td><span class="term"><i><tt>cur</tt></i> :</span></td><td> a pointer to an array of xmlChar
1048 </td></tr><tr><td><span class="term"><i><tt>recovery</tt></i> :</span></td><td> work in recovery mode, i.e. tries to read no Well Formed
1050 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the resulting document tree
1051 </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,
1053 const char *filename);</pre><p>
1054 parse an XML file and call the given SAX handler routines.
1055 Automatic support for ZLIB/Compress compressed document is provided</p><p>
1057 </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> a SAX handler
1058 </td></tr><tr><td><span class="term"><i><tt>user_data</tt></i> :</span></td><td> The user data returned on SAX callbacks
1059 </td></tr><tr><td><span class="term"><i><tt>filename</tt></i> :</span></td><td> a file name
1060 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0 in case of success or a error number otherwise
1061 </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,
1065 A better SAX parsing routine.
1066 parse an XML in-memory buffer and call the given SAX handler routines.</p><p>
1068 </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> a SAX handler
1069 </td></tr><tr><td><span class="term"><i><tt>user_data</tt></i> :</span></td><td> The user data returned on SAX callbacks
1070 </td></tr><tr><td><span class="term"><i><tt>buffer</tt></i> :</span></td><td> an in-memory XML document input
1071 </td></tr><tr><td><span class="term"><i><tt>size</tt></i> :</span></td><td> the length of the XML document in bytes
1072 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0 in case of success or a error number otherwise
1073 </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,
1076 int recovery);</pre><p>
1077 parse an XML in-memory block and use the given SAX function block
1078 to handle the parsing callback. If sax is NULL, fallback to the default
1079 DOM tree building routines.</p><p>
1081 </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> the SAX handler block
1082 </td></tr><tr><td><span class="term"><i><tt>buffer</tt></i> :</span></td><td> an pointer to a char array
1083 </td></tr><tr><td><span class="term"><i><tt>size</tt></i> :</span></td><td> the size of the array
1084 </td></tr><tr><td><span class="term"><i><tt>recovery</tt></i> :</span></td><td> work in recovery mode, i.e. tries to read not Well Formed
1086 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the resulting document tree
1087 </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,
1091 void *data);</pre><p>
1092 parse an XML in-memory block and use the given SAX function block
1093 to handle the parsing callback. If sax is NULL, fallback to the default
1094 DOM tree building routines.
1096 User data (void *) is stored within the parser context in the
1097 context's _private member, so it is available nearly everywhere in libxml</p><p>
1099 </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> the SAX handler block
1100 </td></tr><tr><td><span class="term"><i><tt>buffer</tt></i> :</span></td><td> an pointer to a char array
1101 </td></tr><tr><td><span class="term"><i><tt>size</tt></i> :</span></td><td> the size of the array
1102 </td></tr><tr><td><span class="term"><i><tt>recovery</tt></i> :</span></td><td> work in recovery mode, i.e. tries to read no Well Formed
1104 </td></tr><tr><td><span class="term"><i><tt>data</tt></i> :</span></td><td> the userdata
1105 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the resulting document tree
1106 </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,
1107 const char *filename,
1108 int recovery);</pre><p>
1109 parse an XML file and build a tree. Automatic support for ZLIB/Compress
1110 compressed document is provided by default if found at compile-time.
1111 It use the given SAX function block to handle the parsing callback.
1112 If sax is NULL, fallback to the default DOM tree building routines.</p><p>
1114 </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> the SAX handler block
1115 </td></tr><tr><td><span class="term"><i><tt>filename</tt></i> :</span></td><td> the filename
1116 </td></tr><tr><td><span class="term"><i><tt>recovery</tt></i> :</span></td><td> work in recovery mode, i.e. tries to read no Well Formed
1118 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the resulting document tree
1119 </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,
1120 const char *filename,
1122 void *data);</pre><p>
1123 parse an XML file and build a tree. Automatic support for ZLIB/Compress
1124 compressed document is provided by default if found at compile-time.
1125 It use the given SAX function block to handle the parsing callback.
1126 If sax is NULL, fallback to the default DOM tree building routines.
1128 User data (void *) is stored within the parser context in the
1129 context's _private member, so it is available nearly everywhere in libxml</p><p>
1131 </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> the SAX handler block
1132 </td></tr><tr><td><span class="term"><i><tt>filename</tt></i> :</span></td><td> the filename
1133 </td></tr><tr><td><span class="term"><i><tt>recovery</tt></i> :</span></td><td> work in recovery mode, i.e. tries to read no Well Formed
1135 </td></tr><tr><td><span class="term"><i><tt>data</tt></i> :</span></td><td> the userdata
1136 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the resulting document tree
1137 </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,
1138 const char *filename);</pre><p>
1139 parse an XML external entity out of context and build a tree.
1140 It use the given SAX function block to handle the parsing callback.
1141 If sax is NULL, fallback to the default DOM tree building routines.
1143 [78] extParsedEnt ::= TextDecl? content
1145 This correspond to a "Well Balanced" chunk</p><p>
1147 </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> the SAX handler block
1148 </td></tr><tr><td><span class="term"><i><tt>filename</tt></i> :</span></td><td> the filename
1149 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the resulting document tree
1150 </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>
1151 parse an XML external entity out of context and build a tree.
1153 [78] extParsedEnt ::= TextDecl? content
1155 This correspond to a "Well Balanced" chunk</p><p>
1157 </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> the filename
1158 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the resulting document tree
1159 </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,
1160 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID);</pre><p>
1161 Load and parse an external subset.</p><p>
1163 </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> a NAME* containing the External ID of the DTD
1164 </td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i> :</span></td><td> a NAME* containing the URL to the DTD
1165 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the resulting xmlDtdPtr or NULL in case of error.
1166 </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,
1167 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ExternalID,
1168 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID);</pre><p>
1169 Load and parse an external subset.</p><p>
1171 </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> the SAX handler block
1172 </td></tr><tr><td><span class="term"><i><tt>ExternalID</tt></i> :</span></td><td> a NAME* containing the External ID of the DTD
1173 </td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i> :</span></td><td> a NAME* containing the URL to the DTD
1174 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the resulting xmlDtdPtr or NULL in case of error.
1175 </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,
1176 <a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input,
1177 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);</pre><p>
1178 Load and parse a DTD</p><p>
1180 </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> the SAX handler block or NULL
1181 </td></tr><tr><td><span class="term"><i><tt>input</tt></i> :</span></td><td> an Input Buffer
1182 </td></tr><tr><td><span class="term"><i><tt>enc</tt></i> :</span></td><td> the charset encoding if known
1183 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the resulting xmlDtdPtr or NULL in case of error.
1184 <i><tt>input</tt></i> will be freed at parsing end.
1185 </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,
1186 <a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
1189 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *string,
1190 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> *lst);</pre><p>
1191 Parse a well-balanced chunk of an XML document
1192 called by the parser
1193 The allowed sequence for the Well Balanced Chunk is the one defined by
1194 the content production in the XML grammar:
1196 [43] content ::= (element | CharData | Reference | CDSect | PI | Comment)*</p><p>
1198 </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> the document the chunk pertains to
1199 </td></tr><tr><td><span class="term"><i><tt>sax</tt></i> :</span></td><td> the SAX handler bloc (possibly NULL)
1200 </td></tr><tr><td><span class="term"><i><tt>user_data</tt></i> :</span></td><td> The user data returned on SAX callbacks (possibly NULL)
1201 </td></tr><tr><td><span class="term"><i><tt>depth</tt></i> :</span></td><td> Used for loop detection, use 0
1202 </td></tr><tr><td><span class="term"><i><tt>string</tt></i> :</span></td><td> the input string in UTF8 or ISO-Latin (zero terminated)
1203 </td></tr><tr><td><span class="term"><i><tt>lst</tt></i> :</span></td><td> the return value for the set of parsed nodes
1204 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0 if the chunk is well balanced, -1 in case of args problem and
1205 the parser error code otherwise
1206 </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
1207 (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
1208 <a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
1211 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *string,
1212 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> *lst,
1213 int recover);</pre><p>
1214 Parse a well-balanced chunk of an XML document
1215 called by the parser
1216 The allowed sequence for the Well Balanced Chunk is the one defined by
1217 the content production in the XML grammar:
1219 [43] content ::= (element | CharData | Reference | CDSect | PI | Comment)*</p><p>
1221 </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> the document the chunk pertains to
1222 </td></tr><tr><td><span class="term"><i><tt>sax</tt></i> :</span></td><td> the SAX handler bloc (possibly NULL)
1223 </td></tr><tr><td><span class="term"><i><tt>user_data</tt></i> :</span></td><td> The user data returned on SAX callbacks (possibly NULL)
1224 </td></tr><tr><td><span class="term"><i><tt>depth</tt></i> :</span></td><td> Used for loop detection, use 0
1225 </td></tr><tr><td><span class="term"><i><tt>string</tt></i> :</span></td><td> the input string in UTF8 or ISO-Latin (zero terminated)
1226 </td></tr><tr><td><span class="term"><i><tt>lst</tt></i> :</span></td><td> the return value for the set of parsed nodes
1227 </td></tr><tr><td><span class="term"><i><tt>recover</tt></i> :</span></td><td> return nodes even if the data is broken (use 0)
1228 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0 if the chunk is well balanced, -1 in case of args problem and
1229 the parser error code otherwise
1231 In case recover is set to 1, the nodelist will not be empty even if
1232 the parsed chunk is not well balanced.
1233 </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,
1234 <a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
1237 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *URL,
1238 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ID,
1239 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> *lst);</pre><p>
1240 Parse an external general entity
1241 An external general parsed entity is well-formed if it matches the
1242 production labeled extParsedEnt.
1244 [78] extParsedEnt ::= TextDecl? content</p><p>
1246 </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> the document the chunk pertains to
1247 </td></tr><tr><td><span class="term"><i><tt>sax</tt></i> :</span></td><td> the SAX handler bloc (possibly NULL)
1248 </td></tr><tr><td><span class="term"><i><tt>user_data</tt></i> :</span></td><td> The user data returned on SAX callbacks (possibly NULL)
1249 </td></tr><tr><td><span class="term"><i><tt>depth</tt></i> :</span></td><td> Used for loop detection, use 0
1250 </td></tr><tr><td><span class="term"><i><tt>URL</tt></i> :</span></td><td> the URL for the entity to load
1251 </td></tr><tr><td><span class="term"><i><tt>ID</tt></i> :</span></td><td> the System ID for the entity to load
1252 </td></tr><tr><td><span class="term"><i><tt>lst</tt></i> :</span></td><td> the return value for the set of parsed nodes
1253 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0 if the entity is well formed, -1 in case of args problem and
1254 the parser error code otherwise
1255 </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,
1256 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *URL,
1257 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ID,
1258 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> *lst);</pre><p>
1259 Parse an external general entity within an existing parsing context
1260 An external general parsed entity is well-formed if it matches the
1261 production labeled extParsedEnt.
1263 [78] extParsedEnt ::= TextDecl? content</p><p>
1265 </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> the existing parsing context
1266 </td></tr><tr><td><span class="term"><i><tt>URL</tt></i> :</span></td><td> the URL for the entity to load
1267 </td></tr><tr><td><span class="term"><i><tt>ID</tt></i> :</span></td><td> the System ID for the entity to load
1268 </td></tr><tr><td><span class="term"><i><tt>lst</tt></i> :</span></td><td> the return value for the set of parsed nodes
1269 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0 if the entity is well formed, -1 in case of args problem and
1270 the parser error code otherwise
1271 </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>
1272 Initialize a parser context</p><p>
1274 </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> an XML parser context
1275 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0 in case of success and -1 in case of error
1276 </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>
1277 Clear (release owned resources) and reinitialize a parser context</p><p>
1279 </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> an XML parser context
1280 </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>
1281 Free all the memory used by a parser context. However the parsed
1282 document in ctxt->myDoc is not freed.</p><p>
1284 </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> an XML parser context
1285 </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,
1286 const <a href="libxml-tree.html#xmlChar">xmlChar</a> *buffer,
1287 const char *filename);</pre><p>
1288 Setup the parser context to parse a new buffer; Clears any prior
1289 contents from the parser context. The buffer parameter must not be
1290 NULL, but the filename parameter can be</p><p>
1292 </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> an XML parser context
1293 </td></tr><tr><td><span class="term"><i><tt>buffer</tt></i> :</span></td><td> a xmlChar * buffer
1294 </td></tr><tr><td><span class="term"><i><tt>filename</tt></i> :</span></td><td> a file name
1295 </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>
1296 Creates a parser context for an XML in-memory document.</p><p>
1298 </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> a pointer to an array of xmlChar
1299 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the new parser context or NULL
1300 </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,
1301 const char **result);</pre><p>
1302 Copy at most *<i><tt>len</tt></i> feature names into the <i><tt>result</tt></i> array</p><p>
1304 </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> the length of the features name array (input/output)
1305 </td></tr><tr><td><span class="term"><i><tt>result</tt></i> :</span></td><td> an array of string to be filled with the features name.
1306 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>-1 in case or error, or the total number of features,
1307 len is updated with the number of strings copied,
1308 strings must not be deallocated
1309 </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,
1311 void *result);</pre><p>
1312 Read the current value of one feature of this parser instance</p><p>
1314 </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> an XML/HTML parser context
1315 </td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the feature name
1316 </td></tr><tr><td><span class="term"><i><tt>result</tt></i> :</span></td><td> location to store the result
1317 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>-1 in case or error, 0 otherwise
1318 </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,
1320 void *value);</pre><p>
1321 Change the current value of one feature of this parser instance</p><p>
1323 </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> an XML/HTML parser context
1324 </td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the feature name
1325 </td></tr><tr><td><span class="term"><i><tt>value</tt></i> :</span></td><td> pointer to the location of the new value
1326 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>-1 in case or error, 0 otherwise
1327 </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,
1331 const char *filename);</pre><p>
1332 Create a parser context for using the XML parser in push mode.
1333 If <i><tt>buffer</tt></i> and <i><tt>size</tt></i> are non-NULL, the data is used to detect
1334 the encoding. The remaining characters will be parsed so they
1335 don't need to be fed in again through xmlParseChunk.
1336 To allow content encoding detection, <i><tt>size</tt></i> should be >= 4
1337 The value of <i><tt>filename</tt></i> is used for fetching external entities
1338 and error/warning reports.</p><p>
1340 </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> a SAX handler
1341 </td></tr><tr><td><span class="term"><i><tt>user_data</tt></i> :</span></td><td> The user data returned on SAX callbacks
1342 </td></tr><tr><td><span class="term"><i><tt>chunk</tt></i> :</span></td><td> a pointer to an array of chars
1343 </td></tr><tr><td><span class="term"><i><tt>size</tt></i> :</span></td><td> number of chars in the array
1344 </td></tr><tr><td><span class="term"><i><tt>filename</tt></i> :</span></td><td> an optional file name or URI
1345 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the new parser context or NULL
1346 </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,
1349 int terminate);</pre><p>
1350 Parse a Chunk of memory</p><p>
1352 </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> an XML parser context
1353 </td></tr><tr><td><span class="term"><i><tt>chunk</tt></i> :</span></td><td> an char array
1354 </td></tr><tr><td><span class="term"><i><tt>size</tt></i> :</span></td><td> the size in byte of the chunk
1355 </td></tr><tr><td><span class="term"><i><tt>terminate</tt></i> :</span></td><td> last chunk indicator
1356 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>zero if no error, the xmlParserErrors otherwise.
1357 </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,
1359 <a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread,
1360 <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose,
1362 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);</pre><p>
1363 Create a parser context for using the XML parser with an existing
1366 </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> a SAX handler
1367 </td></tr><tr><td><span class="term"><i><tt>user_data</tt></i> :</span></td><td> The user data returned on SAX callbacks
1368 </td></tr><tr><td><span class="term"><i><tt>ioread</tt></i> :</span></td><td> an I/O read function
1369 </td></tr><tr><td><span class="term"><i><tt>ioclose</tt></i> :</span></td><td> an I/O close function
1370 </td></tr><tr><td><span class="term"><i><tt>ioctx</tt></i> :</span></td><td> an I/O handler
1371 </td></tr><tr><td><span class="term"><i><tt>enc</tt></i> :</span></td><td> the charset encoding if known
1372 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the new parser context or NULL
1373 </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,
1374 <a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input,
1375 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);</pre><p>
1376 Create a new input stream structure encapsulating the <i><tt>input</tt></i> into
1377 a stream suitable for the parser.</p><p>
1379 </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> an XML parser context
1380 </td></tr><tr><td><span class="term"><i><tt>input</tt></i> :</span></td><td> an I/O Input
1381 </td></tr><tr><td><span class="term"><i><tt>enc</tt></i> :</span></td><td> the charset encoding if known
1382 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the new input stream or NULL
1383 </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
1384 (const <a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
1385 const <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);</pre><p>
1386 Find the parser node info struct for a given node</p><p>
1388 </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>
1389 </td></tr><tr><td><span class="term"><i><tt>node</tt></i> :</span></td><td> an XML node within the tree
1390 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>an xmlParserNodeInfo block pointer or NULL
1391 </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>
1392 -- Initialize (set to initial state) node info sequence</p><p>
1394 </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> a node info sequence pointer
1395 </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>
1396 -- Clear (release memory and reinitialize) node
1397 info sequence</p><p>
1399 </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> a node info sequence pointer
1400 </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,
1401 const <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);</pre><p>
1402 xmlParserFindNodeInfoIndex : Find the index that the info record for
1403 the given node is or should be at in a sorted sequence</p><p>
1405 </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> a node info sequence pointer
1406 </td></tr><tr><td><span class="term"><i><tt>node</tt></i> :</span></td><td> an XML node pointer
1407 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a long indicating the position of the record
1408 </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,
1409 const <a href="libxml-parser.html#xmlParserNodeInfoPtr">xmlParserNodeInfoPtr</a> info);</pre><p>
1410 Insert node info record into the sorted sequence</p><p>
1412 </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> an XML parser context
1413 </td></tr><tr><td><span class="term"><i><tt>info</tt></i> :</span></td><td> a node info sequence pointer
1414 </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>
1415 Changes the defaultexternal entity resolver function for the application</p><p>
1417 </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> the new entity resolver function
1418 </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
1420 Get the default external entity resolver function for the application</p><p>
1422 </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>the xmlExternalEntityLoader function pointer
1423 </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,
1425 <a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
1426 Load an external entity, note that the use of this function for
1427 unparsed entities may generate problems
1428 TODO: a more generic External entity API must be designed</p><p>
1430 </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> the URL for the entity to load
1431 </td></tr><tr><td><span class="term"><i><tt>ID</tt></i> :</span></td><td> the Public ID for the entity to load
1432 </td></tr><tr><td><span class="term"><i><tt>ctxt</tt></i> :</span></td><td> the context in which the entity is called or NULL
1433 </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the xmlParserInputPtr or NULL
1434 </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><< Libxml Library Reference</b></a></td><td align="right"><a accesskey="n" href="libxml-xmlreader.html"><b>xmlreader >></b></a></td></tr></table></body></html>