Annotation of embedaddon/libxml2/include/libxml/xmlreader.h, revision 1.1

1.1     ! misho       1: /*
        !             2:  * Summary: the XMLReader implementation
        !             3:  * Description: API of the XML streaming API based on C# interfaces.
        !             4:  *
        !             5:  * Copy: See Copyright for the status of this software.
        !             6:  *
        !             7:  * Author: Daniel Veillard
        !             8:  */
        !             9: 
        !            10: #ifndef __XML_XMLREADER_H__
        !            11: #define __XML_XMLREADER_H__
        !            12: 
        !            13: #include <libxml/xmlversion.h>
        !            14: #include <libxml/tree.h>
        !            15: #include <libxml/xmlIO.h>
        !            16: #ifdef LIBXML_SCHEMAS_ENABLED
        !            17: #include <libxml/relaxng.h>
        !            18: #include <libxml/xmlschemas.h>
        !            19: #endif
        !            20: 
        !            21: #ifdef __cplusplus
        !            22: extern "C" {
        !            23: #endif
        !            24: 
        !            25: /**
        !            26:  * xmlParserSeverities:
        !            27:  *
        !            28:  * How severe an error callback is when the per-reader error callback API
        !            29:  * is used.
        !            30:  */
        !            31: typedef enum {
        !            32:     XML_PARSER_SEVERITY_VALIDITY_WARNING = 1,
        !            33:     XML_PARSER_SEVERITY_VALIDITY_ERROR = 2,
        !            34:     XML_PARSER_SEVERITY_WARNING = 3,
        !            35:     XML_PARSER_SEVERITY_ERROR = 4
        !            36: } xmlParserSeverities;
        !            37: 
        !            38: #ifdef LIBXML_READER_ENABLED
        !            39: 
        !            40: /**
        !            41:  * xmlTextReaderMode:
        !            42:  *
        !            43:  * Internal state values for the reader.
        !            44:  */
        !            45: typedef enum {
        !            46:     XML_TEXTREADER_MODE_INITIAL = 0,
        !            47:     XML_TEXTREADER_MODE_INTERACTIVE = 1,
        !            48:     XML_TEXTREADER_MODE_ERROR = 2,
        !            49:     XML_TEXTREADER_MODE_EOF =3,
        !            50:     XML_TEXTREADER_MODE_CLOSED = 4,
        !            51:     XML_TEXTREADER_MODE_READING = 5
        !            52: } xmlTextReaderMode;
        !            53: 
        !            54: /**
        !            55:  * xmlParserProperties:
        !            56:  *
        !            57:  * Some common options to use with xmlTextReaderSetParserProp, but it
        !            58:  * is better to use xmlParserOption and the xmlReaderNewxxx and
        !            59:  * xmlReaderForxxx APIs now.
        !            60:  */
        !            61: typedef enum {
        !            62:     XML_PARSER_LOADDTD = 1,
        !            63:     XML_PARSER_DEFAULTATTRS = 2,
        !            64:     XML_PARSER_VALIDATE = 3,
        !            65:     XML_PARSER_SUBST_ENTITIES = 4
        !            66: } xmlParserProperties;
        !            67: 
        !            68: /**
        !            69:  * xmlReaderTypes:
        !            70:  *
        !            71:  * Predefined constants for the different types of nodes.
        !            72:  */
        !            73: typedef enum {
        !            74:     XML_READER_TYPE_NONE = 0,
        !            75:     XML_READER_TYPE_ELEMENT = 1,
        !            76:     XML_READER_TYPE_ATTRIBUTE = 2,
        !            77:     XML_READER_TYPE_TEXT = 3,
        !            78:     XML_READER_TYPE_CDATA = 4,
        !            79:     XML_READER_TYPE_ENTITY_REFERENCE = 5,
        !            80:     XML_READER_TYPE_ENTITY = 6,
        !            81:     XML_READER_TYPE_PROCESSING_INSTRUCTION = 7,
        !            82:     XML_READER_TYPE_COMMENT = 8,
        !            83:     XML_READER_TYPE_DOCUMENT = 9,
        !            84:     XML_READER_TYPE_DOCUMENT_TYPE = 10,
        !            85:     XML_READER_TYPE_DOCUMENT_FRAGMENT = 11,
        !            86:     XML_READER_TYPE_NOTATION = 12,
        !            87:     XML_READER_TYPE_WHITESPACE = 13,
        !            88:     XML_READER_TYPE_SIGNIFICANT_WHITESPACE = 14,
        !            89:     XML_READER_TYPE_END_ELEMENT = 15,
        !            90:     XML_READER_TYPE_END_ENTITY = 16,
        !            91:     XML_READER_TYPE_XML_DECLARATION = 17
        !            92: } xmlReaderTypes;
        !            93: 
        !            94: /**
        !            95:  * xmlTextReader:
        !            96:  *
        !            97:  * Structure for an xmlReader context.
        !            98:  */
        !            99: typedef struct _xmlTextReader xmlTextReader;
        !           100: 
        !           101: /**
        !           102:  * xmlTextReaderPtr:
        !           103:  *
        !           104:  * Pointer to an xmlReader context.
        !           105:  */
        !           106: typedef xmlTextReader *xmlTextReaderPtr;
        !           107: 
        !           108: /*
        !           109:  * Constructors & Destructor
        !           110:  */
        !           111: XMLPUBFUN xmlTextReaderPtr XMLCALL
        !           112:                        xmlNewTextReader        (xmlParserInputBufferPtr input,
        !           113:                                                 const char *URI);
        !           114: XMLPUBFUN xmlTextReaderPtr XMLCALL
        !           115:                        xmlNewTextReaderFilename(const char *URI);
        !           116: 
        !           117: XMLPUBFUN void XMLCALL
        !           118:                        xmlFreeTextReader       (xmlTextReaderPtr reader);
        !           119: 
        !           120: XMLPUBFUN int XMLCALL
        !           121:             xmlTextReaderSetup(xmlTextReaderPtr reader,
        !           122:                    xmlParserInputBufferPtr input, const char *URL,
        !           123:                    const char *encoding, int options);
        !           124: 
        !           125: /*
        !           126:  * Iterators
        !           127:  */
        !           128: XMLPUBFUN int XMLCALL
        !           129:                        xmlTextReaderRead       (xmlTextReaderPtr reader);
        !           130: 
        !           131: #ifdef LIBXML_WRITER_ENABLED
        !           132: XMLPUBFUN xmlChar * XMLCALL
        !           133:                        xmlTextReaderReadInnerXml       (xmlTextReaderPtr reader);
        !           134: 
        !           135: XMLPUBFUN xmlChar * XMLCALL
        !           136:                        xmlTextReaderReadOuterXml       (xmlTextReaderPtr reader);
        !           137: #endif
        !           138: 
        !           139: XMLPUBFUN xmlChar * XMLCALL
        !           140:                        xmlTextReaderReadString         (xmlTextReaderPtr reader);
        !           141: XMLPUBFUN int XMLCALL
        !           142:                        xmlTextReaderReadAttributeValue (xmlTextReaderPtr reader);
        !           143: 
        !           144: /*
        !           145:  * Attributes of the node
        !           146:  */
        !           147: XMLPUBFUN int XMLCALL
        !           148:                        xmlTextReaderAttributeCount(xmlTextReaderPtr reader);
        !           149: XMLPUBFUN int XMLCALL
        !           150:                        xmlTextReaderDepth      (xmlTextReaderPtr reader);
        !           151: XMLPUBFUN int XMLCALL
        !           152:                        xmlTextReaderHasAttributes(xmlTextReaderPtr reader);
        !           153: XMLPUBFUN int XMLCALL
        !           154:                        xmlTextReaderHasValue(xmlTextReaderPtr reader);
        !           155: XMLPUBFUN int XMLCALL
        !           156:                        xmlTextReaderIsDefault  (xmlTextReaderPtr reader);
        !           157: XMLPUBFUN int XMLCALL
        !           158:                        xmlTextReaderIsEmptyElement(xmlTextReaderPtr reader);
        !           159: XMLPUBFUN int XMLCALL
        !           160:                        xmlTextReaderNodeType   (xmlTextReaderPtr reader);
        !           161: XMLPUBFUN int XMLCALL
        !           162:                        xmlTextReaderQuoteChar  (xmlTextReaderPtr reader);
        !           163: XMLPUBFUN int XMLCALL
        !           164:                        xmlTextReaderReadState  (xmlTextReaderPtr reader);
        !           165: XMLPUBFUN int XMLCALL
        !           166:                         xmlTextReaderIsNamespaceDecl(xmlTextReaderPtr reader);
        !           167: 
        !           168: XMLPUBFUN const xmlChar * XMLCALL
        !           169:                    xmlTextReaderConstBaseUri   (xmlTextReaderPtr reader);
        !           170: XMLPUBFUN const xmlChar * XMLCALL
        !           171:                    xmlTextReaderConstLocalName (xmlTextReaderPtr reader);
        !           172: XMLPUBFUN const xmlChar * XMLCALL
        !           173:                    xmlTextReaderConstName      (xmlTextReaderPtr reader);
        !           174: XMLPUBFUN const xmlChar * XMLCALL
        !           175:                    xmlTextReaderConstNamespaceUri(xmlTextReaderPtr reader);
        !           176: XMLPUBFUN const xmlChar * XMLCALL
        !           177:                    xmlTextReaderConstPrefix    (xmlTextReaderPtr reader);
        !           178: XMLPUBFUN const xmlChar * XMLCALL
        !           179:                    xmlTextReaderConstXmlLang   (xmlTextReaderPtr reader);
        !           180: XMLPUBFUN const xmlChar * XMLCALL
        !           181:                    xmlTextReaderConstString    (xmlTextReaderPtr reader,
        !           182:                                                 const xmlChar *str);
        !           183: XMLPUBFUN const xmlChar * XMLCALL
        !           184:                    xmlTextReaderConstValue     (xmlTextReaderPtr reader);
        !           185: 
        !           186: /*
        !           187:  * use the Const version of the routine for
        !           188:  * better performance and simpler code
        !           189:  */
        !           190: XMLPUBFUN xmlChar * XMLCALL
        !           191:                        xmlTextReaderBaseUri    (xmlTextReaderPtr reader);
        !           192: XMLPUBFUN xmlChar * XMLCALL
        !           193:                        xmlTextReaderLocalName  (xmlTextReaderPtr reader);
        !           194: XMLPUBFUN xmlChar * XMLCALL
        !           195:                        xmlTextReaderName       (xmlTextReaderPtr reader);
        !           196: XMLPUBFUN xmlChar * XMLCALL
        !           197:                        xmlTextReaderNamespaceUri(xmlTextReaderPtr reader);
        !           198: XMLPUBFUN xmlChar * XMLCALL
        !           199:                        xmlTextReaderPrefix     (xmlTextReaderPtr reader);
        !           200: XMLPUBFUN xmlChar * XMLCALL
        !           201:                        xmlTextReaderXmlLang    (xmlTextReaderPtr reader);
        !           202: XMLPUBFUN xmlChar * XMLCALL
        !           203:                        xmlTextReaderValue      (xmlTextReaderPtr reader);
        !           204: 
        !           205: /*
        !           206:  * Methods of the XmlTextReader
        !           207:  */
        !           208: XMLPUBFUN int XMLCALL
        !           209:                    xmlTextReaderClose          (xmlTextReaderPtr reader);
        !           210: XMLPUBFUN xmlChar * XMLCALL
        !           211:                    xmlTextReaderGetAttributeNo (xmlTextReaderPtr reader,
        !           212:                                                 int no);
        !           213: XMLPUBFUN xmlChar * XMLCALL
        !           214:                    xmlTextReaderGetAttribute   (xmlTextReaderPtr reader,
        !           215:                                                 const xmlChar *name);
        !           216: XMLPUBFUN xmlChar * XMLCALL
        !           217:                    xmlTextReaderGetAttributeNs (xmlTextReaderPtr reader,
        !           218:                                                 const xmlChar *localName,
        !           219:                                                 const xmlChar *namespaceURI);
        !           220: XMLPUBFUN xmlParserInputBufferPtr XMLCALL
        !           221:                    xmlTextReaderGetRemainder   (xmlTextReaderPtr reader);
        !           222: XMLPUBFUN xmlChar * XMLCALL
        !           223:                    xmlTextReaderLookupNamespace(xmlTextReaderPtr reader,
        !           224:                                                 const xmlChar *prefix);
        !           225: XMLPUBFUN int XMLCALL
        !           226:                    xmlTextReaderMoveToAttributeNo(xmlTextReaderPtr reader,
        !           227:                                                 int no);
        !           228: XMLPUBFUN int XMLCALL
        !           229:                    xmlTextReaderMoveToAttribute(xmlTextReaderPtr reader,
        !           230:                                                 const xmlChar *name);
        !           231: XMLPUBFUN int XMLCALL
        !           232:                    xmlTextReaderMoveToAttributeNs(xmlTextReaderPtr reader,
        !           233:                                                 const xmlChar *localName,
        !           234:                                                 const xmlChar *namespaceURI);
        !           235: XMLPUBFUN int XMLCALL
        !           236:                    xmlTextReaderMoveToFirstAttribute(xmlTextReaderPtr reader);
        !           237: XMLPUBFUN int XMLCALL
        !           238:                    xmlTextReaderMoveToNextAttribute(xmlTextReaderPtr reader);
        !           239: XMLPUBFUN int XMLCALL
        !           240:                    xmlTextReaderMoveToElement  (xmlTextReaderPtr reader);
        !           241: XMLPUBFUN int XMLCALL
        !           242:                    xmlTextReaderNormalization  (xmlTextReaderPtr reader);
        !           243: XMLPUBFUN const xmlChar * XMLCALL
        !           244:                    xmlTextReaderConstEncoding  (xmlTextReaderPtr reader);
        !           245: 
        !           246: /*
        !           247:  * Extensions
        !           248:  */
        !           249: XMLPUBFUN int XMLCALL
        !           250:                    xmlTextReaderSetParserProp  (xmlTextReaderPtr reader,
        !           251:                                                 int prop,
        !           252:                                                 int value);
        !           253: XMLPUBFUN int XMLCALL
        !           254:                    xmlTextReaderGetParserProp  (xmlTextReaderPtr reader,
        !           255:                                                 int prop);
        !           256: XMLPUBFUN xmlNodePtr XMLCALL
        !           257:                    xmlTextReaderCurrentNode    (xmlTextReaderPtr reader);
        !           258: 
        !           259: XMLPUBFUN int XMLCALL
        !           260:             xmlTextReaderGetParserLineNumber(xmlTextReaderPtr reader);
        !           261: 
        !           262: XMLPUBFUN int XMLCALL
        !           263:             xmlTextReaderGetParserColumnNumber(xmlTextReaderPtr reader);
        !           264: 
        !           265: XMLPUBFUN xmlNodePtr XMLCALL
        !           266:                    xmlTextReaderPreserve       (xmlTextReaderPtr reader);
        !           267: #ifdef LIBXML_PATTERN_ENABLED
        !           268: XMLPUBFUN int XMLCALL
        !           269:                    xmlTextReaderPreservePattern(xmlTextReaderPtr reader,
        !           270:                                                 const xmlChar *pattern,
        !           271:                                                 const xmlChar **namespaces);
        !           272: #endif /* LIBXML_PATTERN_ENABLED */
        !           273: XMLPUBFUN xmlDocPtr XMLCALL
        !           274:                    xmlTextReaderCurrentDoc     (xmlTextReaderPtr reader);
        !           275: XMLPUBFUN xmlNodePtr XMLCALL
        !           276:                    xmlTextReaderExpand         (xmlTextReaderPtr reader);
        !           277: XMLPUBFUN int XMLCALL
        !           278:                    xmlTextReaderNext           (xmlTextReaderPtr reader);
        !           279: XMLPUBFUN int XMLCALL
        !           280:                    xmlTextReaderNextSibling    (xmlTextReaderPtr reader);
        !           281: XMLPUBFUN int XMLCALL
        !           282:                    xmlTextReaderIsValid        (xmlTextReaderPtr reader);
        !           283: #ifdef LIBXML_SCHEMAS_ENABLED
        !           284: XMLPUBFUN int XMLCALL
        !           285:                    xmlTextReaderRelaxNGValidate(xmlTextReaderPtr reader,
        !           286:                                                 const char *rng);
        !           287: XMLPUBFUN int XMLCALL
        !           288:                    xmlTextReaderRelaxNGSetSchema(xmlTextReaderPtr reader,
        !           289:                                                 xmlRelaxNGPtr schema);
        !           290: XMLPUBFUN int XMLCALL
        !           291:                    xmlTextReaderSchemaValidate (xmlTextReaderPtr reader,
        !           292:                                                 const char *xsd);
        !           293: XMLPUBFUN int XMLCALL
        !           294:                    xmlTextReaderSchemaValidateCtxt(xmlTextReaderPtr reader,
        !           295:                                                 xmlSchemaValidCtxtPtr ctxt,
        !           296:                                                 int options);
        !           297: XMLPUBFUN int XMLCALL
        !           298:                    xmlTextReaderSetSchema      (xmlTextReaderPtr reader,
        !           299:                                                 xmlSchemaPtr schema);
        !           300: #endif
        !           301: XMLPUBFUN const xmlChar * XMLCALL
        !           302:                    xmlTextReaderConstXmlVersion(xmlTextReaderPtr reader);
        !           303: XMLPUBFUN int XMLCALL
        !           304:                    xmlTextReaderStandalone     (xmlTextReaderPtr reader);
        !           305: 
        !           306: 
        !           307: /*
        !           308:  * Index lookup
        !           309:  */
        !           310: XMLPUBFUN long XMLCALL
        !           311:                xmlTextReaderByteConsumed       (xmlTextReaderPtr reader);
        !           312: 
        !           313: /*
        !           314:  * New more complete APIs for simpler creation and reuse of readers
        !           315:  */
        !           316: XMLPUBFUN xmlTextReaderPtr XMLCALL
        !           317:                xmlReaderWalker         (xmlDocPtr doc);
        !           318: XMLPUBFUN xmlTextReaderPtr XMLCALL
        !           319:                xmlReaderForDoc         (const xmlChar * cur,
        !           320:                                         const char *URL,
        !           321:                                         const char *encoding,
        !           322:                                         int options);
        !           323: XMLPUBFUN xmlTextReaderPtr XMLCALL
        !           324:                xmlReaderForFile        (const char *filename,
        !           325:                                         const char *encoding,
        !           326:                                         int options);
        !           327: XMLPUBFUN xmlTextReaderPtr XMLCALL
        !           328:                xmlReaderForMemory      (const char *buffer,
        !           329:                                         int size,
        !           330:                                         const char *URL,
        !           331:                                         const char *encoding,
        !           332:                                         int options);
        !           333: XMLPUBFUN xmlTextReaderPtr XMLCALL
        !           334:                xmlReaderForFd          (int fd,
        !           335:                                         const char *URL,
        !           336:                                         const char *encoding,
        !           337:                                         int options);
        !           338: XMLPUBFUN xmlTextReaderPtr XMLCALL
        !           339:                xmlReaderForIO          (xmlInputReadCallback ioread,
        !           340:                                         xmlInputCloseCallback ioclose,
        !           341:                                         void *ioctx,
        !           342:                                         const char *URL,
        !           343:                                         const char *encoding,
        !           344:                                         int options);
        !           345: 
        !           346: XMLPUBFUN int XMLCALL
        !           347:                xmlReaderNewWalker      (xmlTextReaderPtr reader,
        !           348:                                         xmlDocPtr doc);
        !           349: XMLPUBFUN int XMLCALL
        !           350:                xmlReaderNewDoc         (xmlTextReaderPtr reader,
        !           351:                                         const xmlChar * cur,
        !           352:                                         const char *URL,
        !           353:                                         const char *encoding,
        !           354:                                         int options);
        !           355: XMLPUBFUN int XMLCALL
        !           356:                xmlReaderNewFile        (xmlTextReaderPtr reader,
        !           357:                                         const char *filename,
        !           358:                                         const char *encoding,
        !           359:                                         int options);
        !           360: XMLPUBFUN int XMLCALL
        !           361:                xmlReaderNewMemory      (xmlTextReaderPtr reader,
        !           362:                                         const char *buffer,
        !           363:                                         int size,
        !           364:                                         const char *URL,
        !           365:                                         const char *encoding,
        !           366:                                         int options);
        !           367: XMLPUBFUN int XMLCALL
        !           368:                xmlReaderNewFd          (xmlTextReaderPtr reader,
        !           369:                                         int fd,
        !           370:                                         const char *URL,
        !           371:                                         const char *encoding,
        !           372:                                         int options);
        !           373: XMLPUBFUN int XMLCALL
        !           374:                xmlReaderNewIO          (xmlTextReaderPtr reader,
        !           375:                                         xmlInputReadCallback ioread,
        !           376:                                         xmlInputCloseCallback ioclose,
        !           377:                                         void *ioctx,
        !           378:                                         const char *URL,
        !           379:                                         const char *encoding,
        !           380:                                         int options);
        !           381: /*
        !           382:  * Error handling extensions
        !           383:  */
        !           384: typedef void *  xmlTextReaderLocatorPtr;
        !           385: 
        !           386: /**
        !           387:  * xmlTextReaderErrorFunc:
        !           388:  * @arg: the user argument
        !           389:  * @msg: the message
        !           390:  * @severity: the severity of the error
        !           391:  * @locator: a locator indicating where the error occured
        !           392:  *
        !           393:  * Signature of an error callback from a reader parser
        !           394:  */
        !           395: typedef void   (XMLCALL *xmlTextReaderErrorFunc)(void *arg,
        !           396:                                                 const char *msg,
        !           397:                                                 xmlParserSeverities severity,
        !           398:                                                 xmlTextReaderLocatorPtr locator);
        !           399: XMLPUBFUN int XMLCALL
        !           400:                    xmlTextReaderLocatorLineNumber(xmlTextReaderLocatorPtr locator);
        !           401: /*int             xmlTextReaderLocatorLinePosition(xmlTextReaderLocatorPtr locator);*/
        !           402: XMLPUBFUN xmlChar * XMLCALL
        !           403:                    xmlTextReaderLocatorBaseURI (xmlTextReaderLocatorPtr locator);
        !           404: XMLPUBFUN void XMLCALL
        !           405:                    xmlTextReaderSetErrorHandler(xmlTextReaderPtr reader,
        !           406:                                                 xmlTextReaderErrorFunc f,
        !           407:                                                 void *arg);
        !           408: XMLPUBFUN void XMLCALL
        !           409:                    xmlTextReaderSetStructuredErrorHandler(xmlTextReaderPtr reader,
        !           410:                                                           xmlStructuredErrorFunc f,
        !           411:                                                           void *arg);
        !           412: XMLPUBFUN void XMLCALL
        !           413:                    xmlTextReaderGetErrorHandler(xmlTextReaderPtr reader,
        !           414:                                                 xmlTextReaderErrorFunc *f,
        !           415:                                                 void **arg);
        !           416: 
        !           417: #endif /* LIBXML_READER_ENABLED */
        !           418: 
        !           419: #ifdef __cplusplus
        !           420: }
        !           421: #endif
        !           422: 
        !           423: #endif /* __XML_XMLREADER_H__ */
        !           424: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>