[libxml2] Mark most SAX1 functions as deprecated



commit 0e49f8826a71be2c56b8f7e86a5c103dd21a8f3f
Author: Nick Wellnhofer <wellnhofer aevum de>
Date:   Wed Aug 24 05:25:37 2022 +0200

    Mark most SAX1 functions as deprecated
    
    No compiler warnings generated yet.

 SAX2.c                                   |  2 ++
 doc/devhelp/libxml2-SAX2.html            |  2 +-
 doc/devhelp/libxml2-parser.html          | 28 ++++++++++++-------------
 doc/devhelp/libxml2-parserInternals.html |  4 ++--
 doc/libxml2-api.xml                      | 34 +++++++++++++++----------------
 parser.c                                 | 35 +++++++++++++++++++++++++++++++-
 6 files changed, 70 insertions(+), 35 deletions(-)
---
diff --git a/SAX2.c b/SAX2.c
index 36f74f24..568e1927 100644
--- a/SAX2.c
+++ b/SAX2.c
@@ -2829,6 +2829,8 @@ static int xmlSAX2DefaultVersionValue = 2;
  * xmlSAXDefaultVersion:
  * @version:  the version, 1 or 2
  *
+ * DEPRECATED: Use parser option XML_PARSE_SAX1.
+ *
  * Set the default version of SAX used globally by the library.
  * By default, during initialization the default is set to 2.
  * Note that it is generally a better coding style to use
diff --git a/doc/devhelp/libxml2-SAX2.html b/doc/devhelp/libxml2-SAX2.html
index 3bba5d2e..2882e6f4 100644
--- a/doc/devhelp/libxml2-SAX2.html
+++ b/doc/devhelp/libxml2-SAX2.html
@@ -224,7 +224,7 @@ int <a href="#xmlSAXVersion">xmlSAXVersion</a>                      (<a 
href="libxml2-tree.html#xml
 <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="xmlSAXDefaultVersion"/>xmlSAXDefaultVersion ()</h3><pre 
class="programlisting">int        xmlSAXDefaultVersion            (int version)<br/>
-</pre><p>Set the default version of SAX used globally by the library. By default, during initialization the 
default is set to 2. Note that it is generally a better coding style to use xmlSAXVersion() to set up the 
version explicitly for a given parsing context.</p>
+</pre><p>DEPRECATED: Use parser option XML_PARSE_SAX1. Set the default version of SAX used globally by the 
library. By default, during initialization the default is set to 2. Note that it is generally a better coding 
style to use xmlSAXVersion() to set up the version explicitly for a given parsing context.</p>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>version</tt></i>:</span></td><td>the version, 1 or 2</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the previous value 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="xmlSAXVersion"/>xmlSAXVersion ()</h3><pre 
class="programlisting">int      xmlSAXVersion                   (<a 
href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr, <br/>                                       
int version)<br/>
diff --git a/doc/devhelp/libxml2-parser.html b/doc/devhelp/libxml2-parser.html
index 3234fc2b..3f5a5f04 100644
--- a/doc/devhelp/libxml2-parser.html
+++ b/doc/devhelp/libxml2-parser.html
@@ -629,7 +629,7 @@ The content of this structure is not made public by the API.
 <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"/>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>parse an XML in-memory document and build a tree.</p>
+</pre><p>DEPRECATED: Use xmlReadDoc. 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"/>xmlParseDocument ()</h3><pre 
class="programlisting">int        xmlParseDocument                (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
@@ -649,7 +649,7 @@ The content of this structure is not made public by the API.
 <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>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 entity is 
well formed, -1 in case of args problem and the parser er
 ror code otherwise</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlParseFile"/>xmlParseFile ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>        xmlParseFile            
(const char * filename)<br/>
-</pre><p>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>
+</pre><p>DEPRECATED: Use xmlReadFile. 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"/>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/>
@@ -657,7 +657,7 @@ The content of this structure is not made public by the API.
 <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"/>xmlParseMemory ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>    xmlParseMemory          (const 
char * buffer, <br/>                                      int size)<br/>
-</pre><p>parse an XML in-memory block and build a tree.</p>
+</pre><p>DEPRECATED: Use xmlReadMemory. 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"/>xmlParserAddNodeInfo ()</h3><pre 
class="programlisting">void       xmlParserAddNodeInfo            (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>                                   
const <a href="libxml2-parser.html#xmlParserNodeInfoPtr">xmlParserNodeInfoPtr</a> info)<br/>
@@ -705,15 +705,15 @@ The content of this structure is not made public by the API.
 <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>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="xmlRecoverDoc"/>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>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>
+</pre><p>DEPRECATED: Use <a href="libxml2-parser.html#xmlReadDoc">xmlReadDoc</a> with XML_PARSE_RECOVER. 
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"/>xmlRecoverFile ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>    xmlRecoverFile          (const 
char * filename)<br/>
-</pre><p>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>
+</pre><p>DEPRECATED: Use <a href="libxml2-parser.html#xmlReadFile">xmlReadFile</a> with XML_PARSE_RECOVER. 
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"/>xmlRecoverMemory ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>        xmlRecoverMemory        
(const char * buffer, <br/>                                      int size)<br/>
-</pre><p>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>
+</pre><p>DEPRECATED: Use <a href="libxml2-parser.html#xmlReadMemory">xmlReadMemory</a> with 
XML_PARSE_RECOVER. 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"/>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/>
@@ -721,7 +721,7 @@ The content of this structure is not made public by the API.
 <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"/>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>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>
