Updated the docs, and configuratio/spec stuff to release is at libxml2 , daniel.
diff --git a/doc/html/gnome-xml-entities.html b/doc/html/gnome-xml-entities.html
index eb501cc..3f620f5 100644
--- a/doc/html/gnome-xml-entities.html
+++ b/doc/html/gnome-xml-entities.html
@@ -115,7 +115,7 @@
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN5922"
+NAME="AEN6147"
></A
><H2
>Name</H2
@@ -123,7 +123,7 @@
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN5925"
+NAME="AEN6150"
></A
><H2
>Synopsis</H2
@@ -138,30 +138,10 @@
CLASS="SYNOPSIS"
>
-#define <A
-HREF="gnome-xml-entities.html#XML-INTERNAL-GENERAL-ENTITY"
->XML_INTERNAL_GENERAL_ENTITY</A
->
-#define <A
-HREF="gnome-xml-entities.html#XML-EXTERNAL-GENERAL-PARSED-ENTITY"
->XML_EXTERNAL_GENERAL_PARSED_ENTITY</A
->
-#define <A
-HREF="gnome-xml-entities.html#XML-EXTERNAL-GENERAL-UNPARSED-ENTITY"
->XML_EXTERNAL_GENERAL_UNPARSED_ENTITY</A
->
-#define <A
-HREF="gnome-xml-entities.html#XML-INTERNAL-PARAMETER-ENTITY"
->XML_INTERNAL_PARAMETER_ENTITY</A
->
-#define <A
-HREF="gnome-xml-entities.html#XML-EXTERNAL-PARAMETER-ENTITY"
->XML_EXTERNAL_PARAMETER_ENTITY</A
->
-#define <A
-HREF="gnome-xml-entities.html#XML-INTERNAL-PREDEFINED-ENTITY"
->XML_INTERNAL_PREDEFINED_ENTITY</A
->
+enum <A
+HREF="gnome-xml-entities.html#XMLENTITYTYPE"
+>xmlEntityType</A
+>;
struct <A
HREF="gnome-xml-entities.html#XMLENTITY"
>xmlEntity</A
@@ -182,10 +162,13 @@
HREF="gnome-xml-entities.html#XMLENTITIESTABLEPTR"
>xmlEntitiesTablePtr</A
>;
-void <A
+<A
+HREF="gnome-xml-entities.html#XMLENTITYPTR"
+>xmlEntityPtr</A
+> <A
HREF="gnome-xml-entities.html#XMLADDDOCENTITY"
>xmlAddDocEntity</A
-> (<A
+> (<A
HREF="gnome-xml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
@@ -206,10 +189,13 @@
HREF="gnome-xml-tree.html#XMLCHAR"
>xmlChar</A
> *content);
-void <A
+<A
+HREF="gnome-xml-entities.html#XMLENTITYPTR"
+>xmlEntityPtr</A
+> <A
HREF="gnome-xml-entities.html#XMLADDDTDENTITY"
>xmlAddDtdEntity</A
-> (<A
+> (<A
HREF="gnome-xml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
@@ -346,9 +332,31 @@
>xmlEntitiesTablePtr</A
> table);
void <A
+HREF="gnome-xml-entities.html#XMLDUMPENTITYDECL"
+>xmlDumpEntityDecl</A
+> (<A
+HREF="gnome-xml-tree.html#XMLBUFFERPTR"
+>xmlBufferPtr</A
+> buf,
+ <A
+HREF="gnome-xml-entities.html#XMLENTITYPTR"
+>xmlEntityPtr</A
+> ent);
+void <A
HREF="gnome-xml-entities.html#XMLCLEANUPPREDEFINEDENTITIES"
>xmlCleanupPredefinedEntities</A
-> (void);</PRE
+> (void);
+int <A
+HREF="gnome-xml-entities.html#XMLENTITYADDREFERENCE"
+>xmlEntityAddReference</A
+> (<A
+HREF="gnome-xml-entities.html#XMLENTITYPTR"
+>xmlEntityPtr</A
+> ent,
+ const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *to);</PRE
></TD
></TR
></TABLE
@@ -356,7 +364,7 @@
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN5985"
+NAME="AEN6213"
></A
><H2
>Description</H2
@@ -366,20 +374,20 @@
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN5988"
+NAME="AEN6216"
></A
><H2
>Details</H2
><DIV
CLASS="REFSECT2"
><A
-NAME="AEN5990"
+NAME="AEN6218"
></A
><H3
><A
-NAME="XML-INTERNAL-GENERAL-ENTITY"
+NAME="XMLENTITYTYPE"
></A
->XML_INTERNAL_GENERAL_ENTITY</H3
+>enum xmlEntityType</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
@@ -389,7 +397,14 @@
><TD
><PRE
CLASS="PROGRAMLISTING"
->#define XML_INTERNAL_GENERAL_ENTITY 1</PRE
+>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
@@ -399,137 +414,7 @@
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN5995"
-></A
-><H3
-><A
-NAME="XML-EXTERNAL-GENERAL-PARSED-ENTITY"
-></A
->XML_EXTERNAL_GENERAL_PARSED_ENTITY</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define XML_EXTERNAL_GENERAL_PARSED_ENTITY 2</PRE
-></TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN6000"
-></A
-><H3
-><A
-NAME="XML-EXTERNAL-GENERAL-UNPARSED-ENTITY"
-></A
->XML_EXTERNAL_GENERAL_UNPARSED_ENTITY</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define XML_EXTERNAL_GENERAL_UNPARSED_ENTITY 3</PRE
-></TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN6005"
-></A
-><H3
-><A
-NAME="XML-INTERNAL-PARAMETER-ENTITY"
-></A
->XML_INTERNAL_PARAMETER_ENTITY</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define XML_INTERNAL_PARAMETER_ENTITY 4</PRE
-></TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN6010"
-></A
-><H3
-><A
-NAME="XML-EXTERNAL-PARAMETER-ENTITY"
-></A
->XML_EXTERNAL_PARAMETER_ENTITY</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define XML_EXTERNAL_PARAMETER_ENTITY 5</PRE
-></TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN6015"
-></A
-><H3
-><A
-NAME="XML-INTERNAL-PREDEFINED-ENTITY"
-></A
->XML_INTERNAL_PREDEFINED_ENTITY</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define XML_INTERNAL_PREDEFINED_ENTITY 6</PRE
-></TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN6020"
+NAME="AEN6223"
></A
><H3
><A
@@ -546,14 +431,32 @@
><PRE
CLASS="PROGRAMLISTING"
>struct xmlEntity {
- int type; /* The entity type */
- int len; /* The lenght of the name */
- const xmlChar *name; /* Name of the entity */
- const xmlChar *ExternalID; /* External identifier for PUBLIC Entity */
- const xmlChar *SystemID; /* URI for a SYSTEM or PUBLIC Entity */
- xmlChar *content; /* The entity content or ndata if unparsed */
- int length; /* the content length */
- xmlChar *orig; /* The entity cont without ref substitution */
+#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; /* -> 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 */
+
+#ifdef WITH_EXTRA_ENT_DETECT
+ /* Referenced entities name stack */
+ xmlChar *ent; /* Current parsed Node */
+ int entNr; /* Depth of the parsing stack */
+ int entMax; /* Max depth of the parsing stack */
+ xmlChar * *entTab; /* array of nodes */
+#endif
};</PRE
></TD
></TR
@@ -564,7 +467,7 @@
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN6025"
+NAME="AEN6228"
></A
><H3
><A
@@ -590,7 +493,7 @@
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN6030"
+NAME="AEN6233"
></A
><H3
><A
@@ -616,7 +519,7 @@
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN6035"
+NAME="AEN6238"
></A
><H3
><A
@@ -635,7 +538,7 @@
>struct xmlEntitiesTable {
int nb_entities; /* number of elements stored */
int max_entities; /* maximum number of elements */
- xmlEntityPtr table; /* the table of entities */
+ xmlEntityPtr *table; /* the table of entities */
};</PRE
></TD
></TR
@@ -646,7 +549,7 @@
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN6040"
+NAME="AEN6243"
></A
><H3
><A
@@ -672,7 +575,7 @@
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN6045"
+NAME="AEN6248"
></A
><H3
><A
@@ -688,7 +591,10 @@
><TD
><PRE
CLASS="PROGRAMLISTING"
->void xmlAddDocEntity (<A
+><A
+HREF="gnome-xml-entities.html#XMLENTITYPTR"
+>xmlEntityPtr</A
+> xmlAddDocEntity (<A
HREF="gnome-xml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
@@ -829,6 +735,21 @@
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
></TABLE
><P
></P
@@ -837,7 +758,7 @@
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN6085"
+NAME="AEN6293"
></A
><H3
><A
@@ -853,7 +774,10 @@
><TD
><PRE
CLASS="PROGRAMLISTING"
->void xmlAddDtdEntity (<A
+><A
+HREF="gnome-xml-entities.html#XMLENTITYPTR"
+>xmlEntityPtr</A
+> xmlAddDtdEntity (<A
HREF="gnome-xml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc,
@@ -878,7 +802,7 @@
></TR
></TABLE
><P
->Register a new entity for this document DTD.</P
+>Register a new entity for this document DTD external subset.</P
><P
></P
><DIV
@@ -994,6 +918,21 @@
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
></TABLE
><P
></P
@@ -1002,7 +941,7 @@
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN6125"
+NAME="AEN6338"
></A
><H3
><A
@@ -1083,7 +1022,7 @@
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN6146"
+NAME="AEN6359"
></A
><H3
><A
@@ -1187,7 +1126,7 @@
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN6172"
+NAME="AEN6385"
></A
><H3
><A
@@ -1290,7 +1229,7 @@
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN6198"
+NAME="AEN6411"
></A
><H3
><A
@@ -1393,7 +1332,7 @@
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN6224"
+NAME="AEN6437"
></A
><H3
><A
@@ -1502,7 +1441,7 @@
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN6252"
+NAME="AEN6465"
></A
><H3
><A
@@ -1610,7 +1549,7 @@
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN6279"
+NAME="AEN6492"
></A
><H3
><A
@@ -1671,7 +1610,7 @@
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN6295"
+NAME="AEN6508"
></A
><H3
><A
@@ -1752,7 +1691,7 @@
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN6316"
+NAME="AEN6529"
></A
><H3
><A
@@ -1815,7 +1754,7 @@
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN6332"
+NAME="AEN6545"
></A
><H3
><A
@@ -1899,7 +1838,91 @@
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN6353"
+NAME="AEN6566"
+></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="gnome-xml-tree.html#XMLBUFFERPTR"
+>xmlBufferPtr</A
+> buf,
+ <A
+HREF="gnome-xml-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"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>buf</I
+></TT
+> :</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
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> An entity table</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN6587"
></A
><H3
><A
@@ -1924,6 +1947,108 @@
><P
></P
></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN6593"
+></A
+><H3
+><A
+NAME="XMLENTITYADDREFERENCE"
+></A
+>xmlEntityAddReference ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int xmlEntityAddReference (<A
+HREF="gnome-xml-entities.html#XMLENTITYPTR"
+>xmlEntityPtr</A
+> ent,
+ const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *to);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Function to register reuse of an existing entity from a (new) one
+Used to keep track of references and detect cycles (well formedness
+errors !).</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>ent</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> an existing entity</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>to</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the entity name it's referencing</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> 0 if Okay, -1 in case of general error, 1 in case of loop
+detection.</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
></DIV
><DIV
CLASS="NAVFOOTER"