00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef __XML_XMLREADER_H__
00010 #define __XML_XMLREADER_H__
00011
00012 #include <libxml/xmlversion.h>
00013 #include <libxml/tree.h>
00014 #include <libxml/xmlIO.h>
00015 #ifdef LIBXML_SCHEMAS_ENABLED
00016 #include <libxml/relaxng.h>
00017 #endif
00018
00019 #ifdef __cplusplus
00020 extern "C" {
00021 #endif
00022
00023 typedef enum {
00024 XML_PARSER_LOADDTD = 1,
00025 XML_PARSER_DEFAULTATTRS = 2,
00026 XML_PARSER_VALIDATE = 3,
00027 XML_PARSER_SUBST_ENTITIES = 4
00028 } xmlParserProperties;
00029
00030 typedef enum {
00031 XML_PARSER_SEVERITY_VALIDITY_WARNING = 1,
00032 XML_PARSER_SEVERITY_VALIDITY_ERROR = 2,
00033 XML_PARSER_SEVERITY_WARNING = 3,
00034 XML_PARSER_SEVERITY_ERROR = 4
00035 } xmlParserSeverities;
00036
00037 typedef enum {
00038 XML_READER_TYPE_NONE = 0,
00039 XML_READER_TYPE_ELEMENT = 1,
00040 XML_READER_TYPE_ATTRIBUTE = 2,
00041 XML_READER_TYPE_TEXT = 3,
00042 XML_READER_TYPE_CDATA = 4,
00043 XML_READER_TYPE_ENTITY_REFERENCE = 5,
00044 XML_READER_TYPE_ENTITY = 6,
00045 XML_READER_TYPE_PROCESSING_INSTRUCTION = 7,
00046 XML_READER_TYPE_COMMENT = 8,
00047 XML_READER_TYPE_DOCUMENT = 9,
00048 XML_READER_TYPE_DOCUMENT_TYPE = 10,
00049 XML_READER_TYPE_DOCUMENT_FRAGMENT = 11,
00050 XML_READER_TYPE_NOTATION = 12,
00051 XML_READER_TYPE_WHITESPACE = 13,
00052 XML_READER_TYPE_SIGNIFICANT_WHITESPACE = 14,
00053 XML_READER_TYPE_END_ELEMENT = 15,
00054 XML_READER_TYPE_END_ENTITY = 16,
00055 XML_READER_TYPE_XML_DECLARATION = 17
00056 } xmlReaderTypes;
00057
00058 typedef struct _xmlTextReader xmlTextReader;
00059 typedef xmlTextReader *xmlTextReaderPtr;
00060
00061
00062
00063
00064 XMLPUBFUN xmlTextReaderPtr XMLCALL
00065 xmlNewTextReader (xmlParserInputBufferPtr input,
00066 const char *URI);
00067 XMLPUBFUN xmlTextReaderPtr XMLCALL
00068 xmlNewTextReaderFilename(const char *URI);
00069 XMLPUBFUN void XMLCALL
00070 xmlFreeTextReader (xmlTextReaderPtr reader);
00071
00072
00073
00074
00075 XMLPUBFUN int XMLCALL
00076 xmlTextReaderRead (xmlTextReaderPtr reader);
00077 XMLPUBFUN xmlChar * XMLCALL
00078 xmlTextReaderReadInnerXml (xmlTextReaderPtr reader);
00079 XMLPUBFUN xmlChar * XMLCALL
00080 xmlTextReaderReadOuterXml (xmlTextReaderPtr reader);
00081 XMLPUBFUN xmlChar * XMLCALL
00082 xmlTextReaderReadString (xmlTextReaderPtr reader);
00083 XMLPUBFUN int XMLCALL
00084 xmlTextReaderReadAttributeValue (xmlTextReaderPtr reader);
00085
00086
00087
00088
00089 XMLPUBFUN int XMLCALL
00090 xmlTextReaderAttributeCount(xmlTextReaderPtr reader);
00091 XMLPUBFUN int XMLCALL
00092 xmlTextReaderDepth (xmlTextReaderPtr reader);
00093 XMLPUBFUN int XMLCALL
00094 xmlTextReaderHasAttributes(xmlTextReaderPtr reader);
00095 XMLPUBFUN int XMLCALL
00096 xmlTextReaderHasValue(xmlTextReaderPtr reader);
00097 XMLPUBFUN int XMLCALL
00098 xmlTextReaderIsDefault (xmlTextReaderPtr reader);
00099 XMLPUBFUN int XMLCALL
00100 xmlTextReaderIsEmptyElement(xmlTextReaderPtr reader);
00101 XMLPUBFUN int XMLCALL
00102 xmlTextReaderNodeType (xmlTextReaderPtr reader);
00103 XMLPUBFUN int XMLCALL
00104 xmlTextReaderQuoteChar (xmlTextReaderPtr reader);
00105 XMLPUBFUN int XMLCALL
00106 xmlTextReaderReadState (xmlTextReaderPtr reader);
00107
00108 XMLPUBFUN const xmlChar * XMLCALL
00109 xmlTextReaderConstBaseUri (xmlTextReaderPtr reader);
00110 XMLPUBFUN const xmlChar * XMLCALL
00111 xmlTextReaderConstLocalName (xmlTextReaderPtr reader);
00112 XMLPUBFUN const xmlChar * XMLCALL
00113 xmlTextReaderConstName (xmlTextReaderPtr reader);
00114 XMLPUBFUN const xmlChar * XMLCALL
00115 xmlTextReaderConstNamespaceUri(xmlTextReaderPtr reader);
00116 XMLPUBFUN const xmlChar * XMLCALL
00117 xmlTextReaderConstPrefix (xmlTextReaderPtr reader);
00118 XMLPUBFUN const xmlChar * XMLCALL
00119 xmlTextReaderConstXmlLang (xmlTextReaderPtr reader);
00120 XMLPUBFUN const xmlChar * XMLCALL
00121 xmlTextReaderConstString (xmlTextReaderPtr reader,
00122 const xmlChar *str);
00123 XMLPUBFUN const xmlChar * XMLCALL
00124 xmlTextReaderConstValue (xmlTextReaderPtr reader);
00125
00126
00127
00128
00129
00130 XMLPUBFUN xmlChar * XMLCALL
00131 xmlTextReaderBaseUri (xmlTextReaderPtr reader);
00132 XMLPUBFUN xmlChar * XMLCALL
00133 xmlTextReaderLocalName (xmlTextReaderPtr reader);
00134 XMLPUBFUN xmlChar * XMLCALL
00135 xmlTextReaderName (xmlTextReaderPtr reader);
00136 XMLPUBFUN xmlChar * XMLCALL
00137 xmlTextReaderNamespaceUri(xmlTextReaderPtr reader);
00138 XMLPUBFUN xmlChar * XMLCALL
00139 xmlTextReaderPrefix (xmlTextReaderPtr reader);
00140 XMLPUBFUN xmlChar * XMLCALL
00141 xmlTextReaderXmlLang (xmlTextReaderPtr reader);
00142 XMLPUBFUN xmlChar * XMLCALL
00143 xmlTextReaderValue (xmlTextReaderPtr reader);
00144
00145
00146
00147
00148 XMLPUBFUN int XMLCALL
00149 xmlTextReaderClose (xmlTextReaderPtr reader);
00150 XMLPUBFUN xmlChar * XMLCALL
00151 xmlTextReaderGetAttributeNo (xmlTextReaderPtr reader,
00152 int no);
00153 XMLPUBFUN xmlChar * XMLCALL
00154 xmlTextReaderGetAttribute (xmlTextReaderPtr reader,
00155 const xmlChar *name);
00156 XMLPUBFUN xmlChar * XMLCALL
00157 xmlTextReaderGetAttributeNs (xmlTextReaderPtr reader,
00158 const xmlChar *localName,
00159 const xmlChar *namespaceURI);
00160 XMLPUBFUN xmlParserInputBufferPtr XMLCALL
00161 xmlTextReaderGetRemainder (xmlTextReaderPtr reader);
00162 XMLPUBFUN xmlChar * XMLCALL
00163 xmlTextReaderLookupNamespace(xmlTextReaderPtr reader,
00164 const xmlChar *prefix);
00165 XMLPUBFUN int XMLCALL
00166 xmlTextReaderMoveToAttributeNo(xmlTextReaderPtr reader,
00167 int no);
00168 XMLPUBFUN int XMLCALL
00169 xmlTextReaderMoveToAttribute(xmlTextReaderPtr reader,
00170 const xmlChar *name);
00171 XMLPUBFUN int XMLCALL
00172 xmlTextReaderMoveToAttributeNs(xmlTextReaderPtr reader,
00173 const xmlChar *localName,
00174 const xmlChar *namespaceURI);
00175 XMLPUBFUN int XMLCALL
00176 xmlTextReaderMoveToFirstAttribute(xmlTextReaderPtr reader);
00177 XMLPUBFUN int XMLCALL
00178 xmlTextReaderMoveToNextAttribute(xmlTextReaderPtr reader);
00179 XMLPUBFUN int XMLCALL
00180 xmlTextReaderMoveToElement (xmlTextReaderPtr reader);
00181 XMLPUBFUN int XMLCALL
00182 xmlTextReaderNormalization (xmlTextReaderPtr reader);
00183
00184
00185
00186
00187 XMLPUBFUN int XMLCALL
00188 xmlTextReaderSetParserProp (xmlTextReaderPtr reader,
00189 int prop,
00190 int value);
00191 XMLPUBFUN int XMLCALL
00192 xmlTextReaderGetParserProp (xmlTextReaderPtr reader,
00193 int prop);
00194 XMLPUBFUN xmlNodePtr XMLCALL
00195 xmlTextReaderCurrentNode (xmlTextReaderPtr reader);
00196 XMLPUBFUN xmlNodePtr XMLCALL
00197 xmlTextReaderPreserve (xmlTextReaderPtr reader);
00198 XMLPUBFUN xmlDocPtr XMLCALL
00199 xmlTextReaderCurrentDoc (xmlTextReaderPtr reader);
00200 XMLPUBFUN xmlNodePtr XMLCALL
00201 xmlTextReaderExpand (xmlTextReaderPtr reader);
00202 XMLPUBFUN int XMLCALL
00203 xmlTextReaderNext (xmlTextReaderPtr reader);
00204 XMLPUBFUN int XMLCALL
00205 xmlTextReaderNextSibling (xmlTextReaderPtr reader);
00206 XMLPUBFUN int XMLCALL
00207 xmlTextReaderIsValid (xmlTextReaderPtr reader);
00208 #ifdef LIBXML_SCHEMAS_ENABLED
00209 XMLPUBFUN int XMLCALL
00210 xmlTextReaderRelaxNGValidate(xmlTextReaderPtr reader,
00211 const char *rng);
00212 XMLPUBFUN int XMLCALL
00213 xmlTextReaderRelaxNGSetSchema(xmlTextReaderPtr reader,
00214 xmlRelaxNGPtr schema);
00215 #endif
00216
00217
00218
00219
00220 XMLPUBFUN xmlTextReaderPtr XMLCALL
00221 xmlReaderWalker (xmlDocPtr doc);
00222 XMLPUBFUN xmlTextReaderPtr XMLCALL
00223 xmlReaderForDoc (const xmlChar * cur,
00224 const char *URL,
00225 const char *encoding,
00226 int options);
00227 XMLPUBFUN xmlTextReaderPtr XMLCALL
00228 xmlReaderForFile (const char *filename,
00229 const char *encoding,
00230 int options);
00231 XMLPUBFUN xmlTextReaderPtr XMLCALL
00232 xmlReaderForMemory (const char *buffer,
00233 int size,
00234 const char *URL,
00235 const char *encoding,
00236 int options);
00237 XMLPUBFUN xmlTextReaderPtr XMLCALL
00238 xmlReaderForFd (int fd,
00239 const char *URL,
00240 const char *encoding,
00241 int options);
00242 XMLPUBFUN xmlTextReaderPtr XMLCALL
00243 xmlReaderForIO (xmlInputReadCallback ioread,
00244 xmlInputCloseCallback ioclose,
00245 void *ioctx,
00246 const char *URL,
00247 const char *encoding,
00248 int options);
00249
00250 XMLPUBFUN int XMLCALL
00251 xmlReaderNewWalker (xmlTextReaderPtr reader,
00252 xmlDocPtr doc);
00253 XMLPUBFUN int XMLCALL
00254 xmlReaderNewDoc (xmlTextReaderPtr reader,
00255 const xmlChar * cur,
00256 const char *URL,
00257 const char *encoding,
00258 int options);
00259 XMLPUBFUN int XMLCALL
00260 xmlReaderNewFile (xmlTextReaderPtr reader,
00261 const char *filename,
00262 const char *encoding,
00263 int options);
00264 XMLPUBFUN int XMLCALL
00265 xmlReaderNewMemory (xmlTextReaderPtr reader,
00266 const char *buffer,
00267 int size,
00268 const char *URL,
00269 const char *encoding,
00270 int options);
00271 XMLPUBFUN int XMLCALL
00272 xmlReaderNewFd (xmlTextReaderPtr reader,
00273 int fd,
00274 const char *URL,
00275 const char *encoding,
00276 int options);
00277 XMLPUBFUN int XMLCALL
00278 xmlReaderNewIO (xmlTextReaderPtr reader,
00279 xmlInputReadCallback ioread,
00280 xmlInputCloseCallback ioclose,
00281 void *ioctx,
00282 const char *URL,
00283 const char *encoding,
00284 int options);
00285
00286
00287
00288 typedef void * xmlTextReaderLocatorPtr;
00289 typedef void (*xmlTextReaderErrorFunc) (void *arg,
00290 const char *msg,
00291 xmlParserSeverities severity,
00292 xmlTextReaderLocatorPtr locator);
00293 XMLPUBFUN int XMLCALL
00294 xmlTextReaderLocatorLineNumber(xmlTextReaderLocatorPtr locator);
00295
00296 XMLPUBFUN xmlChar * XMLCALL
00297 xmlTextReaderLocatorBaseURI (xmlTextReaderLocatorPtr locator);
00298 XMLPUBFUN void XMLCALL
00299 xmlTextReaderSetErrorHandler(xmlTextReaderPtr reader,
00300 xmlTextReaderErrorFunc f,
00301 void *arg);
00302 XMLPUBFUN void XMLCALL
00303 xmlTextReaderGetErrorHandler(xmlTextReaderPtr reader,
00304 xmlTextReaderErrorFunc *f,
00305 void **arg);
00306
00307 #ifdef __cplusplus
00308 }
00309 #endif
00310 #endif
00311
00312