From 75794826e0e09b00633c9daf8f01c86002db9a8a Mon Sep 17 00:00:00 2001 From: Daniel Veillard Date: Thu, 11 Apr 2002 16:24:32 +0000 Subject: [PATCH] Updated the graphic overview of the architecture, Daniel --- doc/libxml.fig | 87 +++++++++++++++++++++++++++++++------------------ doc/libxml.gif | Bin 5974 -> 7692 bytes doc/xml.html | 15 +++++++-- 3 files changed, 68 insertions(+), 34 deletions(-) diff --git a/doc/libxml.fig b/doc/libxml.fig index 5c8672c3..e721dd28 100644 --- a/doc/libxml.fig +++ b/doc/libxml.fig @@ -7,41 +7,66 @@ Letter 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 6693b3190cbd10fa82f8caa8625ac8b98ae5e3ba..e24adf8f6ad492763d2cf7936ae138c8099685c9 100644 GIT binary patch delta 7469 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 h>!P~NQZhGD5H>DJm)qK}0|pJxXcgr!MYr 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 libxml2 with Kylix, Delphi and other Pascal compilers
  • Uwe Fechner also provides idom2, a DOM2 - implementation for Kylix2/D5/D6 from Borland
  • + implementation for Kylix2/D5/D6 from Borland
  • Wai-Sun "Squidster" Chia provides bindings for Ruby and libxml2 bindings are also available in Ruby through the
    1. write down the block number xxxx not allocated
    2. -
    3. export the environement variable XML_MEM_BREAKPOINT=xxxx
    4. +
    5. export the environement variable XML_MEM_BREAKPOINT=xxxx , the easiest + when using GDB is to simply give the command +

      set environment XML_MEM_BREAKPOINT xxxx

      +

      before running the program.

      +
    6. run the program under a debugger and set a breakpoint on xmlMallocBreakpoint() a specific function called when this precise block is allocated
    7. @@ -2099,7 +2103,11 @@ possible to find more easilly:

      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.

      +used and proved extremely efficient until now. Lately I have also used
      valgrind 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.

      General memory requirements

      @@ -2554,6 +2562,7 @@ xmlOutputBufferCreateOwn(FILE *file, xmlCharEncodingHandlerPtr encoder) { + }
    8. And then use it to save the document: