| /* |
| * xmlreader.h : Interfaces, constants and types of the XML streaming API. |
| * |
| * See Copyright for the status of this software. |
| * |
| * daniel@veillard.com |
| */ |
| |
| #ifndef __XML_XMLREADER_H__ |
| #define __XML_XMLREADER_H__ |
| |
| #include <libxml/xmlversion.h> |
| #include <libxml/tree.h> |
| #include <libxml/xmlIO.h> |
| #ifdef LIBXML_SCHEMAS_ENABLED |
| #include <libxml/relaxng.h> |
| #endif |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| typedef enum { |
| XML_PARSER_LOADDTD = 1, |
| XML_PARSER_DEFAULTATTRS = 2, |
| XML_PARSER_VALIDATE = 3, |
| XML_PARSER_SUBST_ENTITIES = 4 |
| } xmlParserProperties; |
| |
| typedef enum { |
| XML_PARSER_SEVERITY_VALIDITY_WARNING = 1, |
| XML_PARSER_SEVERITY_VALIDITY_ERROR = 2, |
| XML_PARSER_SEVERITY_WARNING = 3, |
| XML_PARSER_SEVERITY_ERROR = 4 |
| } xmlParserSeverities; |
| |
| typedef enum { |
| XML_READER_TYPE_NONE = 0, |
| XML_READER_TYPE_ELEMENT = 1, |
| XML_READER_TYPE_ATTRIBUTE = 2, |
| XML_READER_TYPE_TEXT = 3, |
| XML_READER_TYPE_CDATA = 4, |
| XML_READER_TYPE_ENTITY_REFERENCE = 5, |
| XML_READER_TYPE_ENTITY = 6, |
| XML_READER_TYPE_PROCESSING_INSTRUCTION = 7, |
| XML_READER_TYPE_COMMENT = 8, |
| XML_READER_TYPE_DOCUMENT = 9, |
| XML_READER_TYPE_DOCUMENT_TYPE = 10, |
| XML_READER_TYPE_DOCUMENT_FRAGMENT = 11, |
| XML_READER_TYPE_NOTATION = 12, |
| XML_READER_TYPE_WHITESPACE = 13, |
| XML_READER_TYPE_SIGNIFICANT_WHITESPACE = 14, |
| XML_READER_TYPE_END_ELEMENT = 15, |
| XML_READER_TYPE_END_ENTITY = 16, |
| XML_READER_TYPE_XML_DECLARATION = 17 |
| } xmlReaderTypes; |
| |
| typedef struct _xmlTextReader xmlTextReader; |
| typedef xmlTextReader *xmlTextReaderPtr; |
| |
| /* |
| * Constructors & Destructor |
| */ |
| XMLPUBFUN xmlTextReaderPtr XMLCALL |
| xmlNewTextReader (xmlParserInputBufferPtr input, |
| const char *URI); |
| XMLPUBFUN xmlTextReaderPtr XMLCALL xmlNewTextReaderFilename(const char *URI); |
| XMLPUBFUN void XMLCALL xmlFreeTextReader (xmlTextReaderPtr reader); |
| |
| /* |
| * Iterators |
| */ |
| XMLPUBFUN int XMLCALL xmlTextReaderRead (xmlTextReaderPtr reader); |
| XMLPUBFUN xmlChar * XMLCALL xmlTextReaderReadInnerXml (xmlTextReaderPtr reader); |
| XMLPUBFUN xmlChar * XMLCALL xmlTextReaderReadOuterXml (xmlTextReaderPtr reader); |
| XMLPUBFUN xmlChar * XMLCALL xmlTextReaderReadString (xmlTextReaderPtr reader); |
| XMLPUBFUN int XMLCALL xmlTextReaderReadAttributeValue (xmlTextReaderPtr reader); |
| |
| /* |
| * Attributes of the node |
| */ |
| XMLPUBFUN int XMLCALL xmlTextReaderAttributeCount(xmlTextReaderPtr reader); |
| XMLPUBFUN xmlChar * XMLCALL xmlTextReaderBaseUri (xmlTextReaderPtr reader); |
| XMLPUBFUN int XMLCALL xmlTextReaderDepth (xmlTextReaderPtr reader); |
| XMLPUBFUN int XMLCALL xmlTextReaderHasAttributes(xmlTextReaderPtr reader); |
| XMLPUBFUN int XMLCALL xmlTextReaderHasValue(xmlTextReaderPtr reader); |
| XMLPUBFUN int XMLCALL xmlTextReaderIsDefault (xmlTextReaderPtr reader); |
| XMLPUBFUN int XMLCALL xmlTextReaderIsEmptyElement(xmlTextReaderPtr reader); |
| XMLPUBFUN xmlChar * XMLCALL xmlTextReaderLocalName (xmlTextReaderPtr reader); |
| XMLPUBFUN xmlChar * XMLCALL xmlTextReaderName (xmlTextReaderPtr reader); |
| XMLPUBFUN xmlChar * XMLCALL xmlTextReaderNamespaceUri(xmlTextReaderPtr reader); |
| XMLPUBFUN int XMLCALL xmlTextReaderNodeType (xmlTextReaderPtr reader); |
| XMLPUBFUN xmlChar * XMLCALL xmlTextReaderPrefix (xmlTextReaderPtr reader); |
| XMLPUBFUN int XMLCALL xmlTextReaderQuoteChar (xmlTextReaderPtr reader); |
| XMLPUBFUN xmlChar * XMLCALL xmlTextReaderValue (xmlTextReaderPtr reader); |
| XMLPUBFUN xmlChar * XMLCALL xmlTextReaderXmlLang (xmlTextReaderPtr reader); |
| XMLPUBFUN int XMLCALL xmlTextReaderReadState (xmlTextReaderPtr reader); |
| |
| /* |
| * Methods of the XmlTextReader |
| */ |
| XMLPUBFUN int XMLCALL xmlTextReaderClose (xmlTextReaderPtr reader); |
| XMLPUBFUN xmlChar * XMLCALL xmlTextReaderGetAttributeNo (xmlTextReaderPtr reader, |
| int no); |
| XMLPUBFUN xmlChar * XMLCALL xmlTextReaderGetAttribute (xmlTextReaderPtr reader, |
| const xmlChar *name); |
| XMLPUBFUN xmlChar * XMLCALL xmlTextReaderGetAttributeNs (xmlTextReaderPtr reader, |
| const xmlChar *localName, |
| const xmlChar *namespaceURI); |
| XMLPUBFUN xmlParserInputBufferPtr XMLCALL xmlTextReaderGetRemainder(xmlTextReaderPtr reader); |
| XMLPUBFUN xmlChar * XMLCALL xmlTextReaderLookupNamespace (xmlTextReaderPtr reader, |
| const xmlChar *prefix); |
| XMLPUBFUN int XMLCALL xmlTextReaderMoveToAttributeNo (xmlTextReaderPtr reader, |
| int no); |
| XMLPUBFUN int XMLCALL xmlTextReaderMoveToAttribute (xmlTextReaderPtr reader, |
| const xmlChar *name); |
| XMLPUBFUN int XMLCALL xmlTextReaderMoveToAttributeNs (xmlTextReaderPtr reader, |
| const xmlChar *localName, |
| const xmlChar *namespaceURI); |
| XMLPUBFUN int XMLCALL xmlTextReaderMoveToFirstAttribute(xmlTextReaderPtr reader); |
| XMLPUBFUN int XMLCALL xmlTextReaderMoveToNextAttribute(xmlTextReaderPtr reader); |
| XMLPUBFUN int XMLCALL xmlTextReaderMoveToElement (xmlTextReaderPtr reader); |
| XMLPUBFUN int XMLCALL xmlTextReaderNormalization (xmlTextReaderPtr reader); |
| |
| /* |
| * Extensions |
| */ |
| XMLPUBFUN int XMLCALL xmlTextReaderSetParserProp (xmlTextReaderPtr reader, |
| int prop, |
| int value); |
| XMLPUBFUN int XMLCALL xmlTextReaderGetParserProp (xmlTextReaderPtr reader, |
| int prop); |
| XMLPUBFUN xmlNodePtr XMLCALL xmlTextReaderCurrentNode (xmlTextReaderPtr reader); |
| XMLPUBFUN xmlDocPtr XMLCALL xmlTextReaderCurrentDoc (xmlTextReaderPtr reader); |
| XMLPUBFUN xmlNodePtr XMLCALL xmlTextReaderExpand (xmlTextReaderPtr reader); |
| XMLPUBFUN int XMLCALL xmlTextReaderNext (xmlTextReaderPtr reader); |
| XMLPUBFUN int XMLCALL xmlTextReaderIsValid (xmlTextReaderPtr reader); |
| #ifdef LIBXML_SCHEMAS_ENABLED |
| XMLPUBFUN int XMLCALL xmlTextReaderRelaxNGValidate (xmlTextReaderPtr reader, |
| const char *rng); |
| XMLPUBFUN int XMLCALL xmlTextReaderRelaxNGSetSchema (xmlTextReaderPtr reader, |
| xmlRelaxNGPtr schema); |
| #endif |
| |
| /* |
| * Error handling extensions |
| */ |
| typedef void * xmlTextReaderLocatorPtr; |
| typedef void (*xmlTextReaderErrorFunc) (void *arg, |
| const char *msg, |
| xmlParserSeverities severity, |
| xmlTextReaderLocatorPtr locator); |
| XMLPUBFUN int XMLCALL xmlTextReaderLocatorLineNumber (xmlTextReaderLocatorPtr locator); |
| /*int xmlTextReaderLocatorLinePosition(xmlTextReaderLocatorPtr locator);*/ |
| XMLPUBFUN xmlChar * XMLCALL xmlTextReaderLocatorBaseURI (xmlTextReaderLocatorPtr locator); |
| XMLPUBFUN void XMLCALL xmlTextReaderSetErrorHandler (xmlTextReaderPtr reader, |
| xmlTextReaderErrorFunc f, |
| void *arg); |
| XMLPUBFUN void XMLCALL xmlTextReaderGetErrorHandler (xmlTextReaderPtr reader, |
| xmlTextReaderErrorFunc *f, |
| void **arg); |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| #endif /* __XML_XMLREADER_H__ */ |
| |