+</pre><p>DEPRECATED: Use <a href="libxml2-parser.html#xmlNewSAXParserCtxt">xmlNewSAXParserCtxt</a> and 
xmlCtxtReadDoc. 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"/>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/>
@@ -729,27 +729,27 @@ The content of this structure is not made public by the API.
 <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"/>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>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>
+</pre><p>DEPRECATED: Use <a href="libxml2-parser.html#xmlNewSAXParserCtxt">xmlNewSAXParserCtxt</a> and 
xmlCtxtReadFile. 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"/>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>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>
+</pre><p>DEPRECATED: Use <a href="libxml2-parser.html#xmlNewSAXParserCtxt">xmlNewSAXParserCtxt</a> and 
xmlCtxtReadFile. 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"/>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>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>
+</pre><p>DEPRECATED: Use <a href="libxml2-parser.html#xmlNewSAXParserCtxt">xmlNewSAXParserCtxt</a> and 
xmlCtxtReadMemory. 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"/>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>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>
+</pre><p>DEPRECATED: Use <a href="libxml2-parser.html#xmlNewSAXParserCtxt">xmlNewSAXParserCtxt</a> and 
xmlCtxtReadMemory. 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"/>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>parse an XML file and call the given SAX handler routines. Automatic support for ZLIB/Compress 
compressed document is provided</p>
+</pre><p>DEPRECATED: Use <a href="libxml2-parser.html#xmlNewSAXParserCtxt">xmlNewSAXParserCtxt</a> and 
xmlCtxtReadFile. 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"/>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>A better SAX parsing routine. parse an XML in-memory buffer and call the given SAX handler 
routines.</p>
+</pre><p>DEPRECATED: Use <a href="libxml2-parser.html#xmlNewSAXParserCtxt">xmlNewSAXParserCtxt</a> and 
xmlCtxtReadMemory. 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"/>xmlSetExternalEntityLoader 
()</h3><pre class="programlisting">void   xmlSetExternalEntityLoader      (<a 
href="libxml2-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a> f)<br/>
@@ -761,7 +761,7 @@ The content of this structure is not made public by the API.
 <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"/>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>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>
+</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"/>xmlStopParser ()</h3><pre 
class="programlisting">void     xmlStopParser                   (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
diff --git a/doc/devhelp/libxml2-parserInternals.html b/doc/devhelp/libxml2-parserInternals.html
index 02d6ea51..0895d26d 100644
--- a/doc/devhelp/libxml2-parserInternals.html
+++ b/doc/devhelp/libxml2-parserInternals.html
@@ -443,7 +443,7 @@ int <a href="#xmlSwitchToEncoding">xmlSwitchToEncoding</a>          (<a href="libxml2-tr
 <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 AttValue parsed or NULL. The value has to be freed 
by the caller.</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlParseAttribute"/>xmlParseAttribute ()</h3><pre 
class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlParseAttribute     
  (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>                              
     <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** value)<br/>
-</pre><p>parse an <a href="libxml2-SAX.html#attribute">attribute</a> [41] Attribute ::= Name Eq AttValue [ 
WFC: No External Entity References ] Attribute values cannot contain direct or indirect entity references to 
external entities. [ WFC: No &lt; in Attribute Values ] The replacement text of any entity referred to 
directly or indirectly in an <a href="libxml2-SAX.html#attribute">attribute</a> value (other than "&amp;lt;") 
must not contain a &lt;. [ VC: Attribute Value Type ] The <a href="libxml2-SAX.html#attribute">attribute</a> 
must have been declared; the value must be of the type declared for it. [25] Eq ::= S? '=' S? With namespace: 
[NS 11] Attribute ::= QName Eq AttValue Also the case QName == xmlns:??? is handled independently as a 
namespace definition.</p>
+</pre><p>DEPRECATED: Don't use. parse an <a href="libxml2-SAX.html#attribute">attribute</a> [41] Attribute 
::= Name Eq AttValue [ WFC: No External Entity References ] Attribute values cannot contain direct or 
indirect entity references to external entities. [ WFC: No &lt; in Attribute Values ] The replacement text of 
any entity referred to directly or indirectly in an <a href="libxml2-SAX.html#attribute">attribute</a> value 
(other than "&amp;lt;") must not contain a &lt;. [ VC: Attribute Value Type ] The <a 
href="libxml2-SAX.html#attribute">attribute</a> must have been declared; the value must be of the type 
declared for it. [25] Eq ::= S? '=' S? With namespace: [NS 11] Attribute ::= QName Eq AttValue Also the case 
QName == xmlns:??? is handled independently as a namespace definition.</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>value</tt></i>:</span></td><td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** 
used to store the value of the <a href="libxml2-SAX.html#attribute">attribute</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a> 
name, and the value in *value.</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlParseAttributeListDecl"/>xmlParseAttributeListDecl 
()</h3><pre class="programlisting">void     xmlParseAttributeListDecl       (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
@@ -599,7 +599,7 @@ int <a href="#xmlSwitchToEncoding">xmlSwitchToEncoding</a>          (<a href="libxml2-tr
 <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>1 if standalone="yes" 0 if standalone="no" -2 if 
standalone <a href="libxml2-SAX.html#attribute">attribute</a> is missing or invalid (A standalone value of -2 
means that the XML declaration was found, but no value was specified for the standalone 
attribute).</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlParseStartTag"/>xmlParseStartTag ()</h3><pre 
class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       xmlParseStartTag    
    (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse a start of tag either for rule element or EmptyElement. In both case we don't parse the tag 
closing chars. [40] STag ::= '&lt;' Name (S Attribute)* S? '&gt;' [ WFC: Unique Att Spec ] No <a 
href="libxml2-SAX.html#attribute">attribute</a> name may appear more than once in the same start-tag or 
empty-element tag. [44] EmptyElemTag ::= '&lt;' Name (S Attribute)* S? '/&gt;' [ WFC: Unique Att Spec ] No <a 
href="libxml2-SAX.html#attribute">attribute</a> name may appear more than once in the same start-tag or 
empty-element tag. With namespace: [NS 8] STag ::= '&lt;' QName (S Attribute)* S? '&gt;' [NS 10] EmptyElement 
::= '&lt;' QName (S Attribute)* S? '/&gt;'</p>
+</pre><p>DEPRECATED: Don't use. parse a start of tag either for rule element or EmptyElement. In both case 
we don't parse the tag closing chars. [40] STag ::= '&lt;' Name (S Attribute)* S? '&gt;' [ WFC: Unique Att 
Spec ] No <a href="libxml2-SAX.html#attribute">attribute</a> name may appear more than once in the same 
start-tag or empty-element tag. [44] EmptyElemTag ::= '&lt;' Name (S Attribute)* S? '/&gt;' [ WFC: Unique Att 
Spec ] No <a href="libxml2-SAX.html#attribute">attribute</a> name may appear more than once in the same 
start-tag or empty-element tag. With namespace: [NS 8] STag ::= '&lt;' QName (S Attribute)* S? '&gt;' [NS 10] 
EmptyElement ::= '&lt;' QName (S Attribute)* S? '/&gt;'</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 element name 
parsed</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlParseSystemLiteral"/>xmlParseSystemLiteral 
()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   
xmlParseSystemLiteral   (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
diff --git a/doc/libxml2-api.xml b/doc/libxml2-api.xml
index 92dadf00..0fe2f582 100644
--- a/doc/libxml2-api.xml
+++ b/doc/libxml2-api.xml
@@ -11978,7 +11978,7 @@ Could we use @subtypes for this?'/>
     </function>
     <function name='xmlParseAttribute' file='parserInternals' module='parser'>
       <cond>defined(LIBXML_SAX1_ENABLED)</cond>
-      <info>parse an attribute  [41] Attribute ::= Name Eq AttValue  [ WFC: No External Entity References ] 
Attribute values cannot contain direct or indirect entity references to external entities.  [ WFC: No &lt; in 
Attribute Values ] The replacement text of any entity referred to directly or indirectly in an attribute 
value (other than &quot;&amp;lt;&quot;) must not contain a &lt;.  [ VC: Attribute Value Type ] The attribute 
must have been declared; the value must be of the type declared for it.  [25] Eq ::= S? &apos;=&apos; S?  
With namespace:  [NS 11] Attribute ::= QName Eq AttValue  Also the case QName == xmlns:??? is handled 
independently as a namespace definition.</info>
+      <info>DEPRECATED: Don&apos;t use.  parse an attribute  [41] Attribute ::= Name Eq AttValue  [ WFC: No 
External Entity References ] Attribute values cannot contain direct or indirect entity references to external 
entities.  [ WFC: No &lt; in Attribute Values ] The replacement text of any entity referred to directly or 
indirectly in an attribute value (other than &quot;&amp;lt;&quot;) must not contain a &lt;.  [ VC: Attribute 
Value Type ] The attribute must have been declared; the value must be of the type declared for it.  [25] Eq 
::= S? &apos;=&apos; S?  With namespace:  [NS 11] Attribute ::= QName Eq AttValue  Also the case QName == 
xmlns:??? is handled independently as a namespace definition.</info>
       <return type='const xmlChar *' info='the attribute name, and the value in *value.'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
       <arg name='value' type='xmlChar **' info='a xmlChar ** used to store the value of the attribute'/>
@@ -12086,7 +12086,7 @@ Could we use @subtypes for this?'/>
     </function>
     <function name='xmlParseDoc' file='parser' module='parser'>
       <cond>defined(LIBXML_SAX1_ENABLED)</cond>
-      <info>parse an XML in-memory document and build a tree.</info>
+      <info>DEPRECATED: Use xmlReadDoc.  parse an XML in-memory document and build a tree.</info>
       <return type='xmlDocPtr' info='the resulting document tree'/>
       <arg name='cur' type='const xmlChar *' info='a pointer to an array of xmlChar'/>
     </function>
@@ -12211,7 +12211,7 @@ Could we use @subtypes for this?'/>
     </function>
     <function name='xmlParseFile' file='parser' module='parser'>
       <cond>defined(LIBXML_SAX1_ENABLED)</cond>
-      <info>parse an XML file and build a tree. Automatic support for ZLIB/Compress compressed document is 
provided by default if found at compile-time.</info>
+      <info>DEPRECATED: Use xmlReadFile.  parse an XML file and build a tree. Automatic support for 
ZLIB/Compress compressed document is provided by default if found at compile-time.</info>
       <return type='xmlDocPtr' info='the resulting document tree if the file was wellformed, NULL 
otherwise.'/>
       <arg name='filename' type='const char *' info='the filename'/>
     </function>
@@ -12231,7 +12231,7 @@ Could we use @subtypes for this?'/>
     </function>
     <function name='xmlParseMemory' file='parser' module='parser'>
       <cond>defined(LIBXML_SAX1_ENABLED)</cond>
-      <info>parse an XML in-memory block and build a tree.</info>
+      <info>DEPRECATED: Use xmlReadMemory.  parse an XML in-memory block and build a tree.</info>
       <return type='xmlDocPtr' info='the resulting document tree'/>
       <arg name='buffer' type='const char *' info='an pointer to a char array'/>
       <arg name='size' type='int' info='the size of the array'/>
@@ -12305,7 +12305,7 @@ Could we use @subtypes for this?'/>
     </function>
     <function name='xmlParseStartTag' file='parserInternals' module='parser'>
       <cond>defined(LIBXML_SAX1_ENABLED)</cond>
-      <info>parse a start of tag either for rule element or EmptyElement. In both case we don&apos;t parse 
the tag closing chars.  [40] STag ::= &apos;&lt;&apos; Name (S Attribute)* S? &apos;&gt;&apos;  [ WFC: Unique 
Att Spec ] No attribute name may appear more than once in the same start-tag or empty-element tag.  [44] 
EmptyElemTag ::= &apos;&lt;&apos; Name (S Attribute)* S? &apos;/&gt;&apos;  [ WFC: Unique Att Spec ] No 
attribute name may appear more than once in the same start-tag or empty-element tag.  With namespace:  [NS 8] 
STag ::= &apos;&lt;&apos; QName (S Attribute)* S? &apos;&gt;&apos;  [NS 10] EmptyElement ::= &apos;&lt;&apos; 
QName (S Attribute)* S? &apos;/&gt;&apos;</info>
+      <info>DEPRECATED: Don&apos;t use.  parse a start of tag either for rule element or EmptyElement. In 
both case we don&apos;t parse the tag closing chars.  [40] STag ::= &apos;&lt;&apos; Name (S Attribute)* S? 
&apos;&gt;&apos;  [ WFC: Unique Att Spec ] No attribute name may appear more than once in the same start-tag 
or empty-element tag.  [44] EmptyElemTag ::= &apos;&lt;&apos; Name (S Attribute)* S? &apos;/&gt;&apos;  [ 
WFC: Unique Att Spec ] No attribute name may appear more than once in the same start-tag or empty-element 
tag.  With namespace:  [NS 8] STag ::= &apos;&lt;&apos; QName (S Attribute)* S? &apos;&gt;&apos;  [NS 10] 
EmptyElement ::= &apos;&lt;&apos; QName (S Attribute)* S? &apos;/&gt;&apos;</info>
       <return type='const xmlChar *' info='the element name parsed'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
@@ -12790,19 +12790,19 @@ Could we use @subtypes for this?'/>
     </function>
     <function name='xmlRecoverDoc' file='parser' module='parser'>
       <cond>defined(LIBXML_SAX1_ENABLED)</cond>
-      <info>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</info>
+      <info>DEPRECATED: Use xmlReadDoc with XML_PARSE_RECOVER.  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</info>
       <return type='xmlDocPtr' info='the resulting document tree or NULL in case of failure'/>
       <arg name='cur' type='const xmlChar *' info='a pointer to an array of xmlChar'/>
     </function>
     <function name='xmlRecoverFile' file='parser' module='parser'>
       <cond>defined(LIBXML_SAX1_ENABLED)</cond>
-      <info>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</info>
+      <info>DEPRECATED: Use xmlReadFile with XML_PARSE_RECOVER.  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</info>
       <return type='xmlDocPtr' info='the resulting document tree or NULL in case of failure'/>
       <arg name='filename' type='const char *' info='the filename'/>
     </function>
     <function name='xmlRecoverMemory' file='parser' module='parser'>
       <cond>defined(LIBXML_SAX1_ENABLED)</cond>
-      <info>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</info>
+      <info>DEPRECATED: Use xmlReadMemory with XML_PARSE_RECOVER.  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</info>
       <return type='xmlDocPtr' info='the resulting document tree or NULL in case of error'/>
       <arg name='buffer' type='const char *' info='an pointer to a char array'/>
       <arg name='size' type='int' info='the size of the array'/>
@@ -13388,7 +13388,7 @@ Could we use @subtypes for this?'/>
     </function>
     <function name='xmlSAXDefaultVersion' file='SAX2' module='SAX2'>
       <cond>defined(LIBXML_SAX1_ENABLED)</cond>
-      <info>Set the default version of SAX used globally by the library. By default, during initialization 
the default is set to 2. Note that it is generally a better coding style to use xmlSAXVersion() to set up the 
version explicitly for a given parsing context.</info>
+      <info>DEPRECATED: Use parser option XML_PARSE_SAX1.  Set the default version of SAX used globally by 
the library. By default, during initialization the default is set to 2. Note that it is generally a better 
coding style to use xmlSAXVersion() to set up the version explicitly for a given parsing context.</info>
       <return type='int' info='the previous value in case of success and -1 in case of error.'/>
       <arg name='version' type='int' info='the version, 1 or 2'/>
     </function>
@@ -13402,7 +13402,7 @@ Could we use @subtypes for this?'/>
     </function>
     <function name='xmlSAXParseDoc' file='parser' module='parser'>
       <cond>defined(LIBXML_SAX1_ENABLED)</cond>
-      <info>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.</info>
+      <info>DEPRECATED: Use xmlNewSAXParserCtxt and xmlCtxtReadDoc.  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.</info>
       <return type='xmlDocPtr' info='the resulting document tree'/>
       <arg name='sax' type='xmlSAXHandlerPtr' info='the SAX handler block'/>
       <arg name='cur' type='const xmlChar *' info='a pointer to an array of xmlChar'/>
@@ -13417,7 +13417,7 @@ Could we use @subtypes for this?'/>
     </function>
     <function name='xmlSAXParseFile' file='parser' module='parser'>
       <cond>defined(LIBXML_SAX1_ENABLED)</cond>
-      <info>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.</info>
+      <info>DEPRECATED: Use xmlNewSAXParserCtxt and xmlCtxtReadFile.  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.</info>
       <return type='xmlDocPtr' info='the resulting document tree'/>
       <arg name='sax' type='xmlSAXHandlerPtr' info='the SAX handler block'/>
       <arg name='filename' type='const char *' info='the filename'/>
@@ -13425,7 +13425,7 @@ Could we use @subtypes for this?'/>
     </function>
     <function name='xmlSAXParseFileWithData' file='parser' module='parser'>
       <cond>defined(LIBXML_SAX1_ENABLED)</cond>
-      <info>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&apos;s _private member, so it is available nearly everywhere in 
libxml</info>
+      <info>DEPRECATED: Use xmlNewSAXParserCtxt and xmlCtxtReadFile.  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&apos;s 
_private member, so it is available nearly everywhere in libxml</info>
       <return type='xmlDocPtr' info='the resulting document tree'/>
       <arg name='sax' type='xmlSAXHandlerPtr' info='the SAX handler block'/>
       <arg name='filename' type='const char *' info='the filename'/>
@@ -13434,7 +13434,7 @@ Could we use @subtypes for this?'/>
     </function>
     <function name='xmlSAXParseMemory' file='parser' module='parser'>
       <cond>defined(LIBXML_SAX1_ENABLED)</cond>
-      <info>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.</info>
+      <info>DEPRECATED: Use xmlNewSAXParserCtxt and xmlCtxtReadMemory.  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.</info>
       <return type='xmlDocPtr' info='the resulting document tree'/>
       <arg name='sax' type='xmlSAXHandlerPtr' info='the SAX handler block'/>
       <arg name='buffer' type='const char *' info='an pointer to a char array'/>
@@ -13443,7 +13443,7 @@ Could we use @subtypes for this?'/>
     </function>
     <function name='xmlSAXParseMemoryWithData' file='parser' module='parser'>
       <cond>defined(LIBXML_SAX1_ENABLED)</cond>
-      <info>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&apos;s _private member, so it is available nearly everywhere in 
libxml</info>
+      <info>DEPRECATED: Use xmlNewSAXParserCtxt and xmlCtxtReadMemory.  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&apos;s _private 
member, so it is available nearly everywhere in libxml</info>
       <return type='xmlDocPtr' info='the resulting document tree'/>
       <arg name='sax' type='xmlSAXHandlerPtr' info='the SAX handler block'/>
       <arg name='buffer' type='const char *' info='an pointer to a char array'/>
@@ -13453,7 +13453,7 @@ Could we use @subtypes for this?'/>
     </function>
     <function name='xmlSAXUserParseFile' file='parser' module='parser'>
       <cond>defined(LIBXML_SAX1_ENABLED)</cond>
-      <info>parse an XML file and call the given SAX handler routines. Automatic support for ZLIB/Compress 
compressed document is provided</info>
+      <info>DEPRECATED: Use xmlNewSAXParserCtxt and xmlCtxtReadFile.  parse an XML file and call the given 
SAX handler routines. Automatic support for ZLIB/Compress compressed document is provided</info>
       <return type='int' info='0 in case of success or a error number otherwise'/>
       <arg name='sax' type='xmlSAXHandlerPtr' info='a SAX handler'/>
       <arg name='user_data' type='void *' info='The user data returned on SAX callbacks'/>
@@ -13461,7 +13461,7 @@ Could we use @subtypes for this?'/>
     </function>
     <function name='xmlSAXUserParseMemory' file='parser' module='parser'>
       <cond>defined(LIBXML_SAX1_ENABLED)</cond>
-      <info>A better SAX parsing routine. parse an XML in-memory buffer and call the given SAX handler 
routines.</info>
+      <info>DEPRECATED: Use xmlNewSAXParserCtxt and xmlCtxtReadMemory.  parse an XML in-memory buffer and 
call the given SAX handler routines.</info>
       <return type='int' info='0 in case of success or a error number otherwise'/>
       <arg name='sax' type='xmlSAXHandlerPtr' info='a SAX handler'/>
       <arg name='user_data' type='void *' info='The user data returned on SAX callbacks'/>
@@ -14262,7 +14262,7 @@ Could we use @subtypes for this?'/>
     </function>
     <function name='xmlSetupParserForBuffer' file='parser' module='parser'>
       <cond>defined(LIBXML_SAX1_ENABLED)</cond>
-      <info>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</info>
+      <info>DEPRECATED: Don&apos;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</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
       <arg name='buffer' type='const xmlChar *' info='a xmlChar * buffer'/>
diff --git a/parser.c b/parser.c
index 63ec95ff..9a162fe7 100644
--- a/parser.c
+++ b/parser.c
@@ -8404,6 +8404,8 @@ xmlParseInternalSubset(xmlParserCtxtPtr ctxt) {
  * @ctxt:  an XML parser context
  * @value:  a xmlChar ** used to store the value of the attribute
  *
+ * DEPRECATED: Don't use.
+ *
  * parse an attribute
  *
  * [41] Attribute ::= Name Eq AttValue
@@ -8497,6 +8499,8 @@ xmlParseAttribute(xmlParserCtxtPtr ctxt, xmlChar **value) {
  * xmlParseStartTag:
  * @ctxt:  an XML parser context
  *
+ * DEPRECATED: Don't use.
+ *
  * parse a start of tag either for rule element or
  * EmptyElement. In both case we don't parse the tag closing chars.
  *
@@ -8654,6 +8658,8 @@ failed:
  * @line:  line of the start tag
  * @nsNr:  number of namespaces on the start tag
  *
+ * DEPRECATED: Don't use.
+ *
  * parse an end of tag
  *
  * [42] ETag ::= '</' Name S? '>'
@@ -14021,6 +14027,8 @@ xmlCreateFileParserCtxt(const char *filename)
  *             documents
  * @data:  the userdata
  *
+ * DEPRECATED: Use xmlNewSAXParserCtxt and xmlCtxtReadFile.
+ *
  * 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.
@@ -14089,6 +14097,8 @@ xmlSAXParseFileWithData(xmlSAXHandlerPtr sax, const char *filename,
  * @recovery:  work in recovery mode, i.e. tries to read no Well Formed
  *             documents
  *
+ * DEPRECATED: Use xmlNewSAXParserCtxt and xmlCtxtReadFile.
+ *
  * 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.
@@ -14107,6 +14117,8 @@ xmlSAXParseFile(xmlSAXHandlerPtr sax, const char *filename,
  * xmlRecoverDoc:
  * @cur:  a pointer to an array of xmlChar
  *
+ * DEPRECATED: Use xmlReadDoc with XML_PARSE_RECOVER.
+ *
  * 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
@@ -14123,6 +14135,8 @@ xmlRecoverDoc(const xmlChar *cur) {
  * xmlParseFile:
  * @filename:  the filename
  *
+ * DEPRECATED: Use xmlReadFile.
+ *
  * parse an XML file and build a tree. Automatic support for ZLIB/Compress
  * compressed document is provided by default if found at compile-time.
  *
@@ -14139,6 +14153,8 @@ xmlParseFile(const char *filename) {
  * xmlRecoverFile:
  * @filename:  the filename
  *
+ * DEPRECATED: Use xmlReadFile with XML_PARSE_RECOVER.
+ *
  * 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
@@ -14159,6 +14175,8 @@ xmlRecoverFile(const char *filename) {
  * @buffer:  a xmlChar * buffer
  * @filename:  a file name
  *
+ * 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
@@ -14194,6 +14212,8 @@ xmlSetupParserForBuffer(xmlParserCtxtPtr ctxt, const xmlChar* buffer,
  * @user_data:  The user data returned on SAX callbacks
  * @filename:  a file name
  *
+ * DEPRECATED: Use xmlNewSAXParserCtxt and xmlCtxtReadFile.
+ *
  * parse an XML file and call the given SAX handler routines.
  * Automatic support for ZLIB/Compress compressed document is provided
  *
@@ -14299,6 +14319,8 @@ xmlCreateMemoryParserCtxt(const char *buffer, int size) {
  *             documents
  * @data:  the userdata
  *
+ * DEPRECATED: Use xmlNewSAXParserCtxt and xmlCtxtReadMemory.
+ *
  * 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.
@@ -14354,6 +14376,8 @@ xmlSAXParseMemoryWithData(xmlSAXHandlerPtr sax, const char *buffer,
  * @recovery:  work in recovery mode, i.e. tries to read not Well Formed
  *             documents
  *
+ * DEPRECATED: Use xmlNewSAXParserCtxt and xmlCtxtReadMemory.
+ *
  * 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.
@@ -14371,6 +14395,8 @@ xmlSAXParseMemory(xmlSAXHandlerPtr sax, const char *buffer,
  * @buffer:  an pointer to a char array
  * @size:  the size of the array
  *
+ * DEPRECATED: Use xmlReadMemory.
+ *
  * parse an XML in-memory block and build a tree.
  *
  * Returns the resulting document tree
@@ -14385,6 +14411,8 @@ xmlDocPtr xmlParseMemory(const char *buffer, int size) {
  * @buffer:  an pointer to a char array
  * @size:  the size of the array
  *
+ * DEPRECATED: Use xmlReadMemory with XML_PARSE_RECOVER.
+ *
  * 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
@@ -14403,7 +14431,8 @@ xmlDocPtr xmlRecoverMemory(const char *buffer, int size) {
  * @buffer:  an in-memory XML document input
  * @size:  the length of the XML document in bytes
  *
- * A better SAX parsing routine.
+ * DEPRECATED: Use xmlNewSAXParserCtxt and xmlCtxtReadMemory.
+ *
  * parse an XML in-memory buffer and call the given SAX handler routines.
  *
  * Returns 0 in case of success or a error number otherwise
@@ -14473,6 +14502,8 @@ xmlCreateDocParserCtxt(const xmlChar *cur) {
  * @recovery:  work in recovery mode, i.e. tries to read no Well Formed
  *             documents
  *
+ * DEPRECATED: Use xmlNewSAXParserCtxt and xmlCtxtReadDoc.
+ *
  * 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.
@@ -14516,6 +14547,8 @@ xmlSAXParseDoc(xmlSAXHandlerPtr sax, const xmlChar *cur, int recovery) {
  * xmlParseDoc:
  * @cur:  a pointer to an array of xmlChar
  *
+ * DEPRECATED: Use xmlReadDoc.
+ *
  * parse an XML in-memory document and build a tree.
  *
  * Returns the resulting document tree


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]