applied patch from Graham Bennett adding 4 convenience functions to the

* include/libxml/xmlreader.h xmlreader.c: applied patch from
  Graham Bennett adding 4 convenience functions to the reader API.
Daniel
diff --git a/ChangeLog b/ChangeLog
index 0ff8e72..6bd9b09 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Tue Oct 19 11:06:39 CEST 2004 Daniel Veillard <daniel@veillard.com>
+
+	* include/libxml/xmlreader.h xmlreader.c: applied patch from
+	  Graham Bennett adding 4 convenience functions to the reader API.
+
 Fri Oct 15 11:22:48 PDT 2004 William Brack <wbrack@mmm.com.hk>
 
 	* debugXML.c: excluded a few nodes (with no content) from the
diff --git a/doc/FAQ.html b/doc/FAQ.html
index fa23140..62a392b 100644
--- a/doc/FAQ.html
+++ b/doc/FAQ.html
@@ -217,7 +217,8 @@
       <p>Website: <a
       href="http://pmade.org/pjones/software/xmlwrapp/">http://pmade.org/pjones/software/xmlwrapp/</a></p>
       </li>
-      --></ul></li>
+      -->
+    </ul></li>
   <li>How to validate a document a posteriori ?
     <p>It is possible to validate documents which had not been validated at
     initial parsing time or documents which have been built from scratch
diff --git a/doc/index.html b/doc/index.html
index 7d198ae..2d02b41 100644
--- a/doc/index.html
+++ b/doc/index.html
@@ -12,8 +12,7 @@
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
 </style>
-    <title>The XML C parser and toolkit of Gnome
-</title>
+    <title>The XML C parser and toolkit of Gnome</title>
   </head>
   <body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
     <table border="0" width="100%" cellpadding="5" cellspacing="0" align="center">
@@ -46,10 +45,8 @@
                 <table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd">
                   <tr>
                     <td align="center">
-                      <h1>The XML C parser and toolkit of Gnome
-</h1>
-                      <h2>libxml
-</h2>
+                      <h1>The XML C parser and toolkit of Gnome</h1>
+                      <h2>libxml</h2>
                     </td>
                   </tr>
                 </table>
@@ -72,8 +69,7 @@
                         <tr>
                           <td colspan="1" bgcolor="#eecfa1" align="center">
                             <center>
-                              <b>Main Menu
-</b>
+                              <b>Main Menu</b>
                             </center>
                           </td>
                         </tr>
@@ -85,80 +81,61 @@
                             </form>
                             <ul>
                               <li>
-                                <a href="index.html">Home
-</a>
+                                <a href="index.html">Home</a>
                               </li>
                               <li>
-                                <a href="intro.html">Introduction
-</a>
+                                <a href="intro.html">Introduction</a>
                               </li>
                               <li>
-                                <a href="FAQ.html">FAQ
-</a>
+                                <a href="FAQ.html">FAQ</a>
                               </li>
                               <li>
-                                <a href="docs.html" style="font-weight:bold">Developer Menu
-</a>
+                                <a href="docs.html" style="font-weight:bold">Developer Menu</a>
                               </li>
                               <li>
-                                <a href="bugs.html">Reporting bugs and getting help
-</a>
+                                <a href="bugs.html">Reporting bugs and getting help</a>
                               </li>
                               <li>
-                                <a href="help.html">How to help
-</a>
+                                <a href="help.html">How to help</a>
                               </li>
                               <li>
-                                <a href="downloads.html">Downloads
-</a>
+                                <a href="downloads.html">Downloads</a>
                               </li>
                               <li>
-                                <a href="news.html">Releases
-</a>
+                                <a href="news.html">Releases</a>
                               </li>
                               <li>
-                                <a href="XMLinfo.html">XML
-</a>
+                                <a href="XMLinfo.html">XML</a>
                               </li>
                               <li>
-                                <a href="XSLT.html">XSLT
-</a>
+                                <a href="XSLT.html">XSLT</a>
                               </li>
                               <li>
-                                <a href="xmldtd.html">Validation &amp; DTDs
-</a>
+                                <a href="xmldtd.html">Validation &amp; DTDs</a>
                               </li>
                               <li>
-                                <a href="encoding.html">Encodings support
-</a>
+                                <a href="encoding.html">Encodings support</a>
                               </li>
                               <li>
