Added XPath code (http://www.w3.org/TR/xpath), updated HTML support and docs, Daniel
diff --git a/doc/html/gnome-xml-valid.html b/doc/html/gnome-xml-valid.html
index 8aba6ef..65dba3c 100644
--- a/doc/html/gnome-xml-valid.html
+++ b/doc/html/gnome-xml-valid.html
@@ -115,7 +115,7 @@
><DIV
CLASS="REFNAMEDIV"
><A
-NAME="AEN3883"
+NAME="AEN3967"
></A
><H2
>Name</H2
@@ -123,7 +123,7 @@
><DIV
CLASS="REFSYNOPSISDIV"
><A
-NAME="AEN3886"
+NAME="AEN3970"
></A
><H2
>Synopsis</H2
@@ -377,7 +377,7 @@
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN3953"
+NAME="AEN4037"
></A
><H2
>Description</H2
@@ -387,14 +387,14 @@
><DIV
CLASS="REFSECT1"
><A
-NAME="AEN3956"
+NAME="AEN4040"
></A
><H2
>Details</H2
><DIV
CLASS="REFSECT2"
><A
-NAME="AEN3958"
+NAME="AEN4042"
></A
><H3
><A
@@ -410,7 +410,7 @@
><TD
><PRE
CLASS="PROGRAMLISTING"
->#define XML_MIN_NOTATION_TABLE 32</PRE
+>#define XML_MIN_NOTATION_TABLE</PRE
></TD
></TR
></TABLE
@@ -420,33 +420,20 @@
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN3963"
+NAME="AEN4047"
></A
><H3
><A
NAME="XMLNOTATIONTABLEPTR"
></A
>xmlNotationTablePtr</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlNotationTable *xmlNotationTablePtr;</PRE
-></TD
-></TR
-></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN3968"
+NAME="AEN4051"
></A
><H3
><A
@@ -462,7 +449,7 @@
><TD
><PRE
CLASS="PROGRAMLISTING"
->#define XML_MIN_ELEMENT_TABLE 32</PRE
+>#define XML_MIN_ELEMENT_TABLE</PRE
></TD
></TR
></TABLE
@@ -472,33 +459,20 @@
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN3973"
+NAME="AEN4056"
></A
><H3
><A
NAME="XMLELEMENTTABLEPTR"
></A
>xmlElementTablePtr</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlElementTable *xmlElementTablePtr;</PRE
-></TD
-></TR
-></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN3978"
+NAME="AEN4060"
></A
><H3
><A
@@ -514,7 +488,7 @@
><TD
><PRE
CLASS="PROGRAMLISTING"
->#define XML_MIN_ATTRIBUTE_TABLE 32</PRE
+>#define XML_MIN_ATTRIBUTE_TABLE</PRE
></TD
></TR
></TABLE
@@ -524,33 +498,20 @@
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN3983"
+NAME="AEN4065"
></A
><H3
><A
NAME="XMLATTRIBUTETABLEPTR"
></A
>xmlAttributeTablePtr</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlAttributeTable *xmlAttributeTablePtr;</PRE
-></TD
-></TR
-></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN3988"
+NAME="AEN4069"
></A
><H3
><A
@@ -618,7 +579,7 @@
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
-> pointer to the DTD</TD
+> </TD
></TR
><TR
><TD
@@ -635,7 +596,7 @@
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
-> the entity name</TD
+> </TD
></TR
><TR
><TD
@@ -652,7 +613,7 @@
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
-> the public identifier or NULL</TD
+> </TD
></TR
><TR
><TD
@@ -669,7 +630,7 @@
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
-> the system identifier or NULL</TD
+> </TD
></TR
><TR
><TD
@@ -684,7 +645,7 @@
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
->NULL if not, othervise the entity</TD
+> </TD
></TR
></TABLE
><P
@@ -694,7 +655,7 @@
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN4024"
+NAME="AEN4105"
></A
><H3
><A
@@ -750,7 +711,7 @@
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
-> A notation table</TD
+> </TD
></TR
><TR
><TD
@@ -765,7 +726,7 @@
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
->the new xmlNotationTablePtr or NULL in case of error.</TD
+> </TD
></TR
></TABLE
><P
@@ -775,7 +736,7 @@
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN4045"
+NAME="AEN4126"
></A
><H3
><A
@@ -828,7 +789,7 @@
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
-> An notation table</TD
+> </TD
></TR
></TABLE
><P
@@ -838,7 +799,7 @@
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN4061"
+NAME="AEN4142"
></A
><H3
><A
@@ -895,7 +856,7 @@
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
-> the XML buffer output</TD
+> </TD
></TR
><TR
><TD
@@ -912,7 +873,7 @@
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
-> A notation table</TD
+> </TD
></TR
></TABLE
><P
@@ -922,7 +883,7 @@
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN4082"
+NAME="AEN4163"
></A
><H3
><A
@@ -979,7 +940,7 @@
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
-> the subelement name or NULL</TD
+> </TD
></TR
><TR
><TD
@@ -996,7 +957,7 @@
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
-> the type of element content decl</TD
+> </TD
></TR
><TR
><TD
@@ -1011,7 +972,7 @@
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
->NULL if not, othervise the new element content structure</TD
+> </TD
></TR
></TABLE
><P
@@ -1021,7 +982,7 @@
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN4107"
+NAME="AEN4188"
></A
><H3
><A
@@ -1077,7 +1038,7 @@
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
-> An element content pointer.</TD
+> </TD
></TR
><TR
><TD
@@ -1092,7 +1053,7 @@
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
->the new xmlElementContentPtr or NULL in case of error.</TD
+> </TD
></TR
></TABLE
><P
@@ -1102,7 +1063,7 @@
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN4128"
+NAME="AEN4209"
></A
><H3
><A
@@ -1155,7 +1116,7 @@
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
-> the element content tree to free</TD
+> </TD
></TR
></TABLE
><P
@@ -1165,7 +1126,7 @@
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN4144"
+NAME="AEN4225"
></A
><H3
><A
@@ -1230,7 +1191,7 @@
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
-> pointer to the DTD</TD
+> </TD
></TR
><TR
><TD
@@ -1247,7 +1208,7 @@
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
-> the entity name</TD
+> </TD
></TR
><TR
><TD
@@ -1264,7 +1225,7 @@
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
-> the element type</TD
+> </TD
></TR
><TR
><TD
@@ -1281,7 +1242,7 @@
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
-> the element content tree or NULL</TD
+> </TD
></TR
><TR
><TD
@@ -1296,7 +1257,7 @@
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
->NULL if not, othervise the entity</TD
+> </TD
></TR
></TABLE
><P
@@ -1306,7 +1267,7 @@
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN4179"
+NAME="AEN4260"
></A
><H3
><A
@@ -1362,7 +1323,7 @@
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
-> An element table</TD
+> </TD
></TR
><TR
><TD
@@ -1377,7 +1338,7 @@
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
->the new xmlElementTablePtr or NULL in case of error.</TD
+> </TD
></TR
></TABLE
><P
@@ -1387,7 +1348,7 @@
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN4200"
+NAME="AEN4281"
></A
><H3
><A
@@ -1440,7 +1401,7 @@
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
-> An element table</TD
+> </TD
></TR
></TABLE
><P
@@ -1450,7 +1411,7 @@
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN4216"
+NAME="AEN4297"
></A
><H3
><A
@@ -1507,7 +1468,7 @@
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
-> the XML buffer output</TD
+> </TD
></TR
><TR
><TD
@@ -1524,7 +1485,7 @@
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
-> An element table</TD
+> </TD
></TR
></TABLE
><P
@@ -1534,7 +1495,7 @@
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN4237"
+NAME="AEN4318"
></A
><H3
><A
@@ -1590,7 +1551,7 @@
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
-> the enumeration name or NULL</TD
+> </TD
></TR
><TR
><TD
@@ -1605,8 +1566,7 @@
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
->the xmlEnumerationPtr just created or NULL in case
-of error.</TD
+> </TD
></TR
></TABLE
><P
@@ -1616,7 +1576,7 @@
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN4258"
+NAME="AEN4339"
></A
><H3
><A
@@ -1669,7 +1629,7 @@
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
-> the tree to free.</TD
+> </TD
></TR
></TABLE
><P
@@ -1679,7 +1639,7 @@
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN4274"
+NAME="AEN4355"
></A
><H3
><A
@@ -1735,7 +1695,7 @@
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
-> the tree to copy.</TD
+> </TD
></TR
><TR
><TD
@@ -1750,8 +1710,7 @@
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
->the xmlEnumerationPtr just created or NULL in case
-of error.</TD
+> </TD
></TR
></TABLE
><P
@@ -1761,7 +1720,7 @@
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN4295"
+NAME="AEN4376"
></A
><H3
><A
@@ -1835,7 +1794,7 @@
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
-> pointer to the DTD</TD
+> </TD
></TR
><TR
><TD
@@ -1852,7 +1811,7 @@
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
-> the element name</TD
+> </TD
></TR
><TR
><TD
@@ -1869,7 +1828,7 @@
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
-> the attribute name</TD
+> </TD
></TR
><TR
><TD
@@ -1886,7 +1845,7 @@
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
-> the attribute type</TD
+> </TD
></TR
><TR
><TD
@@ -1903,7 +1862,7 @@
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
-> the attribute default type</TD
+> </TD
></TR
><TR
><TD
@@ -1920,7 +1879,7 @@
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
-> the attribute default value</TD
+> </TD
></TR
><TR
><TD
@@ -1937,7 +1896,7 @@
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
-> if it's an enumeration, the associated list</TD
+> </TD
></TR
><TR
><TD
@@ -1952,7 +1911,7 @@
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
->NULL if not, othervise the entity</TD
+> </TD
></TR
></TABLE
><P
@@ -1962,7 +1921,7 @@
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN4344"
+NAME="AEN4425"
></A
><H3
><A
@@ -2018,7 +1977,7 @@
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
-> An attribute table</TD
+> </TD
></TR
><TR
><TD
@@ -2033,7 +1992,7 @@
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
->the new xmlAttributeTablePtr or NULL in case of error.</TD
+> </TD
></TR
></TABLE
><P
@@ -2043,7 +2002,7 @@
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN4365"
+NAME="AEN4446"
></A
><H3
><A
@@ -2096,7 +2055,7 @@
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
-> An attribute table</TD
+> </TD
></TR
></TABLE
><P
@@ -2106,7 +2065,7 @@
><HR><DIV
CLASS="REFSECT2"
><A
-NAME="AEN4381"
+NAME="AEN4462"
></A
><H3
><A
@@ -2163,7 +2122,7 @@
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
-> the XML buffer output</TD
+> </TD
></TR
><TR
><TD
@@ -2180,7 +2139,7 @@
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
-> An attribute table</TD
+> </TD
></TR
></TABLE
><P