1
0
mirror of https://gitlab.gnome.org/GNOME/libxml2.git synced 2025-07-29 11:41:22 +03:00

A posteriori validation should now work,

Added --postvalid to tester program
Added xmlDocGetRootElement() to the API,
Daniel
This commit is contained in:
Daniel Veillard
1999-12-15 19:08:24 +00:00
parent 82c305b6ec
commit 944b5ff4f6
19 changed files with 658 additions and 800 deletions

View File

@ -1,3 +1,12 @@
Wed Dec 15 19:22:23 CET 1999 Daniel Veillard <Daniel.Veillard@w3.org>
* valid.c: debugging a posteriori validation, except URI expansion
stuff this should be fixed now
* parserInternals.h: fixed a bug in IS_BASECHAR reported by
Carl Nygard <cnygard@bellatlantic.net>
* tester.c: added --postvalid, cleaning of the code
* tree.[ch]: added xmlDocGetRootElement()
Tue Dec 14 20:30:34 PST 1999 Ramiro Estrugo <ramiro@eazel.com>
* SAX.h, tree.h : changed 'namespace' to 'nameSpace' to workaround

View File

@ -115,7 +115,7 @@ SIZE="3"
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN5438"
NAME="AEN5458"
></A
><H2
>Name</H2
@ -123,7 +123,7 @@ NAME="AEN5438"
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN5441"
NAME="AEN5461"
></A
><H2
>Synopsis</H2
@ -348,7 +348,7 @@ HREF="gnome-xml-entities.html#XMLCLEANUPPREDEFINEDENTITIES"
><DIV
CLASS="REFSECT1"
><A
NAME="AEN5499"
NAME="AEN5519"
></A
><H2
>Description</H2
@ -358,14 +358,14 @@ NAME="AEN5499"
><DIV
CLASS="REFSECT1"
><A
NAME="AEN5502"
NAME="AEN5522"
></A
><H2
>Details</H2
><DIV
CLASS="REFSECT2"
><A
NAME="AEN5504"
NAME="AEN5524"
></A
><H3
><A
@ -391,7 +391,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5509"
NAME="AEN5529"
></A
><H3
><A
@ -417,7 +417,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5514"
NAME="AEN5534"
></A
><H3
><A
@ -443,7 +443,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5519"
NAME="AEN5539"
></A
><H3
><A
@ -469,7 +469,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5524"
NAME="AEN5544"
></A
><H3
><A
@ -495,7 +495,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5529"
NAME="AEN5549"
></A
><H3
><A
@ -521,7 +521,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5534"
NAME="AEN5554"
></A
><H3
><A
@ -547,7 +547,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5539"
NAME="AEN5559"
></A
><H3
><A
@ -573,7 +573,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5544"
NAME="AEN5564"
></A
><H3
><A
@ -599,7 +599,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5549"
NAME="AEN5569"
></A
><H3
><A
@ -764,7 +764,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5589"
NAME="AEN5609"
></A
><H3
><A
@ -929,7 +929,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5629"
NAME="AEN5649"
></A
><H3
><A
@ -1010,7 +1010,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5650"
NAME="AEN5670"
></A
><H3
><A
@ -1114,7 +1114,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5676"
NAME="AEN5696"
></A
><H3
><A
@ -1217,7 +1217,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5702"
NAME="AEN5722"
></A
><H3
><A
@ -1320,7 +1320,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5728"
NAME="AEN5748"
></A
><H3
><A
@ -1429,7 +1429,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5756"
NAME="AEN5776"
></A
><H3
><A
@ -1537,7 +1537,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5783"
NAME="AEN5803"
></A
><H3
><A
@ -1598,7 +1598,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5799"
NAME="AEN5819"
></A
><H3
><A
@ -1679,7 +1679,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5820"
NAME="AEN5840"
></A
><H3
><A
@ -1742,7 +1742,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5836"
NAME="AEN5856"
></A
><H3
><A
@ -1826,7 +1826,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5857"
NAME="AEN5877"
></A
><H3
><A

View File

@ -115,7 +115,7 @@ SIZE="3"
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN7515"
NAME="AEN7535"
></A
><H2
>Name</H2
@ -123,7 +123,7 @@ NAME="AEN7515"
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN7518"
NAME="AEN7538"
></A
><H2
>Synopsis</H2
@ -277,7 +277,7 @@ HREF="gnome-xml-htmlparser.html#HTMLPARSEFILE"
><DIV
CLASS="REFSECT1"
><A
NAME="AEN7556"
NAME="AEN7576"
></A
><H2
>Description</H2
@ -287,14 +287,14 @@ NAME="AEN7556"
><DIV
CLASS="REFSECT1"
><A
NAME="AEN7559"
NAME="AEN7579"
></A
><H2
>Details</H2
><DIV
CLASS="REFSECT2"
><A
NAME="AEN7561"
NAME="AEN7581"
></A
><H3
><A
@ -320,7 +320,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7566"
NAME="AEN7586"
></A
><H3
><A
@ -346,7 +346,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7571"
NAME="AEN7591"
></A
><H3
><A
@ -372,7 +372,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7576"
NAME="AEN7596"
></A
><H3
><A
@ -398,7 +398,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7581"
NAME="AEN7601"
></A
><H3
><A
@ -424,7 +424,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7586"
NAME="AEN7606"
></A
><H3
><A
@ -450,7 +450,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7591"
NAME="AEN7611"
></A
><H3
><A
@ -476,7 +476,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7596"
NAME="AEN7616"
></A
><H3
><A
@ -502,7 +502,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7601"
NAME="AEN7621"
></A
><H3
><A
@ -528,7 +528,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7606"
NAME="AEN7626"
></A
><H3
><A
@ -609,7 +609,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7627"
NAME="AEN7647"
></A
><H3
><A
@ -692,7 +692,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7649"
NAME="AEN7669"
></A
><H3
><A
@ -797,7 +797,7 @@ if non-NULL *str will have to be freed by the caller.</TD
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7676"
NAME="AEN7696"
></A
><H3
><A
@ -881,7 +881,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7698"
NAME="AEN7718"
></A
><H3
><A
@ -948,7 +948,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7716"
NAME="AEN7736"
></A
><H3
><A
@ -1088,7 +1088,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7750"
NAME="AEN7770"
></A
><H3
><A
@ -1187,7 +1187,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7775"
NAME="AEN7795"
></A
><H3
><A
@ -1325,7 +1325,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7808"
NAME="AEN7828"
></A
><H3
><A

