<HTML
><HEAD
><TITLE
>entities</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.59"><LINK
REL="HOME"
TITLE="Gnome XML Library Reference Manual"
HREF="book1.html"><LINK
REL="UP"
TITLE="Libxml Library Reference"
HREF="libxml-lib.html"><LINK
REL="PREVIOUS"
TITLE="tree"
HREF="libxml-tree.html"><LINK
REL="NEXT"
TITLE="valid"
HREF="libxml-valid.html"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
BGCOLOR="#000000"
CELLPADDING="1"
CELLSPACING="0"
><TR
><TH
COLSPAN="4"
ALIGN="center"
><FONT
COLOR="#FFFFFF"
SIZE="5"
>Gnome XML Library Reference Manual</FONT
></TH
></TR
><TR
><TD
WIDTH="25%"
BGCOLOR="#C00000"
ALIGN="left"
><A
HREF="libxml-tree.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>&#60;&#60;&#60; Previous Page</B
></FONT
></A
></TD
><TD
WIDTH="25%"
BGCOLOR="#0000C0"
ALIGN="center"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
><A
HREF="book1.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>Home</B
></FONT
></A
></B
></FONT
></TD
><TD
WIDTH="25%"
BGCOLOR="#00C000"
ALIGN="center"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
><A
HREF="libxml-lib.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>Up</B
></FONT
></A
></B
></FONT
></TD
><TD
WIDTH="25%"
BGCOLOR="#C00000"
ALIGN="right"
><A
HREF="libxml-valid.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>Next Page &#62;&#62;&#62;</B
></FONT
></A
></TD
></TR
></TABLE
></DIV
><H1
><A
NAME="LIBXML-ENTITIES"
>entities</A
></H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN7431"
></A
><H2
>Name</H2
>entities&nbsp;--&nbsp;</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN7434"
></A
><H2
>Synopsis</H2
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="SYNOPSIS"
>&#13;

enum        <A
HREF="libxml-entities.html#XMLENTITYTYPE"
>xmlEntityType</A
>;
struct      <A
HREF="libxml-entities.html#XMLENTITY"
>xmlEntity</A
>;
typedef     <A
HREF="libxml-entities.html#XMLENTITYPTR"
>xmlEntityPtr</A
>;
typedef     <A
HREF="libxml-entities.html#XMLENTITIESTABLEPTR"
>xmlEntitiesTablePtr</A
>;
void        <A
HREF="libxml-entities.html#XMLINITIALIZEPREDEFINEDENTITIES"
>xmlInitializePredefinedEntities</A
> (void);
<A
HREF="libxml-entities.html#XMLENTITYPTR"
>xmlEntityPtr</A
> <A
HREF="libxml-entities.html#XMLADDDOCENTITY"
>xmlAddDocEntity</A
>                (<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
                                             const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *name,
                                             int type,
                                             const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *ExternalID,
                                             const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *SystemID,
                                             const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *content);
<A
HREF="libxml-entities.html#XMLENTITYPTR"
>xmlEntityPtr</A
> <A
HREF="libxml-entities.html#XMLADDDTDENTITY"
>xmlAddDtdEntity</A
>                (<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
                                             const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *name,
                                             int type,
                                             const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *ExternalID,
                                             const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *SystemID,
                                             const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *content);
<A
HREF="libxml-entities.html#XMLENTITYPTR"
>xmlEntityPtr</A
> <A
HREF="libxml-entities.html#XMLGETPREDEFINEDENTITY"
>xmlGetPredefinedEntity</A
>         (const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *name);
<A
HREF="libxml-entities.html#XMLENTITYPTR"
>xmlEntityPtr</A
> <A
HREF="libxml-entities.html#XMLGETDOCENTITY"
>xmlGetDocEntity</A
>                (<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
                                             const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *name);
<A
HREF="libxml-entities.html#XMLENTITYPTR"
>xmlEntityPtr</A
> <A
HREF="libxml-entities.html#XMLGETDTDENTITY"
>xmlGetDtdEntity</A
>                (<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
                                             const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *name);
<A
HREF="libxml-entities.html#XMLENTITYPTR"
>xmlEntityPtr</A
> <A
HREF="libxml-entities.html#XMLGETPARAMETERENTITY"
>xmlGetParameterEntity</A
>          (<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
                                             const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *name);
const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* <A
HREF="libxml-entities.html#XMLENCODEENTITIES"
>xmlEncodeEntities</A
>            (<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
                                             const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *input);
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>*    <A
HREF="libxml-entities.html#XMLENCODEENTITIESREENTRANT"
>xmlEncodeEntitiesReentrant</A
>      (<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
                                             const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *input);
