Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 1 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
| 2 | <html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>parser</title><meta name="generator" content="DocBook XSL Stylesheets V1.58.1"><style xmlns="http://www.w3.org/TR/xhtml1/transitional" type="text/css"> |
| 3 | .synopsis, .classsynopsis { |
| 4 | background: #eeeeee; |
| 5 | border: solid 1px #aaaaaa; |
| 6 | padding: 0.5em; |
| 7 | } |
| 8 | .programlisting { |
| 9 | background: #eeeeff; |
| 10 | border: solid 1px #aaaaff; |
| 11 | padding: 0.5em; |
| 12 | } |
| 13 | .variablelist { |
| 14 | padding: 4px; |
| 15 | margin-left: 3em; |
| 16 | } |
| 17 | .navigation { |
| 18 | background: #ffeeee; |
| 19 | border: solid 1px #ffaaaa; |
| 20 | margin-top: 0.5em; |
| 21 | margin-bottom: 0.5em; |
| 22 | } |
| 23 | .navigation a { |
| 24 | color: #770000; |
| 25 | } |
| 26 | .navigation a:visited { |
| 27 | color: #550000; |
| 28 | } |
| 29 | .navigation .title { |
| 30 | font-size: 200%; |
| 31 | } |
| 32 | </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="libxml-lib.html" title="Libxml Library Reference"><link rel="previous" href="libxml-lib.html" title="Libxml Library Reference"><link rel="next" href="libxml-xmlreader.html" title="xmlreader"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table xmlns="http://www.w3.org/TR/xhtml1/transitional" class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-lib.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></img></a></td><td><a accesskey="u" href="libxml-lib.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></img></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></img></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-xmlreader.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></img></a></td></tr></table><div class="refentry" lang="en"><a name="libxml-parser"></a><div class="titlepage"></div><div class="refnamediv"><h2>parser</h2><p>parser — </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="synopsis"> |
Daniel Veillard | 3592547 | 1999-02-25 08:46:07 +0000 | [diff] [blame] | 33 | |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 34 | |
| 35 | |
| 36 | #define <a href="libxml-parser.html#XML-DEFAULT-VERSION-CAPS">XML_DEFAULT_VERSION</a> |
| 37 | void (<a href="libxml-parser.html#xmlParserInputDeallocate">*xmlParserInputDeallocate</a>) (<a href="libxml-tree.html#xmlChar">xmlChar</a> *str); |
| 38 | struct <a href="libxml-parser.html#xmlParserInput">xmlParserInput</a>; |
| 39 | struct <a href="libxml-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a>; |
| 40 | typedef <a href="libxml-parser.html#xmlParserNodeInfoPtr">xmlParserNodeInfoPtr</a>; |
| 41 | struct <a href="libxml-parser.html#xmlParserNodeInfoSeq">xmlParserNodeInfoSeq</a>; |
| 42 | typedef <a href="libxml-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a>; |
| 43 | enum <a href="libxml-parser.html#xmlParserInputState">xmlParserInputState</a>; |
| 44 | #define <a href="libxml-parser.html#XML-DETECT-IDS-CAPS">XML_DETECT_IDS</a> |
| 45 | #define <a href="libxml-parser.html#XML-COMPLETE-ATTRS-CAPS">XML_COMPLETE_ATTRS</a> |
| 46 | #define <a href="libxml-parser.html#XML-SKIP-IDS-CAPS">XML_SKIP_IDS</a> |
| 47 | struct <a href="libxml-parser.html#xmlParserCtxt">xmlParserCtxt</a>; |
| 48 | struct <a href="libxml-parser.html#xmlSAXLocator">xmlSAXLocator</a>; |
| 49 | <a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> (<a href="libxml-parser.html#resolveEntitySAXFunc">*resolveEntitySAXFunc</a>) (void *ctx, |
| 50 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *publicId, |
| 51 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *systemId); |
| 52 | void (<a href="libxml-parser.html#internalSubsetSAXFunc">*internalSubsetSAXFunc</a>) (void *ctx, |
| 53 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name, |
| 54 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ExternalID, |
| 55 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID); |
| 56 | void (<a href="libxml-parser.html#externalSubsetSAXFunc">*externalSubsetSAXFunc</a>) (void *ctx, |
| 57 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name, |
| 58 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ExternalID, |
| 59 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID); |
| 60 | <a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> (<a href="libxml-parser.html#getEntitySAXFunc">*getEntitySAXFunc</a>) (void *ctx, |
| 61 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name); |
| 62 | <a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> (<a href="libxml-parser.html#getParameterEntitySAXFunc">*getParameterEntitySAXFunc</a>) (void *ctx, |
| 63 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name); |
| 64 | void (<a href="libxml-parser.html#entityDeclSAXFunc">*entityDeclSAXFunc</a>) (void *ctx, |
| 65 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name, |
Daniel Veillard | 5099ae8 | 1999-04-21 20:12:07 +0000 | [diff] [blame] | 66 | int type, |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 67 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *publicId, |
| 68 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *systemId, |
| 69 | <a href="libxml-tree.html#xmlChar">xmlChar</a> *content); |
| 70 | void (<a href="libxml-parser.html#notationDeclSAXFunc">*notationDeclSAXFunc</a>) (void *ctx, |
| 71 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name, |
| 72 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *publicId, |
| 73 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *systemId); |
| 74 | void (<a href="libxml-parser.html#attributeDeclSAXFunc">*attributeDeclSAXFunc</a>) (void *ctx, |
| 75 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *elem, |
| 76 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *fullname, |
Daniel Veillard | 5099ae8 | 1999-04-21 20:12:07 +0000 | [diff] [blame] | 77 | int type, |
| 78 | int def, |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 79 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *defaultValue, |
| 80 | <a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree); |
| 81 | void (<a href="libxml-parser.html#elementDeclSAXFunc">*elementDeclSAXFunc</a>) (void *ctx, |
| 82 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name, |
Daniel Veillard | 5099ae8 | 1999-04-21 20:12:07 +0000 | [diff] [blame] | 83 | int type, |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 84 | <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content); |
| 85 | void (<a href="libxml-parser.html#unparsedEntityDeclSAXFunc">*unparsedEntityDeclSAXFunc</a>) (void *ctx, |
| 86 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name, |
| 87 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *publicId, |
| 88 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *systemId, |
| 89 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *notationName); |
| 90 | void (<a href="libxml-parser.html#setDocumentLocatorSAXFunc">*setDocumentLocatorSAXFunc</a>) (void *ctx, |
| 91 | <a href="libxml-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc); |
| 92 | void (<a href="libxml-parser.html#startDocumentSAXFunc">*startDocumentSAXFunc</a>) (void *ctx); |
| 93 | void (<a href="libxml-parser.html#endDocumentSAXFunc">*endDocumentSAXFunc</a>) (void *ctx); |
| 94 | void (<a href="libxml-parser.html#startElementSAXFunc">*startElementSAXFunc</a>) (void *ctx, |
| 95 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name, |
| 96 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> **atts); |
| 97 | void (<a href="libxml-parser.html#endElementSAXFunc">*endElementSAXFunc</a>) (void *ctx, |
| 98 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name); |
| 99 | void (<a href="libxml-parser.html#attributeSAXFunc">*attributeSAXFunc</a>) (void *ctx, |
| 100 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name, |
| 101 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value); |
| 102 | void (<a href="libxml-parser.html#referenceSAXFunc">*referenceSAXFunc</a>) (void *ctx, |
| 103 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name); |
| 104 | void (<a href="libxml-parser.html#charactersSAXFunc">*charactersSAXFunc</a>) (void *ctx, |
| 105 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ch, |
Daniel Veillard | 3592547 | 1999-02-25 08:46:07 +0000 | [diff] [blame] | 106 | int len); |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 107 | void (<a href="libxml-parser.html#ignorableWhitespaceSAXFunc">*ignorableWhitespaceSAXFunc</a>) (void *ctx, |
| 108 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ch, |
Daniel Veillard | 3592547 | 1999-02-25 08:46:07 +0000 | [diff] [blame] | 109 | int len); |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 110 | void (<a href="libxml-parser.html#processingInstructionSAXFunc">*processingInstructionSAXFunc</a>) (void *ctx, |
| 111 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *target, |
| 112 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *data); |
| 113 | void (<a href="libxml-parser.html#commentSAXFunc">*commentSAXFunc</a>) (void *ctx, |
| 114 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value); |
| 115 | void (<a href="libxml-parser.html#cdataBlockSAXFunc">*cdataBlockSAXFunc</a>) (void *ctx, |
| 116 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value, |
Daniel Veillard | b05deb7 | 1999-08-10 19:04:08 +0000 | [diff] [blame] | 117 | int len); |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 118 | void (<a href="libxml-parser.html#warningSAXFunc">*warningSAXFunc</a>) (void *ctx, |
Daniel Veillard | 3592547 | 1999-02-25 08:46:07 +0000 | [diff] [blame] | 119 | const char *msg, |
| 120 | ...); |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 121 | void (<a href="libxml-parser.html#errorSAXFunc">*errorSAXFunc</a>) (void *ctx, |
Daniel Veillard | 3592547 | 1999-02-25 08:46:07 +0000 | [diff] [blame] | 122 | const char *msg, |
| 123 | ...); |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 124 | void (<a href="libxml-parser.html#fatalErrorSAXFunc">*fatalErrorSAXFunc</a>) (void *ctx, |
Daniel Veillard | 3592547 | 1999-02-25 08:46:07 +0000 | [diff] [blame] | 125 | const char *msg, |
| 126 | ...); |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 127 | int (<a href="libxml-parser.html#isStandaloneSAXFunc">*isStandaloneSAXFunc</a>) (void *ctx); |
| 128 | int (<a href="libxml-parser.html#hasInternalSubsetSAXFunc">*hasInternalSubsetSAXFunc</a>) (void *ctx); |
| 129 | int (<a href="libxml-parser.html#hasExternalSubsetSAXFunc">*hasExternalSubsetSAXFunc</a>) (void *ctx); |
| 130 | struct <a href="libxml-parser.html#xmlSAXHandler">xmlSAXHandler</a>; |
| 131 | <a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> (<a href="libxml-parser.html#xmlExternalEntityLoader">*xmlExternalEntityLoader</a>) |
Daniel Veillard | 3f6f7f6 | 2000-06-30 17:58:25 +0000 | [diff] [blame] | 132 | (const char *URL, |
| 133 | const char *ID, |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 134 | <a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> context); |
| 135 | void <a href="libxml-parser.html#xmlInitParser">xmlInitParser</a> (void); |
| 136 | void <a href="libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a> (void); |
| 137 | int <a href="libxml-parser.html#xmlParserInputRead">xmlParserInputRead</a> (<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in, |
Daniel Veillard | e2d034d | 1999-07-27 19:52:06 +0000 | [diff] [blame] | 138 | int len); |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 139 | int <a href="libxml-parser.html#xmlParserInputGrow">xmlParserInputGrow</a> (<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in, |
Daniel Veillard | e2d034d | 1999-07-27 19:52:06 +0000 | [diff] [blame] | 140 | int len); |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 141 | <a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-parser.html#xmlStrdup">xmlStrdup</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *cur); |
| 142 | <a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-parser.html#xmlStrndup">xmlStrndup</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *cur, |
Daniel Veillard | 3592547 | 1999-02-25 08:46:07 +0000 | [diff] [blame] | 143 | int len); |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 144 | <a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-parser.html#xmlCharStrndup">xmlCharStrndup</a> (const char *cur, |
Daniel Veillard | a41123c | 2001-04-22 19:31:20 +0000 | [diff] [blame] | 145 | int len); |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 146 | <a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-parser.html#xmlCharStrdup">xmlCharStrdup</a> (const char *cur); |
| 147 | <a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-parser.html#xmlStrsub">xmlStrsub</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str, |
Daniel Veillard | 1566d3a | 1999-07-15 14:24:29 +0000 | [diff] [blame] | 148 | int start, |
| 149 | int len); |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 150 | 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, |
| 151 | <a href="libxml-tree.html#xmlChar">xmlChar</a> val); |
| 152 | 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, |
| 153 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *val); |
| 154 | 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, |
| 155 | <a href="libxml-tree.html#xmlChar">xmlChar</a> *val); |
| 156 | int <a href="libxml-parser.html#xmlStrcmp">xmlStrcmp</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str1, |
| 157 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str2); |
| 158 | int <a href="libxml-parser.html#xmlStrncmp">xmlStrncmp</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str1, |
| 159 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str2, |
Daniel Veillard | 3592547 | 1999-02-25 08:46:07 +0000 | [diff] [blame] | 160 | int len); |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 161 | int <a href="libxml-parser.html#xmlStrcasecmp">xmlStrcasecmp</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str1, |
| 162 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str2); |
| 163 | int <a href="libxml-parser.html#xmlStrncasecmp">xmlStrncasecmp</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str1, |
| 164 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str2, |
Daniel Veillard | 3bff2b0 | 2000-10-01 20:33:47 +0000 | [diff] [blame] | 165 | int len); |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 166 | int <a href="libxml-parser.html#xmlStrEqual">xmlStrEqual</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str1, |
| 167 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str2); |
| 168 | int <a href="libxml-parser.html#xmlStrlen">xmlStrlen</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str); |
| 169 | <a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-parser.html#xmlStrcat">xmlStrcat</a> (<a href="libxml-tree.html#xmlChar">xmlChar</a> *cur, |
| 170 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *add); |
| 171 | <a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-parser.html#xmlStrncat">xmlStrncat</a> (<a href="libxml-tree.html#xmlChar">xmlChar</a> *cur, |
| 172 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *add, |
Daniel Veillard | 3592547 | 1999-02-25 08:46:07 +0000 | [diff] [blame] | 173 | int len); |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 174 | <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="libxml-parser.html#xmlParseDoc">xmlParseDoc</a> (<a href="libxml-tree.html#xmlChar">xmlChar</a> *cur); |
| 175 | <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="libxml-parser.html#xmlParseMemory">xmlParseMemory</a> (const char *buffer, |
Daniel Veillard | 3592547 | 1999-02-25 08:46:07 +0000 | [diff] [blame] | 176 | int size); |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 177 | <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="libxml-parser.html#xmlParseFile">xmlParseFile</a> (const char *filename); |
| 178 | int <a href="libxml-parser.html#xmlSubstituteEntitiesDefault">xmlSubstituteEntitiesDefault</a> (int val); |
| 179 | int <a href="libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a> (int val); |
| 180 | void <a href="libxml-parser.html#xmlStopParser">xmlStopParser</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt); |
| 181 | int <a href="libxml-parser.html#xmlPedanticParserDefault">xmlPedanticParserDefault</a> (int val); |
| 182 | int <a href="libxml-parser.html#xmlLineNumbersDefault">xmlLineNumbersDefault</a> (int val); |
| 183 | <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="libxml-parser.html#xmlRecoverDoc">xmlRecoverDoc</a> (<a href="libxml-tree.html#xmlChar">xmlChar</a> *cur); |
| 184 | <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="libxml-parser.html#xmlRecoverMemory">xmlRecoverMemory</a> (const char *buffer, |
Daniel Veillard | 3592547 | 1999-02-25 08:46:07 +0000 | [diff] [blame] | 185 | int size); |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 186 | <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="libxml-parser.html#xmlRecoverFile">xmlRecoverFile</a> (const char *filename); |
| 187 | int <a href="libxml-parser.html#xmlParseDocument">xmlParseDocument</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt); |
| 188 | int <a href="libxml-parser.html#xmlParseExtParsedEnt">xmlParseExtParsedEnt</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt); |
| 189 | <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="libxml-parser.html#xmlSAXParseDoc">xmlSAXParseDoc</a> (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, |
| 190 | <a href="libxml-tree.html#xmlChar">xmlChar</a> *cur, |
Daniel Veillard | 3592547 | 1999-02-25 08:46:07 +0000 | [diff] [blame] | 191 | int recovery); |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 192 | int <a href="libxml-parser.html#xmlSAXUserParseFile">xmlSAXUserParseFile</a> (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, |
Daniel Veillard | 3f6f7f6 | 2000-06-30 17:58:25 +0000 | [diff] [blame] | 193 | void *user_data, |
| 194 | const char *filename); |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 195 | int <a href="libxml-parser.html#xmlSAXUserParseMemory">xmlSAXUserParseMemory</a> (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, |
Daniel Veillard | 3f6f7f6 | 2000-06-30 17:58:25 +0000 | [diff] [blame] | 196 | void *user_data, |
Daniel Veillard | bed7b05 | 2001-05-19 14:59:49 +0000 | [diff] [blame] | 197 | const char *buffer, |
Daniel Veillard | 3f6f7f6 | 2000-06-30 17:58:25 +0000 | [diff] [blame] | 198 | int size); |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 199 | <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="libxml-parser.html#xmlSAXParseMemory">xmlSAXParseMemory</a> (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, |
Daniel Veillard | e7ead2d | 2001-08-22 23:44:09 +0000 | [diff] [blame] | 200 | const char *buffer, |
Daniel Veillard | 3592547 | 1999-02-25 08:46:07 +0000 | [diff] [blame] | 201 | int size, |
| 202 | int recovery); |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 203 | <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="libxml-parser.html#xmlSAXParseMemoryWithData">xmlSAXParseMemoryWithData</a> (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, |
Daniel Veillard | aec6356 | 2003-03-23 20:42:17 +0000 | [diff] [blame] | 204 | const char *buffer, |
| 205 | int size, |
| 206 | int recovery, |
| 207 | void *data); |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 208 | <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="libxml-parser.html#xmlSAXParseFile">xmlSAXParseFile</a> (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, |
Daniel Veillard | 3592547 | 1999-02-25 08:46:07 +0000 | [diff] [blame] | 209 | const char *filename, |
| 210 | int recovery); |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 211 | <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="libxml-parser.html#xmlSAXParseFileWithData">xmlSAXParseFileWithData</a> (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, |
Daniel Veillard | 60087f3 | 2001-10-10 09:45:09 +0000 | [diff] [blame] | 212 | const char *filename, |
| 213 | int recovery, |
| 214 | void *data); |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 215 | <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="libxml-parser.html#xmlSAXParseEntity">xmlSAXParseEntity</a> (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, |
Daniel Veillard | 3bff2b0 | 2000-10-01 20:33:47 +0000 | [diff] [blame] | 216 | const char *filename); |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 217 | <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="libxml-parser.html#xmlParseEntity">xmlParseEntity</a> (const char *filename); |
| 218 | <a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> <a href="libxml-parser.html#xmlParseDTD">xmlParseDTD</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ExternalID, |
| 219 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID); |
| 220 | <a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> <a href="libxml-parser.html#xmlSAXParseDTD">xmlSAXParseDTD</a> (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, |
| 221 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ExternalID, |
| 222 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID); |
| 223 | <a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> <a href="libxml-parser.html#xmlIOParseDTD">xmlIOParseDTD</a> (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, |
| 224 | <a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, |
| 225 | <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc); |
| 226 | int <a href="libxml-parser.html#xmlParseBalancedChunkMemory">xmlParseBalancedChunkMemory</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, |
| 227 | <a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, |
Daniel Veillard | 3f6f7f6 | 2000-06-30 17:58:25 +0000 | [diff] [blame] | 228 | void *user_data, |
| 229 | int depth, |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 230 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *string, |
| 231 | <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> *lst); |
| 232 | int <a href="libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a> |
| 233 | (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, |
| 234 | <a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, |
Daniel Veillard | 2ace195 | 2002-09-26 12:28:02 +0000 | [diff] [blame] | 235 | void *user_data, |
| 236 | int depth, |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 237 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *string, |
| 238 | <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> *lst, |
Daniel Veillard | 2ace195 | 2002-09-26 12:28:02 +0000 | [diff] [blame] | 239 | int recover); |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 240 | int <a href="libxml-parser.html#xmlParseExternalEntity">xmlParseExternalEntity</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, |
| 241 | <a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, |
Daniel Veillard | 3f6f7f6 | 2000-06-30 17:58:25 +0000 | [diff] [blame] | 242 | void *user_data, |
| 243 | int depth, |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 244 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *URL, |
| 245 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ID, |
| 246 | <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> *lst); |
| 247 | int <a href="libxml-parser.html#xmlParseCtxtExternalEntity">xmlParseCtxtExternalEntity</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctx, |
| 248 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *URL, |
| 249 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ID, |
| 250 | <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> *lst); |
| 251 | int <a href="libxml-parser.html#xmlInitParserCtxt">xmlInitParserCtxt</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt); |
| 252 | void <a href="libxml-parser.html#xmlClearParserCtxt">xmlClearParserCtxt</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt); |
| 253 | void <a href="libxml-parser.html#xmlFreeParserCtxt">xmlFreeParserCtxt</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt); |
| 254 | void <a href="libxml-parser.html#xmlSetupParserForBuffer">xmlSetupParserForBuffer</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, |
| 255 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *buffer, |
Daniel Veillard | 3592547 | 1999-02-25 08:46:07 +0000 | [diff] [blame] | 256 | const char *filename); |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 257 | <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); |
| 258 | int <a href="libxml-parser.html#xmlGetFeaturesList">xmlGetFeaturesList</a> (int *len, |
Daniel Veillard | 7c29ce2 | 2000-08-12 21:20:53 +0000 | [diff] [blame] | 259 | const char **result); |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 260 | int <a href="libxml-parser.html#xmlGetFeature">xmlGetFeature</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, |
Daniel Veillard | 7c29ce2 | 2000-08-12 21:20:53 +0000 | [diff] [blame] | 261 | const char *name, |
| 262 | void *result); |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 263 | int <a href="libxml-parser.html#xmlSetFeature">xmlSetFeature</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, |
Daniel Veillard | 7c29ce2 | 2000-08-12 21:20:53 +0000 | [diff] [blame] | 264 | const char *name, |
| 265 | void *value); |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 266 | <a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> <a href="libxml-parser.html#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a> (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, |
Daniel Veillard | 3f6f7f6 | 2000-06-30 17:58:25 +0000 | [diff] [blame] | 267 | void *user_data, |
| 268 | const char *chunk, |
| 269 | int size, |
| 270 | const char *filename); |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 271 | int <a href="libxml-parser.html#xmlParseChunk">xmlParseChunk</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, |
Daniel Veillard | 3f6f7f6 | 2000-06-30 17:58:25 +0000 | [diff] [blame] | 272 | const char *chunk, |
| 273 | int size, |
| 274 | int terminate); |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 275 | <a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> <a href="libxml-parser.html#xmlCreateIOParserCtxt">xmlCreateIOParserCtxt</a> (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, |
Daniel Veillard | 3f6f7f6 | 2000-06-30 17:58:25 +0000 | [diff] [blame] | 276 | void *user_data, |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 277 | <a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, |
| 278 | <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, |
Daniel Veillard | 3f6f7f6 | 2000-06-30 17:58:25 +0000 | [diff] [blame] | 279 | void *ioctx, |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 280 | <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc); |
| 281 | <a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> <a href="libxml-parser.html#xmlNewIOInputStream">xmlNewIOInputStream</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, |
| 282 | <a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, |
| 283 | <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc); |
| 284 | const <a href="libxml-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a>* <a href="libxml-parser.html#xmlParserFindNodeInfo">xmlParserFindNodeInfo</a> |
| 285 | (const <a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, |
| 286 | const <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node); |
| 287 | void <a href="libxml-parser.html#xmlInitNodeInfoSeq">xmlInitNodeInfoSeq</a> (<a href="libxml-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq); |
| 288 | void <a href="libxml-parser.html#xmlClearNodeInfoSeq">xmlClearNodeInfoSeq</a> (<a href="libxml-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq); |
| 289 | 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, |
| 290 | const <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node); |
| 291 | void <a href="libxml-parser.html#xmlParserAddNodeInfo">xmlParserAddNodeInfo</a> (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, |
| 292 | const <a href="libxml-parser.html#xmlParserNodeInfoPtr">xmlParserNodeInfoPtr</a> info); |
| 293 | void <a href="libxml-parser.html#xmlSetExternalEntityLoader">xmlSetExternalEntityLoader</a> (<a href="libxml-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a> f); |
| 294 | <a href="libxml-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a> <a href="libxml-parser.html#xmlGetExternalEntityLoader">xmlGetExternalEntityLoader</a> |
Daniel Veillard | 6bd26dc | 1999-09-03 14:28:40 +0000 | [diff] [blame] | 295 | (void); |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 296 | <a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> <a href="libxml-parser.html#xmlLoadExternalEntity">xmlLoadExternalEntity</a> (const char *URL, |
Daniel Veillard | 6bd26dc | 1999-09-03 14:28:40 +0000 | [diff] [blame] | 297 | const char *ID, |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 298 | <a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt); |
| 299 | </pre></div><div class="refsect1" lang="en"><h2>Description</h2><p> |
| 300 | |
| 301 | </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 | </pre><p> |
| 303 | The default version of XML used: 1.0</p><p> |
| 304 | |
| 305 | </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> |
| 306 | Callback for freeing some parser input allocations.</p><p> |
| 307 | |
| 308 | </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 |
| 309 | </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlParserInput"></a>struct xmlParserInput</h3><pre class="programlisting">struct xmlParserInput { |
Daniel Veillard | 3f6f7f6 | 2000-06-30 17:58:25 +0000 | [diff] [blame] | 310 | /* Input buffer */ |
| 311 | xmlParserInputBufferPtr buf; /* UTF-8 encoded buffer */ |
| 312 | |
| 313 | const char *filename; /* The file analyzed, if any */ |
Daniel Veillard | 60087f3 | 2001-10-10 09:45:09 +0000 | [diff] [blame] | 314 | const char *directory; /* the directory/base of the file */ |
Daniel Veillard | 3f6f7f6 | 2000-06-30 17:58:25 +0000 | [diff] [blame] | 315 | const xmlChar *base; /* Base of the array to parse */ |
| 316 | const xmlChar *cur; /* Current char being parsed */ |
Daniel Veillard | cbaf399 | 2001-12-31 16:16:02 +0000 | [diff] [blame] | 317 | const xmlChar *end; /* end of the array to parse */ |
Daniel Veillard | 3f6f7f6 | 2000-06-30 17:58:25 +0000 | [diff] [blame] | 318 | int length; /* length if known */ |
| 319 | int line; /* Current line */ |
| 320 | int col; /* Current column */ |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 321 | /* |
| 322 | * NOTE: consumed is only tested for equality in the parser code, |
| 323 | * so even if there is an overflow this should not give troubles |
| 324 | * for parsing very large instances. |
| 325 | */ |
| 326 | unsigned long consumed; /* How many xmlChars already consumed */ |
Daniel Veillard | 3f6f7f6 | 2000-06-30 17:58:25 +0000 | [diff] [blame] | 327 | xmlParserInputDeallocate free; /* function to deallocate the base */ |
| 328 | const xmlChar *encoding; /* the encoding string for entity */ |
| 329 | const xmlChar *version; /* the version string for entity */ |
| 330 | int standalone; /* Was that entity marked standalone */ |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 331 | }; |
| 332 | </pre><p> |
| 333 | An xmlParserInput is an input flow for the XML processor. |
Daniel Veillard | e7ead2d | 2001-08-22 23:44:09 +0000 | [diff] [blame] | 334 | Each entity parsed is associated an xmlParserInput (except the |
| 335 | few predefined ones). This is the case both for internal entities |
| 336 | - in which case the flow is already completely in memory - or |
| 337 | external entities - in which case we use the buf structure for |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 338 | progressive reading and I18N conversions to the internal UTF-8 format.</p><p> |
| 339 | |
| 340 | </p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlParserNodeInfo"></a>struct xmlParserNodeInfo</h3><pre class="programlisting">struct xmlParserNodeInfo { |
Daniel Veillard | 71b656e | 2000-01-05 14:46:17 +0000 | [diff] [blame] | 341 | const struct _xmlNode* node; |
Daniel Veillard | 3bbbe6f | 2001-05-03 11:15:37 +0000 | [diff] [blame] | 342 | /* Position & line # that text that created the node begins & ends on */ |
Daniel Veillard | 71b656e | 2000-01-05 14:46:17 +0000 | [diff] [blame] | 343 | unsigned long begin_pos; |
| 344 | unsigned long begin_line; |
| 345 | unsigned long end_pos; |
| 346 | unsigned long end_line; |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 347 | }; |
| 348 | </pre><p> |
| 349 | The parser can be asked to collect Node informations, i.e. at what |
Daniel Veillard | e7ead2d | 2001-08-22 23:44:09 +0000 | [diff] [blame] | 350 | place in the file they were detected. |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 351 | NOTE: This is off by default and not very well tested.</p><p> |
| 352 | |
| 353 | </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; |
| 354 | </pre><p> |
| 355 | |
| 356 | </p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlParserNodeInfoSeq"></a>struct xmlParserNodeInfoSeq</h3><pre class="programlisting">struct xmlParserNodeInfoSeq { |
Daniel Veillard | 71b656e | 2000-01-05 14:46:17 +0000 | [diff] [blame] | 357 | unsigned long maximum; |
| 358 | unsigned long length; |
| 359 | xmlParserNodeInfo* buffer; |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 360 | }; |
| 361 | </pre><p> |
| 362 | |
| 363 | </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; |
| 364 | </pre><p> |
| 365 | |
| 366 | </p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlParserInputState"></a>enum xmlParserInputState</h3><pre class="programlisting">typedef enum { |
Daniel Veillard | be849cf | 1999-12-28 16:43:59 +0000 | [diff] [blame] | 367 | XML_PARSER_EOF = -1, /* nothing is to be parsed */ |
| 368 | XML_PARSER_START = 0, /* nothing has been parsed */ |
| 369 | XML_PARSER_MISC, /* Misc* before int subset */ |
Daniel Veillard | cbaf399 | 2001-12-31 16:16:02 +0000 | [diff] [blame] | 370 | XML_PARSER_PI, /* Within a processing instruction */ |
Daniel Veillard | be849cf | 1999-12-28 16:43:59 +0000 | [diff] [blame] | 371 | XML_PARSER_DTD, /* within some DTD content */ |
| 372 | XML_PARSER_PROLOG, /* Misc* after internal subset */ |
| 373 | XML_PARSER_COMMENT, /* within a comment */ |
| 374 | XML_PARSER_START_TAG, /* within a start tag */ |
| 375 | XML_PARSER_CONTENT, /* within the content */ |
| 376 | XML_PARSER_CDATA_SECTION, /* within a CDATA section */ |
| 377 | XML_PARSER_END_TAG, /* within a closing tag */ |
| 378 | XML_PARSER_ENTITY_DECL, /* within an entity declaration */ |
| 379 | XML_PARSER_ENTITY_VALUE, /* within an entity value in a decl */ |
| 380 | XML_PARSER_ATTRIBUTE_VALUE, /* within an attribute value */ |
Daniel Veillard | edfb29b | 2000-03-14 19:59:05 +0000 | [diff] [blame] | 381 | XML_PARSER_SYSTEM_LITERAL, /* within a SYSTEM value */ |
Daniel Veillard | 28929b2 | 2000-11-13 18:22:49 +0000 | [diff] [blame] | 382 | XML_PARSER_EPILOG, /* the Misc* after the last end tag */ |
Daniel Veillard | 5f4b599 | 2002-02-20 10:22:49 +0000 | [diff] [blame] | 383 | XML_PARSER_IGNORE, /* within an IGNORED section */ |
| 384 | XML_PARSER_PUBLIC_LITERAL /* within a PUBLIC value */ |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 385 | } xmlParserInputState; |
| 386 | </pre><p> |
| 387 | The parser is now working also as a state based parser. |
| 388 | The recursive one use the state info for entities processing.</p><p> |
| 389 | |
| 390 | </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 | </pre><p> |
| 392 | Bit in the loadsubset context field to tell to do ID/REFs lookups. |
| 393 | Use it to initialize xmlLoadExtDtdDefaultValue.</p><p> |
| 394 | |
| 395 | </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 | </pre><p> |
| 397 | Bit in the loadsubset context field to tell to do complete the |
Daniel Veillard | 1927409 | 2002-03-25 16:48:03 +0000 | [diff] [blame] | 398 | elements attributes lists with the ones defaulted from the DTDs. |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 399 | Use it to initialize xmlLoadExtDtdDefaultValue.</p><p> |
| 400 | |
| 401 | </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 | </pre><p> |
| 403 | Bit in the loadsubset context field to tell to not do ID/REFs registration. |
| 404 | Used to initialize xmlLoadExtDtdDefaultValue in some special cases.</p><p> |
| 405 | |
| 406 | </p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlParserCtxt"></a>struct xmlParserCtxt</h3><pre class="programlisting">struct xmlParserCtxt { |
Daniel Veillard | 71b656e | 2000-01-05 14:46:17 +0000 | [diff] [blame] | 407 | struct _xmlSAXHandler *sax; /* The SAX handler */ |
Daniel Veillard | 3bff2b0 | 2000-10-01 20:33:47 +0000 | [diff] [blame] | 408 | void *userData; /* For SAX interface only, used by DOM build */ |
Daniel Veillard | 71b656e | 2000-01-05 14:46:17 +0000 | [diff] [blame] | 409 | xmlDocPtr myDoc; /* the document being built */ |
| 410 | int wellFormed; /* is the document well formed */ |
| 411 | int replaceEntities; /* shall we replace entities ? */ |
Daniel Veillard | 3f6f7f6 | 2000-06-30 17:58:25 +0000 | [diff] [blame] | 412 | const xmlChar *version; /* the XML version string */ |
| 413 | const xmlChar *encoding; /* the declared encoding, if any */ |
Daniel Veillard | 71b656e | 2000-01-05 14:46:17 +0000 | [diff] [blame] | 414 | int standalone; /* standalone document */ |
Daniel Veillard | 3bff2b0 | 2000-10-01 20:33:47 +0000 | [diff] [blame] | 415 | int html; /* an HTML(1)/Docbook(2) document */ |
Daniel Veillard | 71b656e | 2000-01-05 14:46:17 +0000 | [diff] [blame] | 416 | |
| 417 | /* Input stream stack */ |
| 418 | xmlParserInputPtr input; /* Current input stream */ |
| 419 | int inputNr; /* Number of current input streams */ |
| 420 | int inputMax; /* Max number of input streams */ |
| 421 | xmlParserInputPtr *inputTab; /* stack of inputs */ |
| 422 | |
| 423 | /* Node analysis stack only used for DOM building */ |
| 424 | xmlNodePtr node; /* Current parsed Node */ |
| 425 | int nodeNr; /* Depth of the parsing stack */ |
| 426 | int nodeMax; /* Max depth of the parsing stack */ |
| 427 | xmlNodePtr *nodeTab; /* array of nodes */ |
| 428 | |
| 429 | int record_info; /* Whether node info should be kept */ |
| 430 | xmlParserNodeInfoSeq node_seq; /* info about each node parsed */ |
| 431 | |
| 432 | int errNo; /* error code */ |
| 433 | |
| 434 | int hasExternalSubset; /* reference and external subset */ |
| 435 | int hasPErefs; /* the internal subset has PE refs */ |
| 436 | int external; /* are we parsing an external entity */ |
| 437 | |
| 438 | int valid; /* is the document valid */ |
| 439 | int validate; /* shall we try to validate ? */ |
| 440 | xmlValidCtxt vctxt; /* The validity context */ |
| 441 | |
| 442 | xmlParserInputState instate; /* current type of input */ |
| 443 | int token; /* next char look-ahead */ |
| 444 | |
| 445 | char *directory; /* the data directory */ |
| 446 | |
Daniel Veillard | edfb29b | 2000-03-14 19:59:05 +0000 | [diff] [blame] | 447 | /* Node name stack */ |
Daniel Veillard | 71b656e | 2000-01-05 14:46:17 +0000 | [diff] [blame] | 448 | xmlChar *name; /* Current parsed Node */ |
| 449 | int nameNr; /* Depth of the parsing stack */ |
| 450 | int nameMax; /* Max depth of the parsing stack */ |
| 451 | xmlChar * *nameTab; /* array of nodes */ |
| 452 | |
| 453 | long nbChars; /* number of xmlChar processed */ |
| 454 | long checkIndex; /* used by progressive parsing lookup */ |
Daniel Veillard | f686871 | 2000-01-05 14:58:38 +0000 | [diff] [blame] | 455 | int keepBlanks; /* ugly but ... */ |
Daniel Veillard | edfb29b | 2000-03-14 19:59:05 +0000 | [diff] [blame] | 456 | int disableSAX; /* SAX callbacks are disabled */ |
| 457 | int inSubset; /* Parsing is in int 1/ext 2 subset */ |
| 458 | xmlChar * intSubName; /* name of subset */ |
| 459 | xmlChar * extSubURI; /* URI of external subset */ |
| 460 | xmlChar * extSubSystem; /* SYSTEM ID of external subset */ |
| 461 | |
| 462 | /* xml:space values */ |
| 463 | int * space; /* Should the parser preserve spaces */ |
| 464 | int spaceNr; /* Depth of the parsing stack */ |
| 465 | int spaceMax; /* Max depth of the parsing stack */ |
| 466 | int * spaceTab; /* array of space infos */ |
| 467 | |
| 468 | int depth; /* to prevent entity substitution loops */ |
Daniel Veillard | 3f6f7f6 | 2000-06-30 17:58:25 +0000 | [diff] [blame] | 469 | xmlParserInputPtr entity; /* used to check entities boundaries */ |
| 470 | int charset; /* encoding of the in-memory content |
| 471 | actually an xmlCharEncoding */ |
| 472 | int nodelen; /* Those two fields are there to */ |
| 473 | int nodemem; /* Speed up large node parsing */ |
Daniel Veillard | 3bff2b0 | 2000-10-01 20:33:47 +0000 | [diff] [blame] | 474 | int pedantic; /* signal pedantic warnings */ |
| 475 | void *_private; /* For user data, libxml won't touch it */ |
Daniel Veillard | d194dd2 | 2001-02-14 10:37:43 +0000 | [diff] [blame] | 476 | |
| 477 | int loadsubset; /* should the external subset be loaded */ |
Daniel Veillard | e7ead2d | 2001-08-22 23:44:09 +0000 | [diff] [blame] | 478 | int linenumbers; /* set line number in element content */ |
| 479 | void *catalogs; /* document's own catalog */ |
Daniel Veillard | aec6356 | 2003-03-23 20:42:17 +0000 | [diff] [blame] | 480 | int recovery; /* run in recovery mode */ |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 481 | int progressive; /* is this a progressive parsing */ |
| 482 | }; |
| 483 | </pre><p> |
| 484 | The parser context. |
Daniel Veillard | 1927409 | 2002-03-25 16:48:03 +0000 | [diff] [blame] | 485 | NOTE This doesn't completely define the parser state, the (current ?) |
Daniel Veillard | aec6356 | 2003-03-23 20:42:17 +0000 | [diff] [blame] | 486 | design of the parser uses recursive function calls since this allow |
| 487 | and easy mapping from the production rules of the specification |
| 488 | to the actual code. The drawback is that the actual function call |
| 489 | also reflect the parser state. However most of the parsing routines |
| 490 | takes as the only argument the parser context pointer, so migrating |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 491 | to a state based parser for progressive parsing shouldn't be too hard.</p><p> |
| 492 | |
| 493 | </p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSAXLocator"></a>struct xmlSAXLocator</h3><pre class="programlisting">struct xmlSAXLocator { |
Daniel Veillard | 71b656e | 2000-01-05 14:46:17 +0000 | [diff] [blame] | 494 | const xmlChar *(*getPublicId)(void *ctx); |
| 495 | const xmlChar *(*getSystemId)(void *ctx); |
| 496 | int (*getLineNumber)(void *ctx); |
| 497 | int (*getColumnNumber)(void *ctx); |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 498 | }; |
| 499 | </pre><p> |
| 500 | A SAX Locator.</p><p> |
| 501 | |
| 502 | </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, |
| 503 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *publicId, |
| 504 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *systemId);</pre><p> |
| 505 | Callback: |
Daniel Veillard | 5f4b599 | 2002-02-20 10:22:49 +0000 | [diff] [blame] | 506 | The entity loader, to control the loading of external entities, |
| 507 | the application can either: |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 508 | - override this <a href="libxml-SAX.html#resolveEntity">resolveEntity</a>() callback in the SAX block |
| 509 | - or better use the <a href="libxml-parser.html#xmlSetExternalEntityLoader">xmlSetExternalEntityLoader</a>() function to |
| 510 | set up it's own entity resolution routine</p><p> |
| 511 | |
| 512 | </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) |
| 513 | </td></tr><tr><td><span class="term"><i><tt>publicId</tt></i> :</span></td><td> The public ID of the entity |
| 514 | </td></tr><tr><td><span class="term"><i><tt>systemId</tt></i> :</span></td><td> The system ID of the entity |
| 515 | </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. |
| 516 | </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, |
| 517 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name, |
| 518 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ExternalID, |
| 519 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID);</pre><p> |
| 520 | Callback on internal subset declaration.</p><p> |
| 521 | |
| 522 | </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) |
| 523 | </td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the root element name |
| 524 | </td></tr><tr><td><span class="term"><i><tt>ExternalID</tt></i> :</span></td><td> the external ID |
| 525 | </td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i> :</span></td><td> the SYSTEM ID (e.g. filename or URL) |
| 526 | </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="externalSubsetSAXFunc"></a>externalSubsetSAXFunc ()</h3><pre class="programlisting">void (*externalSubsetSAXFunc) (void *ctx, |
| 527 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name, |
| 528 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ExternalID, |
| 529 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID);</pre><p> |
| 530 | Callback on external subset declaration.</p><p> |
| 531 | |
| 532 | </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) |
| 533 | </td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the root element name |
| 534 | </td></tr><tr><td><span class="term"><i><tt>ExternalID</tt></i> :</span></td><td> the external ID |
| 535 | </td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i> :</span></td><td> the SYSTEM ID (e.g. filename or URL) |
| 536 | </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, |
| 537 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p> |
| 538 | Get an entity by name.</p><p> |
| 539 | |
| 540 | </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) |
| 541 | </td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> The entity name |
| 542 | </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the xmlEntityPtr if found. |
| 543 | </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, |
| 544 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p> |
| 545 | Get a parameter entity by name.</p><p> |
| 546 | |
| 547 | </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) |
| 548 | </td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> The entity name |
| 549 | </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the xmlEntityPtr if found. |
| 550 | </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, |
| 551 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name, |
Daniel Veillard | 5099ae8 | 1999-04-21 20:12:07 +0000 | [diff] [blame] | 552 | int type, |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 553 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *publicId, |
| 554 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *systemId, |
| 555 | <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><p> |
| 556 | An entity definition has been parsed.</p><p> |
| 557 | |
| 558 | </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) |
| 559 | </td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the entity name |
| 560 | </td></tr><tr><td><span class="term"><i><tt>type</tt></i> :</span></td><td> the entity type |
| 561 | </td></tr><tr><td><span class="term"><i><tt>publicId</tt></i> :</span></td><td> The public ID of the entity |
| 562 | </td></tr><tr><td><span class="term"><i><tt>systemId</tt></i> :</span></td><td> The system ID of the entity |
| 563 | </td></tr><tr><td><span class="term"><i><tt>content</tt></i> :</span></td><td> the entity value (without processing). |
| 564 | </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, |
| 565 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name, |
| 566 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *publicId, |
| 567 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *systemId);</pre><p> |
| 568 | What to do when a notation declaration has been parsed.</p><p> |
| 569 | |
| 570 | </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) |
| 571 | </td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> The name of the notation |
| 572 | </td></tr><tr><td><span class="term"><i><tt>publicId</tt></i> :</span></td><td> The public ID of the entity |
| 573 | </td></tr><tr><td><span class="term"><i><tt>systemId</tt></i> :</span></td><td> The system ID of the entity |
| 574 | </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, |
| 575 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *elem, |
| 576 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *fullname, |
Daniel Veillard | 5099ae8 | 1999-04-21 20:12:07 +0000 | [diff] [blame] | 577 | int type, |
| 578 | int def, |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 579 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *defaultValue, |
| 580 | <a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree);</pre><p> |
| 581 | An attribute definition has been parsed.</p><p> |
| 582 | |
| 583 | </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) |
| 584 | </td></tr><tr><td><span class="term"><i><tt>elem</tt></i> :</span></td><td> the name of the element |
| 585 | </td></tr><tr><td><span class="term"><i><tt>fullname</tt></i> :</span></td><td> the attribute name |
| 586 | </td></tr><tr><td><span class="term"><i><tt>type</tt></i> :</span></td><td> the attribute type |
| 587 | </td></tr><tr><td><span class="term"><i><tt>def</tt></i> :</span></td><td> the type of default value |
| 588 | </td></tr><tr><td><span class="term"><i><tt>defaultValue</tt></i> :</span></td><td> the attribute default value |
| 589 | </td></tr><tr><td><span class="term"><i><tt>tree</tt></i> :</span></td><td> the tree of enumerated value set |
| 590 | </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, |
| 591 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name, |
Daniel Veillard | 5099ae8 | 1999-04-21 20:12:07 +0000 | [diff] [blame] | 592 | int type, |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 593 | <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content);</pre><p> |
| 594 | An element definition has been parsed.</p><p> |
| 595 | |
| 596 | </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) |
| 597 | </td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the element name |
| 598 | </td></tr><tr><td><span class="term"><i><tt>type</tt></i> :</span></td><td> the element type |
| 599 | </td></tr><tr><td><span class="term"><i><tt>content</tt></i> :</span></td><td> the element value tree |
| 600 | </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, |
| 601 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name, |
| 602 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *publicId, |
| 603 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *systemId, |
| 604 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *notationName);</pre><p> |
| 605 | What to do when an unparsed entity declaration is parsed.</p><p> |
| 606 | |
| 607 | </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) |
| 608 | </td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> The name of the entity |
| 609 | </td></tr><tr><td><span class="term"><i><tt>publicId</tt></i> :</span></td><td> The public ID of the entity |
| 610 | </td></tr><tr><td><span class="term"><i><tt>systemId</tt></i> :</span></td><td> The system ID of the entity |
| 611 | </td></tr><tr><td><span class="term"><i><tt>notationName</tt></i> :</span></td><td> the name of the notation |
| 612 | </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, |
| 613 | <a href="libxml-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc);</pre><p> |
| 614 | Receive the document locator at startup, actually xmlDefaultSAXLocator. |
| 615 | Everything is available on the context, so this is useless in our case.</p><p> |
| 616 | |
| 617 | </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) |
| 618 | </td></tr><tr><td><span class="term"><i><tt>loc</tt></i> :</span></td><td> A SAX Locator |
| 619 | </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> |
| 620 | Called when the document start being processed.</p><p> |
| 621 | |
| 622 | </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) |
| 623 | </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> |
| 624 | Called when the document end has been detected.</p><p> |
| 625 | |
| 626 | </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) |
| 627 | </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, |
| 628 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name, |
| 629 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> **atts);</pre><p> |
| 630 | Called when an opening tag has been processed.</p><p> |
| 631 | |
| 632 | </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) |
| 633 | </td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> The element name, including namespace prefix |
| 634 | </td></tr><tr><td><span class="term"><i><tt>atts</tt></i> :</span></td><td> An array of name/value attributes pairs, NULL terminated |
| 635 | </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, |
| 636 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p> |
| 637 | Called when the end of an element has been detected.</p><p> |
| 638 | |
| 639 | </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) |
| 640 | </td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> The element name |
| 641 | </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, |
| 642 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name, |
| 643 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p> |
| 644 | Handle an attribute that has been read by the parser. |
Daniel Veillard | 5f4b599 | 2002-02-20 10:22:49 +0000 | [diff] [blame] | 645 | The default handling is to convert the attribute into an |
| 646 | DOM subtree and past it in a new xmlAttr element added to |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 647 | the element.</p><p> |
| 648 | |
| 649 | </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) |
| 650 | </td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> The attribute name, including namespace prefix |
| 651 | </td></tr><tr><td><span class="term"><i><tt>value</tt></i> :</span></td><td> The attribute value |
| 652 | </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, |
| 653 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p> |
| 654 | Called when an entity reference is detected.</p><p> |
| 655 | |
| 656 | </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) |
| 657 | </td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> The entity name |
| 658 | </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, |
| 659 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ch, |
| 660 | int len);</pre><p> |
| 661 | Receiving some chars from the parser.</p><p> |
| 662 | |
| 663 | </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) |
| 664 | </td></tr><tr><td><span class="term"><i><tt>ch</tt></i> :</span></td><td> a xmlChar string |
| 665 | </td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td> the number of xmlChar |
| 666 | </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, |
| 667 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ch, |
| 668 | int len);</pre><p> |
| 669 | Receiving some ignorable whitespaces from the parser. |
| 670 | UNUSED: by default the DOM building will use characters.</p><p> |
| 671 | |
| 672 | </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) |
| 673 | </td></tr><tr><td><span class="term"><i><tt>ch</tt></i> :</span></td><td> a xmlChar string |
| 674 | </td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td> the number of xmlChar |
| 675 | </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, |
| 676 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *target, |
| 677 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *data);</pre><p> |
| 678 | A processing instruction has been parsed.</p><p> |
| 679 | |
| 680 | </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) |
| 681 | </td></tr><tr><td><span class="term"><i><tt>target</tt></i> :</span></td><td> the target name |
| 682 | </td></tr><tr><td><span class="term"><i><tt>data</tt></i> :</span></td><td> the PI data's |
| 683 | </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, |
| 684 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p> |
| 685 | A comment has been parsed.</p><p> |
| 686 | |
| 687 | </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) |
| 688 | </td></tr><tr><td><span class="term"><i><tt>value</tt></i> :</span></td><td> the comment content |
| 689 | </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, |
| 690 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value, |
| 691 | int len);</pre><p> |
| 692 | Called when a pcdata block has been parsed.</p><p> |
| 693 | |
| 694 | </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) |
| 695 | </td></tr><tr><td><span class="term"><i><tt>value</tt></i> :</span></td><td> The pcdata content |
| 696 | </td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td> the block length |
| 697 | </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="warningSAXFunc"></a>warningSAXFunc ()</h3><pre class="programlisting">void (*warningSAXFunc) (void *ctx, |
Daniel Veillard | 3592547 | 1999-02-25 08:46:07 +0000 | [diff] [blame] | 698 | const char *msg, |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 699 | ...);</pre><p> |
| 700 | Display and format a warning messages, callback.</p><p> |
| 701 | |
| 702 | </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 |
| 703 | </td></tr><tr><td><span class="term"><i><tt>msg</tt></i> :</span></td><td> the message to display/transmit |
| 704 | </td></tr><tr><td><span class="term"><i><tt>...</tt></i> :</span></td><td> extra parameters for the message display |
| 705 | </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="errorSAXFunc"></a>errorSAXFunc ()</h3><pre class="programlisting">void (*errorSAXFunc) (void *ctx, |
Daniel Veillard | 3592547 | 1999-02-25 08:46:07 +0000 | [diff] [blame] | 706 | const char *msg, |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 707 | ...);</pre><p> |
| 708 | Display and format an error messages, callback.</p><p> |
| 709 | |
| 710 | </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 |
| 711 | </td></tr><tr><td><span class="term"><i><tt>msg</tt></i> :</span></td><td> the message to display/transmit |
| 712 | </td></tr><tr><td><span class="term"><i><tt>...</tt></i> :</span></td><td> extra parameters for the message display |
| 713 | </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="fatalErrorSAXFunc"></a>fatalErrorSAXFunc ()</h3><pre class="programlisting">void (*fatalErrorSAXFunc) (void *ctx, |
Daniel Veillard | 3592547 | 1999-02-25 08:46:07 +0000 | [diff] [blame] | 714 | const char *msg, |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 715 | ...);</pre><p> |
| 716 | Display and format fatal error messages, callback. |
| 717 | 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>() |
| 718 | get all the callbacks for errors.</p><p> |
| 719 | |
| 720 | </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 |
| 721 | </td></tr><tr><td><span class="term"><i><tt>msg</tt></i> :</span></td><td> the message to display/transmit |
| 722 | </td></tr><tr><td><span class="term"><i><tt>...</tt></i> :</span></td><td> extra parameters for the message display |
| 723 | </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> |
| 724 | Is this document tagged standalone?</p><p> |
| 725 | |
| 726 | </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) |
| 727 | </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true |
| 728 | </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> |
| 729 | Does this document has an internal subset.</p><p> |
| 730 | |
| 731 | </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) |
| 732 | </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true |
| 733 | </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> |
| 734 | Does this document has an external subset?</p><p> |
| 735 | |
| 736 | </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) |
| 737 | </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true |
| 738 | </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSAXHandler"></a>struct xmlSAXHandler</h3><pre class="programlisting">struct xmlSAXHandler { |
Daniel Veillard | 3f6f7f6 | 2000-06-30 17:58:25 +0000 | [diff] [blame] | 739 | internalSubsetSAXFunc internalSubset; |
| 740 | isStandaloneSAXFunc isStandalone; |
| 741 | hasInternalSubsetSAXFunc hasInternalSubset; |
| 742 | hasExternalSubsetSAXFunc hasExternalSubset; |
| 743 | resolveEntitySAXFunc resolveEntity; |
| 744 | getEntitySAXFunc getEntity; |
| 745 | entityDeclSAXFunc entityDecl; |
| 746 | notationDeclSAXFunc notationDecl; |
| 747 | attributeDeclSAXFunc attributeDecl; |
| 748 | elementDeclSAXFunc elementDecl; |
| 749 | unparsedEntityDeclSAXFunc unparsedEntityDecl; |
| 750 | setDocumentLocatorSAXFunc setDocumentLocator; |
| 751 | startDocumentSAXFunc startDocument; |
| 752 | endDocumentSAXFunc endDocument; |
| 753 | startElementSAXFunc startElement; |
| 754 | endElementSAXFunc endElement; |
| 755 | referenceSAXFunc reference; |
| 756 | charactersSAXFunc characters; |
| 757 | ignorableWhitespaceSAXFunc ignorableWhitespace; |
| 758 | processingInstructionSAXFunc processingInstruction; |
| 759 | commentSAXFunc comment; |
| 760 | warningSAXFunc warning; |
| 761 | errorSAXFunc error; |
Daniel Veillard | aec6356 | 2003-03-23 20:42:17 +0000 | [diff] [blame] | 762 | fatalErrorSAXFunc fatalError; /* unused error() get all the errors */ |
Daniel Veillard | 3f6f7f6 | 2000-06-30 17:58:25 +0000 | [diff] [blame] | 763 | getParameterEntitySAXFunc getParameterEntity; |
| 764 | cdataBlockSAXFunc cdataBlock; |
| 765 | externalSubsetSAXFunc externalSubset; |
Daniel Veillard | 52dcab3 | 2001-10-30 12:51:17 +0000 | [diff] [blame] | 766 | int initialized; |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 767 | }; |
| 768 | </pre><p> |
| 769 | A SAX handler is bunch of callbacks called by the parser when processing |
| 770 | of the input generate data or structure informations.</p><p> |
| 771 | |
| 772 | </p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlExternalEntityLoader"></a>xmlExternalEntityLoader ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> (*xmlExternalEntityLoader) |
Daniel Veillard | 3f6f7f6 | 2000-06-30 17:58:25 +0000 | [diff] [blame] | 773 | (const char *URL, |
| 774 | const char *ID, |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 775 | <a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> context);</pre><p> |
| 776 | External entity loaders types.</p><p> |
| 777 | |
| 778 | </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 |
| 779 | </td></tr><tr><td><span class="term"><i><tt>ID</tt></i> :</span></td><td> The Public ID of the resource requested |
| 780 | </td></tr><tr><td><span class="term"><i><tt>context</tt></i> :</span></td><td> the XML parser context |
| 781 | </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the entity input parser. |
| 782 | </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> |
| 783 | Initialization function for the XML parser. |
Daniel Veillard | 3bff2b0 | 2000-10-01 20:33:47 +0000 | [diff] [blame] | 784 | This is not reentrant. Call once before processing in case of |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 785 | use in multithreaded programs.</p><p> |
| 786 | |
| 787 | </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> |
| 788 | Cleanup function for the XML parser. It tries to reclaim all |
Daniel Veillard | 3f6f7f6 | 2000-06-30 17:58:25 +0000 | [diff] [blame] | 789 | parsing related global memory allocated for the parser processing. |
| 790 | It doesn't deallocate any document related memory. Calling this |
Daniel Veillard | aec6356 | 2003-03-23 20:42:17 +0000 | [diff] [blame] | 791 | function should not prevent reusing the parser. |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 792 | One should call <a href="libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a>() only when the process has |
| 793 | finished using the library or XML document built with it.</p><p> |
| 794 | |
| 795 | </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 | int len);</pre><p> |
| 797 | This function refresh the input for the parser. It doesn't try to |
| 798 | preserve pointers to the input buffer, and discard already read data</p><p> |
| 799 | |
| 800 | </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 |
| 801 | </td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td> an indicative size for the lookahead |
| 802 | </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 | end of this entity |
| 804 | </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 | int len);</pre><p> |
| 806 | This function increase the input for the parser. It tries to |
| 807 | preserve pointers to the input buffer, and keep already read data</p><p> |
| 808 | |
| 809 | </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 |
| 810 | </td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td> an indicative size for the lookahead |
| 811 | </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 | end of this entity |
| 813 | </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> |
| 814 | a strdup for array of xmlChar's. Since they are supposed to be |
Daniel Veillard | 3f6f7f6 | 2000-06-30 17:58:25 +0000 | [diff] [blame] | 815 | encoded in UTF-8 or an encoding with 8bit based chars, we assume |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 816 | a termination mark of '0'.</p><p> |
| 817 | |
| 818 | </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 * |
| 819 | </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a new xmlChar * or NULL |
| 820 | </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 | int len);</pre><p> |
| 822 | a strndup for array of xmlChar's</p><p> |
| 823 | |
| 824 | </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 * |
| 825 | </td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td> the len of <i><tt>cur</tt></i> |
| 826 | </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a new xmlChar * or NULL |
| 827 | </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 | int len);</pre><p> |
| 829 | a strndup for char's to xmlChar's</p><p> |
| 830 | |
| 831 | </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 * |
| 832 | </td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td> the len of <i><tt>cur</tt></i> |
| 833 | </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a new xmlChar * or NULL |
| 834 | </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> |
| 835 | a strdup for char's to xmlChar's</p><p> |
| 836 | |
| 837 | </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 * |
| 838 | </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a new xmlChar * or NULL |
| 839 | </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlStrsub"></a>xmlStrsub ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlStrsub (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str, |
Daniel Veillard | 1566d3a | 1999-07-15 14:24:29 +0000 | [diff] [blame] | 840 | int start, |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 841 | int len);</pre><p> |
| 842 | Extract a substring of a given string</p><p> |
| 843 | |
| 844 | </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) |
| 845 | </td></tr><tr><td><span class="term"><i><tt>start</tt></i> :</span></td><td> the index of the first char (zero based) |
| 846 | </td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td> the length of the substring |
| 847 | </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. |
| 848 | </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, |
| 849 | <a href="libxml-tree.html#xmlChar">xmlChar</a> val);</pre><p> |
| 850 | a strchr for xmlChar's</p><p> |
| 851 | |
| 852 | </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 |
| 853 | </td></tr><tr><td><span class="term"><i><tt>val</tt></i> :</span></td><td> the xmlChar to search |
| 854 | </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. |
| 855 | </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, |
| 856 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *val);</pre><p> |
| 857 | a strstr for xmlChar's</p><p> |
| 858 | |
| 859 | </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) |
| 860 | </td></tr><tr><td><span class="term"><i><tt>val</tt></i> :</span></td><td> the xmlChar to search (needle) |
| 861 | </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. |
| 862 | </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, |
| 863 | <a href="libxml-tree.html#xmlChar">xmlChar</a> *val);</pre><p> |
| 864 | a case-ignoring strstr for xmlChar's</p><p> |
| 865 | |
| 866 | </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) |
| 867 | </td></tr><tr><td><span class="term"><i><tt>val</tt></i> :</span></td><td> the xmlChar to search (needle) |
| 868 | </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. |
| 869 | </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, |
| 870 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str2);</pre><p> |
| 871 | a strcmp for xmlChar's</p><p> |
| 872 | |
| 873 | </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 * |
| 874 | </td></tr><tr><td><span class="term"><i><tt>str2</tt></i> :</span></td><td> the second xmlChar * |
| 875 | </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the integer result of the comparison |
| 876 | </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, |
| 877 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str2, |
| 878 | int len);</pre><p> |
| 879 | a strncmp for xmlChar's</p><p> |
| 880 | |
| 881 | </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 * |
| 882 | </td></tr><tr><td><span class="term"><i><tt>str2</tt></i> :</span></td><td> the second xmlChar * |
| 883 | </td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td> the max comparison length |
| 884 | </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the integer result of the comparison |
| 885 | </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, |
| 886 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str2);</pre><p> |
| 887 | a strcasecmp for xmlChar's</p><p> |
| 888 | |
| 889 | </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 * |
| 890 | </td></tr><tr><td><span class="term"><i><tt>str2</tt></i> :</span></td><td> the second xmlChar * |
| 891 | </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the integer result of the comparison |
| 892 | </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, |
| 893 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str2, |
| 894 | int len);</pre><p> |
| 895 | a strncasecmp for xmlChar's</p><p> |
| 896 | |
| 897 | </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 * |
| 898 | </td></tr><tr><td><span class="term"><i><tt>str2</tt></i> :</span></td><td> the second xmlChar * |
| 899 | </td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td> the max comparison length |
| 900 | </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the integer result of the comparison |
| 901 | </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, |
| 902 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str2);</pre><p> |
| 903 | Check if both string are equal of have same content |
| 904 | Should be a bit more readable and faster than <a href="libxml-parser.html#xmlStrEqual">xmlStrEqual</a>()</p><p> |
| 905 | |
| 906 | </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 * |
| 907 | </td></tr><tr><td><span class="term"><i><tt>str2</tt></i> :</span></td><td> the second xmlChar * |
| 908 | </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 |
| 909 | </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> |
| 910 | length of a xmlChar's string</p><p> |
| 911 | |
| 912 | </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 |
| 913 | </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. |
| 914 | </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, |
| 915 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *add);</pre><p> |
| 916 | a strcat for array of xmlChar's. Since they are supposed to be |
Daniel Veillard | 3f6f7f6 | 2000-06-30 17:58:25 +0000 | [diff] [blame] | 917 | encoded in UTF-8 or an encoding with 8bit based chars, we assume |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 918 | a termination mark of '0'.</p><p> |
| 919 | |
| 920 | </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 |
| 921 | </td></tr><tr><td><span class="term"><i><tt>add</tt></i> :</span></td><td> the xmlChar * array added |
| 922 | </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a new xmlChar * containing the concatenated string. |
| 923 | </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, |
| 924 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *add, |
| 925 | int len);</pre><p> |
| 926 | a strncat for array of xmlChar's, it will extend <i><tt>cur</tt></i> with the len |
| 927 | first bytes of <i><tt>add</tt></i>.</p><p> |
| 928 | |
| 929 | </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 |
| 930 | </td></tr><tr><td><span class="term"><i><tt>add</tt></i> :</span></td><td> the xmlChar * array added |
| 931 | </td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td> the length of <i><tt>add</tt></i> |
| 932 | </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 |
| 933 | and should not be freed |
| 934 | </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> |
| 935 | parse an XML in-memory document and build a tree.</p><p> |
| 936 | |
| 937 | </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 |
| 938 | </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the resulting document tree |
| 939 | </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 | int size);</pre><p> |
| 941 | parse an XML in-memory block and build a tree.</p><p> |
| 942 | |
| 943 | </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 |
| 944 | </td></tr><tr><td><span class="term"><i><tt>size</tt></i> :</span></td><td> the size of the array |
| 945 | </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the resulting document tree |
| 946 | </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> |
| 947 | parse an XML file and build a tree. Automatic support for ZLIB/Compress |
| 948 | compressed document is provided by default if found at compile-time.</p><p> |
| 949 | |
| 950 | </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 |
| 951 | </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 | NULL otherwise. |
| 953 | </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> |
| 954 | Set and return the previous value for default entity support. |
Daniel Veillard | 011b63c | 1999-06-02 17:44:04 +0000 | [diff] [blame] | 955 | Initially the parser always keep entity references instead of substituting |
| 956 | entity values in the output. This function has to be used to change the |
Daniel Veillard | cbaf399 | 2001-12-31 16:16:02 +0000 | [diff] [blame] | 957 | default parser behavior |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 958 | 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 |
| 959 | file basis.</p><p> |
| 960 | |
| 961 | </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 |
| 962 | </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. |
| 963 | </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> |
| 964 | Set and return the previous value for default blanks text nodes support. |
Daniel Veillard | 3f6f7f6 | 2000-06-30 17:58:25 +0000 | [diff] [blame] | 965 | The 1.x version of the parser used an heuristic to try to detect |
| 966 | ignorable white spaces. As a result the SAX callback was generating |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 967 | <a href="libxml-SAX.html#ignorableWhitespace">ignorableWhitespace</a>() callbacks instead of <a href="libxml-SAX.html#characters">characters</a>() one, and when |
Daniel Veillard | 3f6f7f6 | 2000-06-30 17:58:25 +0000 | [diff] [blame] | 968 | using the DOM output text nodes containing those blanks were not generated. |
| 969 | The 2.x and later version will switch to the XML standard way and |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 970 | <a href="libxml-SAX.html#ignorableWhitespace">ignorableWhitespace</a>() are only generated when running the parser in |
Daniel Veillard | 3f6f7f6 | 2000-06-30 17:58:25 +0000 | [diff] [blame] | 971 | validating mode and when the current element doesn't allow CDATA or |
| 972 | mixed content. |
Daniel Veillard | cbaf399 | 2001-12-31 16:16:02 +0000 | [diff] [blame] | 973 | This function is provided as a way to force the standard behavior |
Daniel Veillard | 3f6f7f6 | 2000-06-30 17:58:25 +0000 | [diff] [blame] | 974 | on 1.X libs and to switch back to the old mode for compatibility when |
| 975 | running 1.X client code on 2.X . Upgrade of 1.X code should be done |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 976 | by using <a href="libxml-tree.html#xmlIsBlankNode">xmlIsBlankNode</a>() commodity function to detect the "empty" |
Daniel Veillard | 3f6f7f6 | 2000-06-30 17:58:25 +0000 | [diff] [blame] | 977 | nodes generated. |
| 978 | This value also affect autogeneration of indentation when saving code |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 979 | if blanks sections are kept, indentation is not generated.</p><p> |
| 980 | |
| 981 | </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 |
| 982 | </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. |
| 983 | </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> |
| 984 | Blocks further parser processing</p><p> |
| 985 | |
| 986 | </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 |
| 987 | </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> |
| 988 | Set and return the previous value for enabling pedantic warnings.</p><p> |
| 989 | |
| 990 | </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 |
| 991 | </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. |
| 992 | </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> |
| 993 | Set and return the previous value for enabling line numbers in elements |
| 994 | contents. This may break on old application and is turned off by default.</p><p> |
| 995 | |
| 996 | </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 |
| 997 | </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. |
| 998 | </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> |
| 999 | parse an XML in-memory document and build a tree. |
| 1000 | In the case the document is not Well Formed, a tree is built anyway</p><p> |
| 1001 | |
| 1002 | </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 |
| 1003 | </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the resulting document tree |
| 1004 | </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 | int size);</pre><p> |
| 1006 | parse an XML in-memory block and build a tree. |
| 1007 | In the case the document is not Well Formed, a tree is built anyway</p><p> |
| 1008 | |
| 1009 | </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 |
| 1010 | </td></tr><tr><td><span class="term"><i><tt>size</tt></i> :</span></td><td> the size of the array |
| 1011 | </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the resulting document tree |
| 1012 | </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> |
| 1013 | parse an XML file and build a tree. Automatic support for ZLIB/Compress |
Daniel Veillard | 06622df | 2002-01-21 17:53:42 +0000 | [diff] [blame] | 1014 | compressed document is provided by default if found at compile-time. |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 1015 | In the case the document is not Well Formed, a tree is built anyway</p><p> |
| 1016 | |
| 1017 | </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 |
| 1018 | </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the resulting document tree |
| 1019 | </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> |
| 1020 | parse an XML document (and build a tree if using the standard SAX |
| 1021 | interface). |
| 1022 | </p><p> |
| 1023 | [1] document ::= prolog element Misc* |
| 1024 | </p><p> |
| 1025 | [22] prolog ::= XMLDecl? Misc* (doctypedecl Misc*)?</p><p> |
| 1026 | |
| 1027 | </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 |
| 1028 | </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 |
| 1029 | as a result of the parsing. |
| 1030 | </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> |
| 1031 | parse a general parsed entity |
Daniel Veillard | 06622df | 2002-01-21 17:53:42 +0000 | [diff] [blame] | 1032 | An external general parsed entity is well-formed if it matches the |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 1033 | production labeled extParsedEnt. |
| 1034 | </p><p> |
| 1035 | [78] extParsedEnt ::= TextDecl? content</p><p> |
| 1036 | |
| 1037 | </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 |
| 1038 | </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 |
| 1039 | as a result of the parsing. |
| 1040 | </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, |
| 1041 | <a href="libxml-tree.html#xmlChar">xmlChar</a> *cur, |
| 1042 | int recovery);</pre><p> |
| 1043 | parse an XML in-memory document and build a tree. |
Daniel Veillard | 06622df | 2002-01-21 17:53:42 +0000 | [diff] [blame] | 1044 | It use the given SAX function block to handle the parsing callback. |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 1045 | If sax is NULL, fallback to the default DOM tree building routines.</p><p> |
| 1046 | |
| 1047 | </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 |
| 1048 | </td></tr><tr><td><span class="term"><i><tt>cur</tt></i> :</span></td><td> a pointer to an array of xmlChar |
| 1049 | </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 | documents |
| 1051 | </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the resulting document tree |
| 1052 | </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSAXUserParseFile"></a>xmlSAXUserParseFile ()</h3><pre class="programlisting">int xmlSAXUserParseFile (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, |
Daniel Veillard | 06622df | 2002-01-21 17:53:42 +0000 | [diff] [blame] | 1053 | void *user_data, |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 1054 | const char *filename);</pre><p> |
| 1055 | parse an XML file and call the given SAX handler routines. |
| 1056 | Automatic support for ZLIB/Compress compressed document is provided</p><p> |
| 1057 | |
| 1058 | </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 |
| 1059 | </td></tr><tr><td><span class="term"><i><tt>user_data</tt></i> :</span></td><td> The user data returned on SAX callbacks |
| 1060 | </td></tr><tr><td><span class="term"><i><tt>filename</tt></i> :</span></td><td> a file name |
| 1061 | </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 |
| 1062 | </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSAXUserParseMemory"></a>xmlSAXUserParseMemory ()</h3><pre class="programlisting">int xmlSAXUserParseMemory (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, |
Daniel Veillard | 06622df | 2002-01-21 17:53:42 +0000 | [diff] [blame] | 1063 | void *user_data, |
| 1064 | const char *buffer, |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 1065 | int size);</pre><p> |
| 1066 | A better SAX parsing routine. |
| 1067 | parse an XML in-memory buffer and call the given SAX handler routines.</p><p> |
| 1068 | |
| 1069 | </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 |
| 1070 | </td></tr><tr><td><span class="term"><i><tt>user_data</tt></i> :</span></td><td> The user data returned on SAX callbacks |
| 1071 | </td></tr><tr><td><span class="term"><i><tt>buffer</tt></i> :</span></td><td> an in-memory XML document input |
| 1072 | </td></tr><tr><td><span class="term"><i><tt>size</tt></i> :</span></td><td> the length of the XML document in bytes |
| 1073 | </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 |
| 1074 | </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSAXParseMemory"></a>xmlSAXParseMemory ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> xmlSAXParseMemory (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, |
Daniel Veillard | 06622df | 2002-01-21 17:53:42 +0000 | [diff] [blame] | 1075 | const char *buffer, |
| 1076 | int size, |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 1077 | int recovery);</pre><p> |
| 1078 | parse an XML in-memory block and use the given SAX function block |
Daniel Veillard | 06622df | 2002-01-21 17:53:42 +0000 | [diff] [blame] | 1079 | to handle the parsing callback. If sax is NULL, fallback to the default |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 1080 | DOM tree building routines.</p><p> |
| 1081 | |
| 1082 | </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 |
| 1083 | </td></tr><tr><td><span class="term"><i><tt>buffer</tt></i> :</span></td><td> an pointer to a char array |
| 1084 | </td></tr><tr><td><span class="term"><i><tt>size</tt></i> :</span></td><td> the size of the array |
| 1085 | </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 | documents |
| 1087 | </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the resulting document tree |
| 1088 | </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSAXParseMemoryWithData"></a>xmlSAXParseMemoryWithData ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> xmlSAXParseMemoryWithData (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, |
Daniel Veillard | aec6356 | 2003-03-23 20:42:17 +0000 | [diff] [blame] | 1089 | const char *buffer, |
| 1090 | int size, |
Daniel Veillard | 06622df | 2002-01-21 17:53:42 +0000 | [diff] [blame] | 1091 | int recovery, |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 1092 | void *data);</pre><p> |
| 1093 | parse an XML in-memory block and use the given SAX function block |
Daniel Veillard | aec6356 | 2003-03-23 20:42:17 +0000 | [diff] [blame] | 1094 | to handle the parsing callback. If sax is NULL, fallback to the default |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 1095 | DOM tree building routines. |
| 1096 | </p><p> |
| 1097 | User data (void *) is stored within the parser context in the |
| 1098 | context's _private member, so it is available nearly everywhere in libxml</p><p> |
| 1099 | |
| 1100 | </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 |
| 1101 | </td></tr><tr><td><span class="term"><i><tt>buffer</tt></i> :</span></td><td> an pointer to a char array |
| 1102 | </td></tr><tr><td><span class="term"><i><tt>size</tt></i> :</span></td><td> the size of the array |
| 1103 | </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 | documents |
| 1105 | </td></tr><tr><td><span class="term"><i><tt>data</tt></i> :</span></td><td> the userdata |
| 1106 | </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the resulting document tree |
| 1107 | </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSAXParseFile"></a>xmlSAXParseFile ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> xmlSAXParseFile (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, |
Daniel Veillard | aec6356 | 2003-03-23 20:42:17 +0000 | [diff] [blame] | 1108 | const char *filename, |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 1109 | int recovery);</pre><p> |
| 1110 | parse an XML file and build a tree. Automatic support for ZLIB/Compress |
Daniel Veillard | aec6356 | 2003-03-23 20:42:17 +0000 | [diff] [blame] | 1111 | compressed document is provided by default if found at compile-time. |
| 1112 | It use the given SAX function block to handle the parsing callback. |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 1113 | If sax is NULL, fallback to the default DOM tree building routines.</p><p> |
| 1114 | |
| 1115 | </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 |
| 1116 | </td></tr><tr><td><span class="term"><i><tt>filename</tt></i> :</span></td><td> the filename |
| 1117 | </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 | documents |
| 1119 | </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the resulting document tree |
| 1120 | </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSAXParseFileWithData"></a>xmlSAXParseFileWithData ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> xmlSAXParseFileWithData (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, |
Daniel Veillard | aec6356 | 2003-03-23 20:42:17 +0000 | [diff] [blame] | 1121 | const char *filename, |
| 1122 | int recovery, |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 1123 | void *data);</pre><p> |
| 1124 | parse an XML file and build a tree. Automatic support for ZLIB/Compress |
Daniel Veillard | aec6356 | 2003-03-23 20:42:17 +0000 | [diff] [blame] | 1125 | compressed document is provided by default if found at compile-time. |
| 1126 | It use the given SAX function block to handle the parsing callback. |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 1127 | If sax is NULL, fallback to the default DOM tree building routines. |
| 1128 | </p><p> |
| 1129 | User data (void *) is stored within the parser context in the |
| 1130 | context's _private member, so it is available nearly everywhere in libxml</p><p> |
| 1131 | |
| 1132 | </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 |
| 1133 | </td></tr><tr><td><span class="term"><i><tt>filename</tt></i> :</span></td><td> the filename |
| 1134 | </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 | documents |
| 1136 | </td></tr><tr><td><span class="term"><i><tt>data</tt></i> :</span></td><td> the userdata |
| 1137 | </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the resulting document tree |
| 1138 | </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, |
| 1139 | const char *filename);</pre><p> |
| 1140 | parse an XML external entity out of context and build a tree. |
Daniel Veillard | 06622df | 2002-01-21 17:53:42 +0000 | [diff] [blame] | 1141 | It use the given SAX function block to handle the parsing callback. |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 1142 | If sax is NULL, fallback to the default DOM tree building routines. |
| 1143 | </p><p> |
| 1144 | [78] extParsedEnt ::= TextDecl? content |
| 1145 | </p><p> |
| 1146 | This correspond to a "Well Balanced" chunk</p><p> |
| 1147 | |
| 1148 | </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 |
| 1149 | </td></tr><tr><td><span class="term"><i><tt>filename</tt></i> :</span></td><td> the filename |
| 1150 | </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the resulting document tree |
| 1151 | </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> |
| 1152 | parse an XML external entity out of context and build a tree. |
| 1153 | </p><p> |
| 1154 | [78] extParsedEnt ::= TextDecl? content |
| 1155 | </p><p> |
| 1156 | This correspond to a "Well Balanced" chunk</p><p> |
| 1157 | |
| 1158 | </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 |
| 1159 | </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the resulting document tree |
| 1160 | </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, |
| 1161 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID);</pre><p> |
| 1162 | Load and parse an external subset.</p><p> |
| 1163 | |
| 1164 | </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 |
| 1165 | </td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i> :</span></td><td> a NAME* containing the URL to the DTD |
| 1166 | </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. |
| 1167 | </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, |
| 1168 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ExternalID, |
| 1169 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID);</pre><p> |
| 1170 | Load and parse an external subset.</p><p> |
| 1171 | |
| 1172 | </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 |
| 1173 | </td></tr><tr><td><span class="term"><i><tt>ExternalID</tt></i> :</span></td><td> a NAME* containing the External ID of the DTD |
| 1174 | </td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i> :</span></td><td> a NAME* containing the URL to the DTD |
| 1175 | </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. |
| 1176 | </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, |
| 1177 | <a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, |
| 1178 | <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);</pre><p> |
| 1179 | Load and parse a DTD</p><p> |
| 1180 | |
| 1181 | </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 |
| 1182 | </td></tr><tr><td><span class="term"><i><tt>input</tt></i> :</span></td><td> an Input Buffer |
| 1183 | </td></tr><tr><td><span class="term"><i><tt>enc</tt></i> :</span></td><td> the charset encoding if known |
| 1184 | </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. |
| 1185 | <i><tt>input</tt></i> will be freed at parsing end. |
| 1186 | </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, |
| 1187 | <a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, |
Daniel Veillard | 06622df | 2002-01-21 17:53:42 +0000 | [diff] [blame] | 1188 | void *user_data, |
| 1189 | int depth, |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 1190 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *string, |
| 1191 | <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> *lst);</pre><p> |
| 1192 | Parse a well-balanced chunk of an XML document |
Daniel Veillard | 06622df | 2002-01-21 17:53:42 +0000 | [diff] [blame] | 1193 | called by the parser |
| 1194 | The allowed sequence for the Well Balanced Chunk is the one defined by |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 1195 | the content production in the XML grammar: |
| 1196 | </p><p> |
| 1197 | [43] content ::= (element | CharData | Reference | CDSect | PI | Comment)*</p><p> |
| 1198 | |
| 1199 | </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 |
| 1200 | </td></tr><tr><td><span class="term"><i><tt>sax</tt></i> :</span></td><td> the SAX handler bloc (possibly NULL) |
| 1201 | </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) |
| 1202 | </td></tr><tr><td><span class="term"><i><tt>depth</tt></i> :</span></td><td> Used for loop detection, use 0 |
| 1203 | </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) |
| 1204 | </td></tr><tr><td><span class="term"><i><tt>lst</tt></i> :</span></td><td> the return value for the set of parsed nodes |
| 1205 | </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 |
| 1206 | the parser error code otherwise |
| 1207 | </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 |
| 1208 | (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, |
| 1209 | <a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, |
Daniel Veillard | 2ace195 | 2002-09-26 12:28:02 +0000 | [diff] [blame] | 1210 | void *user_data, |
| 1211 | int depth, |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 1212 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *string, |
| 1213 | <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> *lst, |
| 1214 | int recover);</pre><p> |
| 1215 | Parse a well-balanced chunk of an XML document |
Daniel Veillard | 2ace195 | 2002-09-26 12:28:02 +0000 | [diff] [blame] | 1216 | called by the parser |
| 1217 | The allowed sequence for the Well Balanced Chunk is the one defined by |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 1218 | the content production in the XML grammar: |
| 1219 | </p><p> |
| 1220 | [43] content ::= (element | CharData | Reference | CDSect | PI | Comment)*</p><p> |
| 1221 | |
| 1222 | </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 |
| 1223 | </td></tr><tr><td><span class="term"><i><tt>sax</tt></i> :</span></td><td> the SAX handler bloc (possibly NULL) |
| 1224 | </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) |
| 1225 | </td></tr><tr><td><span class="term"><i><tt>depth</tt></i> :</span></td><td> Used for loop detection, use 0 |
| 1226 | </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) |
| 1227 | </td></tr><tr><td><span class="term"><i><tt>lst</tt></i> :</span></td><td> the return value for the set of parsed nodes |
| 1228 | </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) |
| 1229 | </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 |
| 1230 | the parser error code otherwise |
| 1231 | |
| 1232 | In case recover is set to 1, the nodelist will not be empty even if |
| 1233 | the parsed chunk is not well balanced. |
| 1234 | </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, |
| 1235 | <a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, |
Daniel Veillard | 06622df | 2002-01-21 17:53:42 +0000 | [diff] [blame] | 1236 | void *user_data, |
| 1237 | int depth, |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 1238 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *URL, |
| 1239 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ID, |
| 1240 | <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> *lst);</pre><p> |
| 1241 | Parse an external general entity |
Daniel Veillard | 06622df | 2002-01-21 17:53:42 +0000 | [diff] [blame] | 1242 | An external general parsed entity is well-formed if it matches the |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 1243 | production labeled extParsedEnt. |
| 1244 | </p><p> |
| 1245 | [78] extParsedEnt ::= TextDecl? content</p><p> |
| 1246 | |
| 1247 | </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 |
| 1248 | </td></tr><tr><td><span class="term"><i><tt>sax</tt></i> :</span></td><td> the SAX handler bloc (possibly NULL) |
| 1249 | </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) |
| 1250 | </td></tr><tr><td><span class="term"><i><tt>depth</tt></i> :</span></td><td> Used for loop detection, use 0 |
| 1251 | </td></tr><tr><td><span class="term"><i><tt>URL</tt></i> :</span></td><td> the URL for the entity to load |
| 1252 | </td></tr><tr><td><span class="term"><i><tt>ID</tt></i> :</span></td><td> the System ID for the entity to load |
| 1253 | </td></tr><tr><td><span class="term"><i><tt>lst</tt></i> :</span></td><td> the return value for the set of parsed nodes |
| 1254 | </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 |
| 1255 | the parser error code otherwise |
| 1256 | </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, |
| 1257 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *URL, |
| 1258 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ID, |
| 1259 | <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> *lst);</pre><p> |
| 1260 | Parse an external general entity within an existing parsing context |
Daniel Veillard | 06622df | 2002-01-21 17:53:42 +0000 | [diff] [blame] | 1261 | An external general parsed entity is well-formed if it matches the |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 1262 | production labeled extParsedEnt. |
| 1263 | </p><p> |
| 1264 | [78] extParsedEnt ::= TextDecl? content</p><p> |
| 1265 | |
| 1266 | </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 |
| 1267 | </td></tr><tr><td><span class="term"><i><tt>URL</tt></i> :</span></td><td> the URL for the entity to load |
| 1268 | </td></tr><tr><td><span class="term"><i><tt>ID</tt></i> :</span></td><td> the System ID for the entity to load |
| 1269 | </td></tr><tr><td><span class="term"><i><tt>lst</tt></i> :</span></td><td> the return value for the set of parsed nodes |
| 1270 | </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 |
| 1271 | the parser error code otherwise |
| 1272 | </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> |
| 1273 | Initialize a parser context</p><p> |
| 1274 | |
| 1275 | </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 |
| 1276 | </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 |
| 1277 | </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> |
| 1278 | Clear (release owned resources) and reinitialize a parser context</p><p> |
| 1279 | |
| 1280 | </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 |
| 1281 | </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> |
| 1282 | Free all the memory used by a parser context. However the parsed |
| 1283 | document in ctxt->myDoc is not freed.</p><p> |
| 1284 | |
| 1285 | </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 |
| 1286 | </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, |
| 1287 | const <a href="libxml-tree.html#xmlChar">xmlChar</a> *buffer, |
| 1288 | const char *filename);</pre><p> |
| 1289 | Setup the parser context to parse a new buffer; Clears any prior |
Daniel Veillard | 06622df | 2002-01-21 17:53:42 +0000 | [diff] [blame] | 1290 | contents from the parser context. The buffer parameter must not be |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 1291 | NULL, but the filename parameter can be</p><p> |
| 1292 | |
| 1293 | </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 |
| 1294 | </td></tr><tr><td><span class="term"><i><tt>buffer</tt></i> :</span></td><td> a xmlChar * buffer |
| 1295 | </td></tr><tr><td><span class="term"><i><tt>filename</tt></i> :</span></td><td> a file name |
| 1296 | </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> |
| 1297 | Creates a parser context for an XML in-memory document.</p><p> |
| 1298 | |
| 1299 | </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 |
| 1300 | </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the new parser context or NULL |
| 1301 | </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, |
| 1302 | const char **result);</pre><p> |
| 1303 | Copy at most *<i><tt>len</tt></i> feature names into the <i><tt>result</tt></i> array</p><p> |
| 1304 | |
| 1305 | </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) |
| 1306 | </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. |
| 1307 | </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, |
| 1308 | len is updated with the number of strings copied, |
| 1309 | strings must not be deallocated |
| 1310 | </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlGetFeature"></a>xmlGetFeature ()</h3><pre class="programlisting">int xmlGetFeature (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, |
Daniel Veillard | 06622df | 2002-01-21 17:53:42 +0000 | [diff] [blame] | 1311 | const char *name, |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 1312 | void *result);</pre><p> |
| 1313 | Read the current value of one feature of this parser instance</p><p> |
| 1314 | |
| 1315 | </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 |
| 1316 | </td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the feature name |
| 1317 | </td></tr><tr><td><span class="term"><i><tt>result</tt></i> :</span></td><td> location to store the result |
| 1318 | </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>-1 in case or error, 0 otherwise |
| 1319 | </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSetFeature"></a>xmlSetFeature ()</h3><pre class="programlisting">int xmlSetFeature (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, |
Daniel Veillard | 06622df | 2002-01-21 17:53:42 +0000 | [diff] [blame] | 1320 | const char *name, |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 1321 | void *value);</pre><p> |
| 1322 | Change the current value of one feature of this parser instance</p><p> |
| 1323 | |
| 1324 | </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 |
| 1325 | </td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the feature name |
| 1326 | </td></tr><tr><td><span class="term"><i><tt>value</tt></i> :</span></td><td> pointer to the location of the new value |
| 1327 | </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>-1 in case or error, 0 otherwise |
| 1328 | </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlCreatePushParserCtxt"></a>xmlCreatePushParserCtxt ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> xmlCreatePushParserCtxt (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, |
Daniel Veillard | 06622df | 2002-01-21 17:53:42 +0000 | [diff] [blame] | 1329 | void *user_data, |
| 1330 | const char *chunk, |
| 1331 | int size, |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 1332 | const char *filename);</pre><p> |
| 1333 | Create a parser context for using the XML parser in push mode. |
| 1334 | If <i><tt>buffer</tt></i> and <i><tt>size</tt></i> are non-NULL, the data is used to detect |
Daniel Veillard | aec6356 | 2003-03-23 20:42:17 +0000 | [diff] [blame] | 1335 | the encoding. The remaining characters will be parsed so they |
| 1336 | don't need to be fed in again through xmlParseChunk. |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 1337 | To allow content encoding detection, <i><tt>size</tt></i> should be >= 4 |
| 1338 | The value of <i><tt>filename</tt></i> is used for fetching external entities |
| 1339 | and error/warning reports.</p><p> |
| 1340 | |
| 1341 | </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 |
| 1342 | </td></tr><tr><td><span class="term"><i><tt>user_data</tt></i> :</span></td><td> The user data returned on SAX callbacks |
| 1343 | </td></tr><tr><td><span class="term"><i><tt>chunk</tt></i> :</span></td><td> a pointer to an array of chars |
| 1344 | </td></tr><tr><td><span class="term"><i><tt>size</tt></i> :</span></td><td> number of chars in the array |
| 1345 | </td></tr><tr><td><span class="term"><i><tt>filename</tt></i> :</span></td><td> an optional file name or URI |
| 1346 | </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the new parser context or NULL |
| 1347 | </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlParseChunk"></a>xmlParseChunk ()</h3><pre class="programlisting">int xmlParseChunk (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, |
Daniel Veillard | 06622df | 2002-01-21 17:53:42 +0000 | [diff] [blame] | 1348 | const char *chunk, |
| 1349 | int size, |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 1350 | int terminate);</pre><p> |
| 1351 | Parse a Chunk of memory</p><p> |
| 1352 | |
| 1353 | </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 |
| 1354 | </td></tr><tr><td><span class="term"><i><tt>chunk</tt></i> :</span></td><td> an char array |
| 1355 | </td></tr><tr><td><span class="term"><i><tt>size</tt></i> :</span></td><td> the size in byte of the chunk |
| 1356 | </td></tr><tr><td><span class="term"><i><tt>terminate</tt></i> :</span></td><td> last chunk indicator |
| 1357 | </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>zero if no error, the xmlParserErrors otherwise. |
| 1358 | </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlCreateIOParserCtxt"></a>xmlCreateIOParserCtxt ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> xmlCreateIOParserCtxt (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, |
Daniel Veillard | 06622df | 2002-01-21 17:53:42 +0000 | [diff] [blame] | 1359 | void *user_data, |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 1360 | <a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, |
| 1361 | <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, |
Daniel Veillard | 06622df | 2002-01-21 17:53:42 +0000 | [diff] [blame] | 1362 | void *ioctx, |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 1363 | <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);</pre><p> |
| 1364 | Create a parser context for using the XML parser with an existing |
| 1365 | I/O stream</p><p> |
| 1366 | |
| 1367 | </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 |
| 1368 | </td></tr><tr><td><span class="term"><i><tt>user_data</tt></i> :</span></td><td> The user data returned on SAX callbacks |
| 1369 | </td></tr><tr><td><span class="term"><i><tt>ioread</tt></i> :</span></td><td> an I/O read function |
| 1370 | </td></tr><tr><td><span class="term"><i><tt>ioclose</tt></i> :</span></td><td> an I/O close function |
| 1371 | </td></tr><tr><td><span class="term"><i><tt>ioctx</tt></i> :</span></td><td> an I/O handler |
| 1372 | </td></tr><tr><td><span class="term"><i><tt>enc</tt></i> :</span></td><td> the charset encoding if known |
| 1373 | </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the new parser context or NULL |
| 1374 | </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, |
| 1375 | <a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, |
| 1376 | <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);</pre><p> |
| 1377 | Create a new input stream structure encapsulating the <i><tt>input</tt></i> into |
| 1378 | a stream suitable for the parser.</p><p> |
| 1379 | |
| 1380 | </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 |
| 1381 | </td></tr><tr><td><span class="term"><i><tt>input</tt></i> :</span></td><td> an I/O Input |
| 1382 | </td></tr><tr><td><span class="term"><i><tt>enc</tt></i> :</span></td><td> the charset encoding if known |
| 1383 | </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the new input stream or NULL |
| 1384 | </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 |
| 1385 | (const <a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, |
| 1386 | const <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);</pre><p> |
| 1387 | Find the parser node info struct for a given node</p><p> |
| 1388 | |
| 1389 | </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> |
| 1390 | </td></tr><tr><td><span class="term"><i><tt>node</tt></i> :</span></td><td> an XML node within the tree |
| 1391 | </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>an xmlParserNodeInfo block pointer or NULL |
| 1392 | </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> |
| 1393 | -- Initialize (set to initial state) node info sequence</p><p> |
| 1394 | |
| 1395 | </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 |
| 1396 | </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> |
| 1397 | -- Clear (release memory and reinitialize) node |
| 1398 | info sequence</p><p> |
| 1399 | |
| 1400 | </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 |
| 1401 | </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, |
| 1402 | const <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);</pre><p> |
| 1403 | xmlParserFindNodeInfoIndex : Find the index that the info record for |
| 1404 | the given node is or should be at in a sorted sequence</p><p> |
| 1405 | |
| 1406 | </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 |
| 1407 | </td></tr><tr><td><span class="term"><i><tt>node</tt></i> :</span></td><td> an XML node pointer |
| 1408 | </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 |
| 1409 | </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, |
| 1410 | const <a href="libxml-parser.html#xmlParserNodeInfoPtr">xmlParserNodeInfoPtr</a> info);</pre><p> |
| 1411 | Insert node info record into the sorted sequence</p><p> |
| 1412 | |
| 1413 | </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 |
| 1414 | </td></tr><tr><td><span class="term"><i><tt>info</tt></i> :</span></td><td> a node info sequence pointer |
| 1415 | </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> |
| 1416 | Changes the defaultexternal entity resolver function for the application</p><p> |
| 1417 | |
| 1418 | </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 |
| 1419 | </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 | (void);</pre><p> |
| 1421 | Get the default external entity resolver function for the application</p><p> |
| 1422 | |
| 1423 | </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 |
| 1424 | </td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlLoadExternalEntity"></a>xmlLoadExternalEntity ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> xmlLoadExternalEntity (const char *URL, |
Daniel Veillard | 06622df | 2002-01-21 17:53:42 +0000 | [diff] [blame] | 1425 | const char *ID, |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 1426 | <a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p> |
| 1427 | Load an external entity, note that the use of this function for |
Daniel Veillard | 06622df | 2002-01-21 17:53:42 +0000 | [diff] [blame] | 1428 | unparsed entities may generate problems |
Daniel Veillard | d433046 | 2003-04-29 12:40:16 +0000 | [diff] [blame^] | 1429 | TODO: a more generic External entity API must be designed</p><p> |
| 1430 | |
| 1431 | </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 |
| 1432 | </td></tr><tr><td><span class="term"><i><tt>ID</tt></i> :</span></td><td> the Public ID for the entity to load |
| 1433 | </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 |
| 1434 | </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the xmlParserInputPtr or NULL |
| 1435 | </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> |