View File

@ -115,7 +115,7 @@ SIZE="3"
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN7837"
NAME="AEN7857"
></A
><H2
>Name</H2
@ -123,7 +123,7 @@ NAME="AEN7837"
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN7840"
NAME="AEN7860"
></A
><H2
>Synopsis</H2
@ -188,7 +188,7 @@ HREF="gnome-xml-tree.html#XMLDOCPTR"
><DIV
CLASS="REFSECT1"
><A
NAME="AEN7854"
NAME="AEN7874"
></A
><H2
>Description</H2
@ -198,14 +198,14 @@ NAME="AEN7854"
><DIV
CLASS="REFSECT1"
><A
NAME="AEN7857"
NAME="AEN7877"
></A
><H2
>Details</H2
><DIV
CLASS="REFSECT2"
><A
NAME="AEN7859"
NAME="AEN7879"
></A
><H3
><A
@ -231,7 +231,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7864"
NAME="AEN7884"
></A
><H3
><A
@ -257,7 +257,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7869"
NAME="AEN7889"
></A
><H3
><A
@ -283,7 +283,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7874"
NAME="AEN7894"
></A
><H3
><A
@ -386,7 +386,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7899"
NAME="AEN7919"
></A
><H3
><A
@ -470,7 +470,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7920"
NAME="AEN7940"
></A
><H3
><A

View File

@ -115,7 +115,7 @@ SIZE="3"
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN8217"
NAME="AEN8237"
></A
><H2
>Name</H2
@ -123,7 +123,7 @@ NAME="AEN8217"
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN8220"
NAME="AEN8240"
></A
><H2
>Synopsis</H2
@ -183,7 +183,7 @@ HREF="gnome-xml-nanohttp.html#XMLNANOHTTPCLOSE"
><DIV
CLASS="REFSECT1"
><A
NAME="AEN8230"
NAME="AEN8250"
></A
><H2
>Description</H2
@ -193,14 +193,14 @@ NAME="AEN8230"
><DIV
CLASS="REFSECT1"
><A
NAME="AEN8233"
NAME="AEN8253"
></A
><H2
>Details</H2
><DIV
CLASS="REFSECT2"
><A
NAME="AEN8235"
NAME="AEN8255"
></A
><H3
><A
@ -314,7 +314,7 @@ if provided must be freed by the caller</TD
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8262"
NAME="AEN8282"
></A
><H3
><A
@ -453,7 +453,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8294"
NAME="AEN8314"
></A
><H3
><A
@ -533,7 +533,7 @@ returned at that location</TD
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8313"
NAME="AEN8333"
></A
><H3
><A
@ -608,7 +608,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8332"
NAME="AEN8352"
></A
><H3
><A
@ -731,7 +731,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8361"
NAME="AEN8381"
></A
><H3
><A
@ -825,7 +825,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8384"
NAME="AEN8404"
></A
><H3
><A

View File