<A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>*    <A
HREF="libxml-entities.html#XMLENCODESPECIALCHARS"
>xmlEncodeSpecialChars</A
>           (<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
                                             const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *input);
<A
HREF="libxml-entities.html#XMLENTITIESTABLEPTR"
>xmlEntitiesTablePtr</A
> <A
HREF="libxml-entities.html#XMLCREATEENTITIESTABLE"
>xmlCreateEntitiesTable</A
>  (void);
<A
HREF="libxml-entities.html#XMLENTITIESTABLEPTR"
>xmlEntitiesTablePtr</A
> <A
HREF="libxml-entities.html#XMLCOPYENTITIESTABLE"
>xmlCopyEntitiesTable</A
>    (<A
HREF="libxml-entities.html#XMLENTITIESTABLEPTR"
>xmlEntitiesTablePtr</A
> table);
void        <A
HREF="libxml-entities.html#XMLFREEENTITIESTABLE"
>xmlFreeEntitiesTable</A
>            (<A
HREF="libxml-entities.html#XMLENTITIESTABLEPTR"
>xmlEntitiesTablePtr</A
> table);
void        <A
HREF="libxml-entities.html#XMLDUMPENTITIESTABLE"
>xmlDumpEntitiesTable</A
>            (<A
HREF="libxml-tree.html#XMLBUFFERPTR"
>xmlBufferPtr</A
> buf,
                                             <A
HREF="libxml-entities.html#XMLENTITIESTABLEPTR"
>xmlEntitiesTablePtr</A
> table);
void        <A
HREF="libxml-entities.html#XMLDUMPENTITYDECL"
>xmlDumpEntityDecl</A
>               (<A
HREF="libxml-tree.html#XMLBUFFERPTR"
>xmlBufferPtr</A
> buf,
                                             <A
HREF="libxml-entities.html#XMLENTITYPTR"
>xmlEntityPtr</A
> ent);
void        <A
HREF="libxml-entities.html#XMLCLEANUPPREDEFINEDENTITIES"
>xmlCleanupPredefinedEntities</A
>    (void);</PRE
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN7497"
></A
><H2
>Description</H2
><P
></P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN7500"
></A
><H2
>Details</H2
><DIV
CLASS="REFSECT2"
><A
NAME="AEN7502"
></A
><H3
><A
NAME="XMLENTITYTYPE"
></A
>enum xmlEntityType</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>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;</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7507"
></A
><H3
><A
NAME="XMLENTITY"
></A
>struct xmlEntity</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>struct xmlEntity {
#ifndef XML_WITHOUT_CORBA
    void           *_private;	        /* for Corba, must be first ! */
#endif
    xmlElementType          type;       /* XML_ENTITY_DECL, must be second ! */
    const xmlChar          *name;	/* Attribute name */
    struct _xmlNode    *children;	/* NULL */
    struct _xmlNode        *last;	/* NULL */
    struct _xmlDtd       *parent;	/* -&gt; 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 */
};</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7512"
></A
><H3
><A
NAME="XMLENTITYPTR"
></A
>xmlEntityPtr</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>typedef xmlEntity *xmlEntityPtr;</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7517"
></A
><H3
><A
NAME="XMLENTITIESTABLEPTR"
></A
>xmlEntitiesTablePtr</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>typedef xmlEntitiesTable *xmlEntitiesTablePtr;</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7522"
></A
><H3
><A
NAME="XMLINITIALIZEPREDEFINEDENTITIES"
></A
>xmlInitializePredefinedEntities ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        xmlInitializePredefinedEntities (void);</PRE
></TD
></TR
></TABLE
><P
>Set up the predefined entities.</P
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7528"
></A
><H3
><A
NAME="XMLADDDOCENTITY"
></A
>xmlAddDocEntity ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-entities.html#XMLENTITYPTR"
>xmlEntityPtr</A
> xmlAddDocEntity                (<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
                                             const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *name,
                                             int type,
                                             const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *ExternalID,
                                             const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *SystemID,
                                             const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *content);</PRE
></TD
></TR
></TABLE
><P
>Register a new entity for this document.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN7540"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>doc</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  the document</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>name</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  the entity name</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>type</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  the entity type XML_xxx_yyy_ENTITY</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ExternalID</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  the entity external ID if available</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>SystemID</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  the entity system ID if available</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>content</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  the entity content</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><I
CLASS="EMPHASIS"
>Returns</I
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>a pointer to the entity or NULL in case of error</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7573"
></A
><H3
><A
NAME="XMLADDDTDENTITY"
></A
>xmlAddDtdEntity ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-entities.html#XMLENTITYPTR"
>xmlEntityPtr</A
> xmlAddDtdEntity                (<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
                                             const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *name,
                                             int type,
                                             const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *ExternalID,
                                             const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *SystemID,
                                             const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *content);</PRE
