libxml2 Reference Manual |
---|
xmlreader
xmlreader - the XMLReader implementation
API of the XML streaming API based on C# interfaces.
Author(s): Daniel Veillard
Synopsis
typedef xmlTextReader * xmlTextReaderPtr; typedef enum xmlParserSeverities; typedef enum xmlParserProperties; typedef enum xmlTextReaderMode; typedef struct _xmlTextReader xmlTextReader; typedef void * xmlTextReaderLocatorPtr; typedef enum xmlReaderTypes; xmlTextReaderPtr xmlNewTextReaderFilename (const char * URI); int xmlTextReaderHasAttributes (xmlTextReaderPtr reader); int xmlTextReaderReadState (xmlTextReaderPtr reader); xmlTextReaderPtr xmlReaderForFile (const char * filename,
const char * encoding,
int options); const xmlChar * xmlTextReaderConstNamespaceUri (xmlTextReaderPtr reader); xmlDocPtr xmlTextReaderCurrentDoc (xmlTextReaderPtr reader); int xmlTextReaderGetParserLineNumber (xmlTextReaderPtr reader); xmlNodePtr xmlTextReaderExpand (xmlTextReaderPtr reader); xmlChar * xmlTextReaderXmlLang (xmlTextReaderPtr reader); xmlTextReaderPtr xmlReaderForDoc (const xmlChar * cur,
const char * URL,
const char * encoding,
int options); int xmlReaderNewIO (xmlTextReaderPtr reader,
xmlInputReadCallback ioread,
xmlInputCloseCallback ioclose,
void * ioctx,
const char * URL,
const char * encoding,
int options); int xmlTextReaderClose (xmlTextReaderPtr reader); xmlChar * xmlTextReaderReadInnerXml (xmlTextReaderPtr reader); const xmlChar * xmlTextReaderConstEncoding (xmlTextReaderPtr reader); int xmlTextReaderNormalization (xmlTextReaderPtr reader); int xmlTextReaderGetParserProp (xmlTextReaderPtr reader,
int prop); int xmlTextReaderMoveToAttribute (xmlTextReaderPtr reader,
const xmlChar * name); int xmlTextReaderQuoteChar (xmlTextReaderPtr reader); int xmlTextReaderSetSchema (xmlTextReaderPtr reader,
xmlSchemaPtr schema); xmlChar * xmlTextReaderValue (xmlTextReaderPtr reader); int xmlTextReaderIsValid (xmlTextReaderPtr reader); int xmlTextReaderMoveToFirstAttribute (xmlTextReaderPtr reader); int xmlTextReaderGetParserColumnNumber (xmlTextReaderPtr reader); const xmlChar * xmlTextReaderConstValue (xmlTextReaderPtr reader); xmlTextReaderPtr xmlNewTextReader (xmlParserInputBufferPtr input,
const char * URI); xmlChar * xmlTextReaderGetAttributeNo (xmlTextReaderPtr reader,
int no); xmlChar * xmlTextReaderGetAttributeNs (xmlTextReaderPtr reader,
const xmlChar * localName,
const xmlChar * namespaceURI); const xmlChar * xmlTextReaderConstName (xmlTextReaderPtr reader); const xmlChar * xmlTextReaderConstString (xmlTextReaderPtr reader,
const xmlChar * str); const xmlChar * xmlTextReaderConstXmlVersion (xmlTextReaderPtr reader); int xmlTextReaderDepth (xmlTextReaderPtr reader); xmlChar * xmlTextReaderReadString (xmlTextReaderPtr reader); int xmlTextReaderIsDefault (xmlTextReaderPtr reader); int xmlTextReaderMoveToNextAttribute (xmlTextReaderPtr reader); int xmlReaderNewWalker (xmlTextReaderPtr reader,
xmlDocPtr doc); const xmlChar * xmlTextReaderConstPrefix (xmlTextReaderPtr reader); xmlTextReaderPtr xmlReaderWalker (xmlDocPtr doc); const xmlChar * xmlTextReaderConstLocalName (xmlTextReaderPtr reader); int xmlTextReaderNodeType (xmlTextReaderPtr reader); void xmlFreeTextReader (xmlTextReaderPtr reader); xmlChar * xmlTextReaderName (xmlTextReaderPtr reader); int xmlTextReaderRead (xmlTextReaderPtr reader); int xmlTextReaderIsEmptyElement (xmlTextReaderPtr reader); int xmlReaderNewMemory (xmlTextReaderPtr reader,
const char * buffer,
int size,
const char * URL,
const char * encoding,
int options); int xmlTextReaderSchemaValidateCtxt (xmlTextReaderPtr reader,
xmlSchemaValidCtxtPtr ctxt,
int options); int xmlTextReaderHasValue (xmlTextReaderPtr reader); const xmlChar * xmlTextReaderConstBaseUri (xmlTextReaderPtr reader); xmlChar * xmlTextReaderBaseUri (xmlTextReaderPtr reader); int xmlTextReaderMoveToAttributeNo (xmlTextReaderPtr reader,
int no); int xmlTextReaderLocatorLineNumber (xmlTextReaderLocatorPtr locator); int xmlTextReaderMoveToAttributeNs (xmlTextReaderPtr reader,
const xmlChar * localName,
const xmlChar * namespaceURI); int xmlTextReaderNext (xmlTextReaderPtr reader); int xmlTextReaderAttributeCount (xmlTextReaderPtr reader); xmlChar * xmlTextReaderLookupNamespace (xmlTextReaderPtr reader,
const xmlChar * prefix); int xmlTextReaderMoveToElement (xmlTextReaderPtr reader); xmlTextReaderPtr xmlReaderForIO (xmlInputReadCallback ioread,
xmlInputCloseCallback ioclose,
void * ioctx,
const char * URL,
const char * encoding,
int options); xmlChar * xmlTextReaderReadOuterXml (xmlTextReaderPtr reader); int xmlTextReaderRelaxNGValidateCtxt (xmlTextReaderPtr reader,
xmlRelaxNGValidCtxtPtr ctxt,
int options); xmlChar * xmlTextReaderPrefix (xmlTextReaderPtr reader); int xmlTextReaderReadAttributeValue (xmlTextReaderPtr reader); int xmlTextReaderNextSibling (xmlTextReaderPtr reader); typedef void xmlTextReaderErrorFunc (void * arg,
const char * msg,
xmlParserSeverities severity,
xmlTextReaderLocatorPtr locator); xmlTextReaderPtr xmlReaderForFd (int fd,
const char * URL,
const char * encoding,
int options); xmlChar * xmlTextReaderGetAttribute (xmlTextReaderPtr reader,
const xmlChar * name); xmlChar * xmlTextReaderLocalName (xmlTextReaderPtr reader); xmlNodePtr xmlTextReaderPreserve (xmlTextReaderPtr reader); xmlNodePtr xmlTextReaderCurrentNode (xmlTextReaderPtr reader); int xmlTextReaderSetParserProp (xmlTextReaderPtr reader,
int prop,
int value); xmlParserInputBufferPtr xmlTextReaderGetRemainder (xmlTextReaderPtr reader); void xmlTextReaderSetErrorHandler (xmlTextReaderPtr reader,
xmlTextReaderErrorFunc f,
void * arg); int xmlTextReaderIsNamespaceDecl (xmlTextReaderPtr reader); int xmlReaderNewDoc (xmlTextReaderPtr reader,
const xmlChar * cur,
const char * URL,
const char * encoding,
int options); int xmlTextReaderPreservePattern (xmlTextReaderPtr reader,
const xmlChar * pattern,
const xmlChar ** namespaces); const xmlChar * xmlTextReaderConstXmlLang (xmlTextReaderPtr reader); void xmlTextReaderGetErrorHandler (xmlTextReaderPtr reader,
xmlTextReaderErrorFunc * f,
void ** arg); void xmlTextReaderSetStructuredErrorHandler (xmlTextReaderPtr reader,
xmlStructuredErrorFunc f,
void * arg); int xmlReaderNewFile (xmlTextReaderPtr reader,
const char * filename,
const char * encoding,
int options); int xmlTextReaderRelaxNGSetSchema (xmlTextReaderPtr reader,
xmlRelaxNGPtr schema); int xmlReaderNewFd (xmlTextReaderPtr reader,
int fd,
const char * URL,
const char * encoding,
int options); int xmlTextReaderRelaxNGValidate (xmlTextReaderPtr reader,
const char * rng); xmlTextReaderPtr xmlReaderForMemory (const char * buffer,
int size,
const char * URL,
const char * encoding,
int options); int xmlTextReaderSetup (xmlTextReaderPtr reader,
xmlParserInputBufferPtr input,
const char * URL,
const char * encoding,
int options); long xmlTextReaderByteConsumed (xmlTextReaderPtr reader); xmlChar * xmlTextReaderLocatorBaseURI (xmlTextReaderLocatorPtr locator); xmlChar * xmlTextReaderNamespaceUri (xmlTextReaderPtr reader); int xmlTextReaderSchemaValidate (xmlTextReaderPtr reader,
const char * xsd); int xmlTextReaderStandalone (xmlTextReaderPtr reader);
Description
Details
Enum xmlParserProperties
enum xmlParserProperties { XML_PARSER_LOADDTD = 1 XML_PARSER_DEFAULTATTRS = 2 XML_PARSER_VALIDATE = 3 XML_PARSER_SUBST_ENTITIES = 4 };
Enum xmlParserSeverities
enum xmlParserSeverities { XML_PARSER_SEVERITY_VALIDITY_WARNING = 1 XML_PARSER_SEVERITY_VALIDITY_ERROR = 2 XML_PARSER_SEVERITY_WARNING = 3 XML_PARSER_SEVERITY_ERROR = 4 };
Enum xmlReaderTypes
enum xmlReaderTypes { 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 };
Structure xmlTextReader
struct _xmlTextReader { The content of this structure is not made public by the API. } xmlTextReader;
Typedef xmlTextReaderLocatorPtr
void * xmlTextReaderLocatorPtr;
Enum xmlTextReaderMode
enum xmlTextReaderMode { 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 };
Function type xmlTextReaderErrorFunc
void xmlTextReaderErrorFunc (void * arg,
const char * msg,
xmlParserSeverities severity,
xmlTextReaderLocatorPtr locator)
Signature of an error callback from a reader parser
arg: | the user argument |
msg: | the message |
severity: | the severity of the error |
locator: | a locator indicating where the error occurred |
xmlFreeTextReader ()
void xmlFreeTextReader (xmlTextReaderPtr reader)
Deallocate all the resources associated to the reader
reader: | the xmlTextReaderPtr |
xmlNewTextReader ()
xmlTextReaderPtr xmlNewTextReader (xmlParserInputBufferPtr input,
const char * URI)
Create an xmlTextReader structure fed with @input
input: | the xmlParserInputBufferPtr used to read data |
URI: | the URI information for the source if available |
Returns: | the new xmlTextReaderPtr or NULL in case of error |
xmlNewTextReaderFilename ()
xmlTextReaderPtr xmlNewTextReaderFilename (const char * URI)
Create an xmlTextReader structure fed with the resource at @URI
URI: | the URI of the resource to process |
Returns: | the new xmlTextReaderPtr or NULL in case of error |
xmlReaderForDoc ()
xmlTextReaderPtr xmlReaderForDoc (const xmlChar * cur,
const char * URL,
const char * encoding,
int options)
Create an xmltextReader for an XML in-memory document. The parsing flags @options are a combination of xmlParserOption.
cur: | a pointer to a zero terminated string |
URL: | the base URL to use for the document |
encoding: | the document encoding, or NULL |
options: | a combination of xmlParserOption |
Returns: | the new reader or NULL in case of error. |
xmlReaderForFd ()
xmlTextReaderPtr xmlReaderForFd (int fd,
const char * URL,
const char * encoding,
int options)
Create an xmltextReader for an XML from a file descriptor. The parsing flags @options are a combination of xmlParserOption. NOTE that the file descriptor will not be closed when the reader is closed or reset.
fd: | an open file descriptor |
URL: | the base URL to use for the document |
encoding: | the document encoding, or NULL |
options: | a combination of xmlParserOption |
Returns: | the new reader or NULL in case of error. |
xmlReaderForFile ()
xmlTextReaderPtr xmlReaderForFile (const char * filename,
const char * encoding,
int options)
parse an XML file from the filesystem or the network. The parsing flags @options are a combination of xmlParserOption.
filename: | a file or URL |
encoding: | the document encoding, or NULL |
options: | a combination of xmlParserOption |
Returns: | the new reader or NULL in case of error. |
xmlReaderForIO ()
xmlTextReaderPtr xmlReaderForIO (xmlInputReadCallback ioread,
xmlInputCloseCallback ioclose,
void * ioctx,
const char * URL,
const char * encoding,
int options)
Create an xmltextReader for an XML document from I/O functions and source. The parsing flags @options are a combination of xmlParserOption.
ioread: | an I/O read function |
ioclose: | an I/O close function |
ioctx: | an I/O handler |
URL: | the base URL to use for the document |
encoding: | the document encoding, or NULL |
options: | a combination of xmlParserOption |
Returns: | the new reader or NULL in case of error. |
xmlReaderForMemory ()
xmlTextReaderPtr xmlReaderForMemory (const char * buffer,
int size,
const char * URL,
const char * encoding,
int options)
Create an xmltextReader for an XML in-memory document. The parsing flags @options are a combination of xmlParserOption.
buffer: | a pointer to a char array |
size: | the size of the array |
URL: | the base URL to use for the document |
encoding: | the document encoding, or NULL |
options: | a combination of xmlParserOption |
Returns: | the new reader or NULL in case of error. |
xmlReaderNewDoc ()
int xmlReaderNewDoc (xmlTextReaderPtr reader,
const xmlChar * cur,
const char * URL,
const char * encoding,
int options)
Setup an xmltextReader to parse an XML in-memory document. The parsing flags @options are a combination of xmlParserOption. This reuses the existing @reader xmlTextReader.
reader: | an XML reader |
cur: | a pointer to a zero terminated string |
URL: | the base URL to use for the document |
encoding: | the document encoding, or NULL |
options: | a combination of xmlParserOption |
Returns: | 0 in case of success and -1 in case of error |
xmlReaderNewFd ()
int xmlReaderNewFd (xmlTextReaderPtr reader,
int fd,
const char * URL,
const char * encoding,
int options)
Setup an xmltextReader to parse an XML from a file descriptor. NOTE that the file descriptor will not be closed when the reader is closed or reset. The parsing flags @options are a combination of xmlParserOption. This reuses the existing @reader xmlTextReader.
reader: | an XML reader |
fd: | an open file descriptor |
URL: | the base URL to use for the document |
encoding: | the document encoding, or NULL |
options: | a combination of xmlParserOption |
Returns: | 0 in case of success and -1 in case of error |
xmlReaderNewFile ()
int xmlReaderNewFile (xmlTextReaderPtr reader,
const char * filename,
const char * encoding,
int options)
parse an XML file from the filesystem or the network. The parsing flags @options are a combination of xmlParserOption. This reuses the existing @reader xmlTextReader.
reader: | an XML reader |
filename: | a file or URL |
encoding: | the document encoding, or NULL |
options: | a combination of xmlParserOption |
Returns: | 0 in case of success and -1 in case of error |
xmlReaderNewIO ()
int xmlReaderNewIO (xmlTextReaderPtr reader,
xmlInputReadCallback ioread,
xmlInputCloseCallback ioclose,
void * ioctx,
const char * URL,
const char * encoding,
int options)
Setup an xmltextReader to parse an XML document from I/O functions and source. The parsing flags @options are a combination of xmlParserOption. This reuses the existing @reader xmlTextReader.
reader: | an XML reader |
ioread: | an I/O read function |
ioclose: | an I/O close function |
ioctx: | an I/O handler |
URL: | the base URL to use for the document |
encoding: | the document encoding, or NULL |
options: | a combination of xmlParserOption |
Returns: | 0 in case of success and -1 in case of error |
xmlReaderNewMemory ()
int xmlReaderNewMemory (xmlTextReaderPtr reader,
const char * buffer,
int size,
const char * URL,
const char * encoding,
int options)
Setup an xmltextReader to parse an XML in-memory document. The parsing flags @options are a combination of xmlParserOption. This reuses the existing @reader xmlTextReader.
reader: | an XML reader |
buffer: | a pointer to a char array |
size: | the size of the array |
URL: | the base URL to use for the document |
encoding: | the document encoding, or NULL |
options: | a combination of xmlParserOption |
Returns: | 0 in case of success and -1 in case of error |
xmlReaderNewWalker ()
int xmlReaderNewWalker (xmlTextReaderPtr reader,
xmlDocPtr doc)
Setup an xmltextReader to parse a preparsed XML document. This reuses the existing @reader xmlTextReader.
reader: | an XML reader |
doc: | a preparsed document |
Returns: | 0 in case of success and -1 in case of error |
xmlReaderWalker ()
xmlTextReaderPtr xmlReaderWalker (xmlDocPtr doc)
Create an xmltextReader for a preparsed document.
doc: | a preparsed document |
Returns: | the new reader or NULL in case of error. |
xmlTextReaderAttributeCount ()
int xmlTextReaderAttributeCount (xmlTextReaderPtr reader)
Provides the number of attributes of the current node
reader: | the xmlTextReaderPtr used |
Returns: | 0 i no attributes, -1 in case of error or the attribute count |
xmlTextReaderBaseUri ()
xmlChar * xmlTextReaderBaseUri (xmlTextReaderPtr reader)
The base URI of the node.
reader: | the xmlTextReaderPtr used |
Returns: | the base URI or NULL if not available, if non NULL it need to be freed by the caller. |
xmlTextReaderByteConsumed ()
long xmlTextReaderByteConsumed (xmlTextReaderPtr reader)
This function provides the current index of the parser used by the reader, relative to the start of the current entity. This function actually just wraps a call to xmlBytesConsumed() for the parser context associated with the reader. See xmlBytesConsumed() for more information.
reader: | an XML reader |
Returns: | the index in bytes from the beginning of the entity or -1 in case the index could not be computed. |
xmlTextReaderClose ()
int xmlTextReaderClose (xmlTextReaderPtr reader)
This method releases any resources allocated by the current instance changes the state to Closed and close any underlying input.
reader: | the xmlTextReaderPtr used |
Returns: | 0 or -1 in case of error |
xmlTextReaderConstBaseUri ()
const xmlChar * xmlTextReaderConstBaseUri (xmlTextReaderPtr reader)
The base URI of the node.
reader: | the xmlTextReaderPtr used |
Returns: | the base URI or NULL if not available, the string will be deallocated with the reader |
xmlTextReaderConstEncoding ()
const xmlChar * xmlTextReaderConstEncoding (xmlTextReaderPtr reader)
Determine the encoding of the document being read.
reader: | the xmlTextReaderPtr used |
Returns: | a string containing the encoding of the document or NULL in case of error. The string is deallocated with the reader. |
xmlTextReaderConstLocalName ()
const xmlChar * xmlTextReaderConstLocalName (xmlTextReaderPtr reader)
The local name of the node.
reader: | the xmlTextReaderPtr used |
Returns: | the local name or NULL if not available, the string will be deallocated with the reader. |
xmlTextReaderConstName ()
const xmlChar * xmlTextReaderConstName (xmlTextReaderPtr reader)
The qualified name of the node, equal to Prefix :LocalName.
reader: | the xmlTextReaderPtr used |
Returns: | the local name or NULL if not available, the string is deallocated with the reader. |
xmlTextReaderConstNamespaceUri ()
const xmlChar * xmlTextReaderConstNamespaceUri (xmlTextReaderPtr reader)
The URI defining the namespace associated with the node.
reader: | the xmlTextReaderPtr used |
Returns: | the namespace URI or NULL if not available, the string will be deallocated with the reader |
xmlTextReaderConstPrefix ()
const xmlChar * xmlTextReaderConstPrefix (xmlTextReaderPtr reader)
A shorthand reference to the namespace associated with the node.
reader: | the xmlTextReaderPtr used |
Returns: | the prefix or NULL if not available, the string is deallocated with the reader. |
xmlTextReaderConstString ()
const xmlChar * xmlTextReaderConstString (xmlTextReaderPtr reader,
const xmlChar * str)
Get an interned string from the reader, allows for example to speedup string name comparisons
reader: | the xmlTextReaderPtr used |
str: | the string to intern. |
Returns: | an interned copy of the string or NULL in case of error. The string will be deallocated with the reader. |
xmlTextReaderConstValue ()
const xmlChar * xmlTextReaderConstValue (xmlTextReaderPtr reader)
Provides the text value of the node if present
reader: | the xmlTextReaderPtr used |
Returns: | the string or NULL if not available. The result will be deallocated on the next Read() operation. |
xmlTextReaderConstXmlLang ()
const xmlChar * xmlTextReaderConstXmlLang (xmlTextReaderPtr reader)
The xml:lang scope within which the node resides.
reader: | the xmlTextReaderPtr used |
Returns: | the xml:lang value or NULL if none exists. |
xmlTextReaderConstXmlVersion ()
const xmlChar * xmlTextReaderConstXmlVersion (xmlTextReaderPtr reader)
Determine the XML version of the document being read.
reader: | the xmlTextReaderPtr used |
Returns: | a string containing the XML version of the document or NULL in case of error. The string is deallocated with the reader. |
xmlTextReaderCurrentDoc ()
xmlDocPtr xmlTextReaderCurrentDoc (xmlTextReaderPtr reader)
Hacking interface allowing to get the xmlDocPtr corresponding to the current document being accessed by the xmlTextReader. NOTE: as a result of this call, the reader will not destroy the associated XML document and calling xmlFreeDoc() on the result is needed once the reader parsing has finished.
reader: | the xmlTextReaderPtr used |
Returns: | the xmlDocPtr or NULL in case of error. |
xmlTextReaderCurrentNode ()
xmlNodePtr xmlTextReaderCurrentNode (xmlTextReaderPtr reader)
Hacking interface allowing to get the xmlNodePtr corresponding to the current node being accessed by the xmlTextReader. This is dangerous because the underlying node may be destroyed on the next Reads.
reader: | the xmlTextReaderPtr used |
Returns: | the xmlNodePtr or NULL in case of error. |
xmlTextReaderDepth ()
int xmlTextReaderDepth (xmlTextReaderPtr reader)
The depth of the node in the tree.
reader: | the xmlTextReaderPtr used |
Returns: | the depth or -1 in case of error |
xmlTextReaderExpand ()
xmlNodePtr xmlTextReaderExpand (xmlTextReaderPtr reader)
Reads the contents of the current node and the full subtree. It then makes the subtree available until the next xmlTextReaderRead() call
reader: | the xmlTextReaderPtr used |
Returns: | a node pointer valid until the next xmlTextReaderRead() call or NULL in case of error. |
xmlTextReaderGetAttribute ()
xmlChar * xmlTextReaderGetAttribute (xmlTextReaderPtr reader,
const xmlChar * name)
Provides the value of the attribute with the specified qualified name.
reader: | the xmlTextReaderPtr used |
name: | the qualified name of the attribute. |
Returns: | a string containing the value of the specified attribute, or NULL in case of error. The string must be deallocated by the caller. |
xmlTextReaderGetAttributeNo ()
xmlChar * xmlTextReaderGetAttributeNo (xmlTextReaderPtr reader,
int no)
Provides the value of the attribute with the specified index relative to the containing element.
reader: | the xmlTextReaderPtr used |
no: | the zero-based index of the attribute relative to the containing element |
Returns: | a string containing the value of the specified attribute, or NULL in case of error. The string must be deallocated by the caller. |
xmlTextReaderGetAttributeNs ()
xmlChar * xmlTextReaderGetAttributeNs (xmlTextReaderPtr reader,
const xmlChar * localName,
const xmlChar * namespaceURI)
Provides the value of the specified attribute
reader: | the xmlTextReaderPtr used |
localName: | the local name of the attribute. |
namespaceURI: | the namespace URI of the attribute. |
Returns: | a string containing the value of the specified attribute, or NULL in case of error. The string must be deallocated by the caller. |
xmlTextReaderGetErrorHandler ()
void xmlTextReaderGetErrorHandler (xmlTextReaderPtr reader,
xmlTextReaderErrorFunc * f,
void ** arg)
Retrieve the error callback function and user argument.
reader: | the xmlTextReaderPtr used |
f: | the callback function or NULL is no callback has been registered |
arg: | a user argument |
xmlTextReaderGetParserColumnNumber ()
int xmlTextReaderGetParserColumnNumber (xmlTextReaderPtr reader)
Provide the column number of the current parsing point.
reader: | the user data (XML reader context) |
Returns: | an int or 0 if not available |
xmlTextReaderGetParserLineNumber ()
int xmlTextReaderGetParserLineNumber (xmlTextReaderPtr reader)
Provide the line number of the current parsing point.
reader: | the user data (XML reader context) |
Returns: | an int or 0 if not available |
xmlTextReaderGetParserProp ()
int xmlTextReaderGetParserProp (xmlTextReaderPtr reader,
int prop)
Read the parser internal property.
reader: | the xmlTextReaderPtr used |
prop: | the xmlParserProperties to get |
Returns: | the value, usually 0 or 1, or -1 in case of error. |
xmlTextReaderGetRemainder ()
xmlParserInputBufferPtr xmlTextReaderGetRemainder (xmlTextReaderPtr reader)
Method to get the remainder of the buffered XML. this method stops the parser, set its state to End Of File and return the input stream with what is left that the parser did not use. The implementation is not good, the parser certainly progressed past what's left in reader->input, and there is an allocation problem. Best would be to rewrite it differently.
reader: | the xmlTextReaderPtr used |
Returns: | the xmlParserInputBufferPtr attached to the XML or NULL in case of error. |
xmlTextReaderHasAttributes ()
int xmlTextReaderHasAttributes (xmlTextReaderPtr reader)
Whether the node has attributes.
reader: | the xmlTextReaderPtr used |
Returns: | 1 if true, 0 if false, and -1 in case or error |
xmlTextReaderHasValue ()
int xmlTextReaderHasValue (xmlTextReaderPtr reader)
Whether the node can have a text value.
reader: | the xmlTextReaderPtr used |
Returns: | 1 if true, 0 if false, and -1 in case or error |
xmlTextReaderIsDefault ()
int xmlTextReaderIsDefault (xmlTextReaderPtr reader)
Whether an Attribute node was generated from the default value defined in the DTD or schema.
reader: | the xmlTextReaderPtr used |
Returns: | 0 if not defaulted, 1 if defaulted, and -1 in case of error |
xmlTextReaderIsEmptyElement ()
int xmlTextReaderIsEmptyElement (xmlTextReaderPtr reader)
Check if the current node is empty
reader: | the xmlTextReaderPtr used |
Returns: | 1 if empty, 0 if not and -1 in case of error |
xmlTextReaderIsNamespaceDecl ()
int xmlTextReaderIsNamespaceDecl (xmlTextReaderPtr reader)
Determine whether the current node is a namespace declaration rather than a regular attribute.
reader: | the xmlTextReaderPtr used |
Returns: | 1 if the current node is a namespace declaration, 0 if it is a regular attribute or other type of node, or -1 in case of error. |
xmlTextReaderIsValid ()
int xmlTextReaderIsValid (xmlTextReaderPtr reader)
Retrieve the validity status from the parser context
reader: | the xmlTextReaderPtr used |
Returns: | the flag value 1 if valid, 0 if no, and -1 in case of error |
xmlTextReaderLocalName ()
xmlChar * xmlTextReaderLocalName (xmlTextReaderPtr reader)
The local name of the node.
reader: | the xmlTextReaderPtr used |
Returns: | the local name or NULL if not available, if non NULL it need to be freed by the caller. |
xmlTextReaderLocatorBaseURI ()
xmlChar * xmlTextReaderLocatorBaseURI (xmlTextReaderLocatorPtr locator)
Obtain the base URI for the given locator.
locator: | the xmlTextReaderLocatorPtr used |
Returns: | the base URI or NULL in case of error, if non NULL it need to be freed by the caller. |
xmlTextReaderLocatorLineNumber ()
int xmlTextReaderLocatorLineNumber (xmlTextReaderLocatorPtr locator)
Obtain the line number for the given locator.
locator: | the xmlTextReaderLocatorPtr used |
Returns: | the line number or -1 in case of error. |
xmlTextReaderLookupNamespace ()
xmlChar * xmlTextReaderLookupNamespace (xmlTextReaderPtr reader,
const xmlChar * prefix)
Resolves a namespace prefix in the scope of the current element.
reader: | the xmlTextReaderPtr used |
prefix: | the prefix whose namespace URI is to be resolved. To return the default namespace, specify NULL |
Returns: | a string containing the namespace URI to which the prefix maps or NULL in case of error. The string must be deallocated by the caller. |
xmlTextReaderMoveToAttribute ()
int xmlTextReaderMoveToAttribute (xmlTextReaderPtr reader,
const xmlChar * name)
Moves the position of the current instance to the attribute with the specified qualified name.
reader: | the xmlTextReaderPtr used |
name: | the qualified name of the attribute. |
Returns: | 1 in case of success, -1 in case of error, 0 if not found |
xmlTextReaderMoveToAttributeNo ()
int xmlTextReaderMoveToAttributeNo (xmlTextReaderPtr reader,
int no)
Moves the position of the current instance to the attribute with the specified index relative to the containing element.
reader: | the xmlTextReaderPtr used |
no: | the zero-based index of the attribute relative to the containing element. |
Returns: | 1 in case of success, -1 in case of error, 0 if not found |
xmlTextReaderMoveToAttributeNs ()
int xmlTextReaderMoveToAttributeNs (xmlTextReaderPtr reader,
const xmlChar * localName,
const xmlChar * namespaceURI)
Moves the position of the current instance to the attribute with the specified local name and namespace URI.
reader: | the xmlTextReaderPtr used |
localName: | the local name of the attribute. |
namespaceURI: | the namespace URI of the attribute. |
Returns: | 1 in case of success, -1 in case of error, 0 if not found |
xmlTextReaderMoveToElement ()
int xmlTextReaderMoveToElement (xmlTextReaderPtr reader)
Moves the position of the current instance to the node that contains the current Attribute node.
reader: | the xmlTextReaderPtr used |
Returns: | 1 in case of success, -1 in case of error, 0 if not moved |
xmlTextReaderMoveToFirstAttribute ()
int xmlTextReaderMoveToFirstAttribute (xmlTextReaderPtr reader)
Moves the position of the current instance to the first attribute associated with the current node.
reader: | the xmlTextReaderPtr used |
Returns: | 1 in case of success, -1 in case of error, 0 if not found |
xmlTextReaderMoveToNextAttribute ()
int xmlTextReaderMoveToNextAttribute (xmlTextReaderPtr reader)
Moves the position of the current instance to the next attribute associated with the current node.
reader: | the xmlTextReaderPtr used |
Returns: | 1 in case of success, -1 in case of error, 0 if not found |
xmlTextReaderName ()
xmlChar * xmlTextReaderName (xmlTextReaderPtr reader)
The qualified name of the node, equal to Prefix :LocalName.
reader: | the xmlTextReaderPtr used |
Returns: | the local name or NULL if not available, if non NULL it need to be freed by the caller. |
xmlTextReaderNamespaceUri ()
xmlChar * xmlTextReaderNamespaceUri (xmlTextReaderPtr reader)
The URI defining the namespace associated with the node.
reader: | the xmlTextReaderPtr used |
Returns: | the namespace URI or NULL if not available, if non NULL it need to be freed by the caller. |
xmlTextReaderNext ()
int xmlTextReaderNext (xmlTextReaderPtr reader)
Skip to the node following the current one in document order while avoiding the subtree if any.
reader: | the xmlTextReaderPtr used |
Returns: | 1 if the node was read successfully, 0 if there is no more nodes to read, or -1 in case of error |
xmlTextReaderNextSibling ()
int xmlTextReaderNextSibling (xmlTextReaderPtr reader)
Skip to the node following the current one in document order while avoiding the subtree if any. Currently implemented only for Readers built on a document
reader: | the xmlTextReaderPtr used |
Returns: | 1 if the node was read successfully, 0 if there is no more nodes to read, or -1 in case of error |
xmlTextReaderNodeType ()
int xmlTextReaderNodeType (xmlTextReaderPtr reader)
Get the node type of the current node Reference: http://www.gnu.org/software/dotgnu/pnetlib-doc/System/Xml/XmlNodeType.php
reader: | the xmlTextReaderPtr used |
Returns: | the xmlReaderTypes of the current node or -1 in case of error |
xmlTextReaderNormalization ()
int xmlTextReaderNormalization (xmlTextReaderPtr reader)
The value indicating whether to normalize white space and attribute values. Since attribute value and end of line normalizations are a MUST in the XML specification only the value true is accepted. The broken bahaviour of accepting out of range character entities like � is of course not supported either.
reader: | the xmlTextReaderPtr used |
Returns: | 1 or -1 in case of error. |
xmlTextReaderPrefix ()
xmlChar * xmlTextReaderPrefix (xmlTextReaderPtr reader)
A shorthand reference to the namespace associated with the node.
reader: | the xmlTextReaderPtr used |
Returns: | the prefix or NULL if not available, if non NULL it need to be freed by the caller. |
xmlTextReaderPreserve ()
xmlNodePtr xmlTextReaderPreserve (xmlTextReaderPtr reader)
This tells the XML Reader to preserve the current node. The caller must also use xmlTextReaderCurrentDoc() to keep an handle on the resulting document once parsing has finished
reader: | the xmlTextReaderPtr used |
Returns: | the xmlNodePtr or NULL in case of error. |
xmlTextReaderPreservePattern ()
int xmlTextReaderPreservePattern (xmlTextReaderPtr reader,
const xmlChar * pattern,
const xmlChar ** namespaces)
This tells the XML Reader to preserve all nodes matched by the pattern. The caller must also use xmlTextReaderCurrentDoc() to keep an handle on the resulting document once parsing has finished
reader: | the xmlTextReaderPtr used |
pattern: | an XPath subset pattern |
namespaces: | the prefix definitions, array of [URI, prefix] or NULL |
Returns: | a non-negative number in case of success and -1 in case of error |
xmlTextReaderQuoteChar ()
int xmlTextReaderQuoteChar (xmlTextReaderPtr reader)
The quotation mark character used to enclose the value of an attribute.
reader: | the xmlTextReaderPtr used |
Returns: | " or ' and -1 in case of error |
xmlTextReaderRead ()
int xmlTextReaderRead (xmlTextReaderPtr reader)
Moves the position of the current instance to the next node in the stream, exposing its properties.
reader: | the xmlTextReaderPtr used |
Returns: | 1 if the node was read successfully, 0 if there is no more nodes to read, or -1 in case of error |
xmlTextReaderReadAttributeValue ()
int xmlTextReaderReadAttributeValue (xmlTextReaderPtr reader)
Parses an attribute value into one or more Text and EntityReference nodes.
reader: | the xmlTextReaderPtr used |
Returns: | 1 in case of success, 0 if the reader was not positioned on an attribute node or all the attribute values have been read, or -1 in case of error. |
xmlTextReaderReadInnerXml ()
xmlChar * xmlTextReaderReadInnerXml (xmlTextReaderPtr reader)
Reads the contents of the current node, including child nodes and markup.
reader: | the xmlTextReaderPtr used |
Returns: | a string containing the XML content, or NULL if the current node is neither an element nor attribute, or has no child nodes. The string must be deallocated by the caller. |
xmlTextReaderReadOuterXml ()
xmlChar * xmlTextReaderReadOuterXml (xmlTextReaderPtr reader)
Reads the contents of the current node, including child nodes and markup.
reader: | the xmlTextReaderPtr used |
Returns: | a string containing the node and any XML content, or NULL if the current node cannot be serialized. The string must be deallocated by the caller. |
xmlTextReaderReadState ()
int xmlTextReaderReadState (xmlTextReaderPtr reader)
Gets the read state of the reader.
reader: | the xmlTextReaderPtr used |
Returns: | the state value, or -1 in case of error |
xmlTextReaderReadString ()
xmlChar * xmlTextReaderReadString (xmlTextReaderPtr reader)
Reads the contents of an element or a text node as a string.
reader: | the xmlTextReaderPtr used |
Returns: | a string containing the contents of the Element or Text node, or NULL if the reader is positioned on any other type of node. The string must be deallocated by the caller. |
xmlTextReaderRelaxNGSetSchema ()
int xmlTextReaderRelaxNGSetSchema (xmlTextReaderPtr reader,
xmlRelaxNGPtr schema)
Use RelaxNG to validate the document as it is processed. Activation is only possible before the first Read(). if @schema is NULL, then RelaxNG validation is deactivated. @ The @schema should not be freed until the reader is deallocated or its use has been deactivated.
reader: | the xmlTextReaderPtr used |
schema: | a precompiled RelaxNG schema |
Returns: | 0 in case the RelaxNG validation could be (de)activated and -1 in case of error. |
xmlTextReaderRelaxNGValidate ()
int xmlTextReaderRelaxNGValidate (xmlTextReaderPtr reader,
const char * rng)
Use RelaxNG schema to validate the document as it is processed. Activation is only possible before the first Read(). If @rng is NULL, then RelaxNG schema validation is deactivated.
reader: | the xmlTextReaderPtr used |
rng: | the path to a RelaxNG schema or NULL |
Returns: | 0 in case the schemas validation could be (de)activated and -1 in case of error. |
xmlTextReaderRelaxNGValidateCtxt ()
int xmlTextReaderRelaxNGValidateCtxt (xmlTextReaderPtr reader,
xmlRelaxNGValidCtxtPtr ctxt,
int options)
Use RelaxNG schema context to validate the document as it is processed. Activation is only possible before the first Read(). If @ctxt is NULL, then RelaxNG schema validation is deactivated.
reader: | the xmlTextReaderPtr used |
ctxt: | the RelaxNG schema validation context or NULL |
options: | options (not used yet) |
Returns: | 0 in case the schemas validation could be (de)activated and -1 in case of error. |
xmlTextReaderSchemaValidate ()
int xmlTextReaderSchemaValidate (xmlTextReaderPtr reader,
const char * xsd)
Use W3C XSD schema to validate the document as it is processed. Activation is only possible before the first Read(). If @xsd is NULL, then XML Schema validation is deactivated.
reader: | the xmlTextReaderPtr used |
xsd: | the path to a W3C XSD schema or NULL |
Returns: | 0 in case the schemas validation could be (de)activated and -1 in case of error. |
xmlTextReaderSchemaValidateCtxt ()
int xmlTextReaderSchemaValidateCtxt (xmlTextReaderPtr reader,
xmlSchemaValidCtxtPtr ctxt,
int options)
Use W3C XSD schema context to validate the document as it is processed. Activation is only possible before the first Read(). If @ctxt is NULL, then XML Schema validation is deactivated.
reader: | the xmlTextReaderPtr used |
ctxt: | the XML Schema validation context or NULL |
options: | options (not used yet) |
Returns: | 0 in case the schemas validation could be (de)activated and -1 in case of error. |
xmlTextReaderSetErrorHandler ()
void xmlTextReaderSetErrorHandler (xmlTextReaderPtr reader,
xmlTextReaderErrorFunc f,
void * arg)
Register a callback function that will be called on error and warnings. If @f is NULL, the default error and warning handlers are restored.
reader: | the xmlTextReaderPtr used |
f: | the callback function to call on error and warnings |
arg: | a user argument to pass to the callback function |
xmlTextReaderSetParserProp ()
int xmlTextReaderSetParserProp (xmlTextReaderPtr reader,
int prop,
int value)
Change the parser processing behaviour by changing some of its internal properties. Note that some properties can only be changed before any read has been done.
reader: | the xmlTextReaderPtr used |
prop: | the xmlParserProperties to set |
value: | usually 0 or 1 to (de)activate it |
Returns: | 0 if the call was successful, or -1 in case of error |
xmlTextReaderSetSchema ()
int xmlTextReaderSetSchema (xmlTextReaderPtr reader,
xmlSchemaPtr schema)
Use XSD Schema to validate the document as it is processed. Activation is only possible before the first Read(). if @schema is NULL, then Schema validation is deactivated. The @schema should not be freed until the reader is deallocated or its use has been deactivated.
reader: | the xmlTextReaderPtr used |
schema: | a precompiled Schema schema |
Returns: | 0 in case the Schema validation could be (de)activated and -1 in case of error. |
xmlTextReaderSetStructuredErrorHandler ()
void xmlTextReaderSetStructuredErrorHandler (xmlTextReaderPtr reader,
xmlStructuredErrorFunc f,
void * arg)
Register a callback function that will be called on error and warnings. If @f is NULL, the default error and warning handlers are restored.
reader: | the xmlTextReaderPtr used |
f: | the callback function to call on error and warnings |
arg: | a user argument to pass to the callback function |
xmlTextReaderSetup ()
int xmlTextReaderSetup (xmlTextReaderPtr reader,
xmlParserInputBufferPtr input,
const char * URL,
const char * encoding,
int options)
Setup an XML reader with new options
reader: | an XML reader |
input: | xmlParserInputBufferPtr used to feed the reader, will be destroyed with it. |
URL: | the base URL to use for the document |
encoding: | the document encoding, or NULL |
options: | a combination of xmlParserOption |
Returns: | 0 in case of success and -1 in case of error. |
xmlTextReaderStandalone ()
int xmlTextReaderStandalone (xmlTextReaderPtr reader)
Determine the standalone status of the document being read.
reader: | the xmlTextReaderPtr used |
Returns: | 1 if the document was declared to be standalone, 0 if it was declared to be not standalone, or -1 if the document did not specify its standalone status or in case of error. |
xmlTextReaderValue ()
xmlChar * xmlTextReaderValue (xmlTextReaderPtr reader)
Provides the text value of the node if present
reader: | the xmlTextReaderPtr used |
Returns: | the string or NULL if not available. The result must be deallocated with xmlFree() |
xmlTextReaderXmlLang ()
xmlChar * xmlTextReaderXmlLang (xmlTextReaderPtr reader)
The xml:lang scope within which the node resides.
reader: | the xmlTextReaderPtr used |
Returns: | the xml:lang value or NULL if none exists., if non NULL it need to be freed by the caller. |