diff --git a/ChangeLog b/ChangeLog index a41aa274..eae724f0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Fri Apr 12 23:02:16 CEST 2002 Daniel Veillard + + * include/libxml/xmlIO.h: Hallski complained it could not be + included by itself. + Thu Apr 11 10:23:36 CEST 2002 Daniel Veillard * configure.in: applied an IEEE flag patch for OSF/1 #77825 diff --git a/configure.in b/configure.in index d88602ce..34044014 100644 --- a/configure.in +++ b/configure.in @@ -205,8 +205,13 @@ if test "$with_python" != "no" ; then then echo Found python in $with_python/bin/python PYTHON="$with_python/bin/python" - else - AC_PATH_PROG(PYTHON, python python2.2 python2.1 python2.0 python1.6 python1.5) + if test -x "$with_python" + then + echo Found python in $with_python/bin/python + PYTHON="$with_python/bin/python" + else + AC_PATH_PROG(PYTHON, python python2.2 python2.1 python2.0 python1.6 python1.5) + fi fi if test "$PYTHON" != "" then diff --git a/doc/example.html b/doc/example.html index 21f2249d..e98bc9bf 100644 --- a/doc/example.html +++ b/doc/example.html @@ -147,7 +147,7 @@ base:

</gjob:Jobs> </gjob:Helping>

While loading the XML file into an internal DOM tree is a matter of -calling only a couple of functions, browsing the tree to gather the data and +calling only a couple of functions, browsing the tree to gather the ata and generate the internal structures is harder, and more error prone.

The suggested principle is to be tolerant with respect to the input structure. For example, the ordering of the attributes is not significant, diff --git a/doc/python.html b/doc/python.html index d0b9fa79..2bfe0803 100644 --- a/doc/python.html +++ b/doc/python.html @@ -112,7 +112,7 @@ or libxslt wrappers or bindings:

  • Petr Kozelka provides Pascal units to glue 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 libgdome-ruby module maintained by Tobias Peters.
  • diff --git a/doc/xmlio.html b/doc/xmlio.html index e16b7836..6151f2d5 100644 --- a/doc/xmlio.html +++ b/doc/xmlio.html @@ -226,6 +226,7 @@ xmlOutputBufferCreateOwn(FILE *file, xmlCharEncodingHandlerPtr encoder) { + }
  • And then use it to save the document: diff --git a/doc/xmlmem.html b/doc/xmlmem.html index 498972eb..2ba39932 100644 --- a/doc/xmlmem.html +++ b/doc/xmlmem.html @@ -168,7 +168,11 @@ but not always. Assuming the allocation problem is reproductible, it is possible to find more easilly:

    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. @@ -178,7 +182,10 @@ 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

    How much libxml memory require ? It's hard to tell in average it depends of a number of things:

    diff --git a/include/libxml/xmlIO.h b/include/libxml/xmlIO.h index ee47b8ab..a633c5c9 100644 --- a/include/libxml/xmlIO.h +++ b/include/libxml/xmlIO.h @@ -17,9 +17,6 @@ #else #include #endif -#include -#include -#include #ifdef __cplusplus extern "C" { @@ -70,18 +67,6 @@ typedef int (*xmlInputReadCallback) (void * context, char * buffer, int len); */ typedef int (*xmlInputCloseCallback) (void * context); -struct _xmlParserInputBuffer { - void* context; - xmlInputReadCallback readcallback; - xmlInputCloseCallback closecallback; - - xmlCharEncodingHandlerPtr encoder; /* I18N conversions to UTF-8 */ - - xmlBufferPtr buffer; /* Local buffer encoded in UTF-8 */ - xmlBufferPtr raw; /* if encoder != NULL buffer for raw input */ -}; - - /* * Those are the functions and datatypes for the library output * I/O structures. @@ -128,6 +113,30 @@ typedef int (*xmlOutputWriteCallback) (void * context, const char * buffer, */ typedef int (*xmlOutputCloseCallback) (void * context); +#ifdef __cplusplus +} +#endif + +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif +struct _xmlParserInputBuffer { + void* context; + xmlInputReadCallback readcallback; + xmlInputCloseCallback closecallback; + + xmlCharEncodingHandlerPtr encoder; /* I18N conversions to UTF-8 */ + + xmlBufferPtr buffer; /* Local buffer encoded in UTF-8 */ + xmlBufferPtr raw; /* if encoder != NULL buffer for raw input */ +}; + + struct _xmlOutputBuffer { void* context; xmlOutputWriteCallback writecallback;