></TD
></TR
></TABLE
><P
>Register a new entity for this document DTD external subset.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN7585"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>doc</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  the document</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>name</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  the entity name</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>type</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  the entity type XML_xxx_yyy_ENTITY</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ExternalID</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  the entity external ID if available</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>SystemID</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  the entity system ID if available</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>content</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  the entity content</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><I
CLASS="EMPHASIS"
>Returns</I
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>a pointer to the entity or NULL in case of error</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7618"
></A
><H3
><A
NAME="XMLGETPREDEFINEDENTITY"
></A
>xmlGetPredefinedEntity ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-entities.html#XMLENTITYPTR"
>xmlEntityPtr</A
> xmlGetPredefinedEntity         (const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *name);</PRE
></TD
></TR
></TABLE
><P
>Check whether this name is an predefined entity.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN7626"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>name</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  the entity name</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><I
CLASS="EMPHASIS"
>Returns</I
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>NULL if not, othervise the entity</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7639"
></A
><H3
><A
NAME="XMLGETDOCENTITY"
></A
>xmlGetDocEntity ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-entities.html#XMLENTITYPTR"
>xmlEntityPtr</A
> xmlGetDocEntity                (<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
                                             const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *name);</PRE
></TD
></TR
></TABLE
><P
>Do an entity lookup in the document entity hash table and
returns the corrsponding entity, otherwise a lookup is done
in the predefined entities too.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN7648"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>doc</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  the document referencing the entity</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>name</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  the entity name</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><I
CLASS="EMPHASIS"
>Returns</I
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>A pointer to the entity structure or NULL if not found.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7665"
></A
><H3
><A
NAME="XMLGETDTDENTITY"
></A
>xmlGetDtdEntity ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-entities.html#XMLENTITYPTR"
>xmlEntityPtr</A
> xmlGetDtdEntity                (<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
                                             const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *name);</PRE
></TD
></TR
></TABLE
><P
>Do an entity lookup in the Dtd entity hash table and
returns the corresponding entity, if found.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN7674"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>doc</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  the document referencing the entity</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>name</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  the entity name</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><I
CLASS="EMPHASIS"
>Returns</I
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>A pointer to the entity structure or NULL if not found.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7691"
></A
><H3
><A
NAME="XMLGETPARAMETERENTITY"
></A
>xmlGetParameterEntity ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-entities.html#XMLENTITYPTR"
>xmlEntityPtr</A
> xmlGetParameterEntity          (<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
                                             const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *name);</PRE
></TD
></TR
></TABLE
><P
>Do an entity lookup in the internal and external subsets and
returns the corresponding parameter entity, if found.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN7700"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>doc</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  the document referencing the entity</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>name</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  the entity name</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><I
CLASS="EMPHASIS"
>Returns</I
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>A pointer to the entity structure or NULL if not found.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7717"
></A
><H3
><A
NAME="XMLENCODEENTITIES"
></A
>xmlEncodeEntities ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>* xmlEncodeEntities            (<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
                                             const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *input);</PRE
></TD
></TR
></TABLE
><P
>Do a global encoding of a string, replacing the predefined entities
and non ASCII values with their entities and CharRef counterparts.</P
><P
>TODO: remove xmlEncodeEntities, once we are not afraid of breaking binary
compatibility</P
><P
>People must migrate their code to xmlEncodeEntitiesReentrant !
This routine will issue a warning when encountered.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN7728"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>doc</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  the document containing the string</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>input</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  A string to convert to XML.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><I
CLASS="EMPHASIS"
>Returns</I
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>A newly allocated string with the substitution done.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7745"
></A
><H3
><A
NAME="XMLENCODEENTITIESREENTRANT"
></A
>xmlEncodeEntitiesReentrant ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>*    xmlEncodeEntitiesReentrant      (<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
                                             const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *input);</PRE
></TD
></TR
></TABLE
><P
>Do a global encoding of a string, replacing the predefined entities
and non ASCII values with their entities and CharRef counterparts.
Contrary to xmlEncodeEntities, this routine is reentrant, and result
must be deallocated.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN7754"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>doc</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  the document containing the string</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>input</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  A string to convert to XML.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><I
CLASS="EMPHASIS"
>Returns</I
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>A newly allocated string with the substitution done.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7771"
></A
><H3
><A
NAME="XMLENCODESPECIALCHARS"
></A
>xmlEncodeSpecialChars ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
>*    xmlEncodeSpecialChars           (<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
                                             const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *input);</PRE