@ -115,7 +115,7 @@ SIZE="3"
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN8631"
NAME="AEN8651"
></A
><H2
>Name</H2
@ -123,7 +123,7 @@ NAME="AEN8631"
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN8634"
NAME="AEN8654"
></A
><H2
>Synopsis</H2
@ -886,7 +886,7 @@ HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
><DIV
CLASS="REFSECT1"
><A
NAME="AEN8845"
NAME="AEN8865"
></A
><H2
>Description</H2
@ -896,14 +896,14 @@ NAME="AEN8845"
><DIV
CLASS="REFSECT1"
><A
NAME="AEN8848"
NAME="AEN8868"
></A
><H2
>Details</H2
><DIV
CLASS="REFSECT2"
><A
NAME="AEN8850"
NAME="AEN8870"
></A
><H3
><A
@ -929,7 +929,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8855"
NAME="AEN8875"
></A
><H3
><A
@ -942,7 +942,7 @@ NAME="CHARVAL"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8859"
NAME="AEN8879"
></A
><H3
><A
@ -1000,7 +1000,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8873"
NAME="AEN8893"
></A
><H3
><A
@ -1058,7 +1058,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8887"
NAME="AEN8907"
></A
><H3
><A
@ -1116,7 +1116,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8901"
NAME="AEN8921"
></A
><H3
><A
@ -1174,7 +1174,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8915"
NAME="AEN8935"
></A
><H3
><A
@ -1232,7 +1232,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8929"
NAME="AEN8949"
></A
><H3
><A
@ -1290,7 +1290,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8943"
NAME="AEN8963"
></A
><H3
><A
@ -1348,7 +1348,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8957"
NAME="AEN8977"
></A
><H3
><A
@ -1406,7 +1406,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8971"
NAME="AEN8991"
></A
><H3
><A
@ -1464,7 +1464,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8985"
NAME="AEN9005"
></A
><H3
><A
@ -1522,7 +1522,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8999"
NAME="AEN9019"
></A
><H3
><A
@ -1580,7 +1580,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9013"
NAME="AEN9033"
></A
><H3
><A
@ -1638,7 +1638,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9027"
NAME="AEN9047"
></A
><H3
><A
@ -1696,7 +1696,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9041"
NAME="AEN9061"
></A
><H3
><A
@ -1754,7 +1754,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9055"
NAME="AEN9075"
></A
><H3
><A
@ -1835,7 +1835,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9076"
NAME="AEN9096"
></A
><H3
><A
@ -1915,7 +1915,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9096"
NAME="AEN9116"
></A
><H3
><A
@ -2011,7 +2011,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9120"
NAME="AEN9140"
></A
><H3
><A
@ -2075,7 +2075,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9136"
NAME="AEN9156"
></A
><H3
><A
@ -2136,7 +2136,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9152"
NAME="AEN9172"
></A
><H3
><A
@ -2221,7 +2221,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9173"
NAME="AEN9193"
></A
><H3
><A
@ -2308,7 +2308,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9195"
NAME="AEN9215"
></A
><H3
><A
@ -2410,7 +2410,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9221"
NAME="AEN9241"
></A
><H3
><A
@ -2495,7 +2495,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9242"
NAME="AEN9262"
></A
><H3
><A
@ -2577,7 +2577,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9263"
NAME="AEN9283"
></A
><H3
><A
@ -2640,7 +2640,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9279"
NAME="AEN9299"
></A
><H3
><A
@ -2739,7 +2739,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9304"
NAME="AEN9324"
></A
><H3
><A
@ -2848,7 +2848,7 @@ to get the Prefix if any.</TD
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9333"
NAME="AEN9353"
></A
><H3
><A
@ -2934,7 +2934,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9356"
NAME="AEN9376"
></A
><H3
><A
@ -3043,7 +3043,7 @@ to get the Prefix if any.</TD
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9385"
NAME="AEN9405"
></A
><H3
><A
@ -3128,7 +3128,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9408"
NAME="AEN9428"
></A
><H3
><A
@ -3210,7 +3210,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9429"
NAME="AEN9449"
></A
><H3
><A
@ -3279,7 +3279,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9447"
NAME="AEN9467"
></A
><H3
><A
@ -3368,7 +3368,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9471"
NAME="AEN9491"
></A
><H3
><A
@ -3456,7 +3456,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9495"
NAME="AEN9515"
></A
><H3
><A
@ -3541,7 +3541,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9518"
NAME="AEN9538"
></A
><H3
><A
@ -3646,7 +3646,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9545"
NAME="AEN9565"
></A
><H3
><A
@ -3784,7 +3784,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9579"
NAME="AEN9599"
></A
><H3
><A
@ -3867,7 +3867,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9601"
NAME="AEN9621"
></A
><H3
><A
@ -3950,7 +3950,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9623"
NAME="AEN9643"
></A
><H3
><A
@ -4034,7 +4034,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9644"
NAME="AEN9664"
></A
><H3
><A
@ -4165,7 +4165,7 @@ it is possible to return NULL and have publicID set.</TD
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9677"
NAME="AEN9697"
></A
><H3
><A
@ -4232,7 +4232,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9694"
NAME="AEN9714"
></A
><H3
><A
@ -4315,7 +4315,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9716"
NAME="AEN9736"
></A
><H3
><A
@ -4382,7 +4382,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9734"
NAME="AEN9754"
></A
><H3
><A
@ -4457,7 +4457,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9754"
NAME="AEN9774"
></A
><H3
><A
@ -4535,7 +4535,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9777"
NAME="AEN9797"
></A
><H3
><A
@ -4674,7 +4674,7 @@ or XML_ATTRIBUTE_FIXED. </TD
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9814"
NAME="AEN9834"
></A
><H3
><A
@ -4763,7 +4763,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9838"
NAME="AEN9858"
></A
><H3
><A
@ -4850,7 +4850,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9861"
NAME="AEN9881"
></A
><H3
><A
@ -4953,7 +4953,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9888"
NAME="AEN9908"
></A
><H3
><A
@ -5097,7 +5097,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9926"
NAME="AEN9946"
></A
><H3
><A
@ -5164,7 +5164,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9944"
NAME="AEN9964"
></A
><H3
><A
@ -5262,7 +5262,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9970"
NAME="AEN9990"
></A
><H3
><A
@ -5365,7 +5365,7 @@ hierarchy.</TD
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN9996"
NAME="AEN10016"
></A
><H3
><A
@ -5488,7 +5488,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10027"
NAME="AEN10047"
></A
><H3
><A
@ -5571,7 +5571,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10049"
NAME="AEN10069"
></A
><H3
><A
@ -5650,7 +5650,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10068"
NAME="AEN10088"
></A
><H3
><A
@ -5738,7 +5738,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10091"
NAME="AEN10111"
></A
><H3
><A
@ -5839,7 +5839,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10115"
NAME="AEN10135"
></A
><H3
><A
@ -5913,7 +5913,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10134"
NAME="AEN10154"
></A
><H3
><A
@ -5999,7 +5999,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10155"
NAME="AEN10175"
></A
><H3
><A
@ -6069,7 +6069,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10173"
NAME="AEN10193"
></A
><H3
><A
@ -6194,7 +6194,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10207"
NAME="AEN10227"
></A
><H3
><A
@ -6296,7 +6296,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10236"
NAME="AEN10256"
></A
><H3
><A
@ -6386,7 +6386,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10260"
NAME="AEN10280"
></A
><H3
><A
@ -6457,7 +6457,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10280"
NAME="AEN10300"
></A
><H3
><A
@ -6522,7 +6522,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10297"
NAME="AEN10317"
></A
><H3
><A
@ -6604,7 +6604,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10316"
NAME="AEN10336"
></A
><H3
><A
@ -6687,7 +6687,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10338"
NAME="AEN10358"
></A
><H3
><A
@ -6772,7 +6772,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10361"
NAME="AEN10381"
></A
><H3
><A
@ -6855,7 +6855,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10383"
NAME="AEN10403"
></A
><H3
><A
@ -6940,7 +6940,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10406"
NAME="AEN10426"
></A
><H3
><A
@ -7035,7 +7035,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10428"
NAME="AEN10448"
></A
><H3
><A
@ -7100,7 +7100,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10445"
NAME="AEN10465"
></A
><H3
><A
@ -7165,7 +7165,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10462"
NAME="AEN10482"
></A
><H3
><A
@ -7274,7 +7274,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10490"
NAME="AEN10510"
></A
><H3
><A
@ -7300,7 +7300,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10495"
NAME="AEN10515"
></A
><H3
><A
@ -7326,7 +7326,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10500"
NAME="AEN10520"
></A
><H3
><A
@ -7352,7 +7352,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10505"
NAME="AEN10525"
></A
><H3
><A
@ -7378,7 +7378,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10510"
NAME="AEN10530"
></A
><H3
><A
@ -7561,7 +7561,7 @@ must deallocate it !</TD
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10555"
NAME="AEN10575"
></A
><H3
><A
@ -7658,7 +7658,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10579"
NAME="AEN10599"
></A
><H3
><A
@ -7737,7 +7737,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10599"
NAME="AEN10619"
></A
><H3
><A
@ -7834,7 +7834,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10623"
NAME="AEN10643"
></A
><H3
><A

File diff suppressed because it is too large Load Diff

View File

