Adding a new set of APIs based on the C# TextXmlReader API but converted

* Makefile.am xmlreader.c include/libxml/Makefile.am
  include/libxml/xmlreader.h:  Adding a new set of APIs based on
  the C# TextXmlReader API but converted to C. Allow to parse
  in constant memory usage, far simpler to program and explain
  than the SAX like APIs, unfinished but working.
* testReader.c: test program
Daniel
diff --git a/include/libxml/xmlreader.h b/include/libxml/xmlreader.h
new file mode 100644
index 0000000..8e4b057
--- /dev/null
+++ b/include/libxml/xmlreader.h
@@ -0,0 +1,56 @@
+/*
+ * xmlreader.h : Interfaces, constants and types of the XML streaming API.
+ *
+ * See Copyright for the status of this software.
+ *
+ * daniel@veillard.com
+ */
+
+#ifndef __XML_XMLREADER_H__
+#define __XML_XMLREADER_H__
+
+#include <libxml/tree.h>
+#include <libxml/xmlIO.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct _xmlTextReader xmlTextReader;
+typedef xmlTextReader *xmlTextReaderPtr;
+
+/*
+ * Constructors & Destructor
+ */
+xmlTextReaderPtr	xmlNewTextReader	(xmlParserInputBufferPtr input);
+xmlTextReaderPtr	xmlNewTextReaderFilename(const char *URI);
+void			xmlFreeTextReader	(xmlTextReaderPtr reader);
+
+/*
+ * Iterators
+ */
+int		xmlTextReaderRead	(xmlTextReaderPtr reader);
+
+/*
+ * Attributes of the node
+ */
+int		xmlTextReaderAttributeCount(xmlTextReaderPtr reader);
+xmlChar *	xmlTextReaderBaseUri	(xmlTextReaderPtr reader);
+int		xmlTextReaderDepth	(xmlTextReaderPtr reader);
+int		xmlTextReaderHasAttributes(xmlTextReaderPtr reader);
+int		xmlTextReaderHasValue(xmlTextReaderPtr reader);
+int		xmlTextReaderIsDefault	(xmlTextReaderPtr reader);
+int		xmlTextReaderIsEmptyElement(xmlTextReaderPtr reader);
+xmlChar *	xmlTextReaderLocalName	(xmlTextReaderPtr reader);
+xmlChar *	xmlTextReaderName	(xmlTextReaderPtr reader);
+xmlChar *	xmlTextReaderNamespaceUri(xmlTextReaderPtr reader);
+int		xmlTextReaderNodeType	(xmlTextReaderPtr reader);
+xmlChar *	xmlTextReaderPrefix	(xmlTextReaderPtr reader);
+int		xmlTextReaderQuoteChar	(xmlTextReaderPtr reader);
+xmlChar *	xmlTextReaderValue	(xmlTextReaderPtr reader);
+xmlChar *	xmlTextReaderXmlLang	(xmlTextReaderPtr reader);
+#ifdef __cplusplus
+}
+#endif
+#endif /* __XML_XMLREADER_H__ */
+