></TD
></TR
></TABLE
><P
>Do a global encoding of a string, replacing the predefined entities
this routine is reentrant, and result must be deallocated.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN7780"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>doc</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  the document containing the string</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>input</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  A string to convert to XML.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><I
CLASS="EMPHASIS"
>Returns</I
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>A newly allocated string with the substitution done.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7797"
></A
><H3
><A
NAME="XMLCREATEENTITIESTABLE"
></A
>xmlCreateEntitiesTable ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-entities.html#XMLENTITIESTABLEPTR"
>xmlEntitiesTablePtr</A
> xmlCreateEntitiesTable  (void);</PRE
></TD
></TR
></TABLE
><P
>create and initialize an empty entities hash table.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN7804"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><I
CLASS="EMPHASIS"
>Returns</I
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the xmlEntitiesTablePtr just created or NULL in case of error.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7813"
></A
><H3
><A
NAME="XMLCOPYENTITIESTABLE"
></A
>xmlCopyEntitiesTable ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-entities.html#XMLENTITIESTABLEPTR"
>xmlEntitiesTablePtr</A
> xmlCopyEntitiesTable    (<A
HREF="libxml-entities.html#XMLENTITIESTABLEPTR"
>xmlEntitiesTablePtr</A
> table);</PRE
></TD
></TR
></TABLE
><P
>Build a copy of an entity table.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN7821"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>table</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  An entity table</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><I
CLASS="EMPHASIS"
>Returns</I
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the new xmlEntitiesTablePtr or NULL in case of error.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7834"
></A
><H3
><A
NAME="XMLFREEENTITIESTABLE"
></A
>xmlFreeEntitiesTable ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        xmlFreeEntitiesTable            (<A
HREF="libxml-entities.html#XMLENTITIESTABLEPTR"
>xmlEntitiesTablePtr</A
> table);</PRE
></TD
></TR
></TABLE
><P
>Deallocate the memory used by an entities hash table.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN7841"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>table</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  An entity table</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7850"
></A
><H3
><A
NAME="XMLDUMPENTITIESTABLE"
></A
>xmlDumpEntitiesTable ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        xmlDumpEntitiesTable            (<A
HREF="libxml-tree.html#XMLBUFFERPTR"
>xmlBufferPtr</A
> buf,
                                             <A
HREF="libxml-entities.html#XMLENTITIESTABLEPTR"
>xmlEntitiesTablePtr</A
> table);</PRE
></TD
></TR
></TABLE
><P
>This will dump the content of the entity table as an XML DTD definition</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN7858"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>buf</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  An XML buffer.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>table</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  An entity table</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7871"
></A
><H3
><A
NAME="XMLDUMPENTITYDECL"
></A
>xmlDumpEntityDecl ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        xmlDumpEntityDecl               (<A
HREF="libxml-tree.html#XMLBUFFERPTR"
>xmlBufferPtr</A
> buf,
                                             <A
HREF="libxml-entities.html#XMLENTITYPTR"
>xmlEntityPtr</A
> ent);</PRE
></TD
></TR
></TABLE
><P
>This will dump the content of the entity table as an XML DTD definition</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN7879"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>buf</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  An XML buffer.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ent</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  An entity table</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7892"
></A
><H3
><A
NAME="XMLCLEANUPPREDEFINEDENTITIES"
></A
>xmlCleanupPredefinedEntities ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        xmlCleanupPredefinedEntities    (void);</PRE
></TD
></TR
></TABLE
><P
>Cleanup up the predefined entities table.</P
><P
></P
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><BR
CLEAR="all"><BR><TABLE
WIDTH="100%"
BORDER="0"
BGCOLOR="#000000"
CELLPADDING="1"
CELLSPACING="0"
><TR
><TD
WIDTH="25%"
BGCOLOR="#C00000"
ALIGN="left"
><A
HREF="libxml-tree.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>&#60;&#60;&#60; Previous Page</B
></FONT
></A
></TD
><TD
WIDTH="25%"
BGCOLOR="#0000C0"
ALIGN="center"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
><A
HREF="book1.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>Home</B
></FONT
></A
></B
></FONT
></TD
><TD
WIDTH="25%"
BGCOLOR="#00C000"
ALIGN="center"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
><A
HREF="libxml-lib.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>Up</B
></FONT
></A
></B
></FONT
></TD
><TD
WIDTH="25%"
BGCOLOR="#C00000"
ALIGN="right"
><A
HREF="libxml-valid.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>Next Page &#62;&#62;&#62;</B
></FONT
></A
></TD
></TR
><TR
><TD
COLSPAN="2"
ALIGN="left"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>tree</B
></FONT
></TD
><TD
COLSPAN="2"
ALIGN="right"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>valid</B
></FONT
></TD
></TR
></TABLE
></DIV
></BODY
></HTML
>