-                                <a href="catalog.html">Catalog support
-</a>
+                                <a href="catalog.html">Catalog support</a>
                               </li>
                               <li>
-                                <a href="namespaces.html">Namespaces
-</a>
+                                <a href="namespaces.html">Namespaces</a>
                               </li>
                               <li>
-                                <a href="contribs.html">Contributions
-</a>
+                                <a href="contribs.html">Contributions</a>
                               </li>
                               <li>
-                                <a href="examples/index.html" style="font-weight:bold">Code Examples
-</a>
+                                <a href="examples/index.html" style="font-weight:bold">Code Examples</a>
                               </li>
                               <li>
-                                <a href="html/index.html" style="font-weight:bold">API Menu
-</a>
+                                <a href="html/index.html" style="font-weight:bold">API Menu</a>
                               </li>
                               <li>
-                                <a href="guidelines.html">XML Guidelines
-</a>
+                                <a href="guidelines.html">XML Guidelines</a>
                               </li>
                               <li>
-                                <a href="ChangeLog.html">Recent Changes
-</a>
+                                <a href="ChangeLog.html">Recent Changes</a>
                               </li>
                             </ul>
                           </td>
@@ -168,8 +145,7 @@
                         <tr>
                           <td colspan="1" bgcolor="#eecfa1" align="center">
                             <center>
-                              <b>Related links
-</b>
+                              <b>Related links</b>
                             </center>
                           </td>
                         </tr>
@@ -177,44 +153,34 @@
                           <td bgcolor="#fffacd">
                             <ul>
                               <li>
-                                <a href="http://mail.gnome.org/archives/xml/">Mail archive
-</a>
+                                <a href="http://mail.gnome.org/archives/xml/">Mail archive</a>
                               </li>
                               <li>
-                                <a href="http://xmlsoft.org/XSLT/">XSLT libxslt
-</a>
+                                <a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a>
                               </li>
                               <li>
-                                <a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2
-</a>
+                                <a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a>
                               </li>
                               <li>
-                                <a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec
-</a>
+                                <a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a>
                               </li>
                               <li>
-                                <a href="ftp://xmlsoft.org/">FTP
-</a>
+                                <a href="ftp://xmlsoft.org/">FTP</a>
                               </li>
                               <li>
-                                <a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries
-</a>
+                                <a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a>
                               </li>
                               <li>
-                                <a href="http://garypennington.net/libxml2/">Solaris binaries
-</a>
+                                <a href="http://garypennington.net/libxml2/">Solaris binaries</a>
                               </li>
                               <li>
-                                <a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries
-</a>
+                                <a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a>
                               </li>
                               <li>
-                                <a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings
-</a>
+                                <a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a>
                               </li>
                               <li>
-                                <a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker
-</a>
+                                <a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a>
                               </li>
                             </ul>
                           </td>
@@ -236,227 +202,77 @@
                                 <td bgcolor="#fffacd">
                                   <p></p>
                                   <p style="text-align: right; font-style: italic; font-size: 10pt">"Programming
-with libxml2 is like the thrilling embrace of an exotic stranger." 
-                                    <a href="http://diveintomark.org/archives/2004/02/18/libxml2">Mark
-Pilgrim
-</a>
-</p>
+with libxml2 is like the thrilling embrace of an exotic stranger." <a href="http://diveintomark.org/archives/2004/02/18/libxml2">Mark
+Pilgrim</a></p>
                                   <p>Libxml2 is the XML C parser and toolkit developed for the Gnome project
 (but usable outside of the Gnome platform), it is free software available
-under the 
-                                    <a href="http://www.opensource.org/licenses/mit-license.html">MIT
-License
-</a>
-. XML itself is a metalanguage to design markup languages, i.e.
+under the <a href="http://www.opensource.org/licenses/mit-license.html">MIT
+License</a>. XML itself is a metalanguage to design markup languages, i.e.
 text language where semantic and structure are added to the content using
 extra "markup" information enclosed between angle brackets. HTML is the most