@ -115,7 +115,7 @@ SIZE="3"
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN5868"
NAME="AEN5888"
></A
><H2
>Name</H2
@ -123,7 +123,7 @@ NAME="AEN5868"
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN5871"
NAME="AEN5891"
></A
><H2
>Synopsis</H2
@ -809,7 +809,7 @@ HREF="gnome-xml-tree.html#XMLCHAR"
><DIV
CLASS="REFSECT1"
><A
NAME="AEN6054"
NAME="AEN6074"
></A
><H2
>Description</H2
@ -819,14 +819,14 @@ NAME="AEN6054"
><DIV
CLASS="REFSECT1"
><A
NAME="AEN6057"
NAME="AEN6077"
></A
><H2
>Details</H2
><DIV
CLASS="REFSECT2"
><A
NAME="AEN6059"
NAME="AEN6079"
></A
><H3
><A
@ -920,7 +920,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6081"
NAME="AEN6101"
></A
><H3
><A
@ -1014,7 +1014,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6103"
NAME="AEN6123"
></A
><H3
><A
@ -1040,7 +1040,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6108"
NAME="AEN6128"
></A
><H3
><A
@ -1066,7 +1066,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6113"
NAME="AEN6133"
></A
><H3
><A
@ -1092,7 +1092,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6118"
NAME="AEN6138"
></A
><H3
><A
@ -1118,7 +1118,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6123"
NAME="AEN6143"
></A
><H3
><A
@ -1144,7 +1144,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6128"
NAME="AEN6148"
></A
><H3
><A
@ -1170,7 +1170,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6133"
NAME="AEN6153"
></A
><H3
><A
@ -1196,7 +1196,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6138"
NAME="AEN6158"
></A
><H3
><A
@ -1222,7 +1222,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6143"
NAME="AEN6163"
></A
><H3
><A
@ -1248,7 +1248,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6148"
NAME="AEN6168"
></A
><H3
><A
@ -1274,7 +1274,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6153"
NAME="AEN6173"
></A
><H3
><A
@ -1439,7 +1439,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6194"
NAME="AEN6214"
></A
><H3
><A
@ -1520,7 +1520,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6215"
NAME="AEN6235"
></A
><H3
><A
@ -1583,7 +1583,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6231"
NAME="AEN6251"
></A
><H3
><A
@ -1667,7 +1667,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6252"
NAME="AEN6272"
></A
><H3
><A
@ -1769,7 +1769,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6278"
NAME="AEN6298"
></A
><H3
><A
@ -1850,7 +1850,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6299"
NAME="AEN6319"
></A
><H3
><A
@ -1913,7 +1913,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6315"
NAME="AEN6335"
></A
><H3
><A
@ -2078,7 +2078,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6356"
NAME="AEN6376"
></A
><H3
><A
@ -2159,7 +2159,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6377"
NAME="AEN6397"
></A
><H3
><A
@ -2222,7 +2222,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6393"
NAME="AEN6413"
></A
><H3
><A
@ -2306,7 +2306,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6414"
NAME="AEN6434"
></A
><H3
><A
@ -2388,7 +2388,7 @@ of error.</TD
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6435"
NAME="AEN6455"
></A
><H3
><A
@ -2451,7 +2451,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6451"
NAME="AEN6471"
></A
><H3
><A
@ -2533,7 +2533,7 @@ of error.</TD
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6472"
NAME="AEN6492"
></A
><H3
><A
@ -2761,7 +2761,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6528"
NAME="AEN6548"
></A
><H3
><A
@ -2842,7 +2842,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6549"
NAME="AEN6569"
></A
><H3
><A
@ -2905,7 +2905,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6565"
NAME="AEN6585"
></A
><H3
><A
@ -2989,7 +2989,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6586"
NAME="AEN6606"
></A
><H3
><A
@ -3133,7 +3133,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6622"
NAME="AEN6642"
></A
><H3
><A
@ -3212,7 +3212,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6642"
NAME="AEN6662"
></A
><H3
><A
@ -3275,7 +3275,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6658"
NAME="AEN6678"
></A
><H3
><A
@ -3377,7 +3377,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6684"
NAME="AEN6704"
></A
><H3
><A
@ -3499,7 +3499,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6714"
NAME="AEN6734"
></A
><H3
><A
@ -3643,7 +3643,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6750"
NAME="AEN6770"
></A
><H3
><A
@ -3722,7 +3722,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6770"
NAME="AEN6790"
></A
><H3
><A
@ -3785,7 +3785,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6786"
NAME="AEN6806"
></A
><H3
><A
@ -3907,7 +3907,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6816"
NAME="AEN6836"
></A
><H3
><A
@ -4010,7 +4010,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6841"
NAME="AEN6861"
></A
><H3
><A
@ -4135,7 +4135,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6871"
NAME="AEN6891"
></A
><H3
><A
@ -4262,7 +4262,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6902"
NAME="AEN6922"
></A
><H3
><A
@ -4376,7 +4376,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6931"
NAME="AEN6951"
></A
><H3
><A
@ -4500,7 +4500,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6961"
NAME="AEN6981"
></A
><H3
><A
@ -4532,7 +4532,7 @@ HREF="gnome-xml-tree.html#XMLDTDPTR"
></TR
></TABLE
><P
>Try to validate the dtd instance</P
>Try to validate the document against the dtd instance</P
><P
>basically it does check all the definitions in the DtD.</P
><P
@ -4622,7 +4622,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6992"
NAME="AEN7012"
></A
><H3
><A
@ -4725,7 +4725,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7018"
NAME="AEN7038"
></A
><H3
><A
@ -4845,7 +4845,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7048"
NAME="AEN7068"
></A
><H3
><A
@ -4975,7 +4975,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7080"
NAME="AEN7100"
></A
><H3
><A
@ -5149,7 +5149,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7121"
NAME="AEN7141"
></A
><H3
><A
@ -5251,7 +5251,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7147"
NAME="AEN7167"
></A
><H3
><A
@ -5372,7 +5372,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7177"
NAME="AEN7197"
></A
><H3
><A
@ -5472,7 +5472,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7202"
NAME="AEN7222"
></A
><H3
><A
@ -5596,7 +5596,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7233"
NAME="AEN7253"
></A
><H3
><A
@ -5698,7 +5698,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7259"
NAME="AEN7279"
></A
><H3
><A
@ -5800,7 +5800,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7285"
NAME="AEN7305"
></A
><H3
><A
@ -5966,7 +5966,7 @@ receiving array and retry.</TD
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7323"
NAME="AEN7343"
></A
><H3
><A

