1
0
mirror of https://gitlab.gnome.org/GNOME/libxml2.git synced 2025-10-21 14:53:44 +03:00

Serious upgrade of internal subset support, setup for gtk-doc, Daniel

This commit is contained in:
Daniel Veillard
1999-02-22 10:33:01 +00:00
parent 63dc42c681
commit 1e346af5e4
19 changed files with 1866 additions and 527 deletions

View File

@@ -11,6 +11,20 @@
#define __XML_VALID_H__
#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);
/* 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);
extern xmlElementTablePtr xmlCopyElementTable(xmlElementTablePtr table);
extern void xmlFreeElementTable(xmlElementTablePtr table);
extern void xmlDumpElementTable(xmlElementTablePtr table);
#endif /* __XML_VALID_H__ */