-well-known markup language. Though the library is written in C 
-                                    <a href="python.html">a variety of language bindings
-</a>
- make it available in
-other environments.
-</p>
+well-known markup language. Though the library is written in C <a href="python.html">a variety of language bindings</a> make it available in
+other environments.</p>
                                   <p>Libxml2 is known to be very portable, the library should build and work
 without serious troubles on a variety of systems (Linux, Unix, Windows,
-CygWin, MacOS, MacOS X, RISC Os, OS/2, VMS, QNX, MVS, ...)
-</p>
+CygWin, MacOS, MacOS X, RISC Os, OS/2, VMS, QNX, MVS, ...)</p>
                                   <p>Libxml2 implements a number of existing standards related to markup
-languages:
-</p>
-                                  <ul>                                    <li>the XML standard: 
-                                      <a href="http://www.w3.org/TR/REC-xml">http://www.w3.org/TR/REC-xml
-</a>
-</li>
-
-  
-                                    <li>Namespaces in XML: 
-                                      <a href="http://www.w3.org/TR/REC-xml-names/">http://www.w3.org/TR/REC-xml-names/
-</a>
-</li>
-
-  
-                                    <li>XML Base: 
-                                      <a href="http://www.w3.org/TR/xmlbase/">http://www.w3.org/TR/xmlbase/
-</a>
-</li>
-
-  
-                                    <li>                                      <a href="http://www.cis.ohio-state.edu/rfc/rfc2396.txt">RFC 2396
-</a>
- :
-    Uniform Resource Identifiers 
-                                      <a href="http://www.ietf.org/rfc/rfc2396.txt">http://www.ietf.org/rfc/rfc2396.txt
-</a>
-</li>
-
-  
-                                    <li>XML Path Language (XPath) 1.0: 
-                                      <a href="http://www.w3.org/TR/xpath">http://www.w3.org/TR/xpath
-</a>
-</li>
-
-  
-                                    <li>HTML4 parser: 
-                                      <a href="http://www.w3.org/TR/html401/">http://www.w3.org/TR/html401/
-</a>
-</li>
-
-  
-                                    <li>XML Pointer Language (XPointer) Version 1.0: 
-                                      <a href="http://www.w3.org/TR/xptr">http://www.w3.org/TR/xptr
-</a>
-</li>
-
-  
-                                    <li>XML Inclusions (XInclude) Version 1.0: 
-                                      <a href="http://www.w3.org/TR/xinclude/">http://www.w3.org/TR/xinclude/
-</a>
-</li>
-
-  
-                                    <li>ISO-8859-x encodings, as well as 
-                                      <a href="http://www.cis.ohio-state.edu/rfc/rfc2044.txt">rfc2044
-</a>
- [UTF-8]
-    and 
-                                      <a href="http://www.cis.ohio-state.edu/rfc/rfc2781.txt">rfc2781
-</a>
-
-    [UTF-16] Unicode encodings, and more if using iconv support
-</li>
-
-  
-                                    <li>part of SGML Open Technical Resolution TR9401:1997
-</li>
-
-  
-                                    <li>XML Catalogs Working Draft 06 August 2001: 
-                                      <a href="http://www.oasis-open.org/committees/entity/spec-2001-08-06.html">http://www.oasis-open.org/committees/entity/spec-2001-08-06.html
-</a>
-</li>
-
-  
-                                    <li>Canonical XML Version 1.0: 
-                                      <a href="http://www.w3.org/TR/xml-c14n">http://www.w3.org/TR/xml-c14n
-</a>
-
-    and the Exclusive XML Canonicalization CR draft 
-                                      <a href="http://www.w3.org/TR/xml-exc-c14n">http://www.w3.org/TR/xml-exc-c14n
-</a>
-</li>
-
-  
-                                    <li>Relax NG, ISO/IEC 19757-2:2003, 
-                                      <a href="http://www.oasis-open.org/committees/relax-ng/spec-20011203.html">http://www.oasis-open.org/committees/relax-ng/spec-20011203.html
-</a>
-</li>
-
-  
-                                    <li>W3C XML Schemas Part 2: Datatypes 
-                                      <a href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/">REC 02 May
-    2001
-</a>
-</li>
-
-  
-                                    <li>W3C 
-                                      <a href="http://www.w3.org/TR/xml-id/">xml:id
-</a>
- Working Draft 7
-    April 2004
-</li>
-
-
+languages:</p>
+                                  <ul><li>the XML standard: <a href="http://www.w3.org/TR/REC-xml">http://www.w3.org/TR/REC-xml</a></li>
+  <li>Namespaces in XML: <a href="http://www.w3.org/TR/REC-xml-names/">http://www.w3.org/TR/REC-xml-names/</a></li>
+  <li>XML Base: <a href="http://www.w3.org/TR/xmlbase/">http://www.w3.org/TR/xmlbase/</a></li>
+  <li><a href="http://www.cis.ohio-state.edu/rfc/rfc2396.txt">RFC 2396</a> :
+    Uniform Resource Identifiers <a href="http://www.ietf.org/rfc/rfc2396.txt">http://www.ietf.org/rfc/rfc2396.txt</a></li>
+  <li>XML Path Language (XPath) 1.0: <a href="http://www.w3.org/TR/xpath">http://www.w3.org/TR/xpath</a></li>
+  <li>HTML4 parser: <a href="http://www.w3.org/TR/html401/">http://www.w3.org/TR/html401/</a></li>
+  <li>XML Pointer Language (XPointer) Version 1.0: <a href="http://www.w3.org/TR/xptr">http://www.w3.org/TR/xptr</a></li>
+  <li>XML Inclusions (XInclude) Version 1.0: <a href="http://www.w3.org/TR/xinclude/">http://www.w3.org/TR/xinclude/</a></li>
+  <li>ISO-8859-x encodings, as well as <a href="http://www.cis.ohio-state.edu/rfc/rfc2044.txt">rfc2044</a> [UTF-8]
+    and <a href="http://www.cis.ohio-state.edu/rfc/rfc2781.txt">rfc2781</a>
+    [UTF-16] Unicode encodings, and more if using iconv support</li>
+  <li>part of SGML Open Technical Resolution TR9401:1997</li>
+  <li>XML Catalogs Working Draft 06 August 2001: <a href="http://www.oasis-open.org/committees/entity/spec-2001-08-06.html">http://www.oasis-open.org/committees/entity/spec-2001-08-06.html</a></li>
+  <li>Canonical XML Version 1.0: <a href="http://www.w3.org/TR/xml-c14n">http://www.w3.org/TR/xml-c14n</a>
+    and the Exclusive XML Canonicalization CR draft <a href="http://www.w3.org/TR/xml-exc-c14n">http://www.w3.org/TR/xml-exc-c14n</a></li>
+  <li>Relax NG, ISO/IEC 19757-2:2003, <a href="http://www.oasis-open.org/committees/relax-ng/spec-20011203.html">http://www.oasis-open.org/committees/relax-ng/spec-20011203.html</a></li>
+  <li>W3C XML Schemas Part 2: Datatypes <a href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/">REC 02 May
+    2001</a></li>
+  <li>W3C <a href="http://www.w3.org/TR/xml-id/">xml:id</a> Working Draft 7
+    April 2004</li>
 </ul>
                                   <p>In most cases libxml2 tries to implement the specifications in a
 relatively strictly compliant way. As of release 2.4.16, libxml2 passed all
-1800+ tests from the 
-                                    <a href="http://www.oasis-open.org/committees/xml-conformance/">OASIS XML Tests
-Suite
-</a>
-.
-</p>
+1800+ tests from the <a href="http://www.oasis-open.org/committees/xml-conformance/">OASIS XML Tests
+Suite</a>.</p>
                                   <p>To some extent libxml2 provides support for the following additional
-specifications but doesn't claim to implement them completely:
-</p>
-                                  <ul>                                    <li>Document Object Model (DOM) 
-                                      <a href="http://www.w3.org/TR/DOM-Level-2-Core/">http://www.w3.org/TR/DOM-Level-2-Core/
-</a>
-
+specifications but doesn't claim to implement them completely:</p>
+                                  <ul><li>Document Object Model (DOM) <a href="http://www.w3.org/TR/DOM-Level-2-Core/">http://www.w3.org/TR/DOM-Level-2-Core/</a>
     the document model, but it doesn't implement the API itself, gdome2 does
-    this on top of libxml2
-</li>
-
-  
-                                    <li>                                      <a href="http://www.cis.ohio-state.edu/rfc/rfc959.txt">RFC 959
-</a>
- :
-    libxml2 implements a basic FTP client code
-</li>
-
-  
-                                    <li>                                      <a href="http://www.cis.ohio-state.edu/rfc/rfc1945.txt">RFC 1945
-</a>
- :
-    HTTP/1.0, again a basic HTTP client code
-</li>
-
-  
-                                    <li>SAX: a SAX2 like interface and a minimal SAX1 implementation compatible
-    with early expat versions
-</li>
-
-
+    this on top of libxml2</li>
+  <li><a href="http://www.cis.ohio-state.edu/rfc/rfc959.txt">RFC 959</a> :
+    libxml2 implements a basic FTP client code</li>
+  <li><a href="http://www.cis.ohio-state.edu/rfc/rfc1945.txt">RFC 1945</a> :
+    HTTP/1.0, again a basic HTTP client code</li>
+  <li>SAX: a SAX2 like interface and a minimal SAX1 implementation compatible
+    with early expat versions</li>
 </ul>
