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:
@@ -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__ */
|
||||
|
Reference in New Issue
Block a user