View File

@ -115,7 +115,7 @@ SIZE="3"
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN7361"
NAME="AEN7381"
></A
><H2
>Name</H2
@ -123,7 +123,7 @@ NAME="AEN7361"
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN7364"
NAME="AEN7384"
></A
><H2
>Synopsis</H2
@ -187,7 +187,7 @@ HREF="gnome-xml-parser.html#XMLPARSERINPUTPTR"
><DIV
CLASS="REFSECT1"
><A
NAME="AEN7376"
NAME="AEN7396"
></A
><H2
>Description</H2
@ -197,14 +197,14 @@ NAME="AEN7376"
><DIV
CLASS="REFSECT1"
><A
NAME="AEN7379"
NAME="AEN7399"
></A
><H2
>Details</H2
><DIV
CLASS="REFSECT2"
><A
NAME="AEN7381"
NAME="AEN7401"
></A
><H3
><A
@ -341,7 +341,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7386"
NAME="AEN7406"
></A
><H3
><A
@ -438,7 +438,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7409"
NAME="AEN7429"
></A
><H3
><A
@ -535,7 +535,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7432"
NAME="AEN7452"
></A
><H3
><A
@ -632,7 +632,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7455"
NAME="AEN7475"
></A
><H3
><A
@ -729,7 +729,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7478"
NAME="AEN7498"
></A
><H3
><A
@ -792,7 +792,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7494"
NAME="AEN7514"
></A
><H3
><A

View File

@ -103,7 +103,7 @@ ALIGN="right"
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN11079"
NAME="AEN11099"
></A
><H2
>Name</H2
@ -111,7 +111,7 @@ NAME="AEN11079"
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN11082"
NAME="AEN11102"
></A
><H2
>Synopsis</H2
@ -210,7 +210,7 @@ HREF="gnome-xml-xmlmemory.html#XMLMEMSTRDUPLOC"
><DIV
CLASS="REFSECT1"
><A
NAME="AEN11103"
NAME="AEN11123"
></A
><H2
>Description</H2
@ -220,14 +220,14 @@ NAME="AEN11103"
><DIV
CLASS="REFSECT1"
><A
NAME="AEN11106"
NAME="AEN11126"
></A
><H2
>Details</H2
><DIV
CLASS="REFSECT2"
><A
NAME="AEN11108"
NAME="AEN11128"
></A
><H3
><A
@ -253,7 +253,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11113"
NAME="AEN11133"
></A
><H3
><A
@ -316,7 +316,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11129"
NAME="AEN11149"
></A
><H3
><A
@ -382,7 +382,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11146"
NAME="AEN11166"
></A
><H3
><A
@ -466,7 +466,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11167"
NAME="AEN11187"
></A
><H3
><A
@ -544,7 +544,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11187"
NAME="AEN11207"
></A
><H3
><A
@ -602,7 +602,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11202"
NAME="AEN11222"
></A
><H3
><A
@ -660,7 +660,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11217"
NAME="AEN11237"
></A
><H3
><A
@ -688,7 +688,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11223"
NAME="AEN11243"
></A
><H3
><A
@ -752,7 +752,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11239"
NAME="AEN11259"
></A
><H3
><A
@ -778,7 +778,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11244"
NAME="AEN11264"
></A
><H3
><A
@ -804,7 +804,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11249"
NAME="AEN11269"
></A
><H3
><A
@ -830,7 +830,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11254"
NAME="AEN11274"
></A
><H3
><A
@ -935,7 +935,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11279"
NAME="AEN11299"
></A
><H3
><A
@ -1052,7 +1052,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11307"
NAME="AEN11327"
></A
><H3
><A

View File

@ -115,7 +115,7 @@ SIZE="3"
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN7949"
NAME="AEN7969"
></A
><H2
>Name</H2
@ -123,7 +123,7 @@ NAME="AEN7949"
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN7952"
NAME="AEN7972"
></A
><H2
>Synopsis</H2
@ -259,7 +259,7 @@ HREF="XMLXPATHCONTEXTPTR"
><DIV
CLASS="REFSECT1"
><A
NAME="AEN7986"
NAME="AEN8006"
></A
><H2
>Description</H2
@ -269,14 +269,14 @@ NAME="AEN7986"
><DIV
CLASS="REFSECT1"
><A
NAME="AEN7989"
NAME="AEN8009"
></A
><H2
>Details</H2
><DIV
CLASS="REFSECT2"
><A
NAME="AEN7991"
NAME="AEN8011"
></A
><H3
><A
@ -302,7 +302,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7996"
NAME="AEN8016"
></A
><H3
><A
@ -328,7 +328,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8001"
NAME="AEN8021"
></A
><H3
><A
@ -354,7 +354,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8006"
NAME="AEN8026"
></A
><H3
><A
@ -380,7 +380,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8011"
NAME="AEN8031"
></A
><H3
><A
@ -406,7 +406,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8016"
NAME="AEN8036"
></A
><H3
><A
@ -432,7 +432,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8021"
NAME="AEN8041"
></A
><H3
><A
@ -526,7 +526,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8044"
NAME="AEN8064"
></A
><H3
><A
@ -605,7 +605,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8063"
NAME="AEN8083"
></A
><H3
><A
@ -705,7 +705,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8088"
NAME="AEN8108"
></A
><H3
><A
@ -784,7 +784,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8107"
NAME="AEN8127"
></A
><H3
><A
@ -865,7 +865,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8128"
NAME="AEN8148"
></A
><H3
><A
@ -928,7 +928,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8144"
NAME="AEN8164"
></A
><H3
><A
@ -1031,7 +1031,7 @@ the caller has to free the object.</TD
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8170"
NAME="AEN8190"
></A
><H3
><A
@ -1094,7 +1094,7 @@ VALIGN="TOP"
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN8186"
NAME="AEN8206"
></A
><H3
><A

View File

