mirror of
https://github.com/GNOME/libxml2.git
synced 2025-02-23 18:29:14 +08:00
* AUTHORS: added William and Bjorn * include/libxml/*.h *.c README doc/*.html etc.: changed old email to daniel@veillard.com hopefully I won't have to do this again * doc/Makefile.am doc/html/*.html: cleanup makefile, checked that docs can be rebuilt cleanly now * include/libxml/xml*version.h*: removed include/libxml/xmlversion.h from CVs it's generated, added include/libxml/xmlwin32version.h also generated but which should change far less frequently. * catalog.c nanoftp.c: made sure to include libxml.h not libxml/xmlversion.h directly * include/libxml/*.h: include xmlwin32version.h instead of xmlversion.h when compiling on WIN32 and MSC Daniel
112 lines
3.4 KiB
C
112 lines
3.4 KiB
C
/*
|
|
* entities.h : interface for the XML entities handking
|
|
*
|
|
* See Copyright for the status of this software.
|
|
*
|
|
* daniel@veillard.com
|
|
*/
|
|
|
|
#ifndef __XML_ENTITIES_H__
|
|
#define __XML_ENTITIES_H__
|
|
|
|
#include <libxml/tree.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/*
|
|
* The different valid entity types
|
|
*/
|
|
typedef enum {
|
|
XML_INTERNAL_GENERAL_ENTITY = 1,
|
|
XML_EXTERNAL_GENERAL_PARSED_ENTITY = 2,
|
|
XML_EXTERNAL_GENERAL_UNPARSED_ENTITY = 3,
|
|
XML_INTERNAL_PARAMETER_ENTITY = 4,
|
|
XML_EXTERNAL_PARAMETER_ENTITY = 5,
|
|
XML_INTERNAL_PREDEFINED_ENTITY = 6
|
|
} xmlEntityType;
|
|
|
|
/*
|
|
* An unit of storage for an entity, contains the string, the value
|
|
* and the linkind data needed for the linking in the hash table.
|
|
*/
|
|
|
|
typedef struct _xmlEntity xmlEntity;
|
|
typedef xmlEntity *xmlEntityPtr;
|
|
struct _xmlEntity {
|
|
void *_private; /* for Corba, must be first ! */
|
|
xmlElementType type; /* XML_ENTITY_DECL, must be second ! */
|
|
const xmlChar *name; /* Attribute name */
|
|
struct _xmlNode *children; /* NULL */
|
|
struct _xmlNode *last; /* NULL */
|
|
struct _xmlDtd *parent; /* -> DTD */
|
|
struct _xmlNode *next; /* next sibling link */
|
|
struct _xmlNode *prev; /* previous sibling link */
|
|
struct _xmlDoc *doc; /* the containing document */
|
|
|
|
xmlChar *orig; /* content without ref substitution */
|
|
xmlChar *content; /* content or ndata if unparsed */
|
|
int length; /* the content length */
|
|
xmlEntityType etype; /* The entity type */
|
|
const xmlChar *ExternalID; /* External identifier for PUBLIC */
|
|
const xmlChar *SystemID; /* URI for a SYSTEM or PUBLIC Entity */
|
|
|
|
struct _xmlEntity *nexte; /* unused */
|
|
const xmlChar *URI; /* the full URI as computed */
|
|
};
|
|
|
|
/*
|
|
* ALl entities are stored in an hash table
|
|
* there is 2 separate hash tables for global and parmeter entities
|
|
*/
|
|
|
|
typedef struct _xmlHashTable xmlEntitiesTable;
|
|
typedef xmlEntitiesTable *xmlEntitiesTablePtr;
|
|
|
|
/*
|
|
* External functions :
|
|
*/
|
|
|
|
void xmlInitializePredefinedEntities (void);
|
|
xmlEntityPtr xmlAddDocEntity (xmlDocPtr doc,
|
|
const xmlChar *name,
|
|
int type,
|
|
const xmlChar *ExternalID,
|
|
const xmlChar *SystemID,
|
|
const xmlChar *content);
|
|
xmlEntityPtr xmlAddDtdEntity (xmlDocPtr doc,
|
|
const xmlChar *name,
|
|
int type,
|
|
const xmlChar *ExternalID,
|
|
const xmlChar *SystemID,
|
|
const xmlChar *content);
|
|
xmlEntityPtr xmlGetPredefinedEntity (const xmlChar *name);
|
|
xmlEntityPtr xmlGetDocEntity (xmlDocPtr doc,
|
|
const xmlChar *name);
|
|
xmlEntityPtr xmlGetDtdEntity (xmlDocPtr doc,
|
|
const xmlChar *name);
|
|
xmlEntityPtr xmlGetParameterEntity (xmlDocPtr doc,
|
|
const xmlChar *name);
|
|
const xmlChar * xmlEncodeEntities (xmlDocPtr doc,
|
|
const xmlChar *input);
|
|
xmlChar * xmlEncodeEntitiesReentrant(xmlDocPtr doc,
|
|
const xmlChar *input);
|
|
xmlChar * xmlEncodeSpecialChars (xmlDocPtr doc,
|
|
const xmlChar *input);
|
|
xmlEntitiesTablePtr xmlCreateEntitiesTable (void);
|
|
xmlEntitiesTablePtr xmlCopyEntitiesTable (xmlEntitiesTablePtr table);
|
|
void xmlFreeEntitiesTable (xmlEntitiesTablePtr table);
|
|
void xmlDumpEntitiesTable (xmlBufferPtr buf,
|
|
xmlEntitiesTablePtr table);
|
|
void xmlDumpEntityDecl (xmlBufferPtr buf,
|
|
xmlEntityPtr ent);
|
|
void xmlCleanupPredefinedEntities(void);
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
# endif /* __XML_ENTITIES_H__ */
|