* 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: Patrick Monnerat , DATASPHERE S.A. /if not defined(XML_XMLREADER_H__) /define XML_XMLREADER_H__ /include "libxmlrpg/xmlversion" /include "libxmlrpg/xmlTypesC" /include "libxmlrpg/tree" /include "libxmlrpg/xmlIO" /if defined(LIBXML_SCHEMAS_ENABLED) /include "libxmlrpg/relaxng" /include "libxmlrpg/xmlschemas" /endif * xmlParserSeverities: * * How severe an error callback is when the per-reader error callback API * is used. d xmlParserSeverities... d s based(######typedef######) d like(xmlCenum) d XML_PARSER_SEVERITY_VALIDITY_WARNING... d c 1 d XML_PARSER_SEVERITY_VALIDITY_ERROR... d c 2 d XML_PARSER_SEVERITY_WARNING... d c 3 d XML_PARSER_SEVERITY_ERROR... d c 4 /if defined(LIBXML_READER_ENABLED) * xmlTextReaderMode: * * Internal state values for the reader. d xmlTextReaderMode... d s based(######typedef######) d like(xmlCenum) d XML_TEXTREADER_MODE_INITIAL... d c 0 d XML_TEXTREADER_MODE_INTERACTIVE... d c 1 d XML_TEXTREADER_MODE_ERROR... d c 2 d XML_TEXTREADER_MODE_EOF... d c 3 d XML_TEXTREADER_MODE_CLOSED... d c 4 d XML_TEXTREADER_MODE_READING... d c 5 * xmlParserProperties: * * Some common options to use with xmlTextReaderSetParserProp, but it * is better to use xmlParserOption and the xmlReaderNewxxx and * xmlReaderForxxx APIs now. d xmlParserProperties... d s based(######typedef######) d like(xmlCenum) d XML_PARSER_LOADDTD... d c 1 d XML_PARSER_DEFAULTATTRS... d c 2 d XML_PARSER_VALIDATE... d c 3 d XML_PARSER_SUBST_ENTITIES... d c 4 * xmlReaderTypes: * * Predefined constants for the different types of nodes. d xmlReaderTypes s based(######typedef######) d like(xmlCenum) d XML_READER_TYPE_NONE... d c 0 d XML_READER_TYPE_ELEMENT... d c 1 d XML_READER_TYPE_ATTRIBUTE... d c 2 d XML_READER_TYPE_TEXT... d c 3 d XML_READER_TYPE_CDATA... d c 4 d XML_READER_TYPE_ENTITY_REFERENCE... d c 5 d XML_READER_TYPE_ENTITY... d c 6 d XML_READER_TYPE_PROCESSING_INSTRUCTION... d c 7 d XML_READER_TYPE_COMMENT... d c 8 d XML_READER_TYPE_DOCUMENT... d c 9 d XML_READER_TYPE_DOCUMENT_TYPE... d c 10 d XML_READER_TYPE_DOCUMENT_FRAGMENT... d c 11 d XML_READER_TYPE_NOTATION... d c 12 d XML_READER_TYPE_WHITESPACE... d c 13 d XML_READER_TYPE_SIGNIFICANT_WHITESPACE... d c 14 d XML_READER_TYPE_END_ELEMENT... d c 15 d XML_READER_TYPE_END_ENTITY... d c 16 d XML_READER_TYPE_XML_DECLARATION... d c 17 * xmlTextReaderPtr: * * Pointer to an xmlReader context. d xmlTextReaderPtr... d s * based(######typedef######) * Constructors & Destructor d xmlNewTextReader... d pr extproc('xmlNewTextReader') d like(xmlTextReaderPtr) d input value like(xmlParserInputBufferPtr) d URI * value options(*string) const char * d xmlNewTextReaderFilename... d pr extproc('xmlNewTextReaderFilename') d like(xmlTextReaderPtr) d URI * value options(*string) const char * d xmlFreeTextReader... d pr extproc('xmlFreeTextReader') d reader value like(xmlTextReaderPtr) d xmlTextReaderSetup... d pr extproc('xmlTextReaderSetup') d like(xmlCint) d reader value like(xmlTextReaderPtr) d input value like(xmlParserInputBufferPtr) d URL * value options(*string) const char * d encoding * value options(*string) const char * d options value like(xmlCint) * Iterators d xmlTextReaderRead... d pr extproc('xmlTextReaderRead') d like(xmlCint) d reader value like(xmlTextReaderPtr) /if defined(LIBXML_WRITER_ENABLED) d xmlTextReaderReadInnerXml... d pr * extproc('xmlTextReaderReadInnerXml') xmlChar * d reader value like(xmlTextReaderPtr) d xmlTextReaderReadOuterXml... d pr * extproc('xmlTextReaderReadOuterXml') xmlChar * d reader value like(xmlTextReaderPtr) /endif d xmlTextReaderReadString... d pr * extproc('xmlTextReaderReadString') xmlChar * d reader value like(xmlTextReaderPtr) d xmlTextReaderReadAttributeValue... d pr extproc( d 'xmlTextReaderReadAttributeValue') d like(xmlCint) d reader value like(xmlTextReaderPtr) * Attributes of the node d xmlTextReaderAttributeCount... d pr extproc( d 'xmlTextReaderAttributeCount') d like(xmlCint) d reader value like(xmlTextReaderPtr) d xmlTextReaderDepth... d pr extproc('xmlTextReaderDepth') d like(xmlCint) d reader value like(xmlTextReaderPtr) d xmlTextReaderHasAttributes... d pr extproc('xmlTextReaderHasAttributes') d like(xmlCint) d reader value like(xmlTextReaderPtr) d xmlTextReaderHasValue... d pr extproc('xmlTextReaderHasValue') d like(xmlCint) d reader value like(xmlTextReaderPtr) d xmlTextReaderIsDefault... d pr extproc('xmlTextReaderIsDefault') d like(xmlCint) d reader value like(xmlTextReaderPtr) d xmlTextReaderIsEmptyElement... d pr extproc( d 'xmlTextReaderIsEmptyElement') d like(xmlCint) d reader value like(xmlTextReaderPtr) d xmlTextReaderNodeType... d pr extproc('xmlTextReaderNodeType') d like(xmlCint) d reader value like(xmlTextReaderPtr) d xmlTextReaderQuoteChar... d pr extproc('xmlTextReaderQuoteChar') d like(xmlCint) d reader value like(xmlTextReaderPtr) d xmlTextReaderReadState... d pr extproc('xmlTextReaderReadState') d like(xmlCint) d reader value like(xmlTextReaderPtr) d xmlTextReaderIsNamespaceDecl... d pr extproc( d 'xmlTextReaderIsNamespaceDecl') d like(xmlCint) d reader value like(xmlTextReaderPtr) d xmlTextReaderConstBaseUri... d pr * extproc('xmlTextReaderConstBaseUri') const xmlChar * d reader value like(xmlTextReaderPtr) d xmlTextReaderConstLocalName... d pr * extproc( const xmlChar * d 'xmlTextReaderConstLocalName') d reader value like(xmlTextReaderPtr) d xmlTextReaderConstName... d pr * extproc('xmlTextReaderConstName') const xmlChar * d reader value like(xmlTextReaderPtr) d xmlTextReaderConstNamespaceUri... d pr * extproc( const xmlChar * d 'xmlTextReaderConstNamespaceUri') d reader value like(xmlTextReaderPtr) d xmlTextReaderConstPrefix... d pr * extproc('xmlTextReaderConstPrefix') const xmlChar * d reader value like(xmlTextReaderPtr) d xmlTextReaderConstXmlLang... d pr * extproc('xmlTextReaderConstXmlLang') const xmlChar * d reader value like(xmlTextReaderPtr) d xmlTextReaderConstString... d pr * extproc('xmlTextReaderConstString') const xmlChar * d reader value like(xmlTextReaderPtr) d str * value options(*string) const xmlChar * d xmlTextReaderConstValue... d pr * extproc('xmlTextReaderConstValue') const xmlChar * d reader value like(xmlTextReaderPtr) * use the Const version of the routine for * better performance and simpler code d xmlTextReaderBaseUri... d pr * extproc('xmlTextReaderBaseUri') xmlChar * d reader value like(xmlTextReaderPtr) d xmlTextReaderLocalName... d pr * extproc('xmlTextReaderLocalName') xmlChar * d reader value like(xmlTextReaderPtr) d xmlTextReaderName... d pr * extproc('xmlTextReaderName') xmlChar * d reader value like(xmlTextReaderPtr) d xmlTextReaderNamespaceUri... d pr * extproc('xmlTextReaderNamespaceUri') xmlChar * d reader value like(xmlTextReaderPtr) d xmlTextReaderPrefix... d pr * extproc('xmlTextReaderPrefix') xmlChar * d reader value like(xmlTextReaderPtr) d xmlTextReaderXmlLang... d pr * extproc('xmlTextReaderXmlLang') xmlChar * d reader value like(xmlTextReaderPtr) d xmlTextReaderValue... d pr * extproc('xmlTextReaderValue') xmlChar * d reader value like(xmlTextReaderPtr) * Methods of the XmlTextReader d xmlTextReaderClose... d pr extproc('xmlTextReaderClose') d like(xmlCint) d reader value like(xmlTextReaderPtr) d xmlTextReaderGetAttributeNo... d pr * extproc( xmlChar * d 'xmlTextReaderGetAttributeNo') d reader value like(xmlTextReaderPtr) d no value like(xmlCint) d xmlTextReaderGetAttribute... d pr * extproc('xmlTextReaderGetAttribute') xmlChar * d reader value like(xmlTextReaderPtr) d name * value options(*string) const xmlChar * d xmlTextReaderGetAttributeNs... d pr * extproc( xmlChar * d 'xmlTextReaderGetAttributeNs') d reader value like(xmlTextReaderPtr) d localName * value options(*string) const xmlChar * d namespaceURI * value options(*string) const xmlChar * d xmlTextReaderGetRemainder... d pr extproc('xmlTextReaderGetRemainder') d like(xmlParserInputBufferPtr) d reader value like(xmlTextReaderPtr) d xmlTextReaderLookupNamespace... d pr * extproc( xmlChar * d 'xmlTextReaderLookupNamespace') d reader value like(xmlTextReaderPtr) d prefix * value options(*string) const xmlChar * d xmlTextReaderMoveToAttributeNo... d pr extproc( d 'xmlTextReaderMoveToAttributeNo') d like(xmlCint) d reader value like(xmlTextReaderPtr) d no value like(xmlCint) d xmlTextReaderMoveToAttribute... d pr extproc( d 'xmlTextReaderMoveToAttribute') d like(xmlCint) d reader value like(xmlTextReaderPtr) d name * value options(*string) const xmlChar * d xmlTextReaderMoveToAttributeNs... d pr extproc( d 'xmlTextReaderMoveToAttributeNs') d like(xmlCint) d reader value like(xmlTextReaderPtr) d localName * value options(*string) const xmlChar * d namespaceURI * value options(*string) const xmlChar * d xmlTextReaderMoveToFirstAttribute... d pr extproc( d 'xmlTextReaderMoveToFirstAttribute') d like(xmlCint) d reader value like(xmlTextReaderPtr) d xmlTextReaderMoveToNextAttribute... d pr extproc( d 'xmlTextReaderMoveToNextAttribute') d like(xmlCint) d reader value like(xmlTextReaderPtr) d xmlTextReaderMoveToElement... d pr extproc('xmlTextReaderMoveToElement') d like(xmlCint) d reader value like(xmlTextReaderPtr) d xmlTextReaderNormalization... d pr extproc('xmlTextReaderNormalization') d like(xmlCint) d reader value like(xmlTextReaderPtr) d xmlTextReaderConstEncoding... d pr * extproc('xmlTextReaderConstEncoding')const xmlChar * d reader value like(xmlTextReaderPtr) * Extensions d xmlTextReaderSetParserProp... d pr extproc('xmlTextReaderSetParserProp') d like(xmlCint) d reader value like(xmlTextReaderPtr) d prop value like(xmlCint) d value value like(xmlCint) d xmlTextReaderGetParserProp... d pr extproc('xmlTextReaderGetParserProp') d like(xmlCint) d reader value like(xmlTextReaderPtr) d prop value like(xmlCint) d xmlTextReaderCurrentNode... d pr extproc('xmlTextReaderCurrentNode') d like(xmlNodePtr) d reader value like(xmlTextReaderPtr) d xmlTextReaderGetParserLineNumber... d pr extproc( d 'xmlTextReaderGetParserLineNumber') d like(xmlCint) d reader value like(xmlTextReaderPtr) d xmlTextReaderGetParserColumnNumber... d pr extproc( d 'xmlTextReaderGetParserColumnNumber') d like(xmlCint) d reader value like(xmlTextReaderPtr) d xmlTextReaderPreserve... d pr extproc('xmlTextReaderPreserve') d like(xmlNodePtr) d reader value like(xmlTextReaderPtr) /if defined(LIBXML_PATTERN_ENABLED) d xmlTextReaderPreservePattern... d pr extproc( d 'xmlTextReaderPreservePattern') d like(xmlCint) d reader value like(xmlTextReaderPtr) d pattern * value options(*string) const xmlChar * d namespaces * const xmlChar *(*) /endif LIBXML_PATTERN_ENBLD d xmlTextReaderCurrentDoc... d pr extproc('xmlTextReaderCurrentDoc') d like(xmlDocPtr) d reader value like(xmlTextReaderPtr) d xmlTextReaderExpand... d pr extproc('xmlTextReaderExpand') d like(xmlNodePtr) d reader value like(xmlTextReaderPtr) d xmlTextReaderNext... d pr extproc('xmlTextReaderNext') d like(xmlCint) d reader value like(xmlTextReaderPtr) d xmlTextReaderNextSibling... d pr extproc('xmlTextReaderNextSibling') d like(xmlCint) d reader value like(xmlTextReaderPtr) d xmlTextReaderIsValid... d pr extproc('xmlTextReaderIsValid') d like(xmlCint) d reader value like(xmlTextReaderPtr) /if defined(LIBXML_SCHEMAS_ENABLED) d xmlTextReaderRelaxNGValidate... d pr extproc( d 'xmlTextReaderRelaxNGValidate') d like(xmlCint) d reader value like(xmlTextReaderPtr) d rng * value options(*string) const char * d xmlTextReaderRelaxNGValidateCtxt... d pr extproc( d 'xmlTextReaderRelaxNGValidateCtxt') d like(xmlCint) d reader value like(xmlTextReaderPtr) d ctxt value like(xmlRelaxNGValidCtxtPtr) d options value like(xmlCint) d xmlTextReaderRelaxNGSetSchema... d pr extproc( d 'xmlTextReaderRelaxNGSetSchema') d like(xmlCint) d reader value like(xmlTextReaderPtr) d schema value like(xmlRelaxNGPtr) d xmlTextReaderSchemaValidate... d pr extproc( d 'xmlTextReaderSchemaValidate') d like(xmlCint) d reader value like(xmlTextReaderPtr) d xsd * value options(*string) const char * d xmlTextReaderSchemaValidateCtxt... d pr extproc( d 'xmlTextReaderSchemaValidateCtxt') d like(xmlCint) d reader value like(xmlTextReaderPtr) d ctxt value like(xmlSchemaValidCtxtPtr) d options value like(xmlCint) d xmlTextReaderSetSchema... d pr extproc('xmlTextReaderSetSchema') d like(xmlCint) d reader value like(xmlTextReaderPtr) d schema value like(xmlSchemaPtr) /endif d xmlTextReaderConstXmlVersion... d pr * extproc( const xmlChar * d 'xmlTextReaderConstXmlVersion') d reader value like(xmlTextReaderPtr) d xmlTextReaderStandalone... d pr extproc('xmlTextReaderStandalone') d like(xmlCint) d reader value like(xmlTextReaderPtr) * Index lookup d xmlTextReaderByteConsumed... d pr extproc('xmlTextReaderByteConsumed') d like(xmlClong) d reader value like(xmlTextReaderPtr) * New more complete APIs for simpler creation and reuse of readers d xmlReaderWalker... d pr extproc('xmlReaderWalker') d like(xmlTextReaderPtr) d doc value like(xmlDocPtr) d xmlReaderForDoc... d pr extproc('xmlReaderForDoc') d like(xmlTextReaderPtr) d cur * value options(*string) const xmlChar * d URL * value options(*string) const char * d encoding * value options(*string) const char * d options value like(xmlCint) d xmlReaderForFile... d pr extproc('xmlReaderForFile') d like(xmlTextReaderPtr) d filename * value options(*string) const char * d encoding * value options(*string) const char * d options value like(xmlCint) d xmlReaderForMemory... d pr extproc('xmlReaderForMemory') d like(xmlTextReaderPtr) d buffer * value options(*string) const char * d size value like(xmlCint) d URL * value options(*string) const char * d encoding * value options(*string) const char * d options value like(xmlCint) d xmlReaderForFd pr extproc('xmlReaderForFd') d like(xmlTextReaderPtr) d fd value like(xmlCint) d URL * value options(*string) const char * d encoding * value options(*string) const char * d options value like(xmlCint) d xmlReaderForIO pr extproc('xmlReaderForIO') d like(xmlTextReaderPtr) d ioread value like(xmlInputReadCallback) d ioclose value like(xmlInputCloseCallback) d ioctx * value void * d URL * value options(*string) const char * d encoding * value options(*string) const char * d options value like(xmlCint) d xmlReaderNewWalker... d pr extproc('xmlReaderNewWalker') d like(xmlCint) d reader value like(xmlTextReaderPtr) d doc value like(xmlDocPtr) d xmlReaderNewDoc... d pr extproc('xmlReaderNewDoc') d like(xmlCint) d reader value like(xmlTextReaderPtr) d cur * value options(*string) const xmlChar * d URL * value options(*string) const char * d encoding * value options(*string) const char * d options value like(xmlCint) d xmlReaderNewFile... d pr extproc('xmlReaderNewFile') d like(xmlCint) d reader value like(xmlTextReaderPtr) d filename * value options(*string) const char * d encoding * value options(*string) const char * d options value like(xmlCint) d xmlReaderNewMemory... d pr extproc('xmlReaderNewMemory') d like(xmlCint) d reader value like(xmlTextReaderPtr) d buffer * value options(*string) const char * d size value like(xmlCint) d URL * value options(*string) const char * d encoding * value options(*string) const char * d options value like(xmlCint) d xmlReaderNewFd pr extproc('xmlReaderNewFd') d like(xmlCint) d reader value like(xmlTextReaderPtr) d fd value like(xmlCint) d URL * value options(*string) const char * d encoding * value options(*string) const char * d options value like(xmlCint) d xmlReaderNewIO pr extproc('xmlReaderNewIO') d like(xmlCint) d reader value like(xmlTextReaderPtr) d ioread value like(xmlInputReadCallback) d ioclose value like(xmlInputCloseCallback) d ioctx * value void * d URL * value options(*string) const char * d encoding * value options(*string) const char * d options value like(xmlCint) * Error handling extensions d xmlTextReaderLocatorPtr... d s * based(######typedef######) void * * xmlTextReaderErrorFunc: * @arg: the user argument * @msg: the message * @severity: the severity of the error * @locator: a locator indicating where the error occurred * * Signature of an error callback from a reader parser d xmlTextReaderErrorFunc... d s * based(######typedef######) d procptr d xmlTextReaderLocatorLineNumber... d pr extproc( d 'xmlTextReaderLocatorLineNumber') d like(xmlCint) d locator value like(xmlTextReaderLocatorPtr) d xmlTextReaderLocatorBaseURI... d pr * extproc( xmlChar * d 'xmlTextReaderLocatorBaseURI') d locator value like(xmlTextReaderLocatorPtr) d xmlTextReaderSetErrorHandler... d pr extproc( d 'xmlTextReaderSetErrorHandler') d reader value like(xmlTextReaderPtr) d f value like(xmlTextReaderErrorFunc) d arg * value void * d xmlTextReaderSetStructuredErrorHandler... d pr extproc('xmlTextReaderSetStructuredE- d rrorHandler') d reader value like(xmlTextReaderPtr) d f value like(xmlStructuredErrorFunc) d arg * value void * d xmlTextReaderGetErrorHandler... d pr extproc( d 'xmlTextReaderGetErrorHandler') d reader value like(xmlTextReaderPtr) d f like(xmlTextReaderErrorFunc) d arg * void *(*) /endif LIBXML_READER_ENABLD /endif XML_XMLREADER_H__