More validity stuff (ID) and corrct version of equal and compare for XPath, Daniel
diff --git a/valid.h b/valid.h
index 7d58459..9afb2a0 100644
--- a/valid.h
+++ b/valid.h
@@ -69,6 +69,20 @@
 } xmlAttributeTable;
 typedef xmlAttributeTable *xmlAttributeTablePtr;
 
+/*
+ * ALl IDs attributes are stored in a table
+ * there is one table per document
+ */
+
+#define XML_MIN_ID_TABLE	32
+
+typedef struct xmlIDTable {
+    int nb_ids;			/* number of ids stored */
+    int max_ids;		/* maximum number of ids */
+    xmlIDPtr *table;		/* the table of ids */
+} xmlIDTable;
+typedef xmlIDTable *xmlIDTablePtr;
+
 /* Notation */
 xmlNotationPtr xmlAddNotationDecl(xmlValidCtxtPtr ctxt, xmlDtdPtr dtd,
 	   const CHAR *name, const CHAR *PublicID, const CHAR *SystemID);
@@ -101,6 +115,12 @@
 void xmlFreeAttributeTable(xmlAttributeTablePtr table);
 void xmlDumpAttributeTable(xmlBufferPtr buf, xmlAttributeTablePtr table);
 
+/* IDs */
+xmlIDPtr xmlAddID(xmlValidCtxtPtr ctxt, xmlDocPtr doc,
+               const CHAR *value, xmlAttrPtr attr);
+xmlIDTablePtr xmlCopyIDTable(xmlIDTablePtr table);
+void xmlFreeIDTable(xmlIDTablePtr table);
+
 /**
  * The public function calls related to validity checking
  */