Updated the graphic overview of the architecture, Daniel
diff --git a/doc/libxml.fig b/doc/libxml.fig
index 5c8672c..e721dd2 100644
--- a/doc/libxml.fig
+++ b/doc/libxml.fig
@@ -7,41 +7,66 @@
Single
-2
1200 2
-2 3 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 8
- 3375 1275 2550 1275 2550 2100 1575 2100 1575 675 3375 675
- 3375 1275 3375 1275
+2 3 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 7
+ 4050 2925 3225 2925 3225 3750 2250 3750 2250 2325 4050 2325
+ 4050 2925
2 3 0 1 0 11 50 0 20 0.000 0 0 7 0 0 7
- 2625 1350 2625 2100 5400 2100 5400 2550 7425 2550 7425 1350
- 2625 1350
+ 3300 3000 3300 3750 6075 3750 6075 4200 8625 4200 8625 3000
+ 3300 3000
2 2 0 1 0 11 50 0 20 0.000 0 0 7 0 0 5
- 300 2175 5325 2175 5325 2550 300 2550 300 2175
+ 975 3825 6000 3825 6000 4200 975 4200 975 3825
2 2 0 1 0 11 50 0 20 0.000 0 0 7 0 0 5
- 300 2625 3450 2625 3450 3450 300 3450 300 2625
+ 975 4275 4125 4275 4125 5100 975 5100 975 4275
2 2 0 1 0 11 50 0 20 0.000 0 0 7 0 0 5
- 3450 2625 5325 2625 5325 3450 3450 3450 3450 2625
+ 4125 4275 6000 4275 6000 5100 4125 5100 4125 4275
2 2 0 1 0 11 50 0 20 0.000 0 0 7 0 0 5
- 5325 2625 7425 2625 7425 3450 5325 3450 5325 2625
+ 6000 4275 8100 4275 8100 5100 6000 5100 6000 4275
2 2 0 1 0 11 50 0 20 0.000 0 0 7 0 0 5
- 3600 825 5100 825 5100 1275 3600 1275 3600 825
+ 1725 5175 6450 5175 6450 5775 1725 5775 1725 5175
+2 2 0 1 0 11 50 0 20 0.000 0 0 7 0 0 5
+ 2625 5850 6450 5850 6450 6300 2625 6300 2625 5850
+2 2 0 1 0 11 50 0 20 0.000 0 0 7 0 0 5
+ 6525 5175 8100 5175 8100 5925 6525 5925 6525 5175
+2 2 0 1 0 11 50 0 20 0.000 0 0 7 0 0 5
+ 4275 2325 7050 2325 7050 2925 4275 2925 4275 2325
+2 2 0 1 0 16 50 0 -1 0.000 0 0 -1 0 0 5
+ 6525 1125 7650 1125 7650 1575 6525 1575 6525 1125
2 2 0 1 0 11 50 0 33 0.000 0 0 7 0 0 5
- 5175 825 6450 825 6450 1275 5175 1275 5175 825
-2 2 0 1 0 11 50 0 33 0.000 0 0 7 0 0 5
- 3600 300 5100 300 5100 750 3600 750 3600 300
-2 2 0 1 0 11 50 0 20 0.000 0 0 7 0 0 5
- 1050 3525 5775 3525 5775 4125 1050 4125 1050 3525
-2 2 0 1 0 11 50 0 20 0.000 0 0 7 0 0 5
- 1950 4200 5775 4200 5775 4650 1950 4650 1950 4200
-2 2 0 1 0 11 50 0 20 0.000 0 0 7 0 0 5
- 5850 3525 7425 3525 7425 4275 5850 4275 5850 3525
-4 0 0 50 0 0 18 0.0000 4 255 1335 1125 3150 XML parser\001
-4 0 0 50 0 0 18 0.0000 4 255 1530 3600 3150 HTML parser\001
-4 0 0 50 0 0 18 0.0000 4 195 555 2925 2475 SAX\001
-4 0 0 50 0 0 18 0.0000 4 255 765 5850 3150 Export\001
-4 0 0 50 0 0 18 0.0000 4 195 525 5025 1875 Tree\001
-4 0 0 50 0 0 18 0.0000 4 195 690 4050 1125 XPath\001
-4 0 0 50 0 0 18 0.0000 4 195 990 5250 1125 Schemas\001
-4 0 0 50 0 0 18 0.0000 4 195 1005 3825 675 XPointer\001
-4 0 0 50 0 0 18 0.0000 4 195 1155 1875 1050 GtkHtml2\001
-4 0 0 50 0 0 18 0.0000 4 195 555 3075 3900 I18N\001
-4 0 0 50 0 0 18 0.0000 4 255 2775 2625 4500 I/O layer (FTP/HTTP/...)\001
-4 0 0 50 0 0 18 0.0000 4 195 465 6375 3975 URI\001
+ 8835 3975 10335 3975 10335 4425 8835 4425 8835 3975
+2 1 0 2 0 16 50 0 20 0.000 0 0 -1 1 0 2
+ 1 1 2.00 120.00 240.00
+ 8880 4245 3630 4245
+2 2 0 1 0 16 50 0 -1 0.000 0 0 -1 0 0 5
+ 7575 2340 8880 2340 8880 2925 7575 2925 7575 2340
+2 2 0 1 0 11 50 0 20 0.000 0 0 -1 0 0 5
+ 4860 6435 6255 6435 6255 6825 4860 6825 4860 6435
+2 2 0 1 0 11 50 0 20 0.000 0 0 -1 0 0 5
+ 6630 6060 8025 6060 8025 6450 6630 6450 6630 6060
+2 2 0 1 0 11 50 0 20 0.000 0 0 -1 0 0 5
+ 3750 1650 5025 1650 5025 2175 3750 2175 3750 1650
+2 2 0 1 0 11 50 0 20 0.000 0 0 -1 0 0 5
+ 5400 1125 6375 1125 6375 1575 5400 1575 5400 1125
+2 2 0 1 0 11 50 0 20 0.000 0 0 -1 0 0 5
+ 5100 1650 6450 1650 6450 2175 5100 2175 5100 1650
+2 3 0 1 0 11 50 0 20 0.000 0 0 -1 0 0 7
+ 6525 2175 6525 1650 7500 1650 7500 2925 7200 2925 7200 2175
+ 6525 2175
+4 0 0 50 0 0 18 0.0000 4 255 1335 1800 4800 XML parser\001
+4 0 0 50 0 0 18 0.0000 4 255 1530 4275 4800 HTML parser\001
+4 0 0 50 0 0 18 0.0000 4 195 555 3600 4125 SAX\001
+4 0 0 50 0 0 18 0.0000 4 255 765 6525 4800 Export\001
+4 0 0 50 0 0 18 0.0000 4 195 525 5700 3525 Tree\001
+4 0 0 50 0 0 18 0.0000 4 195 1155 2550 2700 GtkHtml2\001
+4 0 0 50 0 0 18 0.0000 4 195 555 3750 5550 I18N\001
+4 0 0 50 0 0 18 0.0000 4 255 2775 3300 6150 I/O layer (FTP/HTTP/...)\001
+4 0 0 50 0 0 18 0.0000 4 195 465 7050 5625 URI\001
+4 0 0 50 0 0 18 0.0000 4 195 690 5025 2700 XPath\001
+4 0 0 50 0 0 18 0.0000 4 195 1005 3900 2025 XPointer\001
+4 0 0 50 0 0 18 0.0000 4 195 645 6675 2025 C14N\001
+4 0 0 50 0 0 18 0.0000 4 195 675 5325 2025 XSLT\001
+4 0 0 50 0 0 18 0.0000 4 195 840 5475 1425 EXSLT\001
+4 0 0 50 0 0 18 0.0000 4 255 930 6600 1425 XMLSig\001
+4 0 0 50 0 0 18 0.0000 4 195 990 9015 4275 Schemas\001
+4 0 0 50 0 0 18 0.0000 4 195 960 7680 2730 Gdome2\001
+4 0 0 50 0 0 18 0.0000 4 195 915 5130 6720 Threads\001
+4 0 0 50 0 0 18 0.0000 4 255 945 6825 6300 Catalogs\001
diff --git a/doc/libxml.gif b/doc/libxml.gif
index 6693b31..e24adf8 100644
--- a/doc/libxml.gif
+++ b/doc/libxml.gif
Binary files differ
diff --git a/doc/xml.html b/doc/xml.html
index 8c5d81a..bd8d252 100644
--- a/doc/xml.html
+++ b/doc/xml.html
@@ -1366,7 +1366,7 @@
libxml2</a> with Kylix, Delphi and other Pascal compilers</li>
<li>Uwe Fechner also provides <a
href="http://sourceforge.net/projects/idom2-pas/">idom2</a>, a DOM2
- implementation for Kylix2/D5/D6 from Borland </li>
+ implementation for Kylix2/D5/D6 from Borland</li>
<li>Wai-Sun "Squidster" Chia provides <a
href="http://www.rubycolor.org/arc/redist/">bindings for Ruby</a> and
libxml2 bindings are also available in Ruby through the <a
@@ -2088,7 +2088,11 @@
possible to find more easilly:</p>
<ol>
<li>write down the block number xxxx not allocated</li>
- <li>export the environement variable XML_MEM_BREAKPOINT=xxxx</li>
+ <li>export the environement variable XML_MEM_BREAKPOINT=xxxx , the easiest
+ when using GDB is to simply give the command
+ <p><code>set environment XML_MEM_BREAKPOINT xxxx</code></p>
+ <p>before running the program.</p>
+ </li>
<li>run the program under a debugger and set a breakpoint on
xmlMallocBreakpoint() a specific function called when this precise block
is allocated</li>
@@ -2099,7 +2103,11 @@
<p>I used to use a commercial tool to debug libxml memory problems but after
noticing that it was not detecting memory leaks that simple mechanism was
-used and proved extremely efficient until now.</p>
+used and proved extremely efficient until now. Lately I have also used <a
+href="http://developer.kde.org/~sewardj/">valgrind</a> with quite some
+success, it is tied to the i386 architecture since it works by emulating the
+processor and instruction set, it is slow but extremely efficient, i.e. it
+spot memory usage errors in a very precise way.</p>
<h3><a name="General4">General memory requirements</a></h3>
@@ -2554,6 +2562,7 @@
+
} </pre>
</li>
<li>And then use it to save the document: