Large commit of changes done while travelling to XML'99
- cleanups on memory use and parsers
- start of Link interfaces HTML and XLink
- rebuild the doc
- released as 1.8.0
Daniel
diff --git a/doc/html/gnome-xml-tree.html b/doc/html/gnome-xml-tree.html
index 4a9b95c..8c33ca4 100644
--- a/doc/html/gnome-xml-tree.html
+++ b/doc/html/gnome-xml-tree.html
@@ -1056,6 +1056,24 @@
 >xmlChar</A
 > *name);
 <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+>*    <A
+HREF="gnome-xml-tree.html#XMLGETNSPROP"
+>xmlGetNsProp</A
+>                    (<A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> node,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *namespace);
+<A
 HREF="gnome-xml-tree.html#XMLNODEPTR"
 >xmlNodePtr</A
 >  <A
@@ -1176,6 +1194,20 @@
 HREF="gnome-xml-tree.html#XMLCHAR"
 >xmlChar</A
 > *lang);
+<A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+>*    <A
+HREF="gnome-xml-tree.html#XMLNODEGETBASE"
+>xmlNodeGetBase</A
+>                  (<A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> cur);
 int         <A
 HREF="gnome-xml-tree.html#XMLREMOVEPROP"
 >xmlRemoveProp</A
@@ -1281,7 +1313,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3157"
+NAME="AEN3166"
 ></A
 ><H2
 >Description</H2
@@ -1291,14 +1323,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3160"
+NAME="AEN3169"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3162"
+NAME="AEN3171"
 ></A
 ><H3
 ><A
@@ -1338,7 +1370,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3167"
+NAME="AEN3176"
 ></A
 ><H3
 ><A
@@ -1351,7 +1383,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3171"
+NAME="AEN3180"
 ></A
 ><H3
 ><A
@@ -1377,7 +1409,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3176"
+NAME="AEN3185"
 ></A
 ><H3
 ><A
@@ -1403,7 +1435,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3181"
+NAME="AEN3190"
 ></A
 ><H3
 ><A
@@ -1429,7 +1461,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3186"
+NAME="AEN3195"
 ></A
 ><H3
 ><A
@@ -1466,7 +1498,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3191"
+NAME="AEN3200"
 ></A
 ><H3
 ><A
@@ -1497,7 +1529,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3196"
+NAME="AEN3205"
 ></A
 ><H3
 ><A
@@ -1523,7 +1555,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3201"
+NAME="AEN3210"
 ></A
 ><H3
 ><A
@@ -1549,7 +1581,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3206"
+NAME="AEN3215"
 ></A
 ><H3
 ><A
@@ -1580,7 +1612,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3211"
+NAME="AEN3220"
 ></A
 ><H3
 ><A
@@ -1611,7 +1643,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3216"
+NAME="AEN3225"
 ></A
 ><H3
 ><A
@@ -1637,7 +1669,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3221"
+NAME="AEN3230"
 ></A
 ><H3
 ><A
@@ -1668,7 +1700,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3226"
+NAME="AEN3235"
 ></A
 ><H3
 ><A
@@ -1694,7 +1726,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3231"
+NAME="AEN3240"
 ></A
 ><H3
 ><A
@@ -1723,7 +1755,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3236"
+NAME="AEN3245"
 ></A
 ><H3
 ><A
@@ -1749,7 +1781,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3241"
+NAME="AEN3250"
 ></A
 ><H3
 ><A
@@ -1775,7 +1807,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3246"
+NAME="AEN3255"
 ></A
 ><H3
 ><A
@@ -1801,7 +1833,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3251"
+NAME="AEN3260"
 ></A
 ><H3
 ><A
@@ -1827,7 +1859,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3256"
+NAME="AEN3265"
 ></A
 ><H3
 ><A
@@ -1853,7 +1885,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3261"
+NAME="AEN3270"
 ></A
 ><H3
 ><A
@@ -1884,7 +1916,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3267"
+NAME="AEN3276"
 ></A
 ><H3
 ><A
@@ -1910,7 +1942,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3272"
+NAME="AEN3281"
 ></A
 ><H3
 ><A
@@ -1936,7 +1968,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3277"
+NAME="AEN3286"
 ></A
 ><H3
 ><A