-                                  <p>A partial implementation of 
-                                    <a href="http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/">XML Schemas Part
-1: Structure
-</a>
- is being worked on but it would be far too early to make any
-conformance statement about it at the moment.
-</p>
-                                  <p>Separate documents:
-</p>
-                                  <ul>                                    <li>                                      <a href="http://xmlsoft.org/XSLT/">the libxslt page
-</a>
- providing an
+                                  <p>A partial implementation of <a href="http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/">XML Schemas Part
+1: Structure</a> is being worked on but it would be far too early to make any
+conformance statement about it at the moment.</p>
+                                  <p>Separate documents:</p>
+                                  <ul><li><a href="http://xmlsoft.org/XSLT/">the libxslt page</a> providing an
     implementation of XSLT 1.0 and common extensions like EXSLT for
-  libxml2
-</li>
-
-  
-                                    <li>                                      <a href="http://www.cs.unibo.it/~casarini/gdome2/">the gdome2 page
-</a>
-
-    : a standard DOM2 implementation for libxml2
-</li>
-
-  
-                                    <li>                                      <a href="http://www.aleksey.com/xmlsec/">the XMLSec page
-</a>
-: an
-    implementation of 
-                                      <a href="http://www.w3.org/TR/xmldsig-core/">W3C XML
-    Digital Signature
-</a>
- for libxml2
-</li>
-
-  
-                                    <li>also check the related links section below for more related and active
-    projects.
-</li>
-
-
+  libxml2</li>
+  <li><a href="http://www.cs.unibo.it/~casarini/gdome2/">the gdome2 page</a>
+    : a standard DOM2 implementation for libxml2</li>
+  <li><a href="http://www.aleksey.com/xmlsec/">the XMLSec page</a>: an
+    implementation of <a href="http://www.w3.org/TR/xmldsig-core/">W3C XML
+    Digital Signature</a> for libxml2</li>
+  <li>also check the related links section below for more related and active
+    projects.</li>
 </ul>
-                                  <p>Logo designed by 
-                                    <a href="mailto:liyanage@access.ch">Marc Liyanage
-</a>
-.
-</p>
+                                  <p>Logo designed by <a href="mailto:liyanage@access.ch">Marc Liyanage</a>.</p>
                                   <p>
-                                    <a href="bugs.html">Daniel Veillard
-</a>
+                                    <a href="bugs.html">Daniel Veillard</a>
                                   </p>
                                 </td>
                               </tr>
diff --git a/include/libxml/xmlreader.h b/include/libxml/xmlreader.h
index e810468..3d79006 100644
--- a/include/libxml/xmlreader.h
+++ b/include/libxml/xmlreader.h
@@ -150,6 +150,8 @@
 			xmlTextReaderQuoteChar	(xmlTextReaderPtr reader);
 XMLPUBFUN int XMLCALL		
 			xmlTextReaderReadState	(xmlTextReaderPtr reader);
+XMLPUBFUN int XMLCALL
+                        xmlTextReaderIsNamespaceDecl(xmlTextReaderPtr reader);
 
 XMLPUBFUN const xmlChar * XMLCALL	
 		    xmlTextReaderConstBaseUri	(xmlTextReaderPtr reader);
@@ -226,6 +228,8 @@
 		    xmlTextReaderMoveToElement	(xmlTextReaderPtr reader);
 XMLPUBFUN int XMLCALL		
 		    xmlTextReaderNormalization	(xmlTextReaderPtr reader);
