관리-도구
편집 파일: libxml2-parser.html
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>parser: the core parser module</title> <meta name="generator" content="Libxml2 devhelp stylesheet"> <link rel="start" href="index.html" title="libxml2 Reference Manual"> <link rel="up" href="general.html" title="API"> <link rel="stylesheet" href="style.css" type="text/css"> <link rel="chapter" href="general.html" title="API"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> <td><a accesskey="p" href="libxml2-nanohttp.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> <td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> <td><a accesskey="n" href="libxml2-parserInternals.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> <th width="100%" align="center">libxml2 Reference Manual</th> </tr></table> <h2><span class="refentrytitle">parser</span></h2> <p>parser - the core parser module</p> <p>Interfaces, constants and types related to the XML parser </p> <p>Author(s): Daniel Veillard </p> <div class="refsynopsisdiv"> <h2>Synopsis</h2> <pre class="synopsis">#define <a href="#XML_DEFAULT_VERSION">XML_DEFAULT_VERSION</a>; #define <a href="#XML_SAX2_MAGIC">XML_SAX2_MAGIC</a>; typedef struct _xmlAttrHashBucket <a href="#xmlAttrHashBucket">xmlAttrHashBucket</a>; typedef enum <a href="#xmlFeature">xmlFeature</a>; typedef enum <a href="#xmlParserInputState">xmlParserInputState</a>; typedef enum <a href="#xmlParserMode">xmlParserMode</a>; typedef struct _xmlParserNodeInfo <a href="#xmlParserNodeInfo">xmlParserNodeInfo</a>; typedef <a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> * <a href="#xmlParserNodeInfoPtr">xmlParserNodeInfoPtr</a>; typedef struct _xmlParserNodeInfoSeq <a href="#xmlParserNodeInfoSeq">xmlParserNodeInfoSeq</a>; typedef <a href="libxml2-parser.html#xmlParserNodeInfoSeq">xmlParserNodeInfoSeq</a> * <a href="#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a>; typedef struct _xmlParserNsData <a href="#xmlParserNsData">xmlParserNsData</a>; typedef enum <a href="#xmlParserOption">xmlParserOption</a>; typedef struct _xmlSAXHandlerV1 <a href="#xmlSAXHandlerV1">xmlSAXHandlerV1</a>; typedef <a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> * <a href="#xmlSAXHandlerV1Ptr">xmlSAXHandlerV1Ptr</a>; typedef struct _xmlStartTag <a href="#xmlStartTag">xmlStartTag</a>; typedef void <a href="#attributeDeclSAXFunc">attributeDeclSAXFunc</a> (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br> int type, <br> int def, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br> <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree); typedef void <a href="#attributeSAXFunc">attributeSAXFunc</a> (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value); typedef void <a href="#cdataBlockSAXFunc">cdataBlockSAXFunc</a> (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br> int len); typedef void <a href="#charactersSAXFunc">charactersSAXFunc</a> (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br> int len); typedef void <a href="#commentSAXFunc">commentSAXFunc</a> (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value); typedef void <a href="#elementDeclSAXFunc">elementDeclSAXFunc</a> (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> int type, <br> <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content); typedef void <a href="#endDocumentSAXFunc">endDocumentSAXFunc</a> (void * ctx); typedef void <a href="#endElementNsSAX2Func">endElementNsSAX2Func</a> (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI); typedef void <a href="#endElementSAXFunc">endElementSAXFunc</a> (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name); typedef void <a href="#entityDeclSAXFunc">entityDeclSAXFunc</a> (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> int type, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br> <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content); typedef void <a href="#errorSAXFunc">errorSAXFunc</a> (void * ctx, <br> const char * msg, <br> ... ...); typedef void <a href="#externalSubsetSAXFunc">externalSubsetSAXFunc</a> (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID); typedef void <a href="#fatalErrorSAXFunc">fatalErrorSAXFunc</a> (void * ctx, <br> const char * msg, <br> ... ...); typedef <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> <a href="#getEntitySAXFunc">getEntitySAXFunc</a> (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name); typedef <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> <a href="#getParameterEntitySAXFunc">getParameterEntitySAXFunc</a> (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name); typedef int <a href="#hasExternalSubsetSAXFunc">hasExternalSubsetSAXFunc</a> (void * ctx); typedef int <a href="#hasInternalSubsetSAXFunc">hasInternalSubsetSAXFunc</a> (void * ctx); typedef void <a href="#ignorableWhitespaceSAXFunc">ignorableWhitespaceSAXFunc</a> (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br> int len); typedef void <a href="#internalSubsetSAXFunc">internalSubsetSAXFunc</a> (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID); typedef int <a href="#isStandaloneSAXFunc">isStandaloneSAXFunc</a> (void * ctx); typedef void <a href="#notationDeclSAXFunc">notationDeclSAXFunc</a> (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId); typedef void <a href="#processingInstructionSAXFunc">processingInstructionSAXFunc</a> (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data); typedef void <a href="#referenceSAXFunc">referenceSAXFunc</a> (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name); typedef <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> <a href="#resolveEntitySAXFunc">resolveEntitySAXFunc</a> (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId); typedef void <a href="#setDocumentLocatorSAXFunc">setDocumentLocatorSAXFunc</a> (void * ctx, <br> <a href="libxml2-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc); typedef void <a href="#startDocumentSAXFunc">startDocumentSAXFunc</a> (void * ctx); typedef void <a href="#startElementNsSAX2Func">startElementNsSAX2Func</a> (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br> int nb_namespaces, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** namespaces, <br> int nb_attributes, <br> int nb_defaulted, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** attributes); typedef void <a href="#startElementSAXFunc">startElementSAXFunc</a> (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** atts); typedef void <a href="#unparsedEntityDeclSAXFunc">unparsedEntityDeclSAXFunc</a> (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * notationName); typedef void <a href="#warningSAXFunc">warningSAXFunc</a> (void * ctx, <br> const char * msg, <br> ... ...); long <a href="#xmlByteConsumed">xmlByteConsumed</a> (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt); void <a href="#xmlCleanupGlobals">xmlCleanupGlobals</a> (void); void <a href="#xmlCleanupParser">xmlCleanupParser</a> (void); void <a href="#xmlClearNodeInfoSeq">xmlClearNodeInfoSeq</a> (<a href="libxml2-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq); void <a href="#xmlClearParserCtxt">xmlClearParserCtxt</a> (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt); <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> <a href="#xmlCreateDocParserCtxt">xmlCreateDocParserCtxt</a> (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str); <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> <a href="#xmlCreateIOParserCtxt">xmlCreateIOParserCtxt</a> (<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br> void * user_data, <br> <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br> <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br> void * ioctx, <br> <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc); <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> <a href="#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a> (<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br> void * user_data, <br> const char * chunk, <br> int size, <br> const char * filename); <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="#xmlCtxtParseDocument">xmlCtxtParseDocument</a> (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input); <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="#xmlCtxtReadDoc">xmlCtxtReadDoc</a> (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br> const char * URL, <br> const char * encoding, <br> int options); <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="#xmlCtxtReadFd">xmlCtxtReadFd</a> (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> int fd, <br> const char * URL, <br> const char * encoding, <br> int options); <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="#xmlCtxtReadFile">xmlCtxtReadFile</a> (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> const char * filename, <br> const char * encoding, <br> int options); <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="#xmlCtxtReadIO">xmlCtxtReadIO</a> (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br> <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br> void * ioctx, <br> const char * URL, <br> const char * encoding, <br> int options); <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="#xmlCtxtReadMemory">xmlCtxtReadMemory</a> (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> const char * buffer, <br> int size, <br> const char * URL, <br> const char * encoding, <br> int options); void <a href="#xmlCtxtReset">xmlCtxtReset</a> (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt); int <a href="#xmlCtxtResetPush">xmlCtxtResetPush</a> (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> const char * chunk, <br> int size, <br> const char * filename, <br> const char * encoding); void <a href="#xmlCtxtSetErrorHandler">xmlCtxtSetErrorHandler</a> (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> handler, <br> void * data); void <a href="#xmlCtxtSetMaxAmplification">xmlCtxtSetMaxAmplification</a> (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> unsigned maxAmpl); int <a href="#xmlCtxtSetOptions">xmlCtxtSetOptions</a> (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> int options); int <a href="#xmlCtxtUseOptions">xmlCtxtUseOptions</a> (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> int options); typedef <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> <a href="#xmlExternalEntityLoader">xmlExternalEntityLoader</a> (const char * URL, <br> const char * ID, <br> <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> context); void <a href="#xmlFreeParserCtxt">xmlFreeParserCtxt</a> (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt); <a href="libxml2-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a> <a href="#xmlGetExternalEntityLoader">xmlGetExternalEntityLoader</a> (void); int <a href="#xmlGetFeature">xmlGetFeature</a> (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> const char * name, <br> void * result); int <a href="#xmlGetFeaturesList">xmlGetFeaturesList</a> (int * len, <br> const char ** result); int <a href="#xmlHasFeature">xmlHasFeature</a> (<a href="libxml2-parser.html#xmlFeature">xmlFeature</a> feature); <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> <a href="#xmlIOParseDTD">xmlIOParseDTD</a> (<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br> <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br> <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc); void <a href="#xmlInitGlobals">xmlInitGlobals</a> (void); void <a href="#xmlInitNodeInfoSeq">xmlInitNodeInfoSeq</a> (<a href="libxml2-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq); void <a href="#xmlInitParser">xmlInitParser</a> (void); int <a href="#xmlInitParserCtxt">xmlInitParserCtxt</a> (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt); int <a href="#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a> (int val); int <a href="#xmlLineNumbersDefault">xmlLineNumbersDefault</a> (int val); <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> <a href="#xmlLoadExternalEntity">xmlLoadExternalEntity</a> (const char * URL, <br> const char * ID, <br> <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt); <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> <a href="#xmlNewIOInputStream">xmlNewIOInputStream</a> (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> buf, <br> <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc); <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> <a href="#xmlNewParserCtxt">xmlNewParserCtxt</a> (void); <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> <a href="#xmlNewSAXParserCtxt">xmlNewSAXParserCtxt</a> (const <a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * sax, <br> void * userData); int <a href="#xmlParseBalancedChunkMemory">xmlParseBalancedChunkMemory</a> (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br> <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br> void * user_data, <br> int depth, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string, <br> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * lst); int <a href="#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a> (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br> <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br> void * user_data, <br> int depth, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string, <br> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * listOut, <br> int recover); int <a href="#xmlParseChunk">xmlParseChunk</a> (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> const char * chunk, <br> int size, <br> int terminate); int <a href="#xmlParseCtxtExternalEntity">xmlParseCtxtExternalEntity</a> (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URL, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID, <br> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * listOut); <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> <a href="#xmlParseDTD">xmlParseDTD</a> (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID); <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="#xmlParseDoc">xmlParseDoc</a> (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur); int <a href="#xmlParseDocument">xmlParseDocument</a> (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt); <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="#xmlParseEntity">xmlParseEntity</a> (const char * filename); int <a href="#xmlParseExtParsedEnt">xmlParseExtParsedEnt</a> (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt); int <a href="#xmlParseExternalEntity">xmlParseExternalEntity</a> (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br> <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br> void * user_data, <br> int depth, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URL, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID, <br> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * list); <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="#xmlParseFile">xmlParseFile</a> (const char * filename); <a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a> <a href="#xmlParseInNodeContext">xmlParseInNodeContext</a> (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br> const char * data, <br> int datalen, <br> int options, <br> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * lst); <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="#xmlParseMemory">xmlParseMemory</a> (const char * buffer, <br> int size); void <a href="#xmlParserAddNodeInfo">xmlParserAddNodeInfo</a> (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> <a href="libxml2-parser.html#xmlParserNodeInfoPtr">xmlParserNodeInfoPtr</a> info); const <a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> * <a href="#xmlParserFindNodeInfo">xmlParserFindNodeInfo</a> (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctx, <br> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node); unsigned long <a href="#xmlParserFindNodeInfoIndex">xmlParserFindNodeInfoIndex</a> (<a href="libxml2-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq, <br> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node); typedef void <a href="#xmlParserInputDeallocate">xmlParserInputDeallocate</a> (<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str); int <a href="#xmlParserInputGrow">xmlParserInputGrow</a> (<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in, <br> int len); int <a href="#xmlParserInputRead">xmlParserInputRead</a> (<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in, <br> int len); int <a href="#xmlPedanticParserDefault">xmlPedanticParserDefault</a> (int val); <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="#xmlReadDoc">xmlReadDoc</a> (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br> const char * URL, <br> const char * encoding, <br> int options); <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="#xmlReadFd">xmlReadFd</a> (int fd, <br> const char * URL, <br> const char * encoding, <br> int options); <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="#xmlReadFile">xmlReadFile</a> (const char * filename, <br> const char * encoding, <br> int options); <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="#xmlReadIO">xmlReadIO</a> (<a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br> <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br> void * ioctx, <br> const char * URL, <br> const char * encoding, <br> int options); <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="#xmlReadMemory">xmlReadMemory</a> (const char * buffer, <br> int size, <br> const char * url, <br> const char * encoding, <br> int options); <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="#xmlRecoverDoc">xmlRecoverDoc</a> (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur); <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="#xmlRecoverFile">xmlRecoverFile</a> (const char * filename); <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="#xmlRecoverMemory">xmlRecoverMemory</a> (const char * buffer, <br> int size); <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> <a href="#xmlSAXParseDTD">xmlSAXParseDTD</a> (<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID); <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="#xmlSAXParseDoc">xmlSAXParseDoc</a> (<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br> int recovery); <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="#xmlSAXParseEntity">xmlSAXParseEntity</a> (<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br> const char * filename); <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="#xmlSAXParseFile">xmlSAXParseFile</a> (<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br> const char * filename, <br> int recovery); <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="#xmlSAXParseFileWithData">xmlSAXParseFileWithData</a> (<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br> const char * filename, <br> int recovery, <br> void * data); <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="#xmlSAXParseMemory">xmlSAXParseMemory</a> (<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br> const char * buffer, <br> int size, <br> int recovery); <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="#xmlSAXParseMemoryWithData">xmlSAXParseMemoryWithData</a> (<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br> const char * buffer, <br> int size, <br> int recovery, <br> void * data); int <a href="#xmlSAXUserParseFile">xmlSAXUserParseFile</a> (<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br> void * user_data, <br> const char * filename); int <a href="#xmlSAXUserParseMemory">xmlSAXUserParseMemory</a> (<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br> void * user_data, <br> const char * buffer, <br> int size); void <a href="#xmlSetExternalEntityLoader">xmlSetExternalEntityLoader</a> (<a href="libxml2-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a> f); int <a href="#xmlSetFeature">xmlSetFeature</a> (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> const char * name, <br> void * value); void <a href="#xmlSetupParserForBuffer">xmlSetupParserForBuffer</a> (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buffer, <br> const char * filename); void <a href="#xmlStopParser">xmlStopParser</a> (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt); int <a href="#xmlSubstituteEntitiesDefault">xmlSubstituteEntitiesDefault</a> (int val); int <a href="#xmlThrDefDoValidityCheckingDefaultValue">xmlThrDefDoValidityCheckingDefaultValue</a> (int v); int <a href="#xmlThrDefGetWarningsDefaultValue">xmlThrDefGetWarningsDefaultValue</a> (int v); int <a href="#xmlThrDefKeepBlanksDefaultValue">xmlThrDefKeepBlanksDefaultValue</a> (int v); int <a href="#xmlThrDefLineNumbersDefaultValue">xmlThrDefLineNumbersDefaultValue</a> (int v); int <a href="#xmlThrDefLoadExtDtdDefaultValue">xmlThrDefLoadExtDtdDefaultValue</a> (int v); int <a href="#xmlThrDefParserDebugEntities">xmlThrDefParserDebugEntities</a> (int v); int <a href="#xmlThrDefPedanticParserDefaultValue">xmlThrDefPedanticParserDefaultValue</a> (int v); int <a href="#xmlThrDefSubstituteEntitiesDefaultValue">xmlThrDefSubstituteEntitiesDefaultValue</a> (int v); </pre> </div> <div class="refsect1" lang="en"><h2>Description</h2></div> <div class="refsect1" lang="en"> <h2>Details</h2> <div class="refsect2" lang="en"> <div class="refsect2" lang="en"> <h3> <a name="XML_DEFAULT_VERSION">Macro </a>XML_DEFAULT_VERSION</h3> <pre class="programlisting">#define <a href="#XML_DEFAULT_VERSION">XML_DEFAULT_VERSION</a>; </pre> <p>The default version of XML used: 1.0</p> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="XML_SAX2_MAGIC">Macro </a>XML_SAX2_MAGIC</h3> <pre class="programlisting">#define <a href="#XML_SAX2_MAGIC">XML_SAX2_MAGIC</a>; </pre> <p>Special constant found in SAX2 blocks initialized fields</p> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlAttrHashBucket">Structure </a>xmlAttrHashBucket</h3> <pre class="programlisting">struct _xmlAttrHashBucket { The content of this structure is not made public by the API. } xmlAttrHashBucket; </pre> <p></p> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlFeature">Enum </a>xmlFeature</h3> <pre class="programlisting">enum <a href="#xmlFeature">xmlFeature</a> { <a name="XML_WITH_THREAD">XML_WITH_THREAD</a> = 1 <a name="XML_WITH_TREE">XML_WITH_TREE</a> = 2 <a name="XML_WITH_OUTPUT">XML_WITH_OUTPUT</a> = 3 <a name="XML_WITH_PUSH">XML_WITH_PUSH</a> = 4 <a name="XML_WITH_READER">XML_WITH_READER</a> = 5 <a name="XML_WITH_PATTERN">XML_WITH_PATTERN</a> = 6 <a name="XML_WITH_WRITER">XML_WITH_WRITER</a> = 7 <a name="XML_WITH_SAX1">XML_WITH_SAX1</a> = 8 <a name="XML_WITH_FTP">XML_WITH_FTP</a> = 9 <a name="XML_WITH_HTTP">XML_WITH_HTTP</a> = 10 <a name="XML_WITH_VALID">XML_WITH_VALID</a> = 11 <a name="XML_WITH_HTML">XML_WITH_HTML</a> = 12 <a name="XML_WITH_LEGACY">XML_WITH_LEGACY</a> = 13 <a name="XML_WITH_C14N">XML_WITH_C14N</a> = 14 <a name="XML_WITH_CATALOG">XML_WITH_CATALOG</a> = 15 <a name="XML_WITH_XPATH">XML_WITH_XPATH</a> = 16 <a name="XML_WITH_XPTR">XML_WITH_XPTR</a> = 17 <a name="XML_WITH_XINCLUDE">XML_WITH_XINCLUDE</a> = 18 <a name="XML_WITH_ICONV">XML_WITH_ICONV</a> = 19 <a name="XML_WITH_ISO8859X">XML_WITH_ISO8859X</a> = 20 <a name="XML_WITH_UNICODE">XML_WITH_UNICODE</a> = 21 <a name="XML_WITH_REGEXP">XML_WITH_REGEXP</a> = 22 <a name="XML_WITH_AUTOMATA">XML_WITH_AUTOMATA</a> = 23 <a name="XML_WITH_EXPR">XML_WITH_EXPR</a> = 24 <a name="XML_WITH_SCHEMAS">XML_WITH_SCHEMAS</a> = 25 <a name="XML_WITH_SCHEMATRON">XML_WITH_SCHEMATRON</a> = 26 <a name="XML_WITH_MODULES">XML_WITH_MODULES</a> = 27 <a name="XML_WITH_DEBUG">XML_WITH_DEBUG</a> = 28 <a name="XML_WITH_DEBUG_MEM">XML_WITH_DEBUG_MEM</a> = 29 <a name="XML_WITH_DEBUG_RUN">XML_WITH_DEBUG_RUN</a> = 30 /* unused */ <a name="XML_WITH_ZLIB">XML_WITH_ZLIB</a> = 31 <a name="XML_WITH_ICU">XML_WITH_ICU</a> = 32 <a name="XML_WITH_LZMA">XML_WITH_LZMA</a> = 33 <a name="XML_WITH_NONE">XML_WITH_NONE</a> = 99999 /* just to be sure of allocation size */ }; </pre> <p></p> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlParserInputState">Enum </a>xmlParserInputState</h3> <pre class="programlisting">enum <a href="#xmlParserInputState">xmlParserInputState</a> { <a name="XML_PARSER_EOF">XML_PARSER_EOF</a> = -1 /* nothing is to be parsed */ <a name="XML_PARSER_START">XML_PARSER_START</a> = 0 /* nothing has been parsed */ <a name="XML_PARSER_MISC">XML_PARSER_MISC</a> = 1 /* Misc* before int subset */ <a name="XML_PARSER_PI">XML_PARSER_PI</a> = 2 /* Within a processing instruction */ <a name="XML_PARSER_DTD">XML_PARSER_DTD</a> = 3 /* within some DTD content */ <a name="XML_PARSER_PROLOG">XML_PARSER_PROLOG</a> = 4 /* Misc* after internal subset */ <a name="XML_PARSER_COMMENT">XML_PARSER_COMMENT</a> = 5 /* within a comment */ <a name="XML_PARSER_START_TAG">XML_PARSER_START_TAG</a> = 6 /* within a start tag */ <a name="XML_PARSER_CONTENT">XML_PARSER_CONTENT</a> = 7 /* within the content */ <a name="XML_PARSER_CDATA_SECTION">XML_PARSER_CDATA_SECTION</a> = 8 /* within a CDATA section */ <a name="XML_PARSER_END_TAG">XML_PARSER_END_TAG</a> = 9 /* within a closing tag */ <a name="XML_PARSER_ENTITY_DECL">XML_PARSER_ENTITY_DECL</a> = 10 /* within an entity declaration */ <a name="XML_PARSER_ENTITY_VALUE">XML_PARSER_ENTITY_VALUE</a> = 11 /* within an entity value in a decl */ <a name="XML_PARSER_ATTRIBUTE_VALUE">XML_PARSER_ATTRIBUTE_VALUE</a> = 12 /* within an attribute value */ <a name="XML_PARSER_SYSTEM_LITERAL">XML_PARSER_SYSTEM_LITERAL</a> = 13 /* within a SYSTEM value */ <a name="XML_PARSER_EPILOG">XML_PARSER_EPILOG</a> = 14 /* the Misc* after the last end tag */ <a name="XML_PARSER_IGNORE">XML_PARSER_IGNORE</a> = 15 /* within an IGNORED section */ <a name="XML_PARSER_PUBLIC_LITERAL">XML_PARSER_PUBLIC_LITERAL</a> = 16 /* within a PUBLIC value */ <a name="XML_PARSER_XML_DECL">XML_PARSER_XML_DECL</a> = 17 /* before XML decl (but after BOM) */ }; </pre> <p></p> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlParserMode">Enum </a>xmlParserMode</h3> <pre class="programlisting">enum <a href="#xmlParserMode">xmlParserMode</a> { <a name="XML_PARSE_UNKNOWN">XML_PARSE_UNKNOWN</a> = 0 <a name="XML_PARSE_DOM">XML_PARSE_DOM</a> = 1 <a name="XML_PARSE_SAX">XML_PARSE_SAX</a> = 2 <a name="XML_PARSE_PUSH_DOM">XML_PARSE_PUSH_DOM</a> = 3 <a name="XML_PARSE_PUSH_SAX">XML_PARSE_PUSH_SAX</a> = 4 <a name="XML_PARSE_READER">XML_PARSE_READER</a> = 5 }; </pre> <p></p> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlParserNodeInfo">Structure </a>xmlParserNodeInfo</h3> <pre class="programlisting">struct _xmlParserNodeInfo { const struct _xmlNode * node : Position & line # that text that created the node begins & ends on unsigned long begin_pos unsigned long begin_line unsigned long end_pos unsigned long end_line } xmlParserNodeInfo; </pre> <p></p> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlParserNodeInfoPtr">Typedef </a>xmlParserNodeInfoPtr</h3> <pre class="programlisting"><a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> * xmlParserNodeInfoPtr; </pre> <p></p> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlParserNodeInfoSeq">Structure </a>xmlParserNodeInfoSeq</h3> <pre class="programlisting">struct _xmlParserNodeInfoSeq { unsigned long maximum unsigned long length <a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> * buffer } xmlParserNodeInfoSeq; </pre> <p></p> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlParserNodeInfoSeqPtr">Typedef </a>xmlParserNodeInfoSeqPtr</h3> <pre class="programlisting"><a href="libxml2-parser.html#xmlParserNodeInfoSeq">xmlParserNodeInfoSeq</a> * xmlParserNodeInfoSeqPtr; </pre> <p></p> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlParserNsData">Structure </a>xmlParserNsData</h3> <pre class="programlisting">struct _xmlParserNsData { The content of this structure is not made public by the API. } xmlParserNsData; </pre> <p></p> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlParserOption">Enum </a>xmlParserOption</h3> <pre class="programlisting">enum <a href="#xmlParserOption">xmlParserOption</a> { <a name="XML_PARSE_RECOVER">XML_PARSE_RECOVER</a> = 1 /* recover on errors */ <a name="XML_PARSE_NOENT">XML_PARSE_NOENT</a> = 2 /* substitute entities */ <a name="XML_PARSE_DTDLOAD">XML_PARSE_DTDLOAD</a> = 4 /* load the external subset */ <a name="XML_PARSE_DTDATTR">XML_PARSE_DTDATTR</a> = 8 /* default DTD attributes */ <a name="XML_PARSE_DTDVALID">XML_PARSE_DTDVALID</a> = 16 /* validate with the DTD */ <a name="XML_PARSE_NOERROR">XML_PARSE_NOERROR</a> = 32 /* suppress error reports */ <a name="XML_PARSE_NOWARNING">XML_PARSE_NOWARNING</a> = 64 /* suppress warning reports */ <a name="XML_PARSE_PEDANTIC">XML_PARSE_PEDANTIC</a> = 128 /* pedantic error reporting */ <a name="XML_PARSE_NOBLANKS">XML_PARSE_NOBLANKS</a> = 256 /* remove blank nodes */ <a name="XML_PARSE_SAX1">XML_PARSE_SAX1</a> = 512 /* use the SAX1 interface internally */ <a name="XML_PARSE_XINCLUDE">XML_PARSE_XINCLUDE</a> = 1024 /* Implement XInclude substitution */ <a name="XML_PARSE_NONET">XML_PARSE_NONET</a> = 2048 /* Forbid network access */ <a name="XML_PARSE_NODICT">XML_PARSE_NODICT</a> = 4096 /* Do not reuse the context dictionary */ <a name="XML_PARSE_NSCLEAN">XML_PARSE_NSCLEAN</a> = 8192 /* remove redundant namespaces declarations */ <a name="XML_PARSE_NOCDATA">XML_PARSE_NOCDATA</a> = 16384 /* merge CDATA as text nodes */ <a name="XML_PARSE_NOXINCNODE">XML_PARSE_NOXINCNODE</a> = 32768 /* do not generate XINCLUDE START/END nodes */ <a name="XML_PARSE_COMPACT">XML_PARSE_COMPACT</a> = 65536 /* compact small text nodes; no modification of the tree allowed afterwards (will possibly crash if you try to modify the tree) */ <a name="XML_PARSE_OLD10">XML_PARSE_OLD10</a> = 131072 /* parse using XML-1.0 before update 5 */ <a name="XML_PARSE_NOBASEFIX">XML_PARSE_NOBASEFIX</a> = 262144 /* do not fixup XINCLUDE xml:base uris */ <a name="XML_PARSE_HUGE">XML_PARSE_HUGE</a> = 524288 /* relax any hardcoded limit from the parser */ <a name="XML_PARSE_OLDSAX">XML_PARSE_OLDSAX</a> = 1048576 /* parse using SAX2 interface before 2.7.0 */ <a name="XML_PARSE_IGNORE_ENC">XML_PARSE_IGNORE_ENC</a> = 2097152 /* ignore internal document encoding hint */ <a name="XML_PARSE_BIG_LINES">XML_PARSE_BIG_LINES</a> = 4194304 /* Store big lines numbers in text PSVI field */ <a name="XML_PARSE_NO_XXE">XML_PARSE_NO_XXE</a> = 8388608 /* disable loading of external content */ }; </pre> <p></p> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlSAXHandlerV1">Structure </a>xmlSAXHandlerV1</h3> <pre class="programlisting">struct _xmlSAXHandlerV1 { <a href="libxml2-parser.html#internalSubsetSAXFunc">internalSubsetSAXFunc</a> internalSubset <a href="libxml2-parser.html#isStandaloneSAXFunc">isStandaloneSAXFunc</a> isStandalone <a href="libxml2-parser.html#hasInternalSubsetSAXFunc">hasInternalSubsetSAXFunc</a> hasInternalSubset <a href="libxml2-parser.html#hasExternalSubsetSAXFunc">hasExternalSubsetSAXFunc</a> hasExternalSubset <a href="libxml2-parser.html#resolveEntitySAXFunc">resolveEntitySAXFunc</a> resolveEntity <a href="libxml2-parser.html#getEntitySAXFunc">getEntitySAXFunc</a> getEntity <a href="libxml2-parser.html#entityDeclSAXFunc">entityDeclSAXFunc</a> entityDecl <a href="libxml2-parser.html#notationDeclSAXFunc">notationDeclSAXFunc</a> notationDecl <a href="libxml2-parser.html#attributeDeclSAXFunc">attributeDeclSAXFunc</a> attributeDecl <a href="libxml2-parser.html#elementDeclSAXFunc">elementDeclSAXFunc</a> elementDecl <a href="libxml2-parser.html#unparsedEntityDeclSAXFunc">unparsedEntityDeclSAXFunc</a> unparsedEntityDecl <a href="libxml2-parser.html#setDocumentLocatorSAXFunc">setDocumentLocatorSAXFunc</a> setDocumentLocator <a href="libxml2-parser.html#startDocumentSAXFunc">startDocumentSAXFunc</a> startDocument <a href="libxml2-parser.html#endDocumentSAXFunc">endDocumentSAXFunc</a> endDocument <a href="libxml2-parser.html#startElementSAXFunc">startElementSAXFunc</a> startElement <a href="libxml2-parser.html#endElementSAXFunc">endElementSAXFunc</a> endElement <a href="libxml2-parser.html#referenceSAXFunc">referenceSAXFunc</a> reference <a href="libxml2-parser.html#charactersSAXFunc">charactersSAXFunc</a> characters <a href="libxml2-parser.html#ignorableWhitespaceSAXFunc">ignorableWhitespaceSAXFunc</a> ignorableWhitespace <a href="libxml2-parser.html#processingInstructionSAXFunc">processingInstructionSAXFunc</a> processingInstruction <a href="libxml2-parser.html#commentSAXFunc">commentSAXFunc</a> comment <a href="libxml2-parser.html#warningSAXFunc">warningSAXFunc</a> warning <a href="libxml2-parser.html#errorSAXFunc">errorSAXFunc</a> error <a href="libxml2-parser.html#fatalErrorSAXFunc">fatalErrorSAXFunc</a> fatalError : unused error() get all the errors <a href="libxml2-parser.html#getParameterEntitySAXFunc">getParameterEntitySAXFunc</a> getParameterEntity <a href="libxml2-parser.html#cdataBlockSAXFunc">cdataBlockSAXFunc</a> cdataBlock <a href="libxml2-parser.html#externalSubsetSAXFunc">externalSubsetSAXFunc</a> externalSubset unsigned int initialized } xmlSAXHandlerV1; </pre> <p></p> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlSAXHandlerV1Ptr">Typedef </a>xmlSAXHandlerV1Ptr</h3> <pre class="programlisting"><a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> * xmlSAXHandlerV1Ptr; </pre> <p></p> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlStartTag">Structure </a>xmlStartTag</h3> <pre class="programlisting">struct _xmlStartTag { The content of this structure is not made public by the API. } xmlStartTag; </pre> <p></p> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="attributeDeclSAXFunc"></a>Function type attributeDeclSAXFunc</h3> <pre class="programlisting">void attributeDeclSAXFunc (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br> int type, <br> int def, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br> <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree)<br> </pre> <p>An <a href="libxml2-SAX.html#attribute">attribute</a> definition has been parsed.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>ctx</tt></i>:</span></td> <td>the user data (XML parser context)</td> </tr> <tr> <td><span class="term"><i><tt>elem</tt></i>:</span></td> <td>the name of the element</td> </tr> <tr> <td><span class="term"><i><tt>fullname</tt></i>:</span></td> <td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td> </tr> <tr> <td><span class="term"><i><tt>type</tt></i>:</span></td> <td>the <a href="libxml2-SAX.html#attribute">attribute</a> type</td> </tr> <tr> <td><span class="term"><i><tt>def</tt></i>:</span></td> <td>the type of default value</td> </tr> <tr> <td><span class="term"><i><tt>defaultValue</tt></i>:</span></td> <td>the <a href="libxml2-SAX.html#attribute">attribute</a> default value</td> </tr> <tr> <td><span class="term"><i><tt>tree</tt></i>:</span></td> <td>the tree of enumerated value set</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="attributeSAXFunc"></a>Function type attributeSAXFunc</h3> <pre class="programlisting">void attributeSAXFunc (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br> </pre> <p>Handle an <a href="libxml2-SAX.html#attribute">attribute</a> that has been read by the parser. The default handling is to convert the <a href="libxml2-SAX.html#attribute">attribute</a> into an DOM subtree and past it in a new <a href="libxml2-tree.html#xmlAttr">xmlAttr</a> element added to the element.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>ctx</tt></i>:</span></td> <td>the user data (XML parser context)</td> </tr> <tr> <td><span class="term"><i><tt>name</tt></i>:</span></td> <td>The <a href="libxml2-SAX.html#attribute">attribute</a> name, including namespace prefix</td> </tr> <tr> <td><span class="term"><i><tt>value</tt></i>:</span></td> <td>The <a href="libxml2-SAX.html#attribute">attribute</a> value</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="cdataBlockSAXFunc"></a>Function type cdataBlockSAXFunc</h3> <pre class="programlisting">void cdataBlockSAXFunc (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br> int len)<br> </pre> <p>Called when a pcdata block has been parsed.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>ctx</tt></i>:</span></td> <td>the user data (XML parser context)</td> </tr> <tr> <td><span class="term"><i><tt>value</tt></i>:</span></td> <td>The pcdata content</td> </tr> <tr> <td><span class="term"><i><tt>len</tt></i>:</span></td> <td>the block length</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="charactersSAXFunc"></a>Function type charactersSAXFunc</h3> <pre class="programlisting">void charactersSAXFunc (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br> int len)<br> </pre> <p>Receiving some chars from the parser.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>ctx</tt></i>:</span></td> <td>the user data (XML parser context)</td> </tr> <tr> <td><span class="term"><i><tt>ch</tt></i>:</span></td> <td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string</td> </tr> <tr> <td><span class="term"><i><tt>len</tt></i>:</span></td> <td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> </td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="commentSAXFunc"></a>Function type commentSAXFunc</h3> <pre class="programlisting">void commentSAXFunc (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br> </pre> <p>A <a href="libxml2-SAX.html#comment">comment</a> has been parsed.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>ctx</tt></i>:</span></td> <td>the user data (XML parser context)</td> </tr> <tr> <td><span class="term"><i><tt>value</tt></i>:</span></td> <td>the <a href="libxml2-SAX.html#comment">comment</a> content</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="elementDeclSAXFunc"></a>Function type elementDeclSAXFunc</h3> <pre class="programlisting">void elementDeclSAXFunc (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> int type, <br> <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content)<br> </pre> <p>An element definition has been parsed.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>ctx</tt></i>:</span></td> <td>the user data (XML parser context)</td> </tr> <tr> <td><span class="term"><i><tt>name</tt></i>:</span></td> <td>the element name</td> </tr> <tr> <td><span class="term"><i><tt>type</tt></i>:</span></td> <td>the element type</td> </tr> <tr> <td><span class="term"><i><tt>content</tt></i>:</span></td> <td>the element value tree</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="endDocumentSAXFunc"></a>Function type endDocumentSAXFunc</h3> <pre class="programlisting">void endDocumentSAXFunc (void * ctx)<br> </pre> <p>Called when the document end has been detected.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody><tr> <td><span class="term"><i><tt>ctx</tt></i>:</span></td> <td>the user data (XML parser context)</td> </tr></tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="endElementNsSAX2Func"></a>Function type endElementNsSAX2Func</h3> <pre class="programlisting">void endElementNsSAX2Func (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI)<br> </pre> <p>SAX2 callback when an element end has been detected by the parser. It provides the namespace information for the element.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>ctx</tt></i>:</span></td> <td>the user data (XML parser context)</td> </tr> <tr> <td><span class="term"><i><tt>localname</tt></i>:</span></td> <td>the local name of the element</td> </tr> <tr> <td><span class="term"><i><tt>prefix</tt></i>:</span></td> <td>the element namespace prefix if available</td> </tr> <tr> <td><span class="term"><i><tt>URI</tt></i>:</span></td> <td>the element namespace name if available</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="endElementSAXFunc"></a>Function type endElementSAXFunc</h3> <pre class="programlisting">void endElementSAXFunc (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br> </pre> <p>Called when the end of an element has been detected.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>ctx</tt></i>:</span></td> <td>the user data (XML parser context)</td> </tr> <tr> <td><span class="term"><i><tt>name</tt></i>:</span></td> <td>The element name</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="entityDeclSAXFunc"></a>Function type entityDeclSAXFunc</h3> <pre class="programlisting">void entityDeclSAXFunc (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> int type, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br> <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br> </pre> <p>An entity definition has been parsed.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>ctx</tt></i>:</span></td> <td>the user data (XML parser context)</td> </tr> <tr> <td><span class="term"><i><tt>name</tt></i>:</span></td> <td>the entity name</td> </tr> <tr> <td><span class="term"><i><tt>type</tt></i>:</span></td> <td>the entity type</td> </tr> <tr> <td><span class="term"><i><tt>publicId</tt></i>:</span></td> <td>The public ID of the entity</td> </tr> <tr> <td><span class="term"><i><tt>systemId</tt></i>:</span></td> <td>The system ID of the entity</td> </tr> <tr> <td><span class="term"><i><tt>content</tt></i>:</span></td> <td>the entity value (without processing).</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="errorSAXFunc"></a>Function type errorSAXFunc</h3> <pre class="programlisting">void errorSAXFunc (void * ctx, <br> const char * msg, <br> ... ...)<br> </pre> <p>Display and format an error messages, callback.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>ctx</tt></i>:</span></td> <td>an XML parser context</td> </tr> <tr> <td><span class="term"><i><tt>msg</tt></i>:</span></td> <td>the message to display/transmit</td> </tr> <tr> <td><span class="term"><i><tt>...</tt></i>:</span></td> <td>extra parameters for the message display</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="externalSubsetSAXFunc"></a>Function type externalSubsetSAXFunc</h3> <pre class="programlisting">void externalSubsetSAXFunc (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br> </pre> <p>Callback on external subset declaration.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>ctx</tt></i>:</span></td> <td>the user data (XML parser context)</td> </tr> <tr> <td><span class="term"><i><tt>name</tt></i>:</span></td> <td>the root element name</td> </tr> <tr> <td><span class="term"><i><tt>ExternalID</tt></i>:</span></td> <td>the external ID</td> </tr> <tr> <td><span class="term"><i><tt>SystemID</tt></i>:</span></td> <td>the SYSTEM ID (e.g. filename or URL)</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="fatalErrorSAXFunc"></a>Function type fatalErrorSAXFunc</h3> <pre class="programlisting">void fatalErrorSAXFunc (void * ctx, <br> const char * msg, <br> ... ...)<br> </pre> <p>Display and format fatal error messages, callback. Note: so far fatalError() SAX callbacks are not used, error() get all the callbacks for errors.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>ctx</tt></i>:</span></td> <td>an XML parser context</td> </tr> <tr> <td><span class="term"><i><tt>msg</tt></i>:</span></td> <td>the message to display/transmit</td> </tr> <tr> <td><span class="term"><i><tt>...</tt></i>:</span></td> <td>extra parameters for the message display</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="getEntitySAXFunc"></a>Function type getEntitySAXFunc</h3> <pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> getEntitySAXFunc (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br> </pre> <p>Get an entity by name.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>ctx</tt></i>:</span></td> <td>the user data (XML parser context)</td> </tr> <tr> <td><span class="term"><i><tt>name</tt></i>:</span></td> <td>The entity name</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>the <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> if found.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="getParameterEntitySAXFunc"></a>Function type getParameterEntitySAXFunc</h3> <pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> getParameterEntitySAXFunc (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br> </pre> <p>Get a parameter entity by name.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>ctx</tt></i>:</span></td> <td>the user data (XML parser context)</td> </tr> <tr> <td><span class="term"><i><tt>name</tt></i>:</span></td> <td>The entity name</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>the <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> if found.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="hasExternalSubsetSAXFunc"></a>Function type hasExternalSubsetSAXFunc</h3> <pre class="programlisting">int hasExternalSubsetSAXFunc (void * ctx)<br> </pre> <p>Does this document has an external subset?</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>ctx</tt></i>:</span></td> <td>the user data (XML parser context)</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>1 if true</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="hasInternalSubsetSAXFunc"></a>Function type hasInternalSubsetSAXFunc</h3> <pre class="programlisting">int hasInternalSubsetSAXFunc (void * ctx)<br> </pre> <p>Does this document has an internal subset.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>ctx</tt></i>:</span></td> <td>the user data (XML parser context)</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>1 if true</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="ignorableWhitespaceSAXFunc"></a>Function type ignorableWhitespaceSAXFunc</h3> <pre class="programlisting">void ignorableWhitespaceSAXFunc (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br> int len)<br> </pre> <p>Receiving some ignorable whitespaces from the parser. UNUSED: by default the DOM building will use <a href="libxml2-SAX.html#characters">characters</a>.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>ctx</tt></i>:</span></td> <td>the user data (XML parser context)</td> </tr> <tr> <td><span class="term"><i><tt>ch</tt></i>:</span></td> <td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string</td> </tr> <tr> <td><span class="term"><i><tt>len</tt></i>:</span></td> <td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> </td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="internalSubsetSAXFunc"></a>Function type internalSubsetSAXFunc</h3> <pre class="programlisting">void internalSubsetSAXFunc (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br> </pre> <p>Callback on internal subset declaration.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>ctx</tt></i>:</span></td> <td>the user data (XML parser context)</td> </tr> <tr> <td><span class="term"><i><tt>name</tt></i>:</span></td> <td>the root element name</td> </tr> <tr> <td><span class="term"><i><tt>ExternalID</tt></i>:</span></td> <td>the external ID</td> </tr> <tr> <td><span class="term"><i><tt>SystemID</tt></i>:</span></td> <td>the SYSTEM ID (e.g. filename or URL)</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="isStandaloneSAXFunc"></a>Function type isStandaloneSAXFunc</h3> <pre class="programlisting">int isStandaloneSAXFunc (void * ctx)<br> </pre> <p>Is this document tagged standalone?</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>ctx</tt></i>:</span></td> <td>the user data (XML parser context)</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>1 if true</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="notationDeclSAXFunc"></a>Function type notationDeclSAXFunc</h3> <pre class="programlisting">void notationDeclSAXFunc (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId)<br> </pre> <p>What to do when a notation declaration has been parsed.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>ctx</tt></i>:</span></td> <td>the user data (XML parser context)</td> </tr> <tr> <td><span class="term"><i><tt>name</tt></i>:</span></td> <td>The name of the notation</td> </tr> <tr> <td><span class="term"><i><tt>publicId</tt></i>:</span></td> <td>The public ID of the entity</td> </tr> <tr> <td><span class="term"><i><tt>systemId</tt></i>:</span></td> <td>The system ID of the entity</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="processingInstructionSAXFunc"></a>Function type processingInstructionSAXFunc</h3> <pre class="programlisting">void processingInstructionSAXFunc (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data)<br> </pre> <p>A processing instruction has been parsed.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>ctx</tt></i>:</span></td> <td>the user data (XML parser context)</td> </tr> <tr> <td><span class="term"><i><tt>target</tt></i>:</span></td> <td>the target name</td> </tr> <tr> <td><span class="term"><i><tt>data</tt></i>:</span></td> <td>the PI data's</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="referenceSAXFunc"></a>Function type referenceSAXFunc</h3> <pre class="programlisting">void referenceSAXFunc (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br> </pre> <p>Called when an entity <a href="libxml2-SAX.html#reference">reference</a> is detected.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>ctx</tt></i>:</span></td> <td>the user data (XML parser context)</td> </tr> <tr> <td><span class="term"><i><tt>name</tt></i>:</span></td> <td>The entity name</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="resolveEntitySAXFunc"></a>Function type resolveEntitySAXFunc</h3> <pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> resolveEntitySAXFunc (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId)<br> </pre> <p>Callback: The entity loader, to control the loading of external entities, the application can either: - override this resolveEntity() callback in the SAX block - or better use the xmlSetExternalEntityLoader() function to set up it's own entity resolution routine</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>ctx</tt></i>:</span></td> <td>the user data (XML parser context)</td> </tr> <tr> <td><span class="term"><i><tt>publicId</tt></i>:</span></td> <td>The public ID of the entity</td> </tr> <tr> <td><span class="term"><i><tt>systemId</tt></i>:</span></td> <td>The system ID of the entity</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>the <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> if inlined or NULL for DOM behaviour.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="setDocumentLocatorSAXFunc"></a>Function type setDocumentLocatorSAXFunc</h3> <pre class="programlisting">void setDocumentLocatorSAXFunc (void * ctx, <br> <a href="libxml2-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc)<br> </pre> <p>Receive the document locator at startup, actually <a href="libxml2-parser.html#xmlDefaultSAXLocator">xmlDefaultSAXLocator</a>. Everything is available on the context, so this is useless in our case.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>ctx</tt></i>:</span></td> <td>the user data (XML parser context)</td> </tr> <tr> <td><span class="term"><i><tt>loc</tt></i>:</span></td> <td>A SAX Locator</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="startDocumentSAXFunc"></a>Function type startDocumentSAXFunc</h3> <pre class="programlisting">void startDocumentSAXFunc (void * ctx)<br> </pre> <p>Called when the document start being processed.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody><tr> <td><span class="term"><i><tt>ctx</tt></i>:</span></td> <td>the user data (XML parser context)</td> </tr></tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="startElementNsSAX2Func"></a>Function type startElementNsSAX2Func</h3> <pre class="programlisting">void startElementNsSAX2Func (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br> int nb_namespaces, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** namespaces, <br> int nb_attributes, <br> int nb_defaulted, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** attributes)<br> </pre> <p>SAX2 callback when an element start has been detected by the parser. It provides the namespace information for the element, as well as the new namespace declarations on the element.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>ctx</tt></i>:</span></td> <td>the user data (XML parser context)</td> </tr> <tr> <td><span class="term"><i><tt>localname</tt></i>:</span></td> <td>the local name of the element</td> </tr> <tr> <td><span class="term"><i><tt>prefix</tt></i>:</span></td> <td>the element namespace prefix if available</td> </tr> <tr> <td><span class="term"><i><tt>URI</tt></i>:</span></td> <td>the element namespace name if available</td> </tr> <tr> <td><span class="term"><i><tt>nb_namespaces</tt></i>:</span></td> <td>number of namespace definitions on that node</td> </tr> <tr> <td><span class="term"><i><tt>namespaces</tt></i>:</span></td> <td>pointer to the array of prefix/URI pairs namespace definitions</td> </tr> <tr> <td><span class="term"><i><tt>nb_attributes</tt></i>:</span></td> <td>the number of attributes on that node</td> </tr> <tr> <td><span class="term"><i><tt>nb_defaulted</tt></i>:</span></td> <td>the number of defaulted attributes. The defaulted ones are at the end of the array</td> </tr> <tr> <td><span class="term"><i><tt>attributes</tt></i>:</span></td> <td>pointer to the array of (localname/prefix/URI/value/end) <a href="libxml2-SAX.html#attribute">attribute</a> values.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="startElementSAXFunc"></a>Function type startElementSAXFunc</h3> <pre class="programlisting">void startElementSAXFunc (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** atts)<br> </pre> <p>Called when an opening tag has been processed.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>ctx</tt></i>:</span></td> <td>the user data (XML parser context)</td> </tr> <tr> <td><span class="term"><i><tt>name</tt></i>:</span></td> <td>The element name, including namespace prefix</td> </tr> <tr> <td><span class="term"><i><tt>atts</tt></i>:</span></td> <td>An array of name/value attributes pairs, NULL terminated</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="unparsedEntityDeclSAXFunc"></a>Function type unparsedEntityDeclSAXFunc</h3> <pre class="programlisting">void unparsedEntityDeclSAXFunc (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * notationName)<br> </pre> <p>What to do when an unparsed entity declaration is parsed.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>ctx</tt></i>:</span></td> <td>the user data (XML parser context)</td> </tr> <tr> <td><span class="term"><i><tt>name</tt></i>:</span></td> <td>The name of the entity</td> </tr> <tr> <td><span class="term"><i><tt>publicId</tt></i>:</span></td> <td>The public ID of the entity</td> </tr> <tr> <td><span class="term"><i><tt>systemId</tt></i>:</span></td> <td>The system ID of the entity</td> </tr> <tr> <td><span class="term"><i><tt>notationName</tt></i>:</span></td> <td>the name of the notation</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="warningSAXFunc"></a>Function type warningSAXFunc</h3> <pre class="programlisting">void warningSAXFunc (void * ctx, <br> const char * msg, <br> ... ...)<br> </pre> <p>Display and format a warning messages, callback.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>ctx</tt></i>:</span></td> <td>an XML parser context</td> </tr> <tr> <td><span class="term"><i><tt>msg</tt></i>:</span></td> <td>the message to display/transmit</td> </tr> <tr> <td><span class="term"><i><tt>...</tt></i>:</span></td> <td>extra parameters for the message display</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlExternalEntityLoader"></a>Function type xmlExternalEntityLoader</h3> <pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> xmlExternalEntityLoader (const char * URL, <br> const char * ID, <br> <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> context)<br> </pre> <p>External entity loaders types.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>URL</tt></i>:</span></td> <td>The System ID of the resource requested</td> </tr> <tr> <td><span class="term"><i><tt>ID</tt></i>:</span></td> <td>The Public ID of the resource requested</td> </tr> <tr> <td><span class="term"><i><tt>context</tt></i>:</span></td> <td>the XML parser context</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>the entity input parser.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlParserInputDeallocate"></a>Function type xmlParserInputDeallocate</h3> <pre class="programlisting">void xmlParserInputDeallocate (<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br> </pre> <p>Callback for freeing some parser input allocations.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody><tr> <td><span class="term"><i><tt>str</tt></i>:</span></td> <td>the string to deallocate</td> </tr></tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="oldXMLWDcompatibility">Variable </a>oldXMLWDcompatibility</h3> <pre class="programlisting">const int oldXMLWDcompatibility; </pre> <p>Global setting, DEPRECATED.</p> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlDefaultSAXHandler">Variable </a>xmlDefaultSAXHandler</h3> <pre class="programlisting">const <a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> xmlDefaultSAXHandler; </pre> <p>DEPRECATED: This handler is unused and will be removed from future versions. Default SAX version1 handler for XML, builds the DOM tree</p> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlDefaultSAXLocator">Variable </a>xmlDefaultSAXLocator</h3> <pre class="programlisting">const <a href="libxml2-tree.html#xmlSAXLocator">xmlSAXLocator</a> xmlDefaultSAXLocator; </pre> <p>DEPRECATED: Don't use The default SAX Locator { getPublicId, getSystemId, getLineNumber, getColumnNumber}</p> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlParserDebugEntities">Variable </a>xmlParserDebugEntities</h3> <pre class="programlisting">const int xmlParserDebugEntities; </pre> <p>DEPRECATED: Don't use Global setting, asking the parser to print out debugging information. while handling entities. Disabled by default</p> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlParserVersion">Variable </a>xmlParserVersion</h3> <pre class="programlisting">const char * const xmlParserVersion; </pre> <p>Constant string describing the internal version of the library</p> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlByteConsumed"></a>xmlByteConsumed ()</h3> <pre class="programlisting">long xmlByteConsumed (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br> </pre> <p>This function provides the current index of the parser relative to the start of the current entity. This function is computed in bytes from the beginning starting at zero and finishing at the size in byte of the file if parsing a file. The function is of constant cost if the input is UTF-8 but can be costly if run on non-UTF-8 input.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>ctxt</tt></i>:</span></td> <td>an XML parser context</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>the index in bytes from the beginning of the entity or -1 in case the index could not be computed.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlCleanupGlobals"></a>xmlCleanupGlobals ()</h3> <pre class="programlisting">void xmlCleanupGlobals (void)<br> </pre> <p>DEPRECATED: This function is a no-op. Call <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> to free global state but see the warnings there. <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> should be only called once at program exit. In most cases, you don't have call cleanup functions at all.</p> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlCleanupParser"></a>xmlCleanupParser ()</h3> <pre class="programlisting">void xmlCleanupParser (void)<br> </pre> <p>This function name is somewhat misleading. It does not clean up parser state, it cleans up memory allocated by the library itself. It is a cleanup function for the XML library. It tries to reclaim all related global memory allocated for the library processing. It doesn't deallocate any document related memory. One should call xmlCleanupParser() only when the process has finished using the library and all XML/HTML documents built with it. See also xmlInitParser() which has the opposite function of preparing the library for operations. WARNING: if your application is multithreaded or has plugin support calling this may crash the application if another thread or a plugin is still using libxml2. It's sometimes very hard to guess if libxml2 is in use in the application, some libraries or plugins may use it without notice. In case of doubt abstain from calling this function or do it just before calling exit() to avoid leak reports from valgrind !</p> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlClearNodeInfoSeq"></a>xmlClearNodeInfoSeq ()</h3> <pre class="programlisting">void xmlClearNodeInfoSeq (<a href="libxml2-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq)<br> </pre> <p>DEPRECATED: Don't use. -- Clear (release memory and reinitialize) node info sequence</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody><tr> <td><span class="term"><i><tt>seq</tt></i>:</span></td> <td>a node info sequence pointer</td> </tr></tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlClearParserCtxt"></a>xmlClearParserCtxt ()</h3> <pre class="programlisting">void xmlClearParserCtxt (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br> </pre> <p>Clear (release owned resources) and reinitialize a parser context</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody><tr> <td><span class="term"><i><tt>ctxt</tt></i>:</span></td> <td>an XML parser context</td> </tr></tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlCreateDocParserCtxt"></a>xmlCreateDocParserCtxt ()</h3> <pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> xmlCreateDocParserCtxt (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br> </pre> <p>Creates a parser context for an XML in-memory document.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>str</tt></i>:</span></td> <td>a pointer to an array of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> </td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>the new parser context or NULL</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlCreateIOParserCtxt"></a>xmlCreateIOParserCtxt ()</h3> <pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> xmlCreateIOParserCtxt (<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br> void * user_data, <br> <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br> <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br> void * ioctx, <br> <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br> </pre> <p>Create a parser context for using the XML parser with an existing I/O stream</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>sax</tt></i>:</span></td> <td>a SAX handler (optional)</td> </tr> <tr> <td><span class="term"><i><tt>user_data</tt></i>:</span></td> <td>user data for SAX callbacks (optional)</td> </tr> <tr> <td><span class="term"><i><tt>ioread</tt></i>:</span></td> <td>an I/O read function</td> </tr> <tr> <td><span class="term"><i><tt>ioclose</tt></i>:</span></td> <td>an I/O close function (optional)</td> </tr> <tr> <td><span class="term"><i><tt>ioctx</tt></i>:</span></td> <td>an I/O handler</td> </tr> <tr> <td><span class="term"><i><tt>enc</tt></i>:</span></td> <td>the charset encoding if known (deprecated)</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>the new parser context or NULL</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlCreatePushParserCtxt"></a>xmlCreatePushParserCtxt ()</h3> <pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> xmlCreatePushParserCtxt (<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br> void * user_data, <br> const char * chunk, <br> int size, <br> const char * filename)<br> </pre> <p>Create a parser context for using the XML parser in push mode. See <a href="libxml2-parser.html#xmlParseChunk">xmlParseChunk</a>. Passing an initial chunk is useless and deprecated. @filename is used as base URI to fetch external entities and for error reports.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>sax</tt></i>:</span></td> <td>a SAX handler (optional)</td> </tr> <tr> <td><span class="term"><i><tt>user_data</tt></i>:</span></td> <td>user data for SAX callbacks (optional)</td> </tr> <tr> <td><span class="term"><i><tt>chunk</tt></i>:</span></td> <td>initial chunk (optional, deprecated)</td> </tr> <tr> <td><span class="term"><i><tt>size</tt></i>:</span></td> <td>size of initial chunk in bytes</td> </tr> <tr> <td><span class="term"><i><tt>filename</tt></i>:</span></td> <td>file name or URI (optional)</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>the new parser context or NULL in case of error.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlCtxtParseDocument"></a>xmlCtxtParseDocument ()</h3> <pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> xmlCtxtParseDocument (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input)<br> </pre> <p>Parse an XML document and return the resulting document tree. Takes ownership of the input object. Available since 2.13.0.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>ctxt</tt></i>:</span></td> <td>an XML parser context</td> </tr> <tr> <td><span class="term"><i><tt>input</tt></i>:</span></td> <td>parser input</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>the resulting document tree or NULL</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlCtxtReadDoc"></a>xmlCtxtReadDoc ()</h3> <pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> xmlCtxtReadDoc (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br> const char * URL, <br> const char * encoding, <br> int options)<br> </pre> <p>Parse an XML in-memory document and build a tree. @URL is used as base to resolve external entities and for error reporting. See <a href="libxml2-parser.html#xmlCtxtUseOptions">xmlCtxtUseOptions</a> for details.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>ctxt</tt></i>:</span></td> <td>an XML parser context</td> </tr> <tr> <td><span class="term"><i><tt>str</tt></i>:</span></td> <td>a pointer to a zero terminated string</td> </tr> <tr> <td><span class="term"><i><tt>URL</tt></i>:</span></td> <td>base URL (optional)</td> </tr> <tr> <td><span class="term"><i><tt>encoding</tt></i>:</span></td> <td>the document encoding (optional)</td> </tr> <tr> <td><span class="term"><i><tt>options</tt></i>:</span></td> <td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> </td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>the resulting document tree</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlCtxtReadFd"></a>xmlCtxtReadFd ()</h3> <pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> xmlCtxtReadFd (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> int fd, <br> const char * URL, <br> const char * encoding, <br> int options)<br> </pre> <p>Parse an XML document from a file descriptor and build a tree. NOTE that the file descriptor will not be closed when the context is freed or reset. @URL is used as base to resolve external entities and for error reporting. See <a href="libxml2-parser.html#xmlCtxtUseOptions">xmlCtxtUseOptions</a> for details.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>ctxt</tt></i>:</span></td> <td>an XML parser context</td> </tr> <tr> <td><span class="term"><i><tt>fd</tt></i>:</span></td> <td>an open file descriptor</td> </tr> <tr> <td><span class="term"><i><tt>URL</tt></i>:</span></td> <td>base URL (optional)</td> </tr> <tr> <td><span class="term"><i><tt>encoding</tt></i>:</span></td> <td>the document encoding (optional)</td> </tr> <tr> <td><span class="term"><i><tt>options</tt></i>:</span></td> <td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> </td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>the resulting document tree</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlCtxtReadFile"></a>xmlCtxtReadFile ()</h3> <pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> xmlCtxtReadFile (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> const char * filename, <br> const char * encoding, <br> int options)<br> </pre> <p>Parse an XML file from the filesystem, the network or a user-defined resource loader.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>ctxt</tt></i>:</span></td> <td>an XML parser context</td> </tr> <tr> <td><span class="term"><i><tt>filename</tt></i>:</span></td> <td>a file or URL</td> </tr> <tr> <td><span class="term"><i><tt>encoding</tt></i>:</span></td> <td>the document encoding (optional)</td> </tr> <tr> <td><span class="term"><i><tt>options</tt></i>:</span></td> <td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> </td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>the resulting document tree</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlCtxtReadIO"></a>xmlCtxtReadIO ()</h3> <pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> xmlCtxtReadIO (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br> <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br> void * ioctx, <br> const char * URL, <br> const char * encoding, <br> int options)<br> </pre> <p>parse an XML document from I/O functions and source and build a tree. This reuses the existing @ctxt parser context @URL is used as base to resolve external entities and for error reporting. See <a href="libxml2-parser.html#xmlCtxtUseOptions">xmlCtxtUseOptions</a> for details.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>ctxt</tt></i>:</span></td> <td>an XML parser context</td> </tr> <tr> <td><span class="term"><i><tt>ioread</tt></i>:</span></td> <td>an I/O read function</td> </tr> <tr> <td><span class="term"><i><tt>ioclose</tt></i>:</span></td> <td>an I/O close function</td> </tr> <tr> <td><span class="term"><i><tt>ioctx</tt></i>:</span></td> <td>an I/O handler</td> </tr> <tr> <td><span class="term"><i><tt>URL</tt></i>:</span></td> <td>the base URL to use for the document</td> </tr> <tr> <td><span class="term"><i><tt>encoding</tt></i>:</span></td> <td>the document encoding, or NULL</td> </tr> <tr> <td><span class="term"><i><tt>options</tt></i>:</span></td> <td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> </td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>the resulting document tree</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlCtxtReadMemory"></a>xmlCtxtReadMemory ()</h3> <pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> xmlCtxtReadMemory (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> const char * buffer, <br> int size, <br> const char * URL, <br> const char * encoding, <br> int options)<br> </pre> <p>Parse an XML in-memory document and build a tree. The input buffer must not contain a terminating null byte. @URL is used as base to resolve external entities and for error reporting. See <a href="libxml2-parser.html#xmlCtxtUseOptions">xmlCtxtUseOptions</a> for details.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>ctxt</tt></i>:</span></td> <td>an XML parser context</td> </tr> <tr> <td><span class="term"><i><tt>buffer</tt></i>:</span></td> <td>a pointer to a char array</td> </tr> <tr> <td><span class="term"><i><tt>size</tt></i>:</span></td> <td>the size of the array</td> </tr> <tr> <td><span class="term"><i><tt>URL</tt></i>:</span></td> <td>base URL (optional)</td> </tr> <tr> <td><span class="term"><i><tt>encoding</tt></i>:</span></td> <td>the document encoding (optional)</td> </tr> <tr> <td><span class="term"><i><tt>options</tt></i>:</span></td> <td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> </td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>the resulting document tree</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlCtxtReset"></a>xmlCtxtReset ()</h3> <pre class="programlisting">void xmlCtxtReset (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br> </pre> <p>Reset a parser context</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody><tr> <td><span class="term"><i><tt>ctxt</tt></i>:</span></td> <td>an XML parser context</td> </tr></tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlCtxtResetPush"></a>xmlCtxtResetPush ()</h3> <pre class="programlisting">int xmlCtxtResetPush (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> const char * chunk, <br> int size, <br> const char * filename, <br> const char * encoding)<br> </pre> <p>Reset a push parser context</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>ctxt</tt></i>:</span></td> <td>an XML parser context</td> </tr> <tr> <td><span class="term"><i><tt>chunk</tt></i>:</span></td> <td>a pointer to an array of chars</td> </tr> <tr> <td><span class="term"><i><tt>size</tt></i>:</span></td> <td>number of chars in the array</td> </tr> <tr> <td><span class="term"><i><tt>filename</tt></i>:</span></td> <td>an optional file name or URI</td> </tr> <tr> <td><span class="term"><i><tt>encoding</tt></i>:</span></td> <td>the document encoding, or NULL</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>0 in case of success and 1 in case of error</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlCtxtSetErrorHandler"></a>xmlCtxtSetErrorHandler ()</h3> <pre class="programlisting">void xmlCtxtSetErrorHandler (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> handler, <br> void * data)<br> </pre> <p>Register a callback function that will be called on errors and warnings. If handler is NULL, the error handler will be deactivated. This is the recommended way to collect errors from the parser and takes precedence over all other error reporting mechanisms. These are (in order of precedence): - per-context structured handler (xmlCtxtSetErrorHandler) - per-context structured "serror" SAX handler - global structured handler (xmlSetStructuredErrorFunc) - per-context generic "error" and "warning" SAX handlers - global generic handler (xmlSetGenericErrorFunc) - print to stderr Available since 2.13.0.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>ctxt</tt></i>:</span></td> <td>an XML parser context</td> </tr> <tr> <td><span class="term"><i><tt>handler</tt></i>:</span></td> <td>error handler</td> </tr> <tr> <td><span class="term"><i><tt>data</tt></i>:</span></td> <td>data for error handler</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlCtxtSetMaxAmplification"></a>xmlCtxtSetMaxAmplification ()</h3> <pre class="programlisting">void xmlCtxtSetMaxAmplification (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> unsigned maxAmpl)<br> </pre> <p>To protect against exponential entity expansion ("billion laughs"), the size of serialized output is (roughly) limited to the input size multiplied by this factor. The default value is 5. When working with documents making heavy use of entity expansion, it can be necessary to increase the value. For security reasons, this should only be considered when processing trusted input.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>ctxt</tt></i>:</span></td> <td>an XML parser context</td> </tr> <tr> <td><span class="term"><i><tt>maxAmpl</tt></i>:</span></td> <td>maximum amplification factor</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlCtxtSetOptions"></a>xmlCtxtSetOptions ()</h3> <pre class="programlisting">int xmlCtxtSetOptions (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> int options)<br> </pre> <p>Applies the options to the parser context. Unset options are cleared. Available since 2.13.0. With older versions, you can use <a href="libxml2-parser.html#xmlCtxtUseOptions">xmlCtxtUseOptions</a>. <a href="libxml2-parser.html#XML_PARSE_RECOVER">XML_PARSE_RECOVER</a> Enable "recovery" mode which allows non-wellformed documents. How this mode behaves exactly is unspecified and may change without further notice. Use of this feature is DISCOURAGED. <a href="libxml2-parser.html#XML_PARSE_NOENT">XML_PARSE_NOENT</a> Despite the confusing name, this option enables substitution of entities. The resulting tree won't contain any entity <a href="libxml2-SAX.html#reference">reference</a> nodes. This option also enables loading of external entities (both general and parameter entities) which is dangerous. If you process untrusted data, it's recommended to set the <a href="libxml2-parser.html#XML_PARSE_NO_XXE">XML_PARSE_NO_XXE</a> option to disable loading of external entities. <a href="libxml2-parser.html#XML_PARSE_DTDLOAD">XML_PARSE_DTDLOAD</a> Enables loading of an external DTD and the loading and substitution of external parameter entities. Has no effect if <a href="libxml2-parser.html#XML_PARSE_NO_XXE">XML_PARSE_NO_XXE</a> is set. <a href="libxml2-parser.html#XML_PARSE_DTDATTR">XML_PARSE_DTDATTR</a> Adds default attributes from the DTD to the result document. Implies XML_PARSE_DTDLOAD, but loading of external content can be disabled with <a href="libxml2-parser.html#XML_PARSE_NO_XXE">XML_PARSE_NO_XXE</a>. <a href="libxml2-parser.html#XML_PARSE_DTDVALID">XML_PARSE_DTDVALID</a> This option enables DTD validation which requires to load external DTDs and external entities (both general and parameter entities) unless <a href="libxml2-parser.html#XML_PARSE_NO_XXE">XML_PARSE_NO_XXE</a> was set. <a href="libxml2-parser.html#XML_PARSE_NO_XXE">XML_PARSE_NO_XXE</a> Disables loading of external DTDs or entities. <a href="libxml2-parser.html#XML_PARSE_NOERROR">XML_PARSE_NOERROR</a> Disable error and warning reports to the error handlers. Errors are still accessible with <a href="libxml2-xmlerror.html#xmlCtxtGetLastError">xmlCtxtGetLastError</a>. <a href="libxml2-parser.html#XML_PARSE_NOWARNING">XML_PARSE_NOWARNING</a> Disable warning reports. <a href="libxml2-parser.html#XML_PARSE_PEDANTIC">XML_PARSE_PEDANTIC</a> Enable some pedantic warnings. <a href="libxml2-parser.html#XML_PARSE_NOBLANKS">XML_PARSE_NOBLANKS</a> Remove some text nodes containing only whitespace from the result document. Which nodes are removed depends on DTD element declarations or a conservative heuristic. The reindenting feature of the serialization code relies on this option to be set when parsing. Use of this option is DISCOURAGED. <a href="libxml2-parser.html#XML_PARSE_SAX1">XML_PARSE_SAX1</a> Always invoke the deprecated SAX1 <a href="libxml2-SAX.html#startElement">startElement</a> and <a href="libxml2-SAX.html#endElement">endElement</a> handlers. This option is DEPRECATED. <a href="libxml2-parser.html#XML_PARSE_NONET">XML_PARSE_NONET</a> Disable network access with the builtin HTTP and FTP clients. <a href="libxml2-parser.html#XML_PARSE_NODICT">XML_PARSE_NODICT</a> Create a document without interned strings, making all strings separate memory allocations. <a href="libxml2-parser.html#XML_PARSE_NSCLEAN">XML_PARSE_NSCLEAN</a> Remove redundant namespace declarations from the result document. <a href="libxml2-parser.html#XML_PARSE_NOCDATA">XML_PARSE_NOCDATA</a> Output normal text nodes instead of CDATA nodes. <a href="libxml2-parser.html#XML_PARSE_COMPACT">XML_PARSE_COMPACT</a> Store small strings directly in the node struct to save memory. <a href="libxml2-parser.html#XML_PARSE_OLD10">XML_PARSE_OLD10</a> Use old Name productions from before XML 1.0 Fifth Edition. This options is DEPRECATED. <a href="libxml2-parser.html#XML_PARSE_HUGE">XML_PARSE_HUGE</a> Relax some internal limits. Maximum size of text nodes, tags, comments, processing instructions, CDATA sections, entity values normal: 10M huge: 1B Maximum size of names, system literals, pubid literals normal: 50K huge: 10M Maximum nesting depth of elements normal: 256 huge: 2048 Maximum nesting depth of entities normal: 20 huge: 40 <a href="libxml2-parser.html#XML_PARSE_OLDSAX">XML_PARSE_OLDSAX</a> Enable an unspecified legacy mode for SAX parsers. This option is DEPRECATED. <a href="libxml2-parser.html#XML_PARSE_IGNORE_ENC">XML_PARSE_IGNORE_ENC</a> Ignore the encoding in the XML declaration. This option is mostly unneeded these days. The only effect is to enforce UTF-8 decoding of ASCII-like data. <a href="libxml2-parser.html#XML_PARSE_BIG_LINES">XML_PARSE_BIG_LINES</a> Enable reporting of line numbers larger than 65535.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>ctxt</tt></i>:</span></td> <td>an XML parser context</td> </tr> <tr> <td><span class="term"><i><tt>options</tt></i>:</span></td> <td>a bitmask of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> values</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>0 in case of success, the set of unknown or unimplemented options in case of error.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlCtxtUseOptions"></a>xmlCtxtUseOptions ()</h3> <pre class="programlisting">int xmlCtxtUseOptions (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> int options)<br> </pre> <p>DEPRECATED: Use <a href="libxml2-parser.html#xmlCtxtSetOptions">xmlCtxtSetOptions</a>. Applies the options to the parser context. The following options are never cleared and can only be enabled: <a href="libxml2-parser.html#XML_PARSE_NOERROR">XML_PARSE_NOERROR</a> <a href="libxml2-parser.html#XML_PARSE_NOWARNING">XML_PARSE_NOWARNING</a> <a href="libxml2-parser.html#XML_PARSE_NONET">XML_PARSE_NONET</a> <a href="libxml2-parser.html#XML_PARSE_NSCLEAN">XML_PARSE_NSCLEAN</a> <a href="libxml2-parser.html#XML_PARSE_NOCDATA">XML_PARSE_NOCDATA</a> <a href="libxml2-parser.html#XML_PARSE_COMPACT">XML_PARSE_COMPACT</a> <a href="libxml2-parser.html#XML_PARSE_OLD10">XML_PARSE_OLD10</a> <a href="libxml2-parser.html#XML_PARSE_HUGE">XML_PARSE_HUGE</a> <a href="libxml2-parser.html#XML_PARSE_OLDSAX">XML_PARSE_OLDSAX</a> <a href="libxml2-parser.html#XML_PARSE_IGNORE_ENC">XML_PARSE_IGNORE_ENC</a> <a href="libxml2-parser.html#XML_PARSE_BIG_LINES">XML_PARSE_BIG_LINES</a></p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>ctxt</tt></i>:</span></td> <td>an XML parser context</td> </tr> <tr> <td><span class="term"><i><tt>options</tt></i>:</span></td> <td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> </td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>0 in case of success, the set of unknown or unimplemented options in case of error.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlFreeParserCtxt"></a>xmlFreeParserCtxt ()</h3> <pre class="programlisting">void xmlFreeParserCtxt (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br> </pre> <p>Free all the memory used by a parser context. However the parsed document in ctxt->myDoc is not freed.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody><tr> <td><span class="term"><i><tt>ctxt</tt></i>:</span></td> <td>an XML parser context</td> </tr></tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlGetExternalEntityLoader"></a>xmlGetExternalEntityLoader ()</h3> <pre class="programlisting"><a href="libxml2-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a> xmlGetExternalEntityLoader (void)<br> </pre> <p>Get the default external entity resolver function for the application</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody><tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>the <a href="libxml2-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a> function pointer</td> </tr></tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlGetFeature"></a>xmlGetFeature ()</h3> <pre class="programlisting">int xmlGetFeature (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> const char * name, <br> void * result)<br> </pre> <p>Read the current value of one feature of this parser instance</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>ctxt</tt></i>:</span></td> <td>an XML/HTML parser context</td> </tr> <tr> <td><span class="term"><i><tt>name</tt></i>:</span></td> <td>the feature name</td> </tr> <tr> <td><span class="term"><i><tt>result</tt></i>:</span></td> <td>location to store the result</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>-1 in case or error, 0 otherwise</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlGetFeaturesList"></a>xmlGetFeaturesList ()</h3> <pre class="programlisting">int xmlGetFeaturesList (int * len, <br> const char ** result)<br> </pre> <p>Copy at most *@len feature names into the @result array</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>len</tt></i>:</span></td> <td>the length of the features name array (input/output)</td> </tr> <tr> <td><span class="term"><i><tt>result</tt></i>:</span></td> <td>an array of string to be filled with the features name.</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>-1 in case or error, or the total number of features, len is updated with the number of strings copied, strings must not be deallocated</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlHasFeature"></a>xmlHasFeature ()</h3> <pre class="programlisting">int xmlHasFeature (<a href="libxml2-parser.html#xmlFeature">xmlFeature</a> feature)<br> </pre> <p>Examines if the library has been compiled with a given feature.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>feature</tt></i>:</span></td> <td>the feature to be examined</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>a non-zero value if the feature exist, otherwise zero. Returns zero (0) if the feature does not exist or an unknown unknown feature is requested, non-zero otherwise.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlIOParseDTD"></a>xmlIOParseDTD ()</h3> <pre class="programlisting"><a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> xmlIOParseDTD (<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br> <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br> <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br> </pre> <p>Load and parse a DTD</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>sax</tt></i>:</span></td> <td>the SAX handler block or NULL</td> </tr> <tr> <td><span class="term"><i><tt>input</tt></i>:</span></td> <td>an Input Buffer</td> </tr> <tr> <td><span class="term"><i><tt>enc</tt></i>:</span></td> <td>the charset encoding if known</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>the resulting <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> or NULL in case of error. @input will be freed by the function in any case.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlInitGlobals"></a>xmlInitGlobals ()</h3> <pre class="programlisting">void xmlInitGlobals (void)<br> </pre> <p>DEPRECATED: Alias for <a href="libxml2-parser.html#xmlInitParser">xmlInitParser</a>.</p> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlInitNodeInfoSeq"></a>xmlInitNodeInfoSeq ()</h3> <pre class="programlisting">void xmlInitNodeInfoSeq (<a href="libxml2-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq)<br> </pre> <p>DEPRECATED: Don't use. -- Initialize (set to initial state) node info sequence</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody><tr> <td><span class="term"><i><tt>seq</tt></i>:</span></td> <td>a node info sequence pointer</td> </tr></tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlInitParser"></a>xmlInitParser ()</h3> <pre class="programlisting">void xmlInitParser (void)<br> </pre> <p>Initialization function for the XML parser. Call once from the main thread before using the library in multithreaded programs.</p> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlInitParserCtxt"></a>xmlInitParserCtxt ()</h3> <pre class="programlisting">int xmlInitParserCtxt (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br> </pre> <p>DEPRECATED: Internal function which will be made private in a future version. Initialize a parser context</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>ctxt</tt></i>:</span></td> <td>an XML parser context</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>0 in case of success and -1 in case of error</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlKeepBlanksDefault"></a>xmlKeepBlanksDefault ()</h3> <pre class="programlisting">int xmlKeepBlanksDefault (int val)<br> </pre> <p>DEPRECATED: Use the modern options API with <a href="libxml2-parser.html#XML_PARSE_NOBLANKS">XML_PARSE_NOBLANKS</a>. Set and return the previous value for default blanks text nodes support. The 1.x version of the parser used an heuristic to try to detect ignorable white spaces. As a result the SAX callback was generating xmlSAX2IgnorableWhitespace() callbacks instead of characters() one, and when using the DOM output text nodes containing those blanks were not generated. The 2.x and later version will switch to the XML standard way and ignorableWhitespace() are only generated when running the parser in validating mode and when the current element doesn't allow CDATA or mixed content. This function is provided as a way to force the standard behavior on 1.X libs and to switch back to the old mode for compatibility when running 1.X client code on 2.X . Upgrade of 1.X code should be done by using xmlIsBlankNode() commodity function to detect the "empty" nodes generated. This value also affect autogeneration of indentation when saving code if blanks sections are kept, indentation is not generated.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>val</tt></i>:</span></td> <td>int 0 or 1</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>the last value for 0 for no substitution, 1 for substitution.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlLineNumbersDefault"></a>xmlLineNumbersDefault ()</h3> <pre class="programlisting">int xmlLineNumbersDefault (int val)<br> </pre> <p>DEPRECATED: The modern options API always enables line numbers. Set and return the previous value for enabling line numbers in elements contents. This may break on old application and is turned off by default.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>val</tt></i>:</span></td> <td>int 0 or 1</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>the last value for 0 for no substitution, 1 for substitution.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlLoadExternalEntity"></a>xmlLoadExternalEntity ()</h3> <pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> xmlLoadExternalEntity (const char * URL, <br> const char * ID, <br> <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br> </pre> <p>@URL is a filename or URL. If if contains the substring "://", it is assumed to be a Legacy Extended IRI. Otherwise, it is treated as a filesystem path. @ID is an optional XML public ID, typically from a doctype declaration. It is used for catalog lookups. The following resource loaders will be called if they were registered (in order of precedence): - the global external entity loader set with <a href="libxml2-parser.html#xmlSetExternalEntityLoader">xmlSetExternalEntityLoader</a> - the per-thread <a href="libxml2-xmlIO.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> set with <a href="libxml2-xmlIO.html#xmlParserInputBufferCreateFilenameDefault">xmlParserInputBufferCreateFilenameDefault</a> - the default loader which will return - the result from a matching global input callback set with <a href="libxml2-xmlIO.html#xmlRegisterInputCallbacks">xmlRegisterInputCallbacks</a> - a HTTP resource if support is compiled in. - a file opened from the filesystem, with automatic detection of compressed files if support is compiled in.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>URL</tt></i>:</span></td> <td>the URL for the entity to load</td> </tr> <tr> <td><span class="term"><i><tt>ID</tt></i>:</span></td> <td>the Public ID for the entity to load</td> </tr> <tr> <td><span class="term"><i><tt>ctxt</tt></i>:</span></td> <td>the context in which the entity is called or NULL</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>the <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> or NULL</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlNewIOInputStream"></a>xmlNewIOInputStream ()</h3> <pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> xmlNewIOInputStream (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> buf, <br> <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br> </pre> <p>Create a new input stream structure encapsulating the @input into a stream suitable for the parser.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>ctxt</tt></i>:</span></td> <td>an XML parser context</td> </tr> <tr> <td><span class="term"><i><tt>buf</tt></i>:</span></td> <td>an input buffer</td> </tr> <tr> <td><span class="term"><i><tt>enc</tt></i>:</span></td> <td>the charset encoding if known</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>the new input stream or NULL</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlNewParserCtxt"></a>xmlNewParserCtxt ()</h3> <pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> xmlNewParserCtxt (void)<br> </pre> <p>Allocate and initialize a new parser context.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody><tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>the <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> or NULL</td> </tr></tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlNewSAXParserCtxt"></a>xmlNewSAXParserCtxt ()</h3> <pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> xmlNewSAXParserCtxt (const <a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * sax, <br> void * userData)<br> </pre> <p>Allocate and initialize a new SAX parser context. If userData is NULL, the parser context will be passed as user data. Available since 2.11.0. If you want support older versions, it's best to invoke <a href="libxml2-parser.html#xmlNewParserCtxt">xmlNewParserCtxt</a> and set ctxt->sax with struct assignment.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>sax</tt></i>:</span></td> <td>SAX handler</td> </tr> <tr> <td><span class="term"><i><tt>userData</tt></i>:</span></td> <td>user data</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>the <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> or NULL if memory allocation failed.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlParseBalancedChunkMemory"></a>xmlParseBalancedChunkMemory ()</h3> <pre class="programlisting">int xmlParseBalancedChunkMemory (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br> <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br> void * user_data, <br> int depth, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string, <br> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * lst)<br> </pre> <p>Parse a well-balanced chunk of an XML document called by the parser The allowed sequence for the Well Balanced Chunk is the one defined by the content production in the XML grammar: [43] content ::= (element | CharData | Reference | CDSect | PI | Comment)*</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>doc</tt></i>:</span></td> <td>the document the chunk pertains to (must not be NULL)</td> </tr> <tr> <td><span class="term"><i><tt>sax</tt></i>:</span></td> <td>the SAX handler block (possibly NULL)</td> </tr> <tr> <td><span class="term"><i><tt>user_data</tt></i>:</span></td> <td>The user data returned on SAX callbacks (possibly NULL)</td> </tr> <tr> <td><span class="term"><i><tt>depth</tt></i>:</span></td> <td>Used for loop detection, use 0</td> </tr> <tr> <td><span class="term"><i><tt>string</tt></i>:</span></td> <td>the input string in UTF8 or ISO-Latin (zero terminated)</td> </tr> <tr> <td><span class="term"><i><tt>lst</tt></i>:</span></td> <td>the return value for the set of parsed nodes</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>0 if the chunk is well balanced, -1 in case of args problem and the parser error code otherwise</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlParseBalancedChunkMemoryRecover"></a>xmlParseBalancedChunkMemoryRecover ()</h3> <pre class="programlisting">int xmlParseBalancedChunkMemoryRecover (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br> <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br> void * user_data, <br> int depth, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string, <br> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * listOut, <br> int recover)<br> </pre> <p>Parse a well-balanced chunk of an XML document The allowed sequence for the Well Balanced Chunk is the one defined by the content production in the XML grammar: [43] content ::= (element | CharData | Reference | CDSect | PI | Comment)*</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>doc</tt></i>:</span></td> <td>the document the chunk pertains to (must not be NULL)</td> </tr> <tr> <td><span class="term"><i><tt>sax</tt></i>:</span></td> <td>the SAX handler block (possibly NULL)</td> </tr> <tr> <td><span class="term"><i><tt>user_data</tt></i>:</span></td> <td>The user data returned on SAX callbacks (possibly NULL)</td> </tr> <tr> <td><span class="term"><i><tt>depth</tt></i>:</span></td> <td>Used for loop detection, use 0</td> </tr> <tr> <td><span class="term"><i><tt>string</tt></i>:</span></td> <td>the input string in UTF8 or ISO-Latin (zero terminated)</td> </tr> <tr> <td><span class="term"><i><tt>listOut</tt></i>:</span></td> <td>the return value for the set of parsed nodes</td> </tr> <tr> <td><span class="term"><i><tt>recover</tt></i>:</span></td> <td>return nodes even if the data is broken (use 0)</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>0 if the chunk is well balanced, or thehe parser error code otherwise. In case recover is set to 1, the nodelist will not be empty even if the parsed chunk is not well balanced, assuming the parsing succeeded to some extent.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlParseChunk"></a>xmlParseChunk ()</h3> <pre class="programlisting">int xmlParseChunk (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> const char * chunk, <br> int size, <br> int terminate)<br> </pre> <p>Parse a chunk of memory in push parser mode. Assumes that the parser context was initialized with <a href="libxml2-parser.html#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a>. The last chunk, which will often be empty, must be marked with the @terminate flag. With the default SAX callbacks, the resulting document will be available in ctxt->myDoc. This pointer will not be freed by the library. If the document isn't well-formed, ctxt->myDoc is set to NULL. The push parser doesn't support recovery mode.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>ctxt</tt></i>:</span></td> <td>an XML parser context</td> </tr> <tr> <td><span class="term"><i><tt>chunk</tt></i>:</span></td> <td>chunk of memory</td> </tr> <tr> <td><span class="term"><i><tt>size</tt></i>:</span></td> <td>size of chunk in bytes</td> </tr> <tr> <td><span class="term"><i><tt>terminate</tt></i>:</span></td> <td>last chunk indicator</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>an <a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a> code (0 on success).</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlParseCtxtExternalEntity"></a>xmlParseCtxtExternalEntity ()</h3> <pre class="programlisting">int xmlParseCtxtExternalEntity (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URL, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID, <br> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * listOut)<br> </pre> <p>Parse an external general entity within an existing parsing context An external general parsed entity is well-formed if it matches the production labeled extParsedEnt. [78] extParsedEnt ::= TextDecl? content</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>ctxt</tt></i>:</span></td> <td>the existing parsing context</td> </tr> <tr> <td><span class="term"><i><tt>URL</tt></i>:</span></td> <td>the URL for the entity to load</td> </tr> <tr> <td><span class="term"><i><tt>ID</tt></i>:</span></td> <td>the System ID for the entity to load</td> </tr> <tr> <td><span class="term"><i><tt>listOut</tt></i>:</span></td> <td>the return value for the set of parsed nodes</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>0 if the entity is well formed, -1 in case of args problem and the parser error code otherwise</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlParseDTD"></a>xmlParseDTD ()</h3> <pre class="programlisting"><a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> xmlParseDTD (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br> </pre> <p>Load and parse an external subset.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>ExternalID</tt></i>:</span></td> <td>a NAME* containing the External ID of the DTD</td> </tr> <tr> <td><span class="term"><i><tt>SystemID</tt></i>:</span></td> <td>a NAME* containing the URL to the DTD</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>the resulting <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> or NULL in case of error.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlParseDoc"></a>xmlParseDoc ()</h3> <pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> xmlParseDoc (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur)<br> </pre> <p>DEPRECATED: Use <a href="libxml2-parser.html#xmlReadDoc">xmlReadDoc</a>. parse an XML in-memory document and build a tree.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>cur</tt></i>:</span></td> <td>a pointer to an array of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> </td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>the resulting document tree</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlParseDocument"></a>xmlParseDocument ()</h3> <pre class="programlisting">int xmlParseDocument (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br> </pre> <p>Parse an XML document and invoke the SAX handlers. This is useful if you're only interested in custom SAX callbacks. If you want a document tree, use <a href="libxml2-parser.html#xmlCtxtParseDocument">xmlCtxtParseDocument</a>.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>ctxt</tt></i>:</span></td> <td>an XML parser context</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>0, -1 in case of error.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlParseEntity"></a>xmlParseEntity ()</h3> <pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> xmlParseEntity (const char * filename)<br> </pre> <p>parse an XML external entity out of context and build a tree. [78] extParsedEnt ::= TextDecl? content This correspond to a "Well Balanced" chunk</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>filename</tt></i>:</span></td> <td>the filename</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>the resulting document tree</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlParseExtParsedEnt"></a>xmlParseExtParsedEnt ()</h3> <pre class="programlisting">int xmlParseExtParsedEnt (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br> </pre> <p>parse a general parsed entity An external general parsed entity is well-formed if it matches the production labeled extParsedEnt. [78] extParsedEnt ::= TextDecl? content</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>ctxt</tt></i>:</span></td> <td>an XML parser context</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>0, -1 in case of error. the parser context is augmented as a result of the parsing.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlParseExternalEntity"></a>xmlParseExternalEntity ()</h3> <pre class="programlisting">int xmlParseExternalEntity (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br> <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br> void * user_data, <br> int depth, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URL, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID, <br> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * list)<br> </pre> <p>DEPRECATED: Use <a href="libxml2-parser.html#xmlParseCtxtExternalEntity">xmlParseCtxtExternalEntity</a>. Parse an external general entity An external general parsed entity is well-formed if it matches the production labeled extParsedEnt. [78] extParsedEnt ::= TextDecl? content</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>doc</tt></i>:</span></td> <td>the document the chunk pertains to</td> </tr> <tr> <td><span class="term"><i><tt>sax</tt></i>:</span></td> <td>the SAX handler block (possibly NULL)</td> </tr> <tr> <td><span class="term"><i><tt>user_data</tt></i>:</span></td> <td>The user data returned on SAX callbacks (possibly NULL)</td> </tr> <tr> <td><span class="term"><i><tt>depth</tt></i>:</span></td> <td>Used for loop detection, use 0</td> </tr> <tr> <td><span class="term"><i><tt>URL</tt></i>:</span></td> <td>the URL for the entity to load</td> </tr> <tr> <td><span class="term"><i><tt>ID</tt></i>:</span></td> <td>the System ID for the entity to load</td> </tr> <tr> <td><span class="term"><i><tt>list</tt></i>:</span></td> <td>the return value for the set of parsed nodes</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>0 if the entity is well formed, -1 in case of args problem and the parser error code otherwise</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlParseFile"></a>xmlParseFile ()</h3> <pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> xmlParseFile (const char * filename)<br> </pre> <p>DEPRECATED: Use <a href="libxml2-parser.html#xmlReadFile">xmlReadFile</a>. parse an XML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>filename</tt></i>:</span></td> <td>the filename</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>the resulting document tree if the file was wellformed, NULL otherwise.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlParseInNodeContext"></a>xmlParseInNodeContext ()</h3> <pre class="programlisting"><a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a> xmlParseInNodeContext (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br> const char * data, <br> int datalen, <br> int options, <br> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * lst)<br> </pre> <p>Parse a well-balanced chunk of an XML document within the context (DTD, namespaces, etc ...) of the given node. The allowed sequence for the data is a Well Balanced Chunk defined by the content production in the XML grammar: [43] content ::= (element | CharData | Reference | CDSect | PI | Comment)*</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>node</tt></i>:</span></td> <td>the context node</td> </tr> <tr> <td><span class="term"><i><tt>data</tt></i>:</span></td> <td>the input string</td> </tr> <tr> <td><span class="term"><i><tt>datalen</tt></i>:</span></td> <td>the input string length in bytes</td> </tr> <tr> <td><span class="term"><i><tt>options</tt></i>:</span></td> <td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> </td> </tr> <tr> <td><span class="term"><i><tt>lst</tt></i>:</span></td> <td>the return value for the set of parsed nodes</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td> <a href="libxml2-xmlerror.html#XML_ERR_OK">XML_ERR_OK</a> if the chunk is well balanced, and the parser error code otherwise</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlParseMemory"></a>xmlParseMemory ()</h3> <pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> xmlParseMemory (const char * buffer, <br> int size)<br> </pre> <p>DEPRECATED: Use <a href="libxml2-parser.html#xmlReadMemory">xmlReadMemory</a>. parse an XML in-memory block and build a tree.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>buffer</tt></i>:</span></td> <td>an pointer to a char array</td> </tr> <tr> <td><span class="term"><i><tt>size</tt></i>:</span></td> <td>the size of the array</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>the resulting document tree</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlParserAddNodeInfo"></a>xmlParserAddNodeInfo ()</h3> <pre class="programlisting">void xmlParserAddNodeInfo (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> <a href="libxml2-parser.html#xmlParserNodeInfoPtr">xmlParserNodeInfoPtr</a> info)<br> </pre> <p>DEPRECATED: Don't use. Insert node info record into the sorted sequence</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>ctxt</tt></i>:</span></td> <td>an XML parser context</td> </tr> <tr> <td><span class="term"><i><tt>info</tt></i>:</span></td> <td>a node info sequence pointer</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlParserFindNodeInfo"></a>xmlParserFindNodeInfo ()</h3> <pre class="programlisting">const <a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> * xmlParserFindNodeInfo (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctx, <br> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br> </pre> <p>DEPRECATED: Don't use. Find the parser node info struct for a given node</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>ctx</tt></i>:</span></td> <td>an XML parser context</td> </tr> <tr> <td><span class="term"><i><tt>node</tt></i>:</span></td> <td>an XML node within the tree</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>an <a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> block pointer or NULL</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlParserFindNodeInfoIndex"></a>xmlParserFindNodeInfoIndex ()</h3> <pre class="programlisting">unsigned long xmlParserFindNodeInfoIndex (<a href="libxml2-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq, <br> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br> </pre> <p>DEPRECATED: Don't use. <a href="libxml2-parser.html#xmlParserFindNodeInfoIndex">xmlParserFindNodeInfoIndex</a> : Find the index that the info record for the given node is or should be at in a sorted sequence</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>seq</tt></i>:</span></td> <td>a node info sequence pointer</td> </tr> <tr> <td><span class="term"><i><tt>node</tt></i>:</span></td> <td>an XML node pointer</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>a long indicating the position of the record</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlParserInputGrow"></a>xmlParserInputGrow ()</h3> <pre class="programlisting">int xmlParserInputGrow (<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in, <br> int len)<br> </pre> <p>DEPRECATED: Don't use. This function increase the input for the parser. It tries to preserve pointers to the input buffer, and keep already read data</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>in</tt></i>:</span></td> <td>an XML parser input</td> </tr> <tr> <td><span class="term"><i><tt>len</tt></i>:</span></td> <td>an indicative size for the lookahead</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>the amount of char read, or -1 in case of error, 0 indicate the end of this entity</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlParserInputRead"></a>xmlParserInputRead ()</h3> <pre class="programlisting">int xmlParserInputRead (<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in, <br> int len)<br> </pre> <p>DEPRECATED: This function was internal and is deprecated.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>in</tt></i>:</span></td> <td>an XML parser input</td> </tr> <tr> <td><span class="term"><i><tt>len</tt></i>:</span></td> <td>an indicative size for the lookahead</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>-1 as this is an error to use it.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlPedanticParserDefault"></a>xmlPedanticParserDefault ()</h3> <pre class="programlisting">int xmlPedanticParserDefault (int val)<br> </pre> <p>DEPRECATED: Use the modern options API with <a href="libxml2-parser.html#XML_PARSE_PEDANTIC">XML_PARSE_PEDANTIC</a>. Set and return the previous value for enabling pedantic warnings.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>val</tt></i>:</span></td> <td>int 0 or 1</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>the last value for 0 for no substitution, 1 for substitution.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlReadDoc"></a>xmlReadDoc ()</h3> <pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> xmlReadDoc (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br> const char * URL, <br> const char * encoding, <br> int options)<br> </pre> <p>Convenience function to parse an XML document from a zero-terminated string. See <a href="libxml2-parser.html#xmlCtxtReadDoc">xmlCtxtReadDoc</a> for details.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>cur</tt></i>:</span></td> <td>a pointer to a zero terminated string</td> </tr> <tr> <td><span class="term"><i><tt>URL</tt></i>:</span></td> <td>base URL (optional)</td> </tr> <tr> <td><span class="term"><i><tt>encoding</tt></i>:</span></td> <td>the document encoding (optional)</td> </tr> <tr> <td><span class="term"><i><tt>options</tt></i>:</span></td> <td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> </td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>the resulting document tree</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlReadFd"></a>xmlReadFd ()</h3> <pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> xmlReadFd (int fd, <br> const char * URL, <br> const char * encoding, <br> int options)<br> </pre> <p>Parse an XML from a file descriptor and build a tree. See <a href="libxml2-parser.html#xmlCtxtReadFd">xmlCtxtReadFd</a> for details. NOTE that the file descriptor will not be closed when the context is freed or reset.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>fd</tt></i>:</span></td> <td>an open file descriptor</td> </tr> <tr> <td><span class="term"><i><tt>URL</tt></i>:</span></td> <td>base URL (optional)</td> </tr> <tr> <td><span class="term"><i><tt>encoding</tt></i>:</span></td> <td>the document encoding (optional)</td> </tr> <tr> <td><span class="term"><i><tt>options</tt></i>:</span></td> <td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> </td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>the resulting document tree</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlReadFile"></a>xmlReadFile ()</h3> <pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> xmlReadFile (const char * filename, <br> const char * encoding, <br> int options)<br> </pre> <p>Convenience function to parse an XML file from the filesystem, the network or a global user-define resource loader. See <a href="libxml2-parser.html#xmlCtxtReadFile">xmlCtxtReadFile</a> for details.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>filename</tt></i>:</span></td> <td>a file or URL</td> </tr> <tr> <td><span class="term"><i><tt>encoding</tt></i>:</span></td> <td>the document encoding (optional)</td> </tr> <tr> <td><span class="term"><i><tt>options</tt></i>:</span></td> <td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> </td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>the resulting document tree</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlReadIO"></a>xmlReadIO ()</h3> <pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> xmlReadIO (<a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br> <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br> void * ioctx, <br> const char * URL, <br> const char * encoding, <br> int options)<br> </pre> <p>Parse an XML document from I/O functions and context and build a tree. See <a href="libxml2-parser.html#xmlCtxtReadIO">xmlCtxtReadIO</a> for details.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>ioread</tt></i>:</span></td> <td>an I/O read function</td> </tr> <tr> <td><span class="term"><i><tt>ioclose</tt></i>:</span></td> <td>an I/O close function (optional)</td> </tr> <tr> <td><span class="term"><i><tt>ioctx</tt></i>:</span></td> <td>an I/O handler</td> </tr> <tr> <td><span class="term"><i><tt>URL</tt></i>:</span></td> <td>base URL (optional)</td> </tr> <tr> <td><span class="term"><i><tt>encoding</tt></i>:</span></td> <td>the document encoding (optional)</td> </tr> <tr> <td><span class="term"><i><tt>options</tt></i>:</span></td> <td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> </td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>the resulting document tree</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlReadMemory"></a>xmlReadMemory ()</h3> <pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> xmlReadMemory (const char * buffer, <br> int size, <br> const char * url, <br> const char * encoding, <br> int options)<br> </pre> <p>Parse an XML in-memory document and build a tree. The input buffer must not contain a terminating null byte. See <a href="libxml2-parser.html#xmlCtxtReadMemory">xmlCtxtReadMemory</a> for details.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>buffer</tt></i>:</span></td> <td>a pointer to a char array</td> </tr> <tr> <td><span class="term"><i><tt>size</tt></i>:</span></td> <td>the size of the array</td> </tr> <tr> <td><span class="term"><i><tt>url</tt></i>:</span></td> <td>base URL (optional)</td> </tr> <tr> <td><span class="term"><i><tt>encoding</tt></i>:</span></td> <td>the document encoding (optional)</td> </tr> <tr> <td><span class="term"><i><tt>options</tt></i>:</span></td> <td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> </td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>the resulting document tree</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlRecoverDoc"></a>xmlRecoverDoc ()</h3> <pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> xmlRecoverDoc (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur)<br> </pre> <p>DEPRECATED: Use <a href="libxml2-parser.html#xmlReadDoc">xmlReadDoc</a> with <a href="libxml2-parser.html#XML_PARSE_RECOVER">XML_PARSE_RECOVER</a>. parse an XML in-memory document and build a tree. In the case the document is not Well Formed, a attempt to build a tree is tried anyway</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>cur</tt></i>:</span></td> <td>a pointer to an array of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> </td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>the resulting document tree or NULL in case of failure</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlRecoverFile"></a>xmlRecoverFile ()</h3> <pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> xmlRecoverFile (const char * filename)<br> </pre> <p>DEPRECATED: Use <a href="libxml2-parser.html#xmlReadFile">xmlReadFile</a> with <a href="libxml2-parser.html#XML_PARSE_RECOVER">XML_PARSE_RECOVER</a>. parse an XML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. In the case the document is not Well Formed, it attempts to build a tree anyway</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>filename</tt></i>:</span></td> <td>the filename</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>the resulting document tree or NULL in case of failure</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlRecoverMemory"></a>xmlRecoverMemory ()</h3> <pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> xmlRecoverMemory (const char * buffer, <br> int size)<br> </pre> <p>DEPRECATED: Use <a href="libxml2-parser.html#xmlReadMemory">xmlReadMemory</a> with <a href="libxml2-parser.html#XML_PARSE_RECOVER">XML_PARSE_RECOVER</a>. parse an XML in-memory block and build a tree. In the case the document is not Well Formed, an attempt to build a tree is tried anyway</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>buffer</tt></i>:</span></td> <td>an pointer to a char array</td> </tr> <tr> <td><span class="term"><i><tt>size</tt></i>:</span></td> <td>the size of the array</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>the resulting document tree or NULL in case of error</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlSAXParseDTD"></a>xmlSAXParseDTD ()</h3> <pre class="programlisting"><a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> xmlSAXParseDTD (<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br> </pre> <p>DEPRECATED: Don't use. Load and parse an external subset.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>sax</tt></i>:</span></td> <td>the SAX handler block</td> </tr> <tr> <td><span class="term"><i><tt>ExternalID</tt></i>:</span></td> <td>a NAME* containing the External ID of the DTD</td> </tr> <tr> <td><span class="term"><i><tt>SystemID</tt></i>:</span></td> <td>a NAME* containing the URL to the DTD</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>the resulting <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> or NULL in case of error.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlSAXParseDoc"></a>xmlSAXParseDoc ()</h3> <pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> xmlSAXParseDoc (<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br> int recovery)<br> </pre> <p>DEPRECATED: Use <a href="libxml2-parser.html#xmlNewSAXParserCtxt">xmlNewSAXParserCtxt</a> and <a href="libxml2-parser.html#xmlCtxtReadDoc">xmlCtxtReadDoc</a>. parse an XML in-memory document and build a tree. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>sax</tt></i>:</span></td> <td>the SAX handler block</td> </tr> <tr> <td><span class="term"><i><tt>cur</tt></i>:</span></td> <td>a pointer to an array of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> </td> </tr> <tr> <td><span class="term"><i><tt>recovery</tt></i>:</span></td> <td>work in recovery mode, i.e. tries to read no Well Formed documents</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>the resulting document tree</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlSAXParseEntity"></a>xmlSAXParseEntity ()</h3> <pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> xmlSAXParseEntity (<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br> const char * filename)<br> </pre> <p>DEPRECATED: Don't use. parse an XML external entity out of context and build a tree. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines. [78] extParsedEnt ::= TextDecl? content This correspond to a "Well Balanced" chunk</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>sax</tt></i>:</span></td> <td>the SAX handler block</td> </tr> <tr> <td><span class="term"><i><tt>filename</tt></i>:</span></td> <td>the filename</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>the resulting document tree</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlSAXParseFile"></a>xmlSAXParseFile ()</h3> <pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> xmlSAXParseFile (<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br> const char * filename, <br> int recovery)<br> </pre> <p>DEPRECATED: Use <a href="libxml2-parser.html#xmlNewSAXParserCtxt">xmlNewSAXParserCtxt</a> and <a href="libxml2-parser.html#xmlCtxtReadFile">xmlCtxtReadFile</a>. parse an XML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>sax</tt></i>:</span></td> <td>the SAX handler block</td> </tr> <tr> <td><span class="term"><i><tt>filename</tt></i>:</span></td> <td>the filename</td> </tr> <tr> <td><span class="term"><i><tt>recovery</tt></i>:</span></td> <td>work in recovery mode, i.e. tries to read no Well Formed documents</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>the resulting document tree</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlSAXParseFileWithData"></a>xmlSAXParseFileWithData ()</h3> <pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> xmlSAXParseFileWithData (<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br> const char * filename, <br> int recovery, <br> void * data)<br> </pre> <p>DEPRECATED: Use <a href="libxml2-parser.html#xmlNewSAXParserCtxt">xmlNewSAXParserCtxt</a> and <a href="libxml2-parser.html#xmlCtxtReadFile">xmlCtxtReadFile</a>. parse an XML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines. User data (void *) is stored within the parser context in the context's _private member, so it is available nearly everywhere in libxml</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>sax</tt></i>:</span></td> <td>the SAX handler block</td> </tr> <tr> <td><span class="term"><i><tt>filename</tt></i>:</span></td> <td>the filename</td> </tr> <tr> <td><span class="term"><i><tt>recovery</tt></i>:</span></td> <td>work in recovery mode, i.e. tries to read no Well Formed documents</td> </tr> <tr> <td><span class="term"><i><tt>data</tt></i>:</span></td> <td>the userdata</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>the resulting document tree</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlSAXParseMemory"></a>xmlSAXParseMemory ()</h3> <pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> xmlSAXParseMemory (<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br> const char * buffer, <br> int size, <br> int recovery)<br> </pre> <p>DEPRECATED: Use <a href="libxml2-parser.html#xmlNewSAXParserCtxt">xmlNewSAXParserCtxt</a> and <a href="libxml2-parser.html#xmlCtxtReadMemory">xmlCtxtReadMemory</a>. parse an XML in-memory block and use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>sax</tt></i>:</span></td> <td>the SAX handler block</td> </tr> <tr> <td><span class="term"><i><tt>buffer</tt></i>:</span></td> <td>an pointer to a char array</td> </tr> <tr> <td><span class="term"><i><tt>size</tt></i>:</span></td> <td>the size of the array</td> </tr> <tr> <td><span class="term"><i><tt>recovery</tt></i>:</span></td> <td>work in recovery mode, i.e. tries to read not Well Formed documents</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>the resulting document tree</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlSAXParseMemoryWithData"></a>xmlSAXParseMemoryWithData ()</h3> <pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> xmlSAXParseMemoryWithData (<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br> const char * buffer, <br> int size, <br> int recovery, <br> void * data)<br> </pre> <p>DEPRECATED: Use <a href="libxml2-parser.html#xmlNewSAXParserCtxt">xmlNewSAXParserCtxt</a> and <a href="libxml2-parser.html#xmlCtxtReadMemory">xmlCtxtReadMemory</a>. parse an XML in-memory block and use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines. User data (void *) is stored within the parser context in the context's _private member, so it is available nearly everywhere in libxml</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>sax</tt></i>:</span></td> <td>the SAX handler block</td> </tr> <tr> <td><span class="term"><i><tt>buffer</tt></i>:</span></td> <td>an pointer to a char array</td> </tr> <tr> <td><span class="term"><i><tt>size</tt></i>:</span></td> <td>the size of the array</td> </tr> <tr> <td><span class="term"><i><tt>recovery</tt></i>:</span></td> <td>work in recovery mode, i.e. tries to read no Well Formed documents</td> </tr> <tr> <td><span class="term"><i><tt>data</tt></i>:</span></td> <td>the userdata</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>the resulting document tree</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlSAXUserParseFile"></a>xmlSAXUserParseFile ()</h3> <pre class="programlisting">int xmlSAXUserParseFile (<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br> void * user_data, <br> const char * filename)<br> </pre> <p>DEPRECATED: Use <a href="libxml2-parser.html#xmlNewSAXParserCtxt">xmlNewSAXParserCtxt</a> and <a href="libxml2-parser.html#xmlCtxtReadFile">xmlCtxtReadFile</a>. parse an XML file and call the given SAX handler routines. Automatic support for ZLIB/Compress compressed document is provided</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>sax</tt></i>:</span></td> <td>a SAX handler</td> </tr> <tr> <td><span class="term"><i><tt>user_data</tt></i>:</span></td> <td>The user data returned on SAX callbacks</td> </tr> <tr> <td><span class="term"><i><tt>filename</tt></i>:</span></td> <td>a file name</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>0 in case of success or a error number otherwise</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlSAXUserParseMemory"></a>xmlSAXUserParseMemory ()</h3> <pre class="programlisting">int xmlSAXUserParseMemory (<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br> void * user_data, <br> const char * buffer, <br> int size)<br> </pre> <p>DEPRECATED: Use <a href="libxml2-parser.html#xmlNewSAXParserCtxt">xmlNewSAXParserCtxt</a> and <a href="libxml2-parser.html#xmlCtxtReadMemory">xmlCtxtReadMemory</a>. parse an XML in-memory buffer and call the given SAX handler routines.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>sax</tt></i>:</span></td> <td>a SAX handler</td> </tr> <tr> <td><span class="term"><i><tt>user_data</tt></i>:</span></td> <td>The user data returned on SAX callbacks</td> </tr> <tr> <td><span class="term"><i><tt>buffer</tt></i>:</span></td> <td>an in-memory XML document input</td> </tr> <tr> <td><span class="term"><i><tt>size</tt></i>:</span></td> <td>the length of the XML document in bytes</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>0 in case of success or a error number otherwise</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlSetExternalEntityLoader"></a>xmlSetExternalEntityLoader ()</h3> <pre class="programlisting">void xmlSetExternalEntityLoader (<a href="libxml2-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a> f)<br> </pre> <p>Changes the defaultexternal entity resolver function for the application</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody><tr> <td><span class="term"><i><tt>f</tt></i>:</span></td> <td>the new entity resolver function</td> </tr></tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlSetFeature"></a>xmlSetFeature ()</h3> <pre class="programlisting">int xmlSetFeature (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> const char * name, <br> void * value)<br> </pre> <p>Change the current value of one feature of this parser instance</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>ctxt</tt></i>:</span></td> <td>an XML/HTML parser context</td> </tr> <tr> <td><span class="term"><i><tt>name</tt></i>:</span></td> <td>the feature name</td> </tr> <tr> <td><span class="term"><i><tt>value</tt></i>:</span></td> <td>pointer to the location of the new value</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>-1 in case or error, 0 otherwise</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlSetupParserForBuffer"></a>xmlSetupParserForBuffer ()</h3> <pre class="programlisting">void xmlSetupParserForBuffer (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buffer, <br> const char * filename)<br> </pre> <p>DEPRECATED: Don't use. Setup the parser context to parse a new buffer; Clears any prior contents from the parser context. The buffer parameter must not be NULL, but the filename parameter can be</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>ctxt</tt></i>:</span></td> <td>an XML parser context</td> </tr> <tr> <td><span class="term"><i><tt>buffer</tt></i>:</span></td> <td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buffer</td> </tr> <tr> <td><span class="term"><i><tt>filename</tt></i>:</span></td> <td>a file name</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlStopParser"></a>xmlStopParser ()</h3> <pre class="programlisting">void xmlStopParser (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br> </pre> <p>Blocks further parser processing</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody><tr> <td><span class="term"><i><tt>ctxt</tt></i>:</span></td> <td>an XML parser context</td> </tr></tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlSubstituteEntitiesDefault"></a>xmlSubstituteEntitiesDefault ()</h3> <pre class="programlisting">int xmlSubstituteEntitiesDefault (int val)<br> </pre> <p>DEPRECATED: Use the modern options API with <a href="libxml2-parser.html#XML_PARSE_NOENT">XML_PARSE_NOENT</a>. Set and return the previous value for default entity support. Initially the parser always keep entity references instead of substituting entity values in the output. This function has to be used to change the default parser behavior SAX::substituteEntities() has to be used for changing that on a file by file basis.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>val</tt></i>:</span></td> <td>int 0 or 1</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>the last value for 0 for no substitution, 1 for substitution.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlThrDefDoValidityCheckingDefaultValue"></a>xmlThrDefDoValidityCheckingDefaultValue ()</h3> <pre class="programlisting">int xmlThrDefDoValidityCheckingDefaultValue (int v)<br> </pre> <p></p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>v</tt></i>:</span></td> <td></td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td></td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlThrDefGetWarningsDefaultValue"></a>xmlThrDefGetWarningsDefaultValue ()</h3> <pre class="programlisting">int xmlThrDefGetWarningsDefaultValue (int v)<br> </pre> <p></p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>v</tt></i>:</span></td> <td></td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td></td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlThrDefKeepBlanksDefaultValue"></a>xmlThrDefKeepBlanksDefaultValue ()</h3> <pre class="programlisting">int xmlThrDefKeepBlanksDefaultValue (int v)<br> </pre> <p></p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>v</tt></i>:</span></td> <td></td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td></td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlThrDefLineNumbersDefaultValue"></a>xmlThrDefLineNumbersDefaultValue ()</h3> <pre class="programlisting">int xmlThrDefLineNumbersDefaultValue (int v)<br> </pre> <p></p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>v</tt></i>:</span></td> <td></td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td></td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlThrDefLoadExtDtdDefaultValue"></a>xmlThrDefLoadExtDtdDefaultValue ()</h3> <pre class="programlisting">int xmlThrDefLoadExtDtdDefaultValue (int v)<br> </pre> <p></p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>v</tt></i>:</span></td> <td></td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td></td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlThrDefParserDebugEntities"></a>xmlThrDefParserDebugEntities ()</h3> <pre class="programlisting">int xmlThrDefParserDebugEntities (int v)<br> </pre> <p></p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>v</tt></i>:</span></td> <td></td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td></td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlThrDefPedanticParserDefaultValue"></a>xmlThrDefPedanticParserDefaultValue ()</h3> <pre class="programlisting">int xmlThrDefPedanticParserDefaultValue (int v)<br> </pre> <p></p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>v</tt></i>:</span></td> <td></td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td></td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlThrDefSubstituteEntitiesDefaultValue"></a>xmlThrDefSubstituteEntitiesDefaultValue ()</h3> <pre class="programlisting">int xmlThrDefSubstituteEntitiesDefaultValue (int v)<br> </pre> <p></p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>v</tt></i>:</span></td> <td></td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td></td> </tr> </tbody> </table></div> </div> <hr> </div> </div> </body> </html>