@@ -1962,7 +1994,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3282"
+NAME="AEN3291"
 ></A
 ><H3
 ><A
@@ -1988,7 +2020,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3287"
+NAME="AEN3296"
 ></A
 ><H3
 ><A
@@ -2014,7 +2046,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3292"
+NAME="AEN3301"
 ></A
 ><H3
 ><A
@@ -2040,7 +2072,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3297"
+NAME="AEN3306"
 ></A
 ><H3
 ><A
@@ -2066,7 +2098,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3302"
+NAME="AEN3311"
 ></A
 ><H3
 ><A
@@ -2092,7 +2124,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3307"
+NAME="AEN3316"
 ></A
 ><H3
 ><A
@@ -2118,7 +2150,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3312"
+NAME="AEN3321"
 ></A
 ><H3
 ><A
@@ -2144,7 +2176,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3317"
+NAME="AEN3326"
 ></A
 ><H3
 ><A
@@ -2205,7 +2237,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3333"
+NAME="AEN3342"
 ></A
 ><H3
 ><A
@@ -2286,7 +2318,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3354"
+NAME="AEN3363"
 ></A
 ><H3
 ><A
@@ -2349,7 +2381,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3370"
+NAME="AEN3379"
 ></A
 ><H3
 ><A
@@ -2448,7 +2480,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3395"
+NAME="AEN3404"
 ></A
 ><H3
 ><A
@@ -2477,7 +2509,8 @@
 ></TR
 ></TABLE
 ><P
->Add a string range to an XML buffer.</P
+>Add a string range to an XML buffer. if len == -1, the lenght of
+str is recomputed.</P
 ><P
 ></P
 ><DIV
@@ -2550,7 +2583,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3420"
+NAME="AEN3429"
 ></A
 ><H3
 ><A
@@ -2634,7 +2667,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3441"
+NAME="AEN3450"
 ></A
 ><H3
 ><A
@@ -2715,7 +2748,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3461"
+NAME="AEN3470"
 ></A
 ><H3
 ><A
@@ -2811,7 +2844,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3485"
+NAME="AEN3494"
 ></A
 ><H3
 ><A
@@ -2874,7 +2907,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3501"
+NAME="AEN3510"
 ></A
 ><H3
 ><A
@@ -2955,7 +2988,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3522"
+NAME="AEN3531"
 ></A
 ><H3
 ><A
@@ -3031,7 +3064,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3541"
+NAME="AEN3550"
 ></A
 ><H3
 ><A
@@ -3113,7 +3146,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3561"
+NAME="AEN3570"
 ></A
 ><H3
 ><A
@@ -3191,7 +3224,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3581"
+NAME="AEN3590"
 ></A
 ><H3
 ><A
@@ -3335,7 +3368,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3617"
+NAME="AEN3626"
 ></A
 ><H3
 ><A
@@ -3479,7 +3512,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3653"
+NAME="AEN3662"
 ></A
 ><H3
 ><A
@@ -3542,7 +3575,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3669"
+NAME="AEN3678"
 ></A
 ><H3
 ><A
@@ -3665,7 +3698,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3700"
+NAME="AEN3709"
 ></A
 ><H3
 ><A
@@ -3788,7 +3821,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3731"
+NAME="AEN3740"
 ></A
 ><H3
 ><A
@@ -3851,7 +3884,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3747"
+NAME="AEN3756"
 ></A
 ><H3
 ><A
@@ -3932,7 +3965,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3768"
+NAME="AEN3777"
 ></A
 ><H3
 ><A
@@ -3996,7 +4029,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3784"
+NAME="AEN3793"
 ></A
 ><H3
 ><A
@@ -4119,7 +4152,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3815"
+NAME="AEN3824"
 ></A
 ><H3
 ><A
@@ -4242,7 +4275,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3846"
+NAME="AEN3855"
 ></A
 ><H3
 ><A
@@ -4386,7 +4419,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3882"
+NAME="AEN3891"
 ></A
 ><H3
 ><A
@@ -4449,7 +4482,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3898"
+NAME="AEN3907"
 ></A
 ><H3
 ><A