+XMLPUBFUN const xmlChar * XMLCALL
+		    xmlTextReaderConstEncoding  (xmlTextReaderPtr reader);
 
 /*
  * Extensions
@@ -263,6 +267,10 @@
 		    xmlTextReaderRelaxNGSetSchema(xmlTextReaderPtr reader,
 						 xmlRelaxNGPtr schema);
 #endif
+XMLPUBFUN const xmlChar * XMLCALL
+		    xmlTextReaderConstXmlVersion(xmlTextReaderPtr reader);
+XMLPUBFUN int XMLCALL
+		    xmlTextReaderStandalone     (xmlTextReaderPtr reader);
 
 /*
  * New more complete APIs for simpler creation and reuse of readers
diff --git a/xmlreader.c b/xmlreader.c
index 58fbe2e..e3243b9 100644
--- a/xmlreader.c
+++ b/xmlreader.c
@@ -2629,6 +2629,34 @@
     return(1);
 }
 
+/**
+ * xmlTextReaderConstEncoding:
+ * @reader:  the xmlTextReaderPtr used
+ *
+ * Determine the encoding of the document being read.
+ *
+ * Returns a string containing the encoding of the document or NULL in
+ * case of error.  The string is deallocated with the reader.
+ */
+const xmlChar *
+xmlTextReaderConstEncoding(xmlTextReaderPtr reader) {
+    xmlDocPtr doc = NULL;
+    if (reader == NULL)
+	return(NULL);
+    if (reader->doc != NULL)
+        doc = reader->doc;
+    else if (reader->ctxt != NULL)
+	doc = reader->ctxt->myDoc;
+    if (doc == NULL)
+	return(NULL);
+    
+    if (doc->encoding == NULL)
+	return(NULL);
+    else
+      return(CONSTSTR(doc->encoding));
+}
+
+
 /************************************************************************
  *									*
  *			Acces API to the current node			*
@@ -3799,6 +3827,87 @@
 }
 #endif
 
+/**
+ * xmlTextReaderIsNamespaceDecl:
+ * @reader: the xmlTextReaderPtr used
+ *
+ * Determine whether the current node is a namespace declaration
+ * rather than a regular attribute.
+ *
+ * Returns 1 if the current node is a namespace declaration, 0 if it
+ * is a regular attribute or other type of node, or -1 in case of
+ * error.
+ */
+int
+xmlTextReaderIsNamespaceDecl(xmlTextReaderPtr reader) {
+    xmlNodePtr node;
+    if (reader == NULL)
+	return(-1);
+    if (reader->node == NULL)
+	return(-1);
+    if (reader->curnode != NULL)
+	node = reader->curnode;
+    else
+	node = reader->node;
+    
+    if (XML_NAMESPACE_DECL == node->type)
+	return(1);
+    else
+	return(0);
+}
+
+/**
+ * xmlTextReaderConstXmlVersion:
+ * @reader:  the xmlTextReaderPtr used
+ *
+ * Determine the XML version of the document being read.
+ *
+ * Returns a string containing the XML version of the document or NULL
+ * in case of error.  The string is deallocated with the reader.
+ */
+const xmlChar *
+xmlTextReaderConstXmlVersion(xmlTextReaderPtr reader) {
+    xmlDocPtr doc = NULL;
+    if (reader == NULL)
+	return(NULL);
+    if (reader->doc != NULL)
+        doc = reader->doc;
+    else if (reader->ctxt != NULL)
+	doc = reader->ctxt->myDoc; 
+    if (doc == NULL)
+	return(NULL);
+    
+    if (doc->version == NULL)
+	return(NULL);
+    else
+      return(CONSTSTR(doc->version));
+}
+
+/**
+ * xmlTextReaderStandalone:
+ * @reader:  the xmlTextReaderPtr used
+ *
+ * Determine the standalone status of the document being read.
+ *
+ * Returns 1 if the document was declared to be standalone, 0 if it
+ * was declared to be not standalone, or -1 if the document did not
+ * specify its standalone status or in case of error.
+ */
+int
+xmlTextReaderStandalone(xmlTextReaderPtr reader) {
+    xmlDocPtr doc = NULL;
+    if (reader == NULL)
+	return(-1);
+    if (reader->doc != NULL)
+        doc = reader->doc;
+    else if (reader->ctxt != NULL)
+	doc = reader->ctxt->myDoc;
+    if (doc == NULL)
+	return(-1);
+
+    return(doc->standalone);
+}
+
 /************************************************************************
  *									*
  *			Error Handling Extensions                       *