Serious upgrade of internal subset support, setup for gtk-doc, Daniel
diff --git a/valid.h b/valid.h
index 6f0023a..14a7228 100644
--- a/valid.h
+++ b/valid.h
@@ -12,6 +12,20 @@
#include "tree.h"
/*
+ * ALl notation declarations are stored in a table
+ * there is one table per DTD
+ */
+
+#define XML_MIN_NOTATION_TABLE 32
+
+typedef struct xmlNotationTable {
+ int nb_notations; /* number of notations stored */
+ int max_notations; /* maximum number of notations */
+ xmlNotationPtr table; /* the table of attributes */
+} xmlNotationTable;
+typedef xmlNotationTable *xmlNotationTablePtr;
+
+/*
* ALl element declarations are stored in a table
* there is one table per DTD
*/
@@ -21,16 +35,54 @@
typedef struct xmlElementTable {
int nb_elements; /* number of elements stored */
int max_elements; /* maximum number of elements */
- xmlElementPtr table; /* the table of entities */
-} xmlElementTable, *xmlElementTablePtr;
+ xmlElementPtr table; /* the table of elements */
+} xmlElementTable;
+typedef xmlElementTable *xmlElementTablePtr;
-extern xmlElementPtr xmlAddElementDecl(xmlDtdPtr dtd, char *name, int type,
+/*
+ * ALl attribute declarations are stored in a table
+ * there is one table per DTD
+ */
+
+#define XML_MIN_ATTRIBUTE_TABLE 32
+
+typedef struct xmlAttributeTable {
+ int nb_attributes; /* number of attributes stored */
+ int max_attributes; /* maximum number of attributes */
+ xmlAttributePtr table; /* the table of attributes */
+} xmlAttributeTable;
+typedef xmlAttributeTable *xmlAttributeTablePtr;
+
+/* Notation */
+xmlNotationPtr xmlAddNotationDecl(xmlDtdPtr dtd, CHAR *name,
+ CHAR *PublicID, CHAR *SystemID);
+xmlNotationTablePtr xmlCopyNotationTable(xmlNotationTablePtr table);
+void xmlFreeNotationTable(xmlNotationTablePtr table);
+void xmlDumpNotationTable(xmlNotationTablePtr table);
+
+/* Element Content */
+xmlElementContentPtr xmlNewElementContent(CHAR *name, int type);
+xmlElementContentPtr xmlCopyElementContent(xmlElementContentPtr content);
+void xmlFreeElementContent(xmlElementContentPtr cur);
+
+/* Element */
+xmlElementPtr xmlAddElementDecl(xmlDtdPtr dtd, CHAR *name, int type,
xmlElementContentPtr content);
-extern xmlElementContentPtr xmlNewElementContent(CHAR *name, int type);
-extern xmlElementContentPtr xmlCopyElementContent(xmlElementContentPtr content);
-extern void xmlFreeElementContent(xmlElementContentPtr cur);
+xmlElementTablePtr xmlCopyElementTable(xmlElementTablePtr table);
+void xmlFreeElementTable(xmlElementTablePtr table);
+void xmlDumpElementTable(xmlElementTablePtr table);
-extern xmlElementTablePtr xmlCopyElementTable(xmlElementTablePtr table);
-extern void xmlFreeElementTable(xmlElementTablePtr table);
-extern void xmlDumpElementTable(xmlElementTablePtr table);
+/* Enumeration */
+xmlEnumerationPtr xmlCreateEnumeration(CHAR *name);
+void xmlFreeEnumeration(xmlEnumerationPtr cur);
+xmlEnumerationPtr xmlCopyEnumeration(xmlEnumerationPtr cur);
+
+/* Attribute */
+xmlAttributePtr xmlAddAttributeDecl(xmlDtdPtr dtd, CHAR *elem,
+ CHAR *name, int type, int def,
+ CHAR *defaultValue, xmlEnumerationPtr tree);
+xmlAttributeTablePtr xmlCopyAttributeTable(xmlAttributeTablePtr table);
+void xmlFreeAttributeTable(xmlAttributeTablePtr table);
+void xmlDumpAttributeTable(xmlAttributeTablePtr table);
+
#endif /* __XML_VALID_H__ */