@@ -4512,7 +4545,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3914"
+NAME="AEN3923"
 ></A
 ><H3
 ><A
@@ -4614,7 +4647,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3940"
+NAME="AEN3949"
 ></A
 ><H3
 ><A
@@ -4716,7 +4749,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3966"
+NAME="AEN3975"
 ></A
 ><H3
 ><A
@@ -4797,7 +4830,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3987"
+NAME="AEN3996"
 ></A
 ><H3
 ><A
@@ -4897,7 +4930,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4012"
+NAME="AEN4021"
 ></A
 ><H3
 ><A
@@ -5067,7 +5100,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4053"
+NAME="AEN4062"
 ></A
 ><H3
 ><A
@@ -5222,7 +5255,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4091"
+NAME="AEN4100"
 ></A
 ><H3
 ><A
@@ -5336,7 +5369,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4119"
+NAME="AEN4128"
 ></A
 ><H3
 ><A
@@ -5512,7 +5545,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4161"
+NAME="AEN4170"
 ></A
 ><H3
 ><A
@@ -5673,7 +5706,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4200"
+NAME="AEN4209"
 ></A
 ><H3
 ><A
@@ -5775,7 +5808,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4226"
+NAME="AEN4235"
 ></A
 ><H3
 ><A
@@ -5856,7 +5889,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4247"
+NAME="AEN4256"
 ></A
 ><H3
 ><A
@@ -5958,7 +5991,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4273"
+NAME="AEN4282"
 ></A
 ><H3
 ><A
@@ -6079,7 +6112,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4303"
+NAME="AEN4312"
 ></A
 ><H3
 ><A
@@ -6178,7 +6211,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4328"
+NAME="AEN4337"
 ></A
 ><H3
 ><A
@@ -6280,7 +6313,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4354"
+NAME="AEN4363"
 ></A
 ><H3
 ><A
@@ -6361,7 +6394,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4375"
+NAME="AEN4384"
 ></A
 ><H3
 ><A
@@ -6481,7 +6514,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4405"
+NAME="AEN4414"
 ></A
 ><H3
 ><A
@@ -6583,7 +6616,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4431"
+NAME="AEN4440"
 ></A
 ><H3
 ><A
@@ -6682,7 +6715,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4456"
+NAME="AEN4465"
 ></A
 ><H3
 ><A
@@ -6763,7 +6796,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4477"
+NAME="AEN4486"
 ></A
 ><H3
 ><A
@@ -6844,7 +6877,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4498"
+NAME="AEN4507"
 ></A
 ><H3
 ><A
@@ -6922,7 +6955,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4518"
+NAME="AEN4527"
 ></A
 ><H3
 ><A
@@ -7029,7 +7062,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4545"
+NAME="AEN4554"
 ></A
 ><H3
 ><A
@@ -7136,7 +7169,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4572"
+NAME="AEN4581"
 ></A
 ><H3
 ><A
@@ -7199,7 +7232,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4588"
+NAME="AEN4597"
 ></A
 ><H3
 ><A
@@ -7301,7 +7334,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4614"
+NAME="AEN4623"
 ></A
 ><H3
 ><A
@@ -7408,7 +7441,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4640"
+NAME="AEN4649"
 ></A
 ><H3
 ><A
@@ -7472,7 +7505,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4656"
+NAME="AEN4665"
 ></A
 ><H3
 ><A
@@ -7535,7 +7568,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4672"
+NAME="AEN4681"
 ></A
 ><H3
 ><A
@@ -7666,7 +7699,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4704"
+NAME="AEN4713"
 ></A
 ><H3
 ><A
@@ -7790,7 +7823,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4735"
+NAME="AEN4744"
 ></A
 ><H3
 ><A
@@ -7894,7 +7927,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4761"
+NAME="AEN4770"
 ></A
 ><H3
 ><A
@@ -7978,7 +8011,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4782"
+NAME="AEN4791"
 ></A
 ><H3
 ><A
@@ -8059,7 +8092,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4803"
+NAME="AEN4812"
 ></A
 ><H3
 ><A
@@ -8140,7 +8173,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4824"
+NAME="AEN4833"
 ></A
 ><H3
 ><A
