430 lines · 12.3 KB · C
RawDownload
/* * Summary: the XMLReader implementation * Description: API of the XML streaming API based on C# interfaces. * * Copy: See Copyright for the status of this software. * * Author: Daniel Veillard */ #ifndef __XML_XMLREADER_H__#define __XML_XMLREADER_H__ #pragma lib "/$M/lib/ape/libxml2.a" #include <libxml/xmlversion.h>#include <libxml/tree.h>#include <libxml/xmlIO.h>#ifdef LIBXML_SCHEMAS_ENABLED#include <libxml/relaxng.h>#include <libxml/xmlschemas.h>#endif #ifdef __cplusplusextern "C" {#endif /** * xmlParserSeverities: * * How severe an error callback is when the per-reader error callback API * is used. */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; #ifdef LIBXML_READER_ENABLED /** * xmlTextReaderMode: * * Internal state values for the reader. */typedef enum {    XML_TEXTREADER_MODE_INITIAL = 0,    XML_TEXTREADER_MODE_INTERACTIVE = 1,    XML_TEXTREADER_MODE_ERROR = 2,    XML_TEXTREADER_MODE_EOF =3,    XML_TEXTREADER_MODE_CLOSED = 4,    XML_TEXTREADER_MODE_READING = 5} xmlTextReaderMode; /** * xmlParserProperties: * * Some common options to use with xmlTextReaderSetParserProp, but it * is better to use xmlParserOption and the xmlReaderNewxxx and * xmlReaderForxxx APIs now. */typedef enum {    XML_PARSER_LOADDTD = 1,    XML_PARSER_DEFAULTATTRS = 2,    XML_PARSER_VALIDATE = 3,    XML_PARSER_SUBST_ENTITIES = 4} xmlParserProperties; /** * xmlReaderTypes: * * Predefined constants for the different types of nodes. */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; /** * xmlTextReader: * * Structure for an xmlReader context. */typedef struct _xmlTextReader xmlTextReader; /** * xmlTextReaderPtr: * * Pointer to an xmlReader context. */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); XMLPUBFUN int XMLCALL            xmlTextReaderSetup(xmlTextReaderPtr reader,                   xmlParserInputBufferPtr input, const char *URL,                   const char *encoding, int options); /* * Iterators */XMLPUBFUN int XMLCALL			xmlTextReaderRead	(xmlTextReaderPtr reader); #ifdef LIBXML_WRITER_ENABLEDXMLPUBFUN xmlChar * XMLCALL			xmlTextReaderReadInnerXml(xmlTextReaderPtr reader); XMLPUBFUN xmlChar * XMLCALL			xmlTextReaderReadOuterXml(xmlTextReaderPtr reader);#endif XMLPUBFUN xmlChar * XMLCALL			xmlTextReaderReadString	(xmlTextReaderPtr reader);XMLPUBFUN int XMLCALL			xmlTextReaderReadAttributeValue(xmlTextReaderPtr reader); /* * Attributes of the node */XMLPUBFUN int XMLCALL			xmlTextReaderAttributeCount(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 int XMLCALL			xmlTextReaderNodeType	(xmlTextReaderPtr reader);XMLPUBFUN int XMLCALL			xmlTextReaderQuoteChar	(xmlTextReaderPtr reader);XMLPUBFUN int XMLCALL			xmlTextReaderReadState	(xmlTextReaderPtr reader);XMLPUBFUN int XMLCALL                        xmlTextReaderIsNamespaceDecl(xmlTextReaderPtr reader); XMLPUBFUN const xmlChar * XMLCALL		    xmlTextReaderConstBaseUri	(xmlTextReaderPtr reader);XMLPUBFUN const xmlChar * XMLCALL		    xmlTextReaderConstLocalName	(xmlTextReaderPtr reader);XMLPUBFUN const xmlChar * XMLCALL		    xmlTextReaderConstName	(xmlTextReaderPtr reader);XMLPUBFUN const xmlChar * XMLCALL		    xmlTextReaderConstNamespaceUri(xmlTextReaderPtr reader);XMLPUBFUN const xmlChar * XMLCALL		    xmlTextReaderConstPrefix	(xmlTextReaderPtr reader);XMLPUBFUN const xmlChar * XMLCALL		    xmlTextReaderConstXmlLang	(xmlTextReaderPtr reader);XMLPUBFUN const xmlChar * XMLCALL		    xmlTextReaderConstString	(xmlTextReaderPtr reader,						 const xmlChar *str);XMLPUBFUN const xmlChar * XMLCALL		    xmlTextReaderConstValue	(xmlTextReaderPtr reader); /* * use the Const version of the routine for * better performance and simpler code */XMLPUBFUN xmlChar * XMLCALL			xmlTextReaderBaseUri	(xmlTextReaderPtr reader);XMLPUBFUN xmlChar * XMLCALL			xmlTextReaderLocalName	(xmlTextReaderPtr reader);XMLPUBFUN xmlChar * XMLCALL			xmlTextReaderName	(xmlTextReaderPtr reader);XMLPUBFUN xmlChar * XMLCALL			xmlTextReaderNamespaceUri(xmlTextReaderPtr reader);XMLPUBFUN xmlChar * XMLCALL			xmlTextReaderPrefix	(xmlTextReaderPtr reader);XMLPUBFUN xmlChar * XMLCALL			xmlTextReaderXmlLang	(xmlTextReaderPtr reader);XMLPUBFUN xmlChar * XMLCALL			xmlTextReaderValue	(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);XMLPUBFUN const xmlChar * XMLCALL		    xmlTextReaderConstEncoding  (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 int XMLCALL            xmlTextReaderGetParserLineNumber(xmlTextReaderPtr reader); XMLPUBFUN int XMLCALL            xmlTextReaderGetParserColumnNumber(xmlTextReaderPtr reader); XMLPUBFUN xmlNodePtr XMLCALL		    xmlTextReaderPreserve	(xmlTextReaderPtr reader);#ifdef LIBXML_PATTERN_ENABLEDXMLPUBFUN int XMLCALL		    xmlTextReaderPreservePattern(xmlTextReaderPtr reader,						 const xmlChar *pattern,						 const xmlChar **namespaces);#endif /* LIBXML_PATTERN_ENABLED */XMLPUBFUN xmlDocPtr XMLCALL		    xmlTextReaderCurrentDoc	(xmlTextReaderPtr reader);XMLPUBFUN xmlNodePtr XMLCALL		    xmlTextReaderExpand		(xmlTextReaderPtr reader);XMLPUBFUN int XMLCALL		    xmlTextReaderNext		(xmlTextReaderPtr reader);XMLPUBFUN int XMLCALL		    xmlTextReaderNextSibling	(xmlTextReaderPtr reader);XMLPUBFUN int XMLCALL		    xmlTextReaderIsValid	(xmlTextReaderPtr reader);#ifdef LIBXML_SCHEMAS_ENABLEDXMLPUBFUN int XMLCALL		    xmlTextReaderRelaxNGValidate(xmlTextReaderPtr reader,						 const char *rng);XMLPUBFUN int XMLCALL		    xmlTextReaderRelaxNGValidateCtxt(xmlTextReaderPtr reader,						 xmlRelaxNGValidCtxtPtr ctxt,						 int options); XMLPUBFUN int XMLCALL		    xmlTextReaderRelaxNGSetSchema(xmlTextReaderPtr reader,						 xmlRelaxNGPtr schema);XMLPUBFUN int XMLCALL		    xmlTextReaderSchemaValidate	(xmlTextReaderPtr reader,						 const char *xsd);XMLPUBFUN int XMLCALL		    xmlTextReaderSchemaValidateCtxt(xmlTextReaderPtr reader,						 xmlSchemaValidCtxtPtr ctxt,						 int options);XMLPUBFUN int XMLCALL		    xmlTextReaderSetSchema	(xmlTextReaderPtr reader,						 xmlSchemaPtr schema);#endifXMLPUBFUN const xmlChar * XMLCALL		    xmlTextReaderConstXmlVersion(xmlTextReaderPtr reader);XMLPUBFUN int XMLCALL		    xmlTextReaderStandalone     (xmlTextReaderPtr reader);  /* * Index lookup */XMLPUBFUN long XMLCALL		xmlTextReaderByteConsumed	(xmlTextReaderPtr reader); /* * New more complete APIs for simpler creation and reuse of readers */XMLPUBFUN xmlTextReaderPtr XMLCALL		xmlReaderWalker		(xmlDocPtr doc);XMLPUBFUN xmlTextReaderPtr XMLCALL		xmlReaderForDoc		(const xmlChar * cur,					 const char *URL,					 const char *encoding,					 int options);XMLPUBFUN xmlTextReaderPtr XMLCALL		xmlReaderForFile	(const char *filename,					 const char *encoding,					 int options);XMLPUBFUN xmlTextReaderPtr XMLCALL		xmlReaderForMemory	(const char *buffer,					 int size,					 const char *URL,					 const char *encoding,					 int options);XMLPUBFUN xmlTextReaderPtr XMLCALL		xmlReaderForFd		(int fd,					 const char *URL,					 const char *encoding,					 int options);XMLPUBFUN xmlTextReaderPtr XMLCALL		xmlReaderForIO		(xmlInputReadCallback ioread,					 xmlInputCloseCallback ioclose,					 void *ioctx,					 const char *URL,					 const char *encoding,					 int options); XMLPUBFUN int XMLCALL		xmlReaderNewWalker	(xmlTextReaderPtr reader,					 xmlDocPtr doc);XMLPUBFUN int XMLCALL		xmlReaderNewDoc		(xmlTextReaderPtr reader,					 const xmlChar * cur,					 const char *URL,					 const char *encoding,					 int options);XMLPUBFUN int XMLCALL		xmlReaderNewFile	(xmlTextReaderPtr reader,					 const char *filename,					 const char *encoding,					 int options);XMLPUBFUN int XMLCALL		xmlReaderNewMemory	(xmlTextReaderPtr reader,					 const char *buffer,					 int size,					 const char *URL,					 const char *encoding,					 int options);XMLPUBFUN int XMLCALL		xmlReaderNewFd		(xmlTextReaderPtr reader,					 int fd,					 const char *URL,					 const char *encoding,					 int options);XMLPUBFUN int XMLCALL		xmlReaderNewIO		(xmlTextReaderPtr reader,					 xmlInputReadCallback ioread,					 xmlInputCloseCallback ioclose,					 void *ioctx,					 const char *URL,					 const char *encoding,					 int options);/* * Error handling extensions */typedef void *  xmlTextReaderLocatorPtr; /** * xmlTextReaderErrorFunc: * @arg: the user argument * @msg: the message * @severity: the severity of the error * @locator: a locator indicating where the error occured * * Signature of an error callback from a reader parser */typedef void (XMLCALL *xmlTextReaderErrorFunc)(void *arg,					       const char *msg,					       xmlParserSeverities severity,					       xmlTextReaderLocatorPtr locator);XMLPUBFUN int XMLCALL	    xmlTextReaderLocatorLineNumber(xmlTextReaderLocatorPtr locator);XMLPUBFUN xmlChar * XMLCALL	    xmlTextReaderLocatorBaseURI (xmlTextReaderLocatorPtr locator);XMLPUBFUN void XMLCALL	    xmlTextReaderSetErrorHandler(xmlTextReaderPtr reader,					 xmlTextReaderErrorFunc f,					 void *arg);XMLPUBFUN void XMLCALL	    xmlTextReaderSetStructuredErrorHandler(xmlTextReaderPtr reader,						   xmlStructuredErrorFunc f,						   void *arg);XMLPUBFUN void XMLCALL	    xmlTextReaderGetErrorHandler(xmlTextReaderPtr reader,					 xmlTextReaderErrorFunc *f,					 void **arg); #endif /* LIBXML_READER_ENABLED */ #ifdef __cplusplus}#endif #endif /* __XML_XMLREADER_H__ */ 

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t