Bug fixes, improvement on ID/IDREF support, 1.6.2, no memleaks, Daniel
diff --git a/include/libxml/tree.h b/include/libxml/tree.h
index 6d22ac1..bf8a77e 100644
--- a/include/libxml/tree.h
+++ b/include/libxml/tree.h
@@ -211,6 +211,17 @@
 typedef xmlID *xmlIDPtr;
 
 /*
+ * An XML IDREF instance.
+ */
+
+typedef struct xmlRef {
+    struct xmlRef     *next;	/* next Ref */
+    const CHAR       *value;	/* The Ref name */
+    xmlAttrPtr        attr;	/* The attribut holding it */
+} xmlRef;
+typedef xmlRef *xmlRefPtr;
+
+/*
  * A node in an XML tree.
  */
 typedef struct xmlNode {
@@ -253,6 +264,7 @@
     struct xmlNs   *oldNs;	/* Global namespace, the old way */
     struct xmlNode *root;	/* the document tree */
     void           *ids;        /* Hash table for ID attributes if any */
+    void           *refs;       /* Hash table for IDREFs attributes if any */
 } _xmlDoc;
 typedef _xmlDoc xmlDoc;
 typedef xmlDoc *xmlDocPtr;
@@ -441,6 +453,12 @@
 					 const CHAR *lang);
 
 /*
+ * Removing content.
+ */
+int		xmlRemoveProp		(xmlAttrPtr attr); /* TODO */
+int		xmlRemoveNode		(xmlNodePtr node); /* TODO */
+
+/*
  * Internal, don't use
  */
 void		xmlBufferWriteCHAR	(xmlBufferPtr buf,