@@ -8263,7 +8296,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4855"
+NAME="AEN4864"
 ></A
 ><H3
 ><A
@@ -8295,7 +8328,12 @@
 ></TABLE
 ><P
 >Search and get the value of an attribute associated to a node
-This does the entity substitution.</P
+This does the entity substitution.
+This function looks in DTD attribute declaration for <GTKDOCLINK
+HREF="FIXED"
+>FIXED</GTKDOCLINK
+> or
+default declaration values unless DTD use has been turned off.</P
 ><P
 ></P
 ><DIV
@@ -8367,7 +8405,138 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4881"
+NAME="AEN4891"
+></A
+><H3
+><A
+NAME="XMLGETNSPROP"
+></A
+>xmlGetNsProp ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+>*    xmlGetNsProp                    (<A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> node,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *namespace);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Search and get the value of an attribute associated to a node
+This attribute has to be anchored in the namespace specified.
+This does the entity substitution.
+This function looks in DTD attribute declaration for <GTKDOCLINK
+HREF="FIXED"
+>FIXED</GTKDOCLINK
+> or
+default declaration values unless DTD use has been turned off.</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
+>node</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the node</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 attribute name</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>namespace</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the URI of the namespace</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>the attribute value or NULL if not found.
+It's up to the caller to free the memory.</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN4923"
 ></A
 ><H3
 ><A
@@ -8470,7 +8639,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4907"
+NAME="AEN4949"
 ></A
 ><H3
 ><A
@@ -8591,7 +8760,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4937"
+NAME="AEN4979"
 ></A
 ><H3
 ><A
@@ -8712,7 +8881,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4967"
+NAME="AEN5009"
 ></A
 ><H3
 ><A
@@ -8796,7 +8965,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4988"
+NAME="AEN5030"
 ></A
 ><H3
 ><A
@@ -8903,7 +9072,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5014"
+NAME="AEN5056"
 ></A
 ><H3
 ><A
@@ -8987,7 +9156,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5035"
+NAME="AEN5077"
 ></A
 ><H3
 ><A
@@ -9094,7 +9263,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5061"
+NAME="AEN5103"
 ></A
 ><H3
 ><A
@@ -9179,7 +9348,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5082"
+NAME="AEN5124"
 ></A
 ><H3
 ><A
@@ -9262,7 +9431,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5103"
+NAME="AEN5145"
 ></A
 ><H3
 ><A
@@ -9347,7 +9516,111 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5124"
+NAME="AEN5166"
+></A
+><H3
+><A
+NAME="XMLNODEGETBASE"
+></A
+>xmlNodeGetBase ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+>*    xmlNodeGetBase                  (<A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> cur);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Searches for the BASE URL. The code should work on both XML
+and HTML document even if base mechanisms are completely different.</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
+>doc</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the document the node pertains to</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>cur</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the node being checked</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 base URL, or NULL if not found
+It's up to the caller to free the memory.</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN5192"
 ></A
 ><H3
 ><A
@@ -9423,7 +9696,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5143"
+NAME="AEN5211"
 ></A
 ><H3
 ><A
@@ -9499,7 +9772,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5162"
+NAME="AEN5230"
 ></A
 ><H3
 ><A
@@ -9584,7 +9857,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5183"
+NAME="AEN5251"
 ></A
 ><H3
 ><A
@@ -9666,7 +9939,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5203"
+NAME="AEN5271"
 ></A
 ><H3
 ><A
@@ -9752,7 +10025,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5224"
+NAME="AEN5292"
 ></A
 ><H3
 ><A
@@ -9855,7 +10128,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5249"
+NAME="AEN5317"
 ></A
 ><H3
 ><A
@@ -9939,7 +10212,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5270"
+NAME="AEN5338"
 ></A
 ><H3
 ><A
@@ -10042,7 +10315,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5295"
+NAME="AEN5363"
 ></A
 ><H3
 ><A
@@ -10120,7 +10393,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5315"
+NAME="AEN5383"
 ></A
 ><H3
 ><A
@@ -10202,7 +10475,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5335"
+NAME="AEN5403"
 ></A
 ><H3
 ><A
@@ -10260,7 +10533,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5350"
+NAME="AEN5418"
 ></A
 ><H3
 ><A