@ -199,6 +199,7 @@
<ANCHOR id ="XMLNEWREFERENCE" href="gnome-xml/gnome-xml-tree.html#XMLNEWREFERENCE">
<ANCHOR id ="XMLCOPYNODE" href="gnome-xml/gnome-xml-tree.html#XMLCOPYNODE">
<ANCHOR id ="XMLCOPYNODELIST" href="gnome-xml/gnome-xml-tree.html#XMLCOPYNODELIST">
<ANCHOR id ="XMLDOCGETROOTELEMENT" href="gnome-xml/gnome-xml-tree.html#XMLDOCGETROOTELEMENT">
<ANCHOR id ="XMLGETLASTCHILD" href="gnome-xml/gnome-xml-tree.html#XMLGETLASTCHILD">
<ANCHOR id ="XMLNODEISTEXT" href="gnome-xml/gnome-xml-tree.html#XMLNODEISTEXT">
<ANCHOR id ="XMLADDCHILD" href="gnome-xml/gnome-xml-tree.html#XMLADDCHILD">

View File

@ -1,269 +0,0 @@
<HTML
><HEAD
><TITLE
>Gnome XML Library</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
REL="HOME"
TITLE="Gnome XML Library Reference Manual"
HREF="book1.html"><LINK
REL="PREVIOUS"
TITLE="Gnome XML Library Reference Manual"
HREF="book1.html"><LINK
REL="NEXT"
TITLE="parser"
HREF="gnome-xml-parser.html"></HEAD
><BODY
BGCOLOR="#FFFFFF"
TEXT="#000000"
><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="book1.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
>&nbsp;</B
></FONT
></TD
><TD
WIDTH="25%"
BGCOLOR="#C00000"
ALIGN="right"
><A
HREF="gnome-xml-parser.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>Next Page &#62;&#62;&#62;</B
></FONT
></A
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="CHAPTER"
><H1
><A
NAME="LIBXML"
>Gnome XML Library</A
></H1
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
><A
HREF="gnome-xml-parser.html"
>parser</A
> &#8212; </DT
><DT
><A
HREF="gnome-xml-tree.html"
>tree</A
> &#8212; </DT
><DT
><A
HREF="gnome-xml-entities.html"
>entities</A
> &#8212; </DT
><DT
><A
HREF="gnome-xml-valid.html"
>valid</A
> &#8212; </DT
><DT
><A
HREF="gnome-xml-xml-error.html"
>xml-error</A
> &#8212; </DT
><DT
><A
HREF="gnome-xml-htmlparser.html"
>HTMLparser</A
> &#8212; </DT
><DT
><A
HREF="gnome-xml-htmltree.html"
>HTMLtree</A
> &#8212; </DT
><DT
><A
HREF="gnome-xml-xpath.html"
>xpath</A
> &#8212; </DT
><DT
><A
HREF="gnome-xml-parserinternals.html"
>parserInternals</A
> &#8212; </DT
><DT
><A
HREF="gnome-xml-xmlmemory.html"
>xmlmemory</A
> &#8212; </DT
><DT
><A
HREF="gnome-xml-nanohttp.html"
>nanohttp</A
> &#8212; </DT
></DL
></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="book1.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
>&nbsp;</B
></FONT
></TD
><TD
WIDTH="25%"
BGCOLOR="#C00000"
ALIGN="right"
><A
HREF="gnome-xml-parser.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
>Gnome XML Library Reference Manual</B
></FONT
></TD
><TD
COLSPAN="2"
ALIGN="right"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>parser</B
></FONT
></TD
></TR
></TABLE
></DIV
></BODY
></HTML
>

Binary file not shown.

View File

@ -443,13 +443,11 @@ typedef unsigned char CHARVAL;
* [85] BaseChar ::= ... long list see REC ...
*/
#define IS_BASECHAR(c) \
((((c) >= 0x41) && ((c) <= 0x5a)) || \
(((c) >= 0x61) && ((c) <= 0x7a)) || \
(((c) >= 0xaa) && ((c) <= 0x5b)) || \
(((c) >= 0xc0) && ((c) <= 0xd6)) || \
(((c) >= 0xd8) && ((c) <= 0xf6)) || \
(((c) >= 0xf8) && ((c) <= 0xff)) || \
((c) == 0xba))
((((c) >= 0x0041) && ((c) <= 0x005A)) || \
(((c) >= 0x0061) && ((c) <= 0x007A)) || \
(((c) >= 0x00C0) && ((c) <= 0x00D6)) || \
(((c) >= 0x00D8) && ((c) <= 0x00F6)) || \
(((c) >= 0x00F8) && ((c) <= 0x00FF)))
/*
* [88] Digit ::= ... long list see REC ...

View File

@ -443,13 +443,11 @@ typedef unsigned char CHARVAL;
* [85] BaseChar ::= ... long list see REC ...
*/
#define IS_BASECHAR(c) \
((((c) >= 0x41) && ((c) <= 0x5a)) || \
(((c) >= 0x61) && ((c) <= 0x7a)) || \
(((c) >= 0xaa) && ((c) <= 0x5b)) || \
(((c) >= 0xc0) && ((c) <= 0xd6)) || \
(((c) >= 0xd8) && ((c) <= 0xf6)) || \
(((c) >= 0xf8) && ((c) <= 0xff)) || \
((c) == 0xba))
((((c) >= 0x0041) && ((c) <= 0x005A)) || \
(((c) >= 0x0061) && ((c) <= 0x007A)) || \
(((c) >= 0x00C0) && ((c) <= 0x00D6)) || \
(((c) >= 0x00D8) && ((c) <= 0x00F6)) || \
(((c) >= 0x00F8) && ((c) <= 0x00FF)))
/*
* [88] Digit ::= ... long list see REC ...

124
tester.c
View File

@ -44,84 +44,13 @@ static int recovery = 0;
static int noent = 0;
static int noout = 0;
static int valid = 0;
static int postvalid = 0;
static int repeat = 0;
static int insert = 0;
static int compress = 0;
extern int xmlDoValidityCheckingDefaultValue;
/*
* Note: there is a couple of errors introduced on purpose.
static xmlChar buffer[] =
"<?xml version=\"1.0\"?>\n\
<?xml:namespace ns = \"http://www.ietf.org/standards/dav/\" prefix = \"D\"?>\n\
<?xml:namespace ns = \"http://www.w3.com/standards/z39.50/\" prefix = \"Z\"?>\n\
<D:propertyupdate>\n\
<D:set a=\"'toto'\" b>\n\
<D:prop>\n\
<Z:authors>\n\
<Z:Author>Jim Whitehead</Z:Author>\n\
<Z:Author>Roy Fielding</Z:Author>\n\
</Z:authors>\n\
</D:prop>\n\
</D:set>\n\
<D:remove>\n\
<D:prop><Z:Copyright-Owner/></D:prop>\n\
</D:remove>\n\
</D:propertyupdate>\n\
\n\
";
*/
/************************************************************************
* *
* Debug *
* *
************************************************************************/
int treeTest(void) {
xmlDocPtr doc, tmp;
xmlNodePtr tree, subtree;
/*
* build a fake XML document
*/
doc = xmlNewDoc(BAD_CAST "1.0");
doc->root = xmlNewDocNode(doc, NULL, BAD_CAST "EXAMPLE", NULL);
xmlSetProp(doc->root, BAD_CAST "prop1", BAD_CAST "gnome is great");
xmlSetProp(doc->root, BAD_CAST "prop2", BAD_CAST "&linux; too");
xmlSetProp(doc->root, BAD_CAST "emptyprop", BAD_CAST "");
tree = xmlNewChild(doc->root, NULL, BAD_CAST "head", NULL);
subtree = xmlNewChild(tree, NULL, BAD_CAST "title",
BAD_CAST "Welcome to Gnome");
tree = xmlNewChild(doc->root, NULL, BAD_CAST "chapter", NULL);
subtree = xmlNewChild(tree, NULL, BAD_CAST "title",
BAD_CAST "The Linux adventure");
subtree = xmlNewChild(tree, NULL, BAD_CAST "p", BAD_CAST "bla bla bla ...");
subtree = xmlNewChild(tree, NULL, BAD_CAST "image", NULL);
xmlSetProp(subtree, BAD_CAST "href", BAD_CAST "linus.gif");
/*
* test intermediate copy if needed.
*/
if (copy) {
tmp = doc;
doc = xmlCopyDoc(doc, 1);
xmlFreeDoc(tmp);
}
/*
* print it.
*/
if (noout == 0)
xmlDocDump(stdout, doc);
/*
* free it.
*/
xmlFreeDoc(doc);
return(0);
}
void parseAndPrintFile(char *filename) {
xmlDocPtr doc, tmp;
@ -178,45 +107,16 @@ void parseAndPrintFile(char *filename) {
} else
xmlDebugDumpDocument(stdout, doc);
}
if (debugent)
xmlDebugDumpEntities(stdout, doc);
/*
* free it.
* A posteriori validation test
*/
xmlFreeDoc(doc);
if (postvalid) {
xmlValidCtxt cvp;
cvp.userData = (void *) stderr; cvp.error = (xmlValidityErrorFunc) fprintf; cvp.warning = (xmlValidityWarningFunc) fprintf;
xmlValidateDocument(&cvp, doc);
}
void parseAndPrintBuffer(xmlChar *buf) {
xmlDocPtr doc, tmp;
/*
* build an XML tree from a string;
*/
if (recovery)
doc = xmlRecoverDoc(buf);
else
doc = xmlParseDoc(buf);
/*
* test intermediate copy if needed.
*/
if (copy) {
tmp = doc;
doc = xmlCopyDoc(doc, 1);
xmlFreeDoc(tmp);
}
/*
* print it.
*/
if (!debug) {
if (compress)
xmlSaveFile("-", doc);
else
xmlDocDump(stdout, doc);
} else
xmlDebugDumpDocument(stdout, doc);
if (debugent)
xmlDebugDumpEntities(stdout, doc);
@ -249,6 +149,9 @@ int main(int argc, char **argv) {
else if ((!strcmp(argv[i], "-valid")) ||
(!strcmp(argv[i], "--valid")))
valid++;
else if ((!strcmp(argv[i], "-postvalid")) ||
(!strcmp(argv[i], "--postvalid")))
postvalid++;
else if ((!strcmp(argv[i], "-insert")) ||
(!strcmp(argv[i], "--insert")))
insert++;
@ -280,12 +183,13 @@ int main(int argc, char **argv) {
printf("\t--debug : dump a debug tree of the in-memory document\n");
printf("\t--debugent : debug the entities defined in the document\n");
printf("\t--copy : used to test the internal copy implementation\n");
printf("\t--recover : output what is parsable on broken XmL documents\n");
printf("\t--recover : output what was parsable on broken XML documents\n");
printf("\t--noent : substitute entity references by their value\n");
printf("\t--noout : don't output the result\n");
printf("\t--noout : don't output the result tree\n");
printf("\t--valid : validate the document in addition to std well-formed check\n");
printf("\t--repeat : parse the file 100 times, for timing or profiling\n");
printf("\t--insert : test for valid insertions\n");
printf("\t--postvalid : do a posteriori validation, i.e after parsing\n");
printf("\t--repeat : repeat 100 times, for timing or profiling\n");
printf("\t--insert : ad-hoc test for valid insertions\n");
printf("\t--compress : turn on gzip compression of output\n");
}
xmlCleanupParser();

23
tree.c
View File

@ -2155,6 +2155,29 @@ xmlCopyDoc(xmlDocPtr doc, int recursive) {
* *
************************************************************************/
/**
* xmlDocGetRootElement:
* @doc: the document
*
* Get the root element of the document (doc->root is a list
* containing possibly comments, PIs, etc ...).
*
* Returns the xmlNodePtr for the root or NULL
*/
xmlNodePtr
xmlDocGetRootElement(xmlDocPtr doc) {
xmlNodePtr ret;
if (doc == NULL) return(NULL);
ret = doc->root;
while (ret != NULL) {
if (ret->type == XML_ELEMENT_NODE)
return(ret);
ret = ret->next;
}
return(ret);
}
/**
* xmlNodeSetLang:
* @cur: the node being changed

122
valid.c
View File

@ -2730,7 +2730,69 @@ xmlValidateOneElement(xmlValidCtxtPtr ctxt, xmlDocPtr doc,
CHECK_DTD;
if ((elem == NULL) || (elem->name == NULL)) return(0);
if (elem == NULL) return(0);
if (elem->type == XML_TEXT_NODE) {
}
switch (elem->type) {
case XML_ATTRIBUTE_NODE:
VERROR(ctxt->userData,
"Attribute element not expected here\n");
return(0);
case XML_TEXT_NODE:
if (elem->childs != NULL) {
VERROR(ctxt->userData, "Text element has childs !\n");
return(0);
}
if (elem->properties != NULL) {
VERROR(ctxt->userData, "Text element has attributes !\n");
return(0);
}
if (elem->ns != NULL) {
VERROR(ctxt->userData, "Text element has namespace !\n");
return(0);
}
if (elem->ns != NULL) {
VERROR(ctxt->userData,
"Text element carries namespace definitions !\n");
return(0);
}
if (elem->content == NULL) {
VERROR(ctxt->userData,
"Text element has no content !\n");
return(0);
}
return(1);
case XML_CDATA_SECTION_NODE:
case XML_ENTITY_REF_NODE:
case XML_PI_NODE:
case XML_COMMENT_NODE:
return(1);
case XML_ENTITY_NODE:
VERROR(ctxt->userData,
"Entity element not expected here\n");
return(0);
case XML_NOTATION_NODE:
VERROR(ctxt->userData,
"Notation element not expected here\n");
return(0);
case XML_DOCUMENT_NODE:
case XML_DOCUMENT_TYPE_NODE:
case XML_DOCUMENT_FRAG_NODE:
VERROR(ctxt->userData,
"Document element not expected here\n");
return(0);
case XML_HTML_DOCUMENT_NODE:
VERROR(ctxt->userData,
"\n");
return(0);
case XML_ELEMENT_NODE:
break;
default:
VERROR(ctxt->userData,
"unknown element type %d\n", elem->type);
return(0);
}
if (elem->name == NULL) return(0);
elemDecl = xmlGetDtdElementDesc(doc->intSubset, elem->name);
if ((elemDecl == NULL) && (doc->extSubset != NULL))
@ -2828,6 +2890,7 @@ xmlValidateOneElement(xmlValidCtxtPtr ctxt, xmlDocPtr doc,
int
xmlValidateRoot(xmlValidCtxtPtr ctxt, xmlDocPtr doc) {
xmlNodePtr root;
if (doc == NULL) return(0);
if ((doc->intSubset == NULL) ||
@ -2835,14 +2898,15 @@ xmlValidateRoot(xmlValidCtxtPtr ctxt, xmlDocPtr doc) {
VERROR(ctxt->userData, "Not valid: no DtD found\n");
return(0);
}
if ((doc->root == NULL) || (doc->root->name == NULL)) {
root = xmlDocGetRootElement(doc);
if ((root == NULL) || (root->name == NULL)) {
VERROR(ctxt->userData, "Not valid: no root element\n");
return(0);
}
if (xmlStrcmp(doc->intSubset->name, doc->root->name)) {
if (xmlStrcmp(doc->intSubset->name, root->name)) {
VERROR(ctxt->userData,
"Not valid: root and DtD name do not match %s and %s\n",
doc->root->name, doc->intSubset->name);
"Not valid: root and DtD name do not match '%s' and '%s'\n",
root->name, doc->intSubset->name);
return(0);
}
return(1);
@ -2876,7 +2940,7 @@ xmlValidateElement(xmlValidCtxtPtr ctxt, xmlDocPtr doc, xmlNodePtr elem) {
value = xmlNodeListGetString(doc, attr->val, 0);
ret &= xmlValidateOneAttribute(ctxt, doc, elem, attr, value);
if (value != NULL)
free(value);
xmlFree(value);
attr= attr->next;
}
child = elem->childs;
@ -2937,7 +3001,7 @@ xmlValidateDocumentFinal(xmlValidCtxtPtr ctxt, xmlDocPtr doc) {
* @doc: a document instance
* @dtd: a dtd instance
*
* Try to validate the dtd instance
* Try to validate the document against the dtd instance
*
* basically it does check all the definitions in the DtD.
*
@ -2946,8 +3010,24 @@ xmlValidateDocumentFinal(xmlValidCtxtPtr ctxt, xmlDocPtr doc) {
int
xmlValidateDtd(xmlValidCtxtPtr ctxt, xmlDocPtr doc, xmlDtdPtr dtd) {
/* TODO xmlValidateDtd */
return(1);
int ret;
xmlDtdPtr oldExt;
xmlNodePtr root;
if (dtd == NULL) return(0);
if (doc == NULL) return(0);
oldExt = doc->extSubset;
doc->extSubset = dtd;
ret = xmlValidateRoot(ctxt, doc);
if (ret == 0) {
doc->extSubset = oldExt;
return(ret);
}
root = xmlDocGetRootElement(doc);
ret = xmlValidateElement(ctxt, doc, root);
ret &= xmlValidateDocumentFinal(ctxt, doc);
doc->extSubset = oldExt;
return(ret);
}
/**
@ -2967,10 +3047,32 @@ xmlValidateDtd(xmlValidCtxtPtr ctxt, xmlDocPtr doc, xmlDtdPtr dtd) {
int
xmlValidateDocument(xmlValidCtxtPtr ctxt, xmlDocPtr doc) {
int ret;
xmlNodePtr root;
if ((doc->intSubset == NULL) && (doc->extSubset == NULL))
return(0);
if ((doc->intSubset != NULL) && ((doc->intSubset->SystemID != NULL) ||
(doc->intSubset->ExternalID != NULL)) && (doc->extSubset == NULL)) {
doc->extSubset = xmlParseDTD(doc->intSubset->ExternalID,
doc->intSubset->SystemID);
if (doc->extSubset == NULL) {
if (doc->intSubset->SystemID != NULL) {
VERROR(ctxt->userData,
"Could not load the external subset '%s'\n",
doc->intSubset->SystemID);
} else {
VERROR(ctxt->userData,
"Could not load the external subset '%s'\n",
doc->intSubset->ExternalID);
}
return(0);
}
}
if (!xmlValidateRoot(ctxt, doc)) return(0);
ret = xmlValidateElement(ctxt, doc, doc->root);
root = xmlDocGetRootElement(doc);
ret = xmlValidateElement(ctxt, doc, root);
ret &= xmlValidateDocumentFinal(ctxt, doc);
return(ret);
}