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

get rid of the readline and libhistory dependancies by default, release

* configure.in: get rid of the readline and libhistory
  dependancies by default, release 2.4.1 with IA64 fix
* nanohttp.c tree.c xmlIO.c include/libxml/nanohttp.h
  include/libxml/tree.h include/libxml/xmlIO.h: incorporated
  John Kroll fixes to allow saving to HTTP via PUT (or
  POST of needed).
* doc/html/*.html: regenerated the docs
Daniel
This commit is contained in:
Daniel Veillard
2001-07-23 19:10:52 +00:00
parent e812624729
commit f012a64d13
31 changed files with 8197 additions and 3936 deletions

View File

@ -1,3 +1,13 @@
Tue Jul 24 15:06:58 CEST 2001 Daniel Veillard <Daniel.Veillard@imag.fr>
* configure.in: get rid of the readline and libhistory
dependancies by default, release 2.4.1 with IA64 fix
* nanohttp.c tree.c xmlIO.c include/libxml/nanohttp.h
include/libxml/tree.h include/libxml/xmlIO.h: incorporated
John Kroll fixes to allow saving to HTTP via PUT (or
POST of needed).
* doc/html/*.html: regenerated the docs
Sun Jul 22 05:56:16 CEST 2001 Thomas Broyer <tbroyer@ltgt.net> Sun Jul 22 05:56:16 CEST 2001 Thomas Broyer <tbroyer@ltgt.net>
* hash.c include/libxml/hash.h: added xmlHashScannerFull, * hash.c include/libxml/hash.h: added xmlHashScannerFull,

View File

@ -6,7 +6,7 @@ AC_CANONICAL_HOST
LIBXML_MAJOR_VERSION=2 LIBXML_MAJOR_VERSION=2
LIBXML_MINOR_VERSION=4 LIBXML_MINOR_VERSION=4
LIBXML_MICRO_VERSION=0 LIBXML_MICRO_VERSION=1
LIBXML_VERSION=$LIBXML_MAJOR_VERSION.$LIBXML_MINOR_VERSION.$LIBXML_MICRO_VERSION LIBXML_VERSION=$LIBXML_MAJOR_VERSION.$LIBXML_MINOR_VERSION.$LIBXML_MICRO_VERSION
LIBXML_VERSION_INFO=`expr $LIBXML_MAJOR_VERSION + $LIBXML_MINOR_VERSION`:$LIBXML_MICRO_VERSION:$LIBXML_MINOR_VERSION LIBXML_VERSION_INFO=`expr $LIBXML_MAJOR_VERSION + $LIBXML_MINOR_VERSION`:$LIBXML_MICRO_VERSION:$LIBXML_MINOR_VERSION
@ -206,30 +206,6 @@ AC_ARG_WITH(readline,
fi fi
]) ])
dnl check for terminal library. this is a very cool solution
dnl from octave's configure.in
unset tcap
for termlib in ncurses curses termcap terminfo termlib; do
AC_CHECK_LIB(${termlib}, tputs, [tcap="-l$termlib"])
test -n "$tcap" && break
done
AC_CHECK_HEADER(readline/history.h,
AC_CHECK_LIB(history, append_history,[
RDL_LIBS="-lhistory"
AC_DEFINE(HAVE_LIBHISTORY)]))
AC_CHECK_HEADER(readline/readline.h,
AC_CHECK_LIB(readline, readline,[
RDL_LIBS="-lreadline $RDL_LIBS $tcap"
AC_DEFINE(HAVE_LIBREADLINE)], , $tcap))
if test -n "$RDL_DIR" -a -n "$RDL_LIBS"; then
CPPFLAGS="$CPPFLAGS -I${RDL_DIR}/include"
RDL_LIBS="-L${RDL_DIR}/lib $RDL_LIBS"
else
CPPFLAGS=${_cppflags}
fi
LDFLAGS=${_ldflags}
dnl dnl
dnl specific tests to setup DV's devel environment with debug etc ... dnl specific tests to setup DV's devel environment with debug etc ...
dnl (-Wunreachable-code) dnl (-Wunreachable-code)
@ -265,6 +241,36 @@ dnl
dnl Aloow to disable various pieces dnl Aloow to disable various pieces
dnl dnl
AC_ARG_WITH(history, [ --with-history Add history support to xmllint shell(off)])
if test "$with_ftp" = "yes" ; then
echo Enabling xmllint shell history
dnl check for terminal library. this is a very cool solution
dnl from octave's configure.in
unset tcap
for termlib in ncurses curses termcap terminfo termlib; do
AC_CHECK_LIB(${termlib}, tputs, [tcap="-l$termlib"])
test -n "$tcap" && break
done
AC_CHECK_HEADER(readline/history.h,
AC_CHECK_LIB(history, append_history,[
RDL_LIBS="-lhistory"
AC_DEFINE(HAVE_LIBHISTORY)]))
AC_CHECK_HEADER(readline/readline.h,
AC_CHECK_LIB(readline, readline,[
RDL_LIBS="-lreadline $RDL_LIBS $tcap"
AC_DEFINE(HAVE_LIBREADLINE)], , $tcap))
if test -n "$RDL_DIR" -a -n "$RDL_LIBS"; then
CPPFLAGS="$CPPFLAGS -I${RDL_DIR}/include"
RDL_LIBS="-L${RDL_DIR}/lib $RDL_LIBS"
else
CPPFLAGS=${_cppflags}
fi
LDFLAGS=${_ldflags}
fi
AC_SUBST(WITH_FTP)
AC_SUBST(FTP_OBJ)
AC_ARG_WITH(ftp, [ --with-ftp Add the FTP support (on)]) AC_ARG_WITH(ftp, [ --with-ftp Add the FTP support (on)])
if test "$with_ftp" = "no" ; then if test "$with_ftp" = "no" ; then
echo Disabling FTP support echo Disabling FTP support

View File

@ -312,6 +312,7 @@
<ANCHOR id ="XMLSAVEFILE" href="libxml/libxml-tree.html#XMLSAVEFILE"> <ANCHOR id ="XMLSAVEFILE" href="libxml/libxml-tree.html#XMLSAVEFILE">
<ANCHOR id ="XMLSAVEFORMATFILE" href="libxml/libxml-tree.html#XMLSAVEFORMATFILE"> <ANCHOR id ="XMLSAVEFORMATFILE" href="libxml/libxml-tree.html#XMLSAVEFORMATFILE">
<ANCHOR id ="XMLNODEDUMP" href="libxml/libxml-tree.html#XMLNODEDUMP"> <ANCHOR id ="XMLNODEDUMP" href="libxml/libxml-tree.html#XMLNODEDUMP">
<ANCHOR id ="XMLSAVEFORMATFILEENC" href="libxml/libxml-tree.html#XMLSAVEFORMATFILEENC">
<ANCHOR id ="XMLSAVEFILEENC" href="libxml/libxml-tree.html#XMLSAVEFILEENC"> <ANCHOR id ="XMLSAVEFILEENC" href="libxml/libxml-tree.html#XMLSAVEFILEENC">
<ANCHOR id ="XMLGETDOCCOMPRESSMODE" href="libxml/libxml-tree.html#XMLGETDOCCOMPRESSMODE"> <ANCHOR id ="XMLGETDOCCOMPRESSMODE" href="libxml/libxml-tree.html#XMLGETDOCCOMPRESSMODE">
<ANCHOR id ="XMLSETDOCCOMPRESSMODE" href="libxml/libxml-tree.html#XMLSETDOCCOMPRESSMODE"> <ANCHOR id ="XMLSETDOCCOMPRESSMODE" href="libxml/libxml-tree.html#XMLSETDOCCOMPRESSMODE">
@ -374,13 +375,11 @@
<ANCHOR id ="XMLDUMPATTRIBUTETABLE" href="libxml/libxml-valid.html#XMLDUMPATTRIBUTETABLE"> <ANCHOR id ="XMLDUMPATTRIBUTETABLE" href="libxml/libxml-valid.html#XMLDUMPATTRIBUTETABLE">
<ANCHOR id ="XMLDUMPATTRIBUTEDECL" href="libxml/libxml-valid.html#XMLDUMPATTRIBUTEDECL"> <ANCHOR id ="XMLDUMPATTRIBUTEDECL" href="libxml/libxml-valid.html#XMLDUMPATTRIBUTEDECL">
<ANCHOR id ="XMLADDID" href="libxml/libxml-valid.html#XMLADDID"> <ANCHOR id ="XMLADDID" href="libxml/libxml-valid.html#XMLADDID">
<ANCHOR id ="XMLCOPYIDTABLE" href="libxml/libxml-valid.html#XMLCOPYIDTABLE">
<ANCHOR id ="XMLFREEIDTABLE" href="libxml/libxml-valid.html#XMLFREEIDTABLE"> <ANCHOR id ="XMLFREEIDTABLE" href="libxml/libxml-valid.html#XMLFREEIDTABLE">
<ANCHOR id ="XMLGETID" href="libxml/libxml-valid.html#XMLGETID"> <ANCHOR id ="XMLGETID" href="libxml/libxml-valid.html#XMLGETID">
<ANCHOR id ="XMLISID" href="libxml/libxml-valid.html#XMLISID"> <ANCHOR id ="XMLISID" href="libxml/libxml-valid.html#XMLISID">
<ANCHOR id ="XMLREMOVEID" href="libxml/libxml-valid.html#XMLREMOVEID"> <ANCHOR id ="XMLREMOVEID" href="libxml/libxml-valid.html#XMLREMOVEID">
<ANCHOR id ="XMLADDREF" href="libxml/libxml-valid.html#XMLADDREF"> <ANCHOR id ="XMLADDREF" href="libxml/libxml-valid.html#XMLADDREF">
<ANCHOR id ="XMLCOPYREFTABLE" href="libxml/libxml-valid.html#XMLCOPYREFTABLE">
<ANCHOR id ="XMLFREEREFTABLE" href="libxml/libxml-valid.html#XMLFREEREFTABLE"> <ANCHOR id ="XMLFREEREFTABLE" href="libxml/libxml-valid.html#XMLFREEREFTABLE">
<ANCHOR id ="XMLISREF" href="libxml/libxml-valid.html#XMLISREF"> <ANCHOR id ="XMLISREF" href="libxml/libxml-valid.html#XMLISREF">
<ANCHOR id ="XMLREMOVEREF" href="libxml/libxml-valid.html#XMLREMOVEREF"> <ANCHOR id ="XMLREMOVEREF" href="libxml/libxml-valid.html#XMLREMOVEREF">
@ -507,6 +506,7 @@
<ANCHOR id ="XMLXPATHFUNCTION" href="libxml/libxml-xpath.html#XMLXPATHFUNCTION"> <ANCHOR id ="XMLXPATHFUNCTION" href="libxml/libxml-xpath.html#XMLXPATHFUNCTION">
<ANCHOR id ="XMLXPATHNODESETGETLENGTH" href="libxml/libxml-xpath.html#XMLXPATHNODESETGETLENGTH"> <ANCHOR id ="XMLXPATHNODESETGETLENGTH" href="libxml/libxml-xpath.html#XMLXPATHNODESETGETLENGTH">
<ANCHOR id ="XMLXPATHNODESETITEM" href="libxml/libxml-xpath.html#XMLXPATHNODESETITEM"> <ANCHOR id ="XMLXPATHNODESETITEM" href="libxml/libxml-xpath.html#XMLXPATHNODESETITEM">
<ANCHOR id ="XMLXPATHNODESETISEMPTY" href="libxml/libxml-xpath.html#XMLXPATHNODESETISEMPTY">
<ANCHOR id ="XMLXPATHFREEOBJECT" href="libxml/libxml-xpath.html#XMLXPATHFREEOBJECT"> <ANCHOR id ="XMLXPATHFREEOBJECT" href="libxml/libxml-xpath.html#XMLXPATHFREEOBJECT">
<ANCHOR id ="XMLXPATHNODESETCREATE" href="libxml/libxml-xpath.html#XMLXPATHNODESETCREATE"> <ANCHOR id ="XMLXPATHNODESETCREATE" href="libxml/libxml-xpath.html#XMLXPATHNODESETCREATE">
<ANCHOR id ="XMLXPATHFREENODESETLIST" href="libxml/libxml-xpath.html#XMLXPATHFREENODESETLIST"> <ANCHOR id ="XMLXPATHFREENODESETLIST" href="libxml/libxml-xpath.html#XMLXPATHFREENODESETLIST">
@ -534,13 +534,35 @@
<ANCHOR id ="XMLXPATHNEWCONTEXT" href="libxml/libxml-xpath.html#XMLXPATHNEWCONTEXT"> <ANCHOR id ="XMLXPATHNEWCONTEXT" href="libxml/libxml-xpath.html#XMLXPATHNEWCONTEXT">
<ANCHOR id ="XMLXPATHFREECONTEXT" href="libxml/libxml-xpath.html#XMLXPATHFREECONTEXT"> <ANCHOR id ="XMLXPATHFREECONTEXT" href="libxml/libxml-xpath.html#XMLXPATHFREECONTEXT">
<ANCHOR id ="XMLXPATHEVAL" href="libxml/libxml-xpath.html#XMLXPATHEVAL"> <ANCHOR id ="XMLXPATHEVAL" href="libxml/libxml-xpath.html#XMLXPATHEVAL">
<ANCHOR id ="XMLXPATHEVALXPTREXPR" href="libxml/libxml-xpath.html#XMLXPATHEVALXPTREXPR">
<ANCHOR id ="XMLXPATHEVALEXPRESSION" href="libxml/libxml-xpath.html#XMLXPATHEVALEXPRESSION"> <ANCHOR id ="XMLXPATHEVALEXPRESSION" href="libxml/libxml-xpath.html#XMLXPATHEVALEXPRESSION">
<ANCHOR id ="XMLXPATHEVALPREDICATE" href="libxml/libxml-xpath.html#XMLXPATHEVALPREDICATE"> <ANCHOR id ="XMLXPATHEVALPREDICATE" href="libxml/libxml-xpath.html#XMLXPATHEVALPREDICATE">
<ANCHOR id ="XMLXPATHCOMPILE" href="libxml/libxml-xpath.html#XMLXPATHCOMPILE"> <ANCHOR id ="XMLXPATHCOMPILE" href="libxml/libxml-xpath.html#XMLXPATHCOMPILE">
<ANCHOR id ="XMLXPATHCOMPILEDEVAL" href="libxml/libxml-xpath.html#XMLXPATHCOMPILEDEVAL"> <ANCHOR id ="XMLXPATHCOMPILEDEVAL" href="libxml/libxml-xpath.html#XMLXPATHCOMPILEDEVAL">
<ANCHOR id ="XMLXPATHFREECOMPEXPR" href="libxml/libxml-xpath.html#XMLXPATHFREECOMPEXPR"> <ANCHOR id ="XMLXPATHFREECOMPEXPR" href="libxml/libxml-xpath.html#XMLXPATHFREECOMPEXPR">
<ANCHOR id ="LIBXML-XPATHINTERNALS" href="libxml/libxml-xpathinternals.html"> <ANCHOR id ="LIBXML-XPATHINTERNALS" href="libxml/libxml-xpathinternals.html">
<ANCHOR id ="XMLXPATHSETERROR" href="libxml/libxml-xpathinternals.html#XMLXPATHSETERROR">
<ANCHOR id ="XMLXPATHSETARITYERROR" href="libxml/libxml-xpathinternals.html#XMLXPATHSETARITYERROR">
<ANCHOR id ="XMLXPATHSETTYPEERROR" href="libxml/libxml-xpathinternals.html#XMLXPATHSETTYPEERROR">
<ANCHOR id ="XMLXPATHGETERROR" href="libxml/libxml-xpathinternals.html#XMLXPATHGETERROR">
<ANCHOR id ="XMLXPATHCHECKERROR" href="libxml/libxml-xpathinternals.html#XMLXPATHCHECKERROR">
<ANCHOR id ="XMLXPATHGETDOCUMENT" href="libxml/libxml-xpathinternals.html#XMLXPATHGETDOCUMENT">
<ANCHOR id ="XMLXPATHGETCONTEXTNODE" href="libxml/libxml-xpathinternals.html#XMLXPATHGETCONTEXTNODE">
<ANCHOR id ="XMLXPATHPOPBOOLEAN" href="libxml/libxml-xpathinternals.html#XMLXPATHPOPBOOLEAN">
<ANCHOR id ="XMLXPATHPOPNUMBER" href="libxml/libxml-xpathinternals.html#XMLXPATHPOPNUMBER">
<ANCHOR id ="XMLXPATHPOPSTRING" href="libxml/libxml-xpathinternals.html#XMLXPATHPOPSTRING">
<ANCHOR id ="XMLXPATHPOPNODESET" href="libxml/libxml-xpathinternals.html#XMLXPATHPOPNODESET">
<ANCHOR id ="XMLXPATHPOPEXTERNAL" href="libxml/libxml-xpathinternals.html#XMLXPATHPOPEXTERNAL">
<ANCHOR id ="XMLXPATHRETURNBOOLEAN" href="libxml/libxml-xpathinternals.html#XMLXPATHRETURNBOOLEAN">
<ANCHOR id ="XMLXPATHRETURNTRUE" href="libxml/libxml-xpathinternals.html#XMLXPATHRETURNTRUE">
<ANCHOR id ="XMLXPATHRETURNFALSE" href="libxml/libxml-xpathinternals.html#XMLXPATHRETURNFALSE">
<ANCHOR id ="XMLXPATHRETURNNUMBER" href="libxml/libxml-xpathinternals.html#XMLXPATHRETURNNUMBER">
<ANCHOR id ="XMLXPATHRETURNSTRING" href="libxml/libxml-xpathinternals.html#XMLXPATHRETURNSTRING">
<ANCHOR id ="XMLXPATHRETURNEMPTYSTRING" href="libxml/libxml-xpathinternals.html#XMLXPATHRETURNEMPTYSTRING">
<ANCHOR id ="XMLXPATHRETURNNODESET" href="libxml/libxml-xpathinternals.html#XMLXPATHRETURNNODESET">
<ANCHOR id ="XMLXPATHRETURNEMPTYNODESET" href="libxml/libxml-xpathinternals.html#XMLXPATHRETURNEMPTYNODESET">
<ANCHOR id ="XMLXPATHRETURNEXTERNAL" href="libxml/libxml-xpathinternals.html#XMLXPATHRETURNEXTERNAL">
<ANCHOR id ="XMLXPATHSTACKISNODESET" href="libxml/libxml-xpathinternals.html#XMLXPATHSTACKISNODESET">
<ANCHOR id ="XMLXPATHEMPTYNODESET" href="libxml/libxml-xpathinternals.html#XMLXPATHEMPTYNODESET">
<ANCHOR id ="CHECK-ERROR-CAPS" href="libxml/libxml-xpathinternals.html#CHECK-ERROR-CAPS"> <ANCHOR id ="CHECK-ERROR-CAPS" href="libxml/libxml-xpathinternals.html#CHECK-ERROR-CAPS">
<ANCHOR id ="CHECK-ERROR0-CAPS" href="libxml/libxml-xpathinternals.html#CHECK-ERROR0-CAPS"> <ANCHOR id ="CHECK-ERROR0-CAPS" href="libxml/libxml-xpathinternals.html#CHECK-ERROR0-CAPS">
<ANCHOR id ="XP-ERROR-CAPS" href="libxml/libxml-xpathinternals.html#XP-ERROR-CAPS"> <ANCHOR id ="XP-ERROR-CAPS" href="libxml/libxml-xpathinternals.html#XP-ERROR-CAPS">
@ -551,11 +573,24 @@
<ANCHOR id ="CAST-TO-STRING-CAPS" href="libxml/libxml-xpathinternals.html#CAST-TO-STRING-CAPS"> <ANCHOR id ="CAST-TO-STRING-CAPS" href="libxml/libxml-xpathinternals.html#CAST-TO-STRING-CAPS">
<ANCHOR id ="CAST-TO-NUMBER-CAPS" href="libxml/libxml-xpathinternals.html#CAST-TO-NUMBER-CAPS"> <ANCHOR id ="CAST-TO-NUMBER-CAPS" href="libxml/libxml-xpathinternals.html#CAST-TO-NUMBER-CAPS">
<ANCHOR id ="CAST-TO-BOOLEAN-CAPS" href="libxml/libxml-xpathinternals.html#CAST-TO-BOOLEAN-CAPS"> <ANCHOR id ="CAST-TO-BOOLEAN-CAPS" href="libxml/libxml-xpathinternals.html#CAST-TO-BOOLEAN-CAPS">
<ANCHOR id ="XMLXPATHOBJECTPTR" href="libxml/libxml-xpathinternals.html#XMLXPATHOBJECTPTR"> <ANCHOR id ="XMLXPATHVARIABLELOOKUPFUNC" href="libxml/libxml-xpathinternals.html#XMLXPATHVARIABLELOOKUPFUNC">
<ANCHOR id ="XMLXPATHREGISTERVARIABLELOOKUP" href="libxml/libxml-xpathinternals.html#XMLXPATHREGISTERVARIABLELOOKUP"> <ANCHOR id ="XMLXPATHREGISTERVARIABLELOOKUP" href="libxml/libxml-xpathinternals.html#XMLXPATHREGISTERVARIABLELOOKUP">
<ANCHOR id ="XMLXPATHERROR" href="libxml/libxml-xpathinternals.html#XMLXPATHERROR"> <ANCHOR id ="XMLXPATHERROR" href="libxml/libxml-xpathinternals.html#XMLXPATHERROR">
<ANCHOR id ="XMLXPATHDEBUGDUMPOBJECT" href="libxml/libxml-xpathinternals.html#XMLXPATHDEBUGDUMPOBJECT"> <ANCHOR id ="XMLXPATHDEBUGDUMPOBJECT" href="libxml/libxml-xpathinternals.html#XMLXPATHDEBUGDUMPOBJECT">
<ANCHOR id ="XMLXPATHDEBUGDUMPCOMPEXPR" href="libxml/libxml-xpathinternals.html#XMLXPATHDEBUGDUMPCOMPEXPR"> <ANCHOR id ="XMLXPATHDEBUGDUMPCOMPEXPR" href="libxml/libxml-xpathinternals.html#XMLXPATHDEBUGDUMPCOMPEXPR">
<ANCHOR id ="XMLXPATHDIFFERENCE" href="libxml/libxml-xpathinternals.html#XMLXPATHDIFFERENCE">
<ANCHOR id ="XMLXPATHINTERSECTION" href="libxml/libxml-xpathinternals.html#XMLXPATHINTERSECTION">
<ANCHOR id ="XMLXPATHDISTINCTSORTED" href="libxml/libxml-xpathinternals.html#XMLXPATHDISTINCTSORTED">
<ANCHOR id ="XMLXPATHDISTINCT" href="libxml/libxml-xpathinternals.html#XMLXPATHDISTINCT">
<ANCHOR id ="XMLXPATHHASSAMENODES" href="libxml/libxml-xpathinternals.html#XMLXPATHHASSAMENODES">
<ANCHOR id ="XMLXPATHNODELEADINGSORTED" href="libxml/libxml-xpathinternals.html#XMLXPATHNODELEADINGSORTED">
<ANCHOR id ="XMLXPATHLEADINGSORTED" href="libxml/libxml-xpathinternals.html#XMLXPATHLEADINGSORTED">
<ANCHOR id ="XMLXPATHNODELEADING" href="libxml/libxml-xpathinternals.html#XMLXPATHNODELEADING">
<ANCHOR id ="XMLXPATHLEADING" href="libxml/libxml-xpathinternals.html#XMLXPATHLEADING">
<ANCHOR id ="XMLXPATHNODETRAILINGSORTED" href="libxml/libxml-xpathinternals.html#XMLXPATHNODETRAILINGSORTED">
<ANCHOR id ="XMLXPATHTRAILINGSORTED" href="libxml/libxml-xpathinternals.html#XMLXPATHTRAILINGSORTED">
<ANCHOR id ="XMLXPATHNODETRAILING" href="libxml/libxml-xpathinternals.html#XMLXPATHNODETRAILING">
<ANCHOR id ="XMLXPATHTRAILING" href="libxml/libxml-xpathinternals.html#XMLXPATHTRAILING">
<ANCHOR id ="XMLXPATHREGISTERNS" href="libxml/libxml-xpathinternals.html#XMLXPATHREGISTERNS"> <ANCHOR id ="XMLXPATHREGISTERNS" href="libxml/libxml-xpathinternals.html#XMLXPATHREGISTERNS">
<ANCHOR id ="XMLXPATHNSLOOKUP" href="libxml/libxml-xpathinternals.html#XMLXPATHNSLOOKUP"> <ANCHOR id ="XMLXPATHNSLOOKUP" href="libxml/libxml-xpathinternals.html#XMLXPATHNSLOOKUP">
<ANCHOR id ="XMLXPATHREGISTEREDNSCLEANUP" href="libxml/libxml-xpathinternals.html#XMLXPATHREGISTEREDNSCLEANUP"> <ANCHOR id ="XMLXPATHREGISTEREDNSCLEANUP" href="libxml/libxml-xpathinternals.html#XMLXPATHREGISTEREDNSCLEANUP">
@ -601,6 +636,7 @@
<ANCHOR id ="XMLXPATHFREENODESET" href="libxml/libxml-xpathinternals.html#XMLXPATHFREENODESET"> <ANCHOR id ="XMLXPATHFREENODESET" href="libxml/libxml-xpathinternals.html#XMLXPATHFREENODESET">
<ANCHOR id ="XMLXPATHNEWNODESETLIST" href="libxml/libxml-xpathinternals.html#XMLXPATHNEWNODESETLIST"> <ANCHOR id ="XMLXPATHNEWNODESETLIST" href="libxml/libxml-xpathinternals.html#XMLXPATHNEWNODESETLIST">
<ANCHOR id ="XMLXPATHWRAPNODESET" href="libxml/libxml-xpathinternals.html#XMLXPATHWRAPNODESET"> <ANCHOR id ="XMLXPATHWRAPNODESET" href="libxml/libxml-xpathinternals.html#XMLXPATHWRAPNODESET">
<ANCHOR id ="XMLXPATHWRAPEXTERNAL" href="libxml/libxml-xpathinternals.html#XMLXPATHWRAPEXTERNAL">
<ANCHOR id ="XMLXPATHFREENODESETLIST" href="libxml/libxml-xpathinternals.html#XMLXPATHFREENODESETLIST"> <ANCHOR id ="XMLXPATHFREENODESETLIST" href="libxml/libxml-xpathinternals.html#XMLXPATHFREENODESETLIST">
<ANCHOR id ="XMLXPATHFREEOBJECT" href="libxml/libxml-xpathinternals.html#XMLXPATHFREEOBJECT"> <ANCHOR id ="XMLXPATHFREEOBJECT" href="libxml/libxml-xpathinternals.html#XMLXPATHFREEOBJECT">
<ANCHOR id ="XMLXPATHNEWCONTEXT" href="libxml/libxml-xpathinternals.html#XMLXPATHNEWCONTEXT"> <ANCHOR id ="XMLXPATHNEWCONTEXT" href="libxml/libxml-xpathinternals.html#XMLXPATHNEWCONTEXT">
@ -753,6 +789,7 @@
<ANCHOR id ="XMLOUTPUTBUFFERFLUSH" href="libxml/libxml-xmlio.html#XMLOUTPUTBUFFERFLUSH"> <ANCHOR id ="XMLOUTPUTBUFFERFLUSH" href="libxml/libxml-xmlio.html#XMLOUTPUTBUFFERFLUSH">
<ANCHOR id ="XMLOUTPUTBUFFERCLOSE" href="libxml/libxml-xmlio.html#XMLOUTPUTBUFFERCLOSE"> <ANCHOR id ="XMLOUTPUTBUFFERCLOSE" href="libxml/libxml-xmlio.html#XMLOUTPUTBUFFERCLOSE">
<ANCHOR id ="XMLREGISTEROUTPUTCALLBACKS" href="libxml/libxml-xmlio.html#XMLREGISTEROUTPUTCALLBACKS"> <ANCHOR id ="XMLREGISTEROUTPUTCALLBACKS" href="libxml/libxml-xmlio.html#XMLREGISTEROUTPUTCALLBACKS">
<ANCHOR id ="XMLIOHTTPOPENW" href="libxml/libxml-xmlio.html#XMLIOHTTPOPENW">
<ANCHOR id ="XMLSAVEFILETO" href="libxml/libxml-xmlio.html#XMLSAVEFILETO"> <ANCHOR id ="XMLSAVEFILETO" href="libxml/libxml-xmlio.html#XMLSAVEFILETO">
<ANCHOR id ="XMLSAVEFORMATFILETO" href="libxml/libxml-xmlio.html#XMLSAVEFORMATFILETO"> <ANCHOR id ="XMLSAVEFORMATFILETO" href="libxml/libxml-xmlio.html#XMLSAVEFORMATFILETO">
<ANCHOR id ="XMLNODEDUMPOUTPUT" href="libxml/libxml-xmlio.html#XMLNODEDUMPOUTPUT"> <ANCHOR id ="XMLNODEDUMPOUTPUT" href="libxml/libxml-xmlio.html#XMLNODEDUMPOUTPUT">
@ -943,7 +980,6 @@
<ANCHOR id ="XMLDEBUGDUMPDOCUMENT" href="libxml/libxml-debugxml.html#XMLDEBUGDUMPDOCUMENT"> <ANCHOR id ="XMLDEBUGDUMPDOCUMENT" href="libxml/libxml-debugxml.html#XMLDEBUGDUMPDOCUMENT">
<ANCHOR id ="XMLDEBUGDUMPDTD" href="libxml/libxml-debugxml.html#XMLDEBUGDUMPDTD"> <ANCHOR id ="XMLDEBUGDUMPDTD" href="libxml/libxml-debugxml.html#XMLDEBUGDUMPDTD">
<ANCHOR id ="XMLDEBUGDUMPENTITIES" href="libxml/libxml-debugxml.html#XMLDEBUGDUMPENTITIES"> <ANCHOR id ="XMLDEBUGDUMPENTITIES" href="libxml/libxml-debugxml.html#XMLDEBUGDUMPENTITIES">
<ANCHOR id ="XMLLSONENODE" href="libxml/libxml-debugxml.html#XMLLSONENODE">
<ANCHOR id ="XMLSHELLREADLINEFUNC" href="libxml/libxml-debugxml.html#XMLSHELLREADLINEFUNC"> <ANCHOR id ="XMLSHELLREADLINEFUNC" href="libxml/libxml-debugxml.html#XMLSHELLREADLINEFUNC">
<ANCHOR id ="XMLSHELLCTXT" href="libxml/libxml-debugxml.html#XMLSHELLCTXT"> <ANCHOR id ="XMLSHELLCTXT" href="libxml/libxml-debugxml.html#XMLSHELLCTXT">
<ANCHOR id ="XMLSHELLCTXTPTR" href="libxml/libxml-debugxml.html#XMLSHELLCTXTPTR"> <ANCHOR id ="XMLSHELLCTXTPTR" href="libxml/libxml-debugxml.html#XMLSHELLCTXTPTR">

View File

@ -122,7 +122,7 @@ NAME="LIBXML-CATALOG"
><DIV ><DIV
CLASS="REFNAMEDIV" CLASS="REFNAMEDIV"
><A ><A
NAME="AEN17484" NAME="AEN18337"
></A ></A
><H2 ><H2
>Name</H2 >Name</H2
@ -130,7 +130,7 @@ NAME="AEN17484"
><DIV ><DIV
CLASS="REFSYNOPSISDIV" CLASS="REFSYNOPSISDIV"
><A ><A
NAME="AEN17487" NAME="AEN18340"
></A ></A
><H2 ><H2
>Synopsis</H2 >Synopsis</H2
@ -152,7 +152,7 @@ HREF="libxml-catalog.html#XML-CATALOGS-NAMESPACE-CAPS"
int <A int <A
HREF="libxml-catalog.html#XMLLOADCATALOG" HREF="libxml-catalog.html#XMLLOADCATALOG"
>xmlLoadCatalog</A >xmlLoadCatalog</A
> (const char *URL); > (const char *filename);
void <A void <A
HREF="libxml-catalog.html#XMLLOADCATALOGS" HREF="libxml-catalog.html#XMLLOADCATALOGS"
>xmlLoadCatalogs</A >xmlLoadCatalogs</A
@ -195,7 +195,7 @@ HREF="libxml-tree.html#XMLCHAR"
><DIV ><DIV
CLASS="REFSECT1" CLASS="REFSECT1"
><A ><A
NAME="AEN17502" NAME="AEN18355"
></A ></A
><H2 ><H2
>Description</H2 >Description</H2
@ -205,14 +205,14 @@ NAME="AEN17502"
><DIV ><DIV
CLASS="REFSECT1" CLASS="REFSECT1"
><A ><A
NAME="AEN17505" NAME="AEN18358"
></A ></A
><H2 ><H2
>Details</H2 >Details</H2
><DIV ><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN17507" NAME="AEN18360"
></A ></A
><H3 ><H3
><A ><A
@ -233,14 +233,12 @@ CLASS="PROGRAMLISTING"
></TR ></TR
></TABLE ></TABLE
><P ><P
>The namespace for the XML Catalogs elements</P
><P
></P ></P
></DIV ></DIV
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN17513" NAME="AEN18365"
></A ></A
><H3 ><H3
><A ><A
@ -256,16 +254,21 @@ CELLPADDING="6"
><TD ><TD
><PRE ><PRE
CLASS="PROGRAMLISTING" CLASS="PROGRAMLISTING"
>int xmlLoadCatalog (const char *URL);</PRE >int xmlLoadCatalog (const char *filename);</PRE
></TD ></TD
></TR ></TR
></TABLE ></TABLE
><P ><P
>Load the catalog and makes its definitions effective for the default
external entity loader. It will recuse in CATALOG entries.
TODO: this function is not thread safe, catalog initialization should
be done once at startup</P
><P
></P ></P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN17518" NAME="AEN18371"
></A ></A
><P ><P
></P ></P
@ -285,14 +288,14 @@ VALIGN="TOP"
><TT ><TT
CLASS="PARAMETER" CLASS="PARAMETER"
><I ><I
>URL</I >filename</I
></TT ></TT
>&nbsp;:</TD >&nbsp;:</TD
><TD ><TD
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD > a file path</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -307,7 +310,7 @@ CLASS="EMPHASIS"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD >0 in case of success -1 in case of error</TD
></TR ></TR
></TBODY ></TBODY
></TABLE ></TABLE
@ -318,7 +321,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN17531" NAME="AEN18384"
></A ></A
><H3 ><H3
><A ><A
@ -339,11 +342,16 @@ CLASS="PROGRAMLISTING"
></TR ></TR
></TABLE ></TABLE
><P ><P
>Load the catalogs and makes their definitions effective for the default
external entity loader.
TODO: this function is not thread safe, catalog initialization should
be done once at startup</P
><P
></P ></P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN17536" NAME="AEN18390"
></A ></A
><P ><P
></P ></P
@ -370,7 +378,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD > a list of file path separated by ':' or spaces</TD
></TR ></TR
></TBODY ></TBODY
></TABLE ></TABLE
@ -381,7 +389,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN17545" NAME="AEN18399"
></A ></A
><H3 ><H3
><A ><A
@ -409,7 +417,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN17551" NAME="AEN18405"
></A ></A
><H3 ><H3
><A ><A
@ -439,7 +447,7 @@ HREF="FILE-CAPS"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN17558" NAME="AEN18412"
></A ></A
><P ><P
></P ></P
@ -477,7 +485,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN17567" NAME="AEN18421"
></A ></A
><H3 ><H3
><A ><A
@ -510,7 +518,7 @@ HREF="libxml-tree.html#XMLCHAR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN17575" NAME="AEN18429"
></A ></A
><P ><P
></P ></P
@ -563,7 +571,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN17588" NAME="AEN18442"
></A ></A
><H3 ><H3
><A ><A
@ -596,7 +604,7 @@ HREF="libxml-tree.html#XMLCHAR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN17596" NAME="AEN18450"
></A ></A
><P ><P
></P ></P

View File

@ -122,7 +122,7 @@ NAME="LIBXML-DEBUGXML"
><DIV ><DIV
CLASS="REFNAMEDIV" CLASS="REFNAMEDIV"
><A ><A
NAME="AEN21544" NAME="AEN22337"
></A ></A
><H2 ><H2
>Name</H2 >Name</H2
@ -130,7 +130,7 @@ NAME="AEN21544"
><DIV ><DIV
CLASS="REFSYNOPSISDIV" CLASS="REFSYNOPSISDIV"
><A ><A
NAME="AEN21547" NAME="AEN22340"
></A ></A
><H2 ><H2
>Synopsis</H2 >Synopsis</H2
@ -248,7 +248,7 @@ HREF="FILE-CAPS"
<A <A
HREF="libxml-tree.html#XMLDTDPTR" HREF="libxml-tree.html#XMLDTDPTR"
>xmlDtdPtr</A >xmlDtdPtr</A
> doc); > dtd);
void <A void <A
HREF="libxml-debugxml.html#XMLDEBUGDUMPENTITIES" HREF="libxml-debugxml.html#XMLDEBUGDUMPENTITIES"
>xmlDebugDumpEntities</A >xmlDebugDumpEntities</A
@ -260,17 +260,6 @@ HREF="FILE-CAPS"
HREF="libxml-tree.html#XMLDOCPTR" HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A >xmlDocPtr</A
> doc); > doc);
void <A
HREF="libxml-debugxml.html#XMLLSONENODE"
>xmlLsOneNode</A
> (<GTKDOCLINK
HREF="FILE-CAPS"
>FILE</GTKDOCLINK
> *output,
<A
HREF="libxml-tree.html#XMLNODEPTR"
>xmlNodePtr</A
> node);
char* (<A char* (<A
HREF="libxml-debugxml.html#XMLSHELLREADLINEFUNC" HREF="libxml-debugxml.html#XMLSHELLREADLINEFUNC"
>*xmlShellReadlineFunc</A >*xmlShellReadlineFunc</A
@ -322,7 +311,7 @@ HREF="FILE-CAPS"
><DIV ><DIV
CLASS="REFSECT1" CLASS="REFSECT1"
><A ><A
NAME="AEN21594" NAME="AEN22384"
></A ></A
><H2 ><H2
>Description</H2 >Description</H2
@ -332,14 +321,14 @@ NAME="AEN21594"
><DIV ><DIV
CLASS="REFSECT1" CLASS="REFSECT1"
><A ><A
NAME="AEN21597" NAME="AEN22387"
></A ></A
><H2 ><H2
>Details</H2 >Details</H2
><DIV ><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN21599" NAME="AEN22389"
></A ></A
><H3 ><H3
><A ><A
@ -367,11 +356,13 @@ HREF="libxml-tree.html#XMLCHAR"
></TR ></TR
></TABLE ></TABLE
><P ><P
>Dumps informations about the string, shorten it if necessary</P
><P
></P ></P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN21606" NAME="AEN22397"
></A ></A
><P ><P
></P ></P
@ -398,7 +389,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD > the FILE * for the output</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -415,7 +406,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD > the string</TD
></TR ></TR
></TBODY ></TBODY
></TABLE ></TABLE
@ -426,7 +417,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN21619" NAME="AEN22410"
></A ></A
><H3 ><H3
><A ><A
@ -455,11 +446,13 @@ HREF="libxml-tree.html#XMLATTRPTR"
></TR ></TR
></TABLE ></TABLE
><P ><P
>Dumps debug information for the attribute</P
><P
></P ></P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN21626" NAME="AEN22418"
></A ></A
><P ><P
></P ></P
@ -486,7 +479,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD > the FILE * for the output</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -503,7 +496,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD > the attribute</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -520,7 +513,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD > the indentation level.</TD
></TR ></TR
></TBODY ></TBODY
></TABLE ></TABLE
@ -531,7 +524,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN21643" NAME="AEN22435"
></A ></A
><H3 ><H3
><A ><A
@ -560,11 +553,13 @@ HREF="libxml-tree.html#XMLATTRPTR"
></TR ></TR
></TABLE ></TABLE
><P ><P
>Dumps debug information for the attribute list</P
><P
></P ></P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN21650" NAME="AEN22443"
></A ></A
><P ><P
></P ></P
@ -591,7 +586,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD > the FILE * for the output</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -608,7 +603,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD > the attribute list</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -625,7 +620,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD > the indentation level.</TD
></TR ></TR
></TBODY ></TBODY
></TABLE ></TABLE
@ -636,7 +631,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN21667" NAME="AEN22460"
></A ></A
><H3 ><H3
><A ><A
@ -665,11 +660,13 @@ HREF="libxml-tree.html#XMLNODEPTR"
></TR ></TR
></TABLE ></TABLE
><P ><P
>Dumps debug information for the element node, it is not recursive</P
><P
></P ></P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN21674" NAME="AEN22468"
></A ></A
><P ><P
></P ></P
@ -696,7 +693,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD > the FILE * for the output</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -713,7 +710,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD > the node</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -730,7 +727,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD > the indentation level.</TD
></TR ></TR
></TBODY ></TBODY
></TABLE ></TABLE
@ -741,7 +738,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN21691" NAME="AEN22485"
></A ></A
><H3 ><H3
><A ><A
@ -770,11 +767,13 @@ HREF="libxml-tree.html#XMLNODEPTR"
></TR ></TR
></TABLE ></TABLE
><P ><P
>Dumps debug information for the element node, it is recursive</P
><P
></P ></P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN21698" NAME="AEN22493"
></A ></A
><P ><P
></P ></P
@ -801,7 +800,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD > the FILE * for the output</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -818,7 +817,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD > the node</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -835,7 +834,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD > the indentation level.</TD
></TR ></TR
></TBODY ></TBODY
></TABLE ></TABLE
@ -846,7 +845,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN21715" NAME="AEN22510"
></A ></A
><H3 ><H3
><A ><A
@ -875,11 +874,13 @@ HREF="libxml-tree.html#XMLNODEPTR"
></TR ></TR
></TABLE ></TABLE
><P ><P
>Dumps debug information for the list of element node, it is recursive</P
><P
></P ></P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN21722" NAME="AEN22518"
></A ></A
><P ><P
></P ></P
@ -906,7 +907,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD > the FILE * for the output</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -923,7 +924,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD > the node list</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -940,7 +941,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD > the indentation level.</TD
></TR ></TR
></TBODY ></TBODY
></TABLE ></TABLE
@ -951,7 +952,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN21739" NAME="AEN22535"
></A ></A
><H3 ><H3
><A ><A
@ -979,11 +980,13 @@ HREF="libxml-tree.html#XMLDOCPTR"
></TR ></TR
></TABLE ></TABLE
><P ><P
>Dumps debug information cncerning the document, not recursive</P
><P
></P ></P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN21746" NAME="AEN22543"
></A ></A
><P ><P
></P ></P
@ -1010,7 +1013,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD > the FILE * for the output</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -1027,7 +1030,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD > the document</TD
></TR ></TR
></TBODY ></TBODY
></TABLE ></TABLE
@ -1038,7 +1041,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN21759" NAME="AEN22556"
></A ></A
><H3 ><H3
><A ><A
@ -1066,11 +1069,13 @@ HREF="libxml-tree.html#XMLDOCPTR"
></TR ></TR
></TABLE ></TABLE
><P ><P
>Dumps debug information for the document, it's recursive</P
><P
></P ></P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN21766" NAME="AEN22564"
></A ></A
><P ><P
></P ></P
@ -1097,7 +1102,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD > the FILE * for the output</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -1114,7 +1119,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD > the document</TD
></TR ></TR
></TBODY ></TBODY
></TABLE ></TABLE
@ -1125,7 +1130,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN21779" NAME="AEN22577"
></A ></A
><H3 ><H3
><A ><A
@ -1148,16 +1153,18 @@ HREF="FILE-CAPS"
<A <A
HREF="libxml-tree.html#XMLDTDPTR" HREF="libxml-tree.html#XMLDTDPTR"
>xmlDtdPtr</A >xmlDtdPtr</A
> doc);</PRE > dtd);</PRE
></TD ></TD
></TR ></TR
></TABLE ></TABLE
><P ><P
>Dumps debug information for the DTD</P
><P
></P ></P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN21786" NAME="AEN22585"
></A ></A
><P ><P
></P ></P
@ -1184,7 +1191,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD > the FILE * for the output</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -1194,14 +1201,14 @@ VALIGN="TOP"
><TT ><TT
CLASS="PARAMETER" CLASS="PARAMETER"
><I ><I
>doc</I >dtd</I
></TT ></TT
>&nbsp;:</TD >&nbsp;:</TD
><TD ><TD
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD > the DTD</TD
></TR ></TR
></TBODY ></TBODY
></TABLE ></TABLE
@ -1212,7 +1219,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN21799" NAME="AEN22598"
></A ></A
><H3 ><H3
><A ><A
@ -1240,11 +1247,13 @@ HREF="libxml-tree.html#XMLDOCPTR"
></TR ></TR
></TABLE ></TABLE
><P ><P
>Dumps debug information for all the entities in use by the document</P
><P
></P ></P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN21806" NAME="AEN22606"
></A ></A
><P ><P
></P ></P
@ -1271,7 +1280,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD > the FILE * for the output</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -1288,7 +1297,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD > the document</TD
></TR ></TR
></TBODY ></TBODY
></TABLE ></TABLE
@ -1299,94 +1308,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN21819" NAME="AEN22619"
></A
><H3
><A
NAME="XMLLSONENODE"
></A
>xmlLsOneNode ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void xmlLsOneNode (<GTKDOCLINK
HREF="FILE-CAPS"
>FILE</GTKDOCLINK
> *output,
<A
HREF="libxml-tree.html#XMLNODEPTR"
>xmlNodePtr</A
> node);</PRE
></TD
></TR
></TABLE
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN21826"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>output</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>&nbsp;</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>node</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>&nbsp;</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN21839"
></A ></A
><H3 ><H3
><A ><A
@ -1407,13 +1329,11 @@ CLASS="PROGRAMLISTING"
></TR ></TR
></TABLE ></TABLE
><P ><P
>This is a generic signature for the XML shell input function</P
><P
></P ></P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN21845" NAME="AEN22624"
></A ></A
><P ><P
></P ></P
@ -1440,7 +1360,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> a string prompt</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -1455,7 +1375,7 @@ CLASS="EMPHASIS"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>a string which will be freed by the Shell</TD >&nbsp;</TD
></TR ></TR
></TBODY ></TBODY
></TABLE ></TABLE
@ -1466,7 +1386,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN21858" NAME="AEN22637"
></A ></A
><H3 ><H3
><A ><A
@ -1495,15 +1415,12 @@ CLASS="PROGRAMLISTING"
></TR ></TR
></TABLE ></TABLE
><P ><P
>A debugging shell context
TODO: add the defined function tables.</P
><P
></P ></P
></DIV ></DIV
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN21864" NAME="AEN22642"
></A ></A
><H3 ><H3
><A ><A
@ -1529,7 +1446,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN21869" NAME="AEN22647"
></A ></A
><H3 ><H3
><A ><A
@ -1562,13 +1479,11 @@ HREF="libxml-tree.html#XMLNODEPTR"
></TR ></TR
></TABLE ></TABLE
><P ><P
>This is a generic signature for the XML shell functions</P
><P
></P ></P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN21878" NAME="AEN22655"
></A ></A
><P ><P
></P ></P
@ -1595,7 +1510,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> a shell context</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -1612,7 +1527,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> a string argument</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -1629,7 +1544,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> a first node</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -1646,7 +1561,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> a second node</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -1661,7 +1576,7 @@ CLASS="EMPHASIS"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>an int, negative returns indicating errors</TD >&nbsp;</TD
></TR ></TR
></TBODY ></TBODY
></TABLE ></TABLE
@ -1672,7 +1587,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN21903" NAME="AEN22680"
></A ></A
><H3 ><H3
><A ><A
@ -1713,7 +1628,7 @@ using a environment similar to a UNIX commandline.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN21912" NAME="AEN22689"
></A ></A
><P ><P
></P ></P

View File

@ -122,7 +122,7 @@ NAME="LIBXML-DOCBPARSER"
><DIV ><DIV
CLASS="REFNAMEDIV" CLASS="REFNAMEDIV"
><A ><A
NAME="AEN17614" NAME="AEN18468"
></A ></A
><H2 ><H2
>Name</H2 >Name</H2
@ -130,7 +130,7 @@ NAME="AEN17614"
><DIV ><DIV
CLASS="REFSYNOPSISDIV" CLASS="REFSYNOPSISDIV"
><A ><A
NAME="AEN17617" NAME="AEN18471"
></A ></A
><H2 ><H2
>Synopsis</H2 >Synopsis</H2
@ -294,7 +294,7 @@ HREF="libxml-docbparser.html#DOCBPARSERCTXTPTR"
><DIV ><DIV
CLASS="REFSECT1" CLASS="REFSECT1"
><A ><A
NAME="AEN17654" NAME="AEN18508"
></A ></A
><H2 ><H2
>Description</H2 >Description</H2
@ -304,14 +304,14 @@ NAME="AEN17654"
><DIV ><DIV
CLASS="REFSECT1" CLASS="REFSECT1"
><A ><A
NAME="AEN17657" NAME="AEN18511"
></A ></A
><H2 ><H2
>Details</H2 >Details</H2
><DIV ><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN17659" NAME="AEN18513"
></A ></A
><H3 ><H3
><A ><A
@ -337,7 +337,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN17664" NAME="AEN18518"
></A ></A
><H3 ><H3
><A ><A
@ -363,7 +363,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN17669" NAME="AEN18523"
></A ></A
><H3 ><H3
><A ><A
@ -389,7 +389,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN17674" NAME="AEN18528"
></A ></A
><H3 ><H3
><A ><A
@ -415,7 +415,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN17679" NAME="AEN18533"
></A ></A
><H3 ><H3
><A ><A
@ -441,7 +441,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN17684" NAME="AEN18538"
></A ></A
><H3 ><H3
><A ><A
@ -467,7 +467,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN17689" NAME="AEN18543"
></A ></A
><H3 ><H3
><A ><A
@ -493,7 +493,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN17694" NAME="AEN18548"
></A ></A
><H3 ><H3
><A ><A
@ -519,7 +519,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN17699" NAME="AEN18553"
></A ></A
><H3 ><H3
><A ><A
@ -545,7 +545,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN17704" NAME="AEN18558"
></A ></A
><H3 ><H3
><A ><A
@ -577,7 +577,7 @@ plus SGML entities block of chars out.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN17710" NAME="AEN18564"
></A ></A
><P ><P
></P ></P
@ -721,7 +721,7 @@ CLASS="PARAMETER"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN17743" NAME="AEN18597"
></A ></A
><H3 ><H3
><A ><A
@ -762,7 +762,7 @@ If sax is NULL, fallback to the default DOM tree building routines.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN17752" NAME="AEN18606"
></A ></A
><P ><P
></P ></P
@ -866,7 +866,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN17777" NAME="AEN18631"
></A ></A
><H3 ><H3
><A ><A
@ -900,7 +900,7 @@ HREF="libxml-tree.html#XMLCHAR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN17785" NAME="AEN18639"
></A ></A
><P ><P
></P ></P
@ -970,7 +970,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN17802" NAME="AEN18656"
></A ></A
><H3 ><H3
><A ><A
@ -1009,7 +1009,7 @@ If sax is NULL, fallback to the default DOM tree building routines.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN17810" NAME="AEN18664"
></A ></A
><P ><P
></P ></P
@ -1113,7 +1113,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN17835" NAME="AEN18689"
></A ></A
><H3 ><H3
><A ><A
@ -1146,7 +1146,7 @@ at compile-time.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN17842" NAME="AEN18696"
></A ></A
><P ><P
></P ></P
@ -1216,7 +1216,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN17859" NAME="AEN18713"
></A ></A
><H3 ><H3
><A ><A
@ -1247,7 +1247,7 @@ document in ctxt-&gt;myDoc is not freed.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN17866" NAME="AEN18720"
></A ></A
><P ><P
></P ></P
@ -1285,7 +1285,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN17875" NAME="AEN18729"
></A ></A
><H3 ><H3
><A ><A
@ -1339,7 +1339,7 @@ and error/warning reports.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN17886" NAME="AEN18740"
></A ></A
><P ><P
></P ></P
@ -1477,7 +1477,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN17919" NAME="AEN18773"
></A ></A
><H3 ><H3
><A ><A
@ -1510,7 +1510,7 @@ HREF="libxml-docbparser.html#DOCBPARSERCTXTPTR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN17926" NAME="AEN18780"
></A ></A
><P ><P
></P ></P
@ -1614,7 +1614,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN17951" NAME="AEN18805"
></A ></A
><H3 ><H3
><A ><A
@ -1647,7 +1647,7 @@ by default if found at compile-time.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN17958" NAME="AEN18812"
></A ></A
><P ><P
></P ></P
@ -1717,7 +1717,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN17975" NAME="AEN18829"
></A ></A
><H3 ><H3
><A ><A
@ -1748,7 +1748,7 @@ interface).</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN17982" NAME="AEN18836"
></A ></A
><P ><P
></P ></P

View File

@ -122,7 +122,7 @@ NAME="LIBXML-ENCODING"
><DIV ><DIV
CLASS="REFNAMEDIV" CLASS="REFNAMEDIV"
><A ><A
NAME="AEN20826" NAME="AEN21633"
></A ></A
><H2 ><H2
>Name</H2 >Name</H2
@ -130,7 +130,7 @@ NAME="AEN20826"
><DIV ><DIV
CLASS="REFSYNOPSISDIV" CLASS="REFSYNOPSISDIV"
><A ><A
NAME="AEN20829" NAME="AEN21636"
></A ></A
><H2 ><H2
>Synopsis</H2 >Synopsis</H2
@ -381,7 +381,7 @@ HREF="libxml-tree.html#XMLCHAR"
><DIV ><DIV
CLASS="REFSECT1" CLASS="REFSECT1"
><A ><A
NAME="AEN20889" NAME="AEN21696"
></A ></A
><H2 ><H2
>Description</H2 >Description</H2
@ -391,14 +391,14 @@ NAME="AEN20889"
><DIV ><DIV
CLASS="REFSECT1" CLASS="REFSECT1"
><A ><A
NAME="AEN20892" NAME="AEN21699"
></A ></A
><H2 ><H2
>Details</H2 >Details</H2
><DIV ><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN20894" NAME="AEN21701"
></A ></A
><H3 ><H3
><A ><A
@ -444,27 +444,12 @@ CLASS="PROGRAMLISTING"
></TR ></TR
></TABLE ></TABLE
><P ><P
>Predefined values for some standard encodings
Libxml don't do beforehand translation on UTF8, ISOLatinX
It also support UTF16 (LE and BE) by default.</P
><P
>Anything else would have to be translated to UTF8 before being
given to the parser itself. The BOM for UTF16 and the encoding
declaration are looked at and a converter is looked for at that
point. If not found the parser stops here as asked by the XML REC
Converter can be registered by the user using xmlRegisterCharEncodingHandler
but the currentl form doesn't allow stateful transcoding (a serious
problem agreed !). If iconv has been found it will be used
automatically and allow stateful transcoding, the simplest is then
to be sure to enable icon and to provide iconv libs for the encoding
support needed.</P
><P
></P ></P
></DIV ></DIV
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN20901" NAME="AEN21706"
></A ></A
><H3 ><H3
><A ><A
@ -488,14 +473,11 @@ CLASS="PROGRAMLISTING"
></TR ></TR
></TABLE ></TABLE
><P ><P
>Take a block of chars in the original encoding and try to convert
it to an UTF-8 block of chars out.</P
><P
></P ></P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN20907" NAME="AEN21711"
></A ></A
><P ><P
></P ></P
@ -522,7 +504,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> a pointer ot an array of bytes to store the UTF-8 result</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -539,12 +521,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the lenght of <TT >&nbsp;</TD
CLASS="PARAMETER"
><I
>out</I
></TT
></TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -561,7 +538,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> a pointer ot an array of chars in the original encoding</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -578,12 +555,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the lenght of <TT >&nbsp;</TD
CLASS="PARAMETER"
><I
>in</I
></TT
></TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -598,21 +570,7 @@ CLASS="EMPHASIS"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>the number of byte written, or -1 by lack of space, or -2 >&nbsp;</TD
if the transcoding failed.
The value of <TT
CLASS="PARAMETER"
><I
>inlen</I
></TT
> after return is the number of octets consumed
as the return value is positive, else unpredictiable.
The value of <TT
CLASS="PARAMETER"
><I
>outlen</I
></TT
> after return is the number of ocetes consumed.</TD
></TR ></TR
></TBODY ></TBODY
></TABLE ></TABLE
@ -623,7 +581,7 @@ CLASS="PARAMETER"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN20936" NAME="AEN21736"
></A ></A
><H3 ><H3
><A ><A
@ -647,16 +605,11 @@ CLASS="PROGRAMLISTING"
></TR ></TR
></TABLE ></TABLE
><P ><P
>Take a block of UTF-8 chars in and try to convert it to an other
encoding.
Note: a first call designed to produce heading info is called with
in = NULL. If stateful this should also initialize the encoder state</P
><P
></P ></P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN20942" NAME="AEN21741"
></A ></A
><P ><P
></P ></P
@ -683,7 +636,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> a pointer ot an array of bytes to store the result</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -700,12 +653,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the lenght of <TT >&nbsp;</TD
CLASS="PARAMETER"
><I
>out</I
></TT
></TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -722,7 +670,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> a pointer ot an array of UTF-8 chars</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -739,12 +687,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the lenght of <TT >&nbsp;</TD
CLASS="PARAMETER"
><I
>in</I
></TT
></TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -759,21 +702,7 @@ CLASS="EMPHASIS"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>the number of byte written, or -1 by lack of space, or -2 >&nbsp;</TD
if the transcoding failed.
The value of <TT
CLASS="PARAMETER"
><I
>inlen</I
></TT
> after return is the number of octets consumed
as the return value is positive, else unpredictiable.
The value of <TT
CLASS="PARAMETER"
><I
>outlen</I
></TT
> after return is the number of ocetes consumed.</TD
></TR ></TR
></TBODY ></TBODY
></TABLE ></TABLE
@ -784,7 +713,7 @@ CLASS="PARAMETER"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN20971" NAME="AEN21766"
></A ></A
><H3 ><H3
><A ><A
@ -818,7 +747,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN20976" NAME="AEN21771"
></A ></A
><H3 ><H3
><A ><A
@ -844,7 +773,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN20981" NAME="AEN21776"
></A ></A
><H3 ><H3
><A ><A
@ -875,7 +804,7 @@ in normal processing.</P
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN20987" NAME="AEN21782"
></A ></A
><H3 ><H3
><A ><A
@ -904,7 +833,7 @@ unregisters all the encoding handlers and the aliases.</P
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN20993" NAME="AEN21788"
></A ></A
><H3 ><H3
><A ><A
@ -934,7 +863,7 @@ HREF="libxml-encoding.html#XMLCHARENCODINGHANDLERPTR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN21000" NAME="AEN21795"
></A ></A
><P ><P
></P ></P
@ -972,7 +901,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN21009" NAME="AEN21804"
></A ></A
><H3 ><H3
><A ><A
@ -1006,7 +935,7 @@ HREF="libxml-encoding.html#XMLCHARENCODING"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN21017" NAME="AEN21812"
></A ></A
><P ><P
></P ></P
@ -1033,6 +962,90 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> an xmlCharEncoding value.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><I
CLASS="EMPHASIS"
>Returns</I
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the handler or NULL if not found</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN21825"
></A
><H3
><A
NAME="XMLFINDCHARENCODINGHANDLER"
></A
>xmlFindCharEncodingHandler ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-encoding.html#XMLCHARENCODINGHANDLERPTR"
>xmlCharEncodingHandlerPtr</A
> xmlFindCharEncodingHandler
(const char *name);</PRE
></TD
></TR
></TABLE
><P
>Search in the registrered set the handler able to read/write that encoding.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN21832"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>name</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a string describing the char encoding.</TD > a string describing the char encoding.</TD
></TR ></TR
><TR ><TR
@ -1059,89 +1072,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN21030" NAME="AEN21845"
></A
><H3
><A
NAME="XMLFINDCHARENCODINGHANDLER"
></A
>xmlFindCharEncodingHandler ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-encoding.html#XMLCHARENCODINGHANDLERPTR"
>xmlCharEncodingHandlerPtr</A
> xmlFindCharEncodingHandler
(const char *name);</PRE
></TD
></TR
></TABLE
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN21036"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>name</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>&nbsp;</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><I
CLASS="EMPHASIS"
>Returns</I
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>&nbsp;</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN21049"
></A ></A
><H3 ><H3
><A ><A
@ -1180,7 +1111,7 @@ will be overwritten.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN21057" NAME="AEN21853"
></A ></A
><P ><P
></P ></P
@ -1250,7 +1181,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN21074" NAME="AEN21870"
></A ></A
><H3 ><H3
><A ><A
@ -1282,7 +1213,7 @@ CLASS="PARAMETER"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN21081" NAME="AEN21877"
></A ></A
><P ><P
></P ></P
@ -1335,7 +1266,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN21094" NAME="AEN21890"
></A ></A
><H3 ><H3
><A ><A
@ -1362,7 +1293,7 @@ CLASS="PROGRAMLISTING"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN21100" NAME="AEN21896"
></A ></A
><P ><P
></P ></P
@ -1415,7 +1346,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN21113" NAME="AEN21909"
></A ></A
><H3 ><H3
><A ><A
@ -1443,7 +1374,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN21119" NAME="AEN21915"
></A ></A
><H3 ><H3
><A ><A
@ -1475,7 +1406,7 @@ that the comparison is case insensitive accordingly to the section
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN21126" NAME="AEN21922"
></A ></A
><P ><P
></P ></P
@ -1529,7 +1460,7 @@ if not recognized.</TD
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN21139" NAME="AEN21935"
></A ></A
><H3 ><H3
><A ><A
@ -1564,7 +1495,7 @@ Section 4.3.3 Character Encoding in Entities</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN21147" NAME="AEN21943"
></A ></A
><P ><P
></P ></P
@ -1617,7 +1548,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN21160" NAME="AEN21956"
></A ></A
><H3 ><H3
><A ><A
@ -1649,7 +1580,7 @@ accordingly of the non-normative appendix F of the XML-1.0 recommendation.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN21167" NAME="AEN21963"
></A ></A
><P ><P
></P ></P
@ -1720,7 +1651,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN21184" NAME="AEN21980"
></A ></A
><H3 ><H3
><A ><A
@ -1768,7 +1699,7 @@ the content will be automatically remapped to a CharRef sequence.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN21194" NAME="AEN21990"
></A ></A
><P ><P
></P ></P
@ -1858,7 +1789,7 @@ the result of transformation can't fit into the encoding we want), or</TD
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN21215" NAME="AEN22011"
></A ></A
><H3 ><H3
><A ><A
@ -1896,7 +1827,7 @@ HREF="libxml-tree.html#XMLBUFFERPTR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN21224" NAME="AEN22020"
></A ></A
><P ><P
></P ></P
@ -1986,7 +1917,7 @@ the result of transformation can't fit into the encoding we want), or</TD
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN21245" NAME="AEN22041"
></A ></A
><H3 ><H3
><A ><A
@ -2025,7 +1956,7 @@ the very first line, i.e. limit itself to 45 chars.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN21254" NAME="AEN22050"
></A ></A
><P ><P
></P ></P
@ -2115,7 +2046,7 @@ the result of transformation can't fit into the encoding we want), or</TD
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN21275" NAME="AEN22071"
></A ></A
><H3 ><H3
><A ><A
@ -2145,7 +2076,7 @@ HREF="libxml-encoding.html#XMLCHARENCODINGHANDLER"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN21282" NAME="AEN22078"
></A ></A
><P ><P
></P ></P
@ -2198,7 +2129,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN21295" NAME="AEN22091"
></A ></A
><H3 ><H3
><A ><A
@ -2229,7 +2160,7 @@ block of chars out.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN21301" NAME="AEN22097"
></A ></A
><P ><P
></P ></P
@ -2356,7 +2287,7 @@ CLASS="PARAMETER"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN21330" NAME="AEN22126"
></A ></A
><H3 ><H3
><A ><A
@ -2387,7 +2318,7 @@ block of chars out.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN21336" NAME="AEN22132"
></A ></A
><P ><P
></P ></P
@ -2514,7 +2445,7 @@ CLASS="PARAMETER"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN21365" NAME="AEN22161"
></A ></A
><H3 ><H3
><A ><A
@ -2556,7 +2487,7 @@ routine checks for the 4-byte maxiumum size, but does not check for
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN21373" NAME="AEN22169"
></A ></A
><P ><P
></P ></P
@ -2614,7 +2545,7 @@ CLASS="PARAMETER"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN21387" NAME="AEN22183"
></A ></A
><H3 ><H3
><A ><A
@ -2645,7 +2576,7 @@ HREF="libxml-tree.html#XMLCHAR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN21394" NAME="AEN22190"
></A ></A
><P ><P
></P ></P
@ -2716,7 +2647,7 @@ the first 'len' characters of ARRAY&#13;</TD
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN21411" NAME="AEN22207"
></A ></A
><H3 ><H3
><A ><A
@ -2750,7 +2681,7 @@ HREF="libxml-tree.html#XMLCHAR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN21419" NAME="AEN22215"
></A ></A
><P ><P
></P ></P
@ -2825,7 +2756,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN21437" NAME="AEN22233"
></A ></A
><H3 ><H3
><A ><A
@ -2860,7 +2791,7 @@ character from a string array</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN21445" NAME="AEN22241"
></A ></A
><P ><P
></P ></P
@ -2930,7 +2861,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN21462" NAME="AEN22258"
></A ></A
><H3 ><H3
><A ><A
@ -2964,7 +2895,7 @@ HREF="libxml-tree.html#XMLCHAR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN21470" NAME="AEN22266"
></A ></A
><P ><P
></P ></P
@ -3035,7 +2966,7 @@ or -1 if not found</TD
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN21487" NAME="AEN22283"
></A ></A
><H3 ><H3
><A ><A
@ -3064,26 +2995,13 @@ HREF="libxml-tree.html#XMLCHAR"
></TR ></TR
></TABLE ></TABLE
><P ><P
><TT
CLASS="PARAMETER"
><I
>start</I
></TT
>: relative pos of first char
<TT
CLASS="PARAMETER"
><I
>len</I
></TT
>: total number to copy</P
><P
>Note: positions are given in units of UTF-8 chars</P >Note: positions are given in units of UTF-8 chars</P
><P ><P
></P ></P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN21498" NAME="AEN22291"
></A ></A
><P ><P
></P ></P
@ -3127,7 +3045,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD > relative pos of first char</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -3144,7 +3062,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD > total number to copy</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -3171,7 +3089,7 @@ or NULL if any problem</TD
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN21519" NAME="AEN22312"
></A ></A
><H3 ><H3
><A ><A
@ -3202,7 +3120,7 @@ checking of the content of the string.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN21526" NAME="AEN22319"
></A ></A
><P ><P
></P ></P

View File

@ -122,7 +122,7 @@ NAME="LIBXML-ENTITIES"
><DIV ><DIV
CLASS="REFNAMEDIV" CLASS="REFNAMEDIV"
><A ><A
NAME="AEN7482" NAME="AEN7475"
></A ></A
><H2 ><H2
>Name</H2 >Name</H2
@ -130,7 +130,7 @@ NAME="AEN7482"
><DIV ><DIV
CLASS="REFSYNOPSISDIV" CLASS="REFSYNOPSISDIV"
><A ><A
NAME="AEN7485" NAME="AEN7478"
></A ></A
><H2 ><H2
>Synopsis</H2 >Synopsis</H2
@ -370,7 +370,7 @@ HREF="libxml-entities.html#XMLCLEANUPPREDEFINEDENTITIES"
><DIV ><DIV
CLASS="REFSECT1" CLASS="REFSECT1"
><A ><A
NAME="AEN7548" NAME="AEN7541"
></A ></A
><H2 ><H2
>Description</H2 >Description</H2
@ -380,14 +380,14 @@ NAME="AEN7548"
><DIV ><DIV
CLASS="REFSECT1" CLASS="REFSECT1"
><A ><A
NAME="AEN7551" NAME="AEN7544"
></A ></A
><H2 ><H2
>Details</H2 >Details</H2
><DIV ><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN7553" NAME="AEN7546"
></A ></A
><H3 ><H3
><A ><A
@ -420,7 +420,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN7558" NAME="AEN7551"
></A ></A
><H3 ><H3
><A ><A
@ -466,7 +466,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN7563" NAME="AEN7556"
></A ></A
><H3 ><H3
><A ><A
@ -492,7 +492,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN7568" NAME="AEN7561"
></A ></A
><H3 ><H3
><A ><A
@ -518,7 +518,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN7573" NAME="AEN7566"
></A ></A
><H3 ><H3
><A ><A
@ -546,7 +546,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN7579" NAME="AEN7572"
></A ></A
><H3 ><H3
><A ><A
@ -596,7 +596,7 @@ HREF="libxml-tree.html#XMLCHAR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN7591" NAME="AEN7584"
></A ></A
><P ><P
></P ></P
@ -734,7 +734,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN7624" NAME="AEN7617"
></A ></A
><H3 ><H3
><A ><A
@ -784,7 +784,7 @@ HREF="libxml-tree.html#XMLCHAR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN7636" NAME="AEN7629"
></A ></A
><P ><P
></P ></P
@ -922,7 +922,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN7669" NAME="AEN7662"
></A ></A
><H3 ><H3
><A ><A
@ -955,7 +955,7 @@ HREF="libxml-tree.html#XMLCHAR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN7677" NAME="AEN7670"
></A ></A
><P ><P
></P ></P
@ -1008,7 +1008,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN7690" NAME="AEN7683"
></A ></A
><H3 ><H3
><A ><A
@ -1047,7 +1047,7 @@ in the predefined entities too.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN7699" NAME="AEN7692"
></A ></A
><P ><P
></P ></P
@ -1117,7 +1117,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN7716" NAME="AEN7709"
></A ></A
><H3 ><H3
><A ><A
@ -1155,7 +1155,7 @@ returns the corresponding entity, if found.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN7725" NAME="AEN7718"
></A ></A
><P ><P
></P ></P
@ -1225,7 +1225,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN7742" NAME="AEN7735"
></A ></A
><H3 ><H3
><A ><A
@ -1263,7 +1263,7 @@ returns the corresponding parameter entity, if found.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN7751" NAME="AEN7744"
></A ></A
><P ><P
></P ></P
@ -1333,7 +1333,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN7768" NAME="AEN7761"
></A ></A
><H3 ><H3
><A ><A
@ -1377,7 +1377,7 @@ This routine will issue a warning when encountered.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN7779" NAME="AEN7772"
></A ></A
><P ><P
></P ></P
@ -1447,7 +1447,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN7796" NAME="AEN7789"
></A ></A
><H3 ><H3
><A ><A
@ -1487,7 +1487,7 @@ must be deallocated.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN7805" NAME="AEN7798"
></A ></A
><P ><P
></P ></P
@ -1557,7 +1557,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN7822" NAME="AEN7815"
></A ></A
><H3 ><H3
><A ><A
@ -1595,7 +1595,7 @@ this routine is reentrant, and result must be deallocated.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN7831" NAME="AEN7824"
></A ></A
><P ><P
></P ></P
@ -1665,7 +1665,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN7848" NAME="AEN7841"
></A ></A
><H3 ><H3
><A ><A
@ -1695,7 +1695,7 @@ HREF="libxml-entities.html#XMLENTITIESTABLEPTR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN7855" NAME="AEN7848"
></A ></A
><P ><P
></P ></P
@ -1731,7 +1731,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN7864" NAME="AEN7857"
></A ></A
><H3 ><H3
><A ><A
@ -1764,7 +1764,7 @@ HREF="libxml-entities.html#XMLENTITIESTABLEPTR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN7872" NAME="AEN7865"
></A ></A
><P ><P
></P ></P
@ -1817,7 +1817,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN7885" NAME="AEN7878"
></A ></A
><H3 ><H3
><A ><A
@ -1847,7 +1847,7 @@ HREF="libxml-entities.html#XMLENTITIESTABLEPTR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN7892" NAME="AEN7885"
></A ></A
><P ><P
></P ></P
@ -1885,7 +1885,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN7901" NAME="AEN7894"
></A ></A
><H3 ><H3
><A ><A
@ -1919,7 +1919,7 @@ HREF="libxml-entities.html#XMLENTITIESTABLEPTR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN7909" NAME="AEN7902"
></A ></A
><P ><P
></P ></P
@ -1974,7 +1974,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN7922" NAME="AEN7915"
></A ></A
><H3 ><H3
><A ><A
@ -2008,7 +2008,7 @@ HREF="libxml-entities.html#XMLENTITYPTR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN7930" NAME="AEN7923"
></A ></A
><P ><P
></P ></P
@ -2063,7 +2063,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN7943" NAME="AEN7936"
></A ></A
><H3 ><H3
><A ><A

View File

@ -122,7 +122,7 @@ NAME="LIBXML-HTMLPARSER"
><DIV ><DIV
CLASS="REFNAMEDIV" CLASS="REFNAMEDIV"
><A ><A
NAME="AEN10243" NAME="AEN10190"
></A ></A
><H2 ><H2
>Name</H2 >Name</H2
@ -130,7 +130,7 @@ NAME="AEN10243"
><DIV ><DIV
CLASS="REFSYNOPSISDIV" CLASS="REFSYNOPSISDIV"
><A ><A
NAME="AEN10246" NAME="AEN10193"
></A ></A
><H2 ><H2
>Synopsis</H2 >Synopsis</H2
@ -197,7 +197,7 @@ typedef <A
HREF="libxml-htmlparser.html#HTMLENTITYDESCPTR" HREF="libxml-htmlparser.html#HTMLENTITYDESCPTR"
>htmlEntityDescPtr</A >htmlEntityDescPtr</A
>; >;
<A const <A
HREF="libxml-htmlparser.html#HTMLELEMDESCPTR" HREF="libxml-htmlparser.html#HTMLELEMDESCPTR"
>htmlElemDescPtr</A >htmlElemDescPtr</A
> <A > <A
@ -207,7 +207,7 @@ HREF="libxml-htmlparser.html#HTMLTAGLOOKUP"
HREF="libxml-tree.html#XMLCHAR" HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A >xmlChar</A
> *tag); > *tag);
<A const <A
HREF="libxml-htmlparser.html#HTMLENTITYDESCPTR" HREF="libxml-htmlparser.html#HTMLENTITYDESCPTR"
>htmlEntityDescPtr</A >htmlEntityDescPtr</A
> <A > <A
@ -217,13 +217,14 @@ HREF="libxml-htmlparser.html#HTMLENTITYLOOKUP"
HREF="libxml-tree.html#XMLCHAR" HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A >xmlChar</A
> *name); > *name);
<A const <A
HREF="libxml-htmlparser.html#HTMLENTITYDESCPTR" HREF="libxml-htmlparser.html#HTMLENTITYDESCPTR"
>htmlEntityDescPtr</A >htmlEntityDescPtr</A
> <A > <A
HREF="libxml-htmlparser.html#HTMLENTITYVALUELOOKUP" HREF="libxml-htmlparser.html#HTMLENTITYVALUELOOKUP"
>htmlEntityValueLookup</A >htmlEntityValueLookup</A
> (unsigned int value); >
(unsigned int value);
int <A int <A
HREF="libxml-htmlparser.html#HTMLISAUTOCLOSED" HREF="libxml-htmlparser.html#HTMLISAUTOCLOSED"
>htmlIsAutoClosed</A >htmlIsAutoClosed</A
@ -394,7 +395,7 @@ HREF="libxml-htmlparser.html#HTMLPARSERCTXTPTR"
><DIV ><DIV
CLASS="REFSECT1" CLASS="REFSECT1"
><A ><A
NAME="AEN10310" NAME="AEN10257"
></A ></A
><H2 ><H2
>Description</H2 >Description</H2
@ -404,14 +405,14 @@ NAME="AEN10310"
><DIV ><DIV
CLASS="REFSECT1" CLASS="REFSECT1"
><A ><A
NAME="AEN10313" NAME="AEN10260"
></A ></A
><H2 ><H2
>Details</H2 >Details</H2
><DIV ><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN10315" NAME="AEN10262"
></A ></A
><H3 ><H3
><A ><A
@ -437,7 +438,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN10320" NAME="AEN10267"
></A ></A
><H3 ><H3
><A ><A
@ -463,7 +464,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN10325" NAME="AEN10272"
></A ></A
><H3 ><H3
><A ><A
@ -489,7 +490,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN10330" NAME="AEN10277"
></A ></A
><H3 ><H3
><A ><A
@ -515,7 +516,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN10335" NAME="AEN10282"
></A ></A
><H3 ><H3
><A ><A
@ -541,7 +542,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN10340" NAME="AEN10287"
></A ></A
><H3 ><H3
><A ><A
@ -567,7 +568,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN10345" NAME="AEN10292"
></A ></A
><H3 ><H3
><A ><A
@ -593,7 +594,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN10350" NAME="AEN10297"
></A ></A
><H3 ><H3
><A ><A
@ -619,7 +620,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN10355" NAME="AEN10302"
></A ></A
><H3 ><H3
><A ><A
@ -645,7 +646,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN10360" NAME="AEN10307"
></A ></A
><H3 ><H3
><A ><A
@ -681,7 +682,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN10365" NAME="AEN10312"
></A ></A
><H3 ><H3
><A ><A
@ -707,7 +708,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN10370" NAME="AEN10317"
></A ></A
><H3 ><H3
><A ><A
@ -737,7 +738,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN10375" NAME="AEN10322"
></A ></A
><H3 ><H3
><A ><A
@ -763,7 +764,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN10380" NAME="AEN10327"
></A ></A
><H3 ><H3
><A ><A
@ -779,7 +780,7 @@ CELLPADDING="6"
><TD ><TD
><PRE ><PRE
CLASS="PROGRAMLISTING" CLASS="PROGRAMLISTING"
><A >const <A
HREF="libxml-htmlparser.html#HTMLELEMDESCPTR" HREF="libxml-htmlparser.html#HTMLELEMDESCPTR"
>htmlElemDescPtr</A >htmlElemDescPtr</A
> htmlTagLookup (const <A > htmlTagLookup (const <A
@ -796,7 +797,7 @@ HREF="libxml-tree.html#XMLCHAR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN10388" NAME="AEN10335"
></A ></A
><P ><P
></P ></P
@ -849,7 +850,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN10401" NAME="AEN10348"
></A ></A
><H3 ><H3
><A ><A
@ -865,7 +866,7 @@ CELLPADDING="6"
><TD ><TD
><PRE ><PRE
CLASS="PROGRAMLISTING" CLASS="PROGRAMLISTING"
><A >const <A
HREF="libxml-htmlparser.html#HTMLENTITYDESCPTR" HREF="libxml-htmlparser.html#HTMLENTITYDESCPTR"
>htmlEntityDescPtr</A >htmlEntityDescPtr</A
> htmlEntityLookup (const <A > htmlEntityLookup (const <A
@ -884,7 +885,7 @@ HREF="libxml-tree.html#XMLCHAR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN10410" NAME="AEN10357"
></A ></A
><P ><P
></P ></P
@ -937,7 +938,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN10423" NAME="AEN10370"
></A ></A
><H3 ><H3
><A ><A
@ -953,10 +954,11 @@ CELLPADDING="6"
><TD ><TD
><PRE ><PRE
CLASS="PROGRAMLISTING" CLASS="PROGRAMLISTING"
><A >const <A
HREF="libxml-htmlparser.html#HTMLENTITYDESCPTR" HREF="libxml-htmlparser.html#HTMLENTITYDESCPTR"
>htmlEntityDescPtr</A >htmlEntityDescPtr</A
> htmlEntityValueLookup (unsigned int value);</PRE > htmlEntityValueLookup
(unsigned int value);</PRE
></TD ></TD
></TR ></TR
></TABLE ></TABLE
@ -969,7 +971,7 @@ HREF="libxml-htmlparser.html#HTMLENTITYDESCPTR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN10431" NAME="AEN10378"
></A ></A
><P ><P
></P ></P
@ -1022,7 +1024,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN10444" NAME="AEN10391"
></A ></A
><H3 ><H3
><A ><A
@ -1058,7 +1060,7 @@ if a tag is autoclosed by one of it's child</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN10452" NAME="AEN10399"
></A ></A
><P ><P
></P ></P
@ -1128,7 +1130,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN10469" NAME="AEN10416"
></A ></A
><H3 ><H3
><A ><A
@ -1169,7 +1171,7 @@ given tag.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN10478" NAME="AEN10425"
></A ></A
><P ><P
></P ></P
@ -1256,7 +1258,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN10499" NAME="AEN10446"
></A ></A
><H3 ><H3
><A ><A
@ -1295,7 +1297,7 @@ HREF="libxml-tree.html#XMLCHAR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN10509" NAME="AEN10456"
></A ></A
><P ><P
></P ></P
@ -1366,7 +1368,7 @@ if non-NULL *str will have to be freed by the caller.</TD
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN10526" NAME="AEN10473"
></A ></A
><H3 ><H3
><A ><A
@ -1402,7 +1404,7 @@ HREF="X"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN10535" NAME="AEN10482"
></A ></A
><P ><P
></P ></P
@ -1455,7 +1457,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN10548" NAME="AEN10495"
></A ></A
><H3 ><H3
><A ><A
@ -1489,7 +1491,7 @@ HREF="libxml-htmlparser.html#HTMLPARSERCTXTPTR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN10557" NAME="AEN10504"
></A ></A
><P ><P
></P ></P
@ -1527,7 +1529,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN10566" NAME="AEN10513"
></A ></A
><H3 ><H3
><A ><A
@ -1568,7 +1570,7 @@ behavior and return a tree.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN10575" NAME="AEN10522"
></A ></A
><P ><P
></P ></P
@ -1673,7 +1675,7 @@ not well formed.</TD
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN10600" NAME="AEN10547"
></A ></A
><H3 ><H3
><A ><A
@ -1707,7 +1709,7 @@ HREF="libxml-tree.html#XMLCHAR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN10608" NAME="AEN10555"
></A ></A
><P ><P
></P ></P
@ -1777,7 +1779,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN10625" NAME="AEN10572"
></A ></A
><H3 ><H3
><A ><A
@ -1816,7 +1818,7 @@ If sax is NULL, fallback to the default DOM tree building routines.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN10633" NAME="AEN10580"
></A ></A
><P ><P
></P ></P
@ -1921,7 +1923,7 @@ not well formed.</TD
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN10658" NAME="AEN10605"
></A ></A
><H3 ><H3
><A ><A
@ -1953,7 +1955,7 @@ compressed document is provided by default if found at compile-time.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN10665" NAME="AEN10612"
></A ></A
><P ><P
></P ></P
@ -2023,7 +2025,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN10682" NAME="AEN10629"
></A ></A
><H3 ><H3
><A ><A
@ -2054,7 +2056,7 @@ plus HTML entities block of chars out.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN10688" NAME="AEN10635"
></A ></A
><P ><P
></P ></P
@ -2181,7 +2183,7 @@ CLASS="PARAMETER"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN10717" NAME="AEN10664"
></A ></A
><H3 ><H3
><A ><A
@ -2213,7 +2215,7 @@ plus HTML entities block of chars out.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN10723" NAME="AEN10670"
></A ></A
><P ><P
></P ></P
@ -2357,7 +2359,7 @@ CLASS="PARAMETER"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN10756" NAME="AEN10703"
></A ></A
><H3 ><H3
><A ><A
@ -2387,7 +2389,7 @@ HREF="libxml-tree.html#XMLCHAR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN10763" NAME="AEN10710"
></A ></A
><P ><P
></P ></P
@ -2440,7 +2442,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN10776" NAME="AEN10723"
></A ></A
><H3 ><H3
><A ><A
@ -2467,7 +2469,7 @@ CLASS="PROGRAMLISTING"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN10782" NAME="AEN10729"
></A ></A
><P ><P
></P ></P
@ -2520,7 +2522,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN10795" NAME="AEN10742"
></A ></A
><H3 ><H3
><A ><A
@ -2551,7 +2553,7 @@ document in ctxt-&gt;myDoc is not freed.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN10802" NAME="AEN10749"
></A ></A
><P ><P
></P ></P
@ -2589,7 +2591,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN10811" NAME="AEN10758"
></A ></A
><H3 ><H3
><A ><A
@ -2643,7 +2645,7 @@ and error/warning reports.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN10822" NAME="AEN10769"
></A ></A
><P ><P
></P ></P
@ -2781,7 +2783,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN10855" NAME="AEN10802"
></A ></A
><H3 ><H3
><A ><A
@ -2814,7 +2816,7 @@ HREF="libxml-htmlparser.html#HTMLPARSERCTXTPTR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN10862" NAME="AEN10809"
></A ></A
><P ><P
></P ></P

View File

@ -122,7 +122,7 @@ NAME="LIBXML-HTMLTREE"
><DIV ><DIV
CLASS="REFNAMEDIV" CLASS="REFNAMEDIV"
><A ><A
NAME="AEN10892" NAME="AEN10839"
></A ></A
><H2 ><H2
>Name</H2 >Name</H2
@ -130,7 +130,7 @@ NAME="AEN10892"
><DIV ><DIV
CLASS="REFSYNOPSISDIV" CLASS="REFSYNOPSISDIV"
><A ><A
NAME="AEN10895" NAME="AEN10842"
></A ></A
><H2 ><H2
>Synopsis</H2 >Synopsis</H2
@ -318,7 +318,7 @@ HREF="libxml-tree.html#XMLDOCPTR"
><DIV ><DIV
CLASS="REFSECT1" CLASS="REFSECT1"
><A ><A
NAME="AEN10941" NAME="AEN10888"
></A ></A
><H2 ><H2
>Description</H2 >Description</H2
@ -328,14 +328,14 @@ NAME="AEN10941"
><DIV ><DIV
CLASS="REFSECT1" CLASS="REFSECT1"
><A ><A
NAME="AEN10944" NAME="AEN10891"
></A ></A
><H2 ><H2
>Details</H2 >Details</H2
><DIV ><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN10946" NAME="AEN10893"
></A ></A
><H3 ><H3
><A ><A
@ -356,15 +356,12 @@ CLASS="PROGRAMLISTING"
></TR ></TR
></TABLE ></TABLE
><P ><P
>Macro, a text node in a HTML document is really implemented
the same way as a text node in an XML document.</P
><P
></P ></P
></DIV ></DIV
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN10952" NAME="AEN10898"
></A ></A
><H3 ><H3
><A ><A
@ -385,15 +382,12 @@ CLASS="PROGRAMLISTING"
></TR ></TR
></TABLE ></TABLE
><P ><P
>Macro, an entity reference in a HTML document is really implemented
the same way as an entity reference in an XML document.</P
><P
></P ></P
></DIV ></DIV
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN10958" NAME="AEN10903"
></A ></A
><H3 ><H3
><A ><A
@ -414,15 +408,12 @@ CLASS="PROGRAMLISTING"
></TR ></TR
></TABLE ></TABLE
><P ><P
>Macro, a comment in a HTML document is really implemented
the same way as a comment in an XML document.</P
><P
></P ></P
></DIV ></DIV
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN10964" NAME="AEN10908"
></A ></A
><H3 ><H3
><A ><A
@ -443,15 +434,12 @@ CLASS="PROGRAMLISTING"
></TR ></TR
></TABLE ></TABLE
><P ><P
>Macro, a preserved node in a HTML document is really implemented
the same way as a CDATA section in an XML document.</P
><P
></P ></P
></DIV ></DIV
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN10970" NAME="AEN10913"
></A ></A
><H3 ><H3
><A ><A
@ -472,15 +460,12 @@ CLASS="PROGRAMLISTING"
></TR ></TR
></TABLE ></TABLE
><P ><P
>Macro, a processing instruction in a HTML document is really implemented
the same way as a processing instruction in an XML document.</P
><P
></P ></P
></DIV ></DIV
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN10976" NAME="AEN10918"
></A ></A
><H3 ><H3
><A ><A
@ -511,13 +496,13 @@ HREF="libxml-tree.html#XMLCHAR"
></TR ></TR
></TABLE ></TABLE
><P ><P
></P >Creates a new HTML document</P
><P ><P
></P ></P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN10985" NAME="AEN10927"
></A ></A
><P ><P
></P ></P
@ -587,7 +572,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN11002" NAME="AEN10944"
></A ></A
><H3 ><H3
><A ><A
@ -618,13 +603,24 @@ HREF="libxml-tree.html#XMLCHAR"
></TR ></TR
></TABLE ></TABLE
><P ><P
></P >Creates a new HTML document without a DTD node if <TT
CLASS="PARAMETER"
><I
>URI</I
></TT
> and <TT
CLASS="PARAMETER"
><I
>ExternalID</I
></TT
>
are NULL</P
><P ><P
></P ></P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN11011" NAME="AEN10955"
></A ></A
><P ><P
></P ></P
@ -694,7 +690,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN11028" NAME="AEN10972"
></A ></A
><H3 ><H3
><A ><A
@ -727,7 +723,7 @@ HREF="libxml-htmlparser.html#HTMLDOCPTR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN11036" NAME="AEN10980"
></A ></A
><P ><P
></P ></P
@ -780,7 +776,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN11049" NAME="AEN10993"
></A ></A
><H3 ><H3
><A ><A
@ -816,7 +812,7 @@ the META flag associated.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN11057" NAME="AEN11001"
></A ></A
><P ><P
></P ></P
@ -886,7 +882,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN11074" NAME="AEN11018"
></A ></A
><H3 ><H3
><A ><A
@ -922,7 +918,7 @@ It's up to the caller to free the memory.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN11082" NAME="AEN11026"
></A ></A
><P ><P
></P ></P
@ -994,7 +990,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN11099" NAME="AEN11043"
></A ></A
><H3 ><H3
><A ><A
@ -1028,7 +1024,7 @@ HREF="libxml-tree.html#XMLDOCPTR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN11107" NAME="AEN11051"
></A ></A
><P ><P
></P ></P
@ -1098,7 +1094,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN11124" NAME="AEN11068"
></A ></A
><H3 ><H3
><A ><A
@ -1135,7 +1131,7 @@ used.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN11132" NAME="AEN11076"
></A ></A
><P ><P
></P ></P
@ -1205,7 +1201,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN11149" NAME="AEN11093"
></A ></A
><H3 ><H3
><A ><A
@ -1244,7 +1240,7 @@ and formatting returns are added.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN11158" NAME="AEN11102"
></A ></A
><P ><P
></P ></P
@ -1316,7 +1312,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN11175" NAME="AEN11119"
></A ></A
><H3 ><H3
><A ><A
@ -1355,7 +1351,7 @@ and formatting returns are added.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN11184" NAME="AEN11128"
></A ></A
><P ><P
></P ></P
@ -1427,7 +1423,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN11201" NAME="AEN11145"
></A ></A
><H3 ><H3
><A ><A
@ -1469,7 +1465,7 @@ HREF="libxml-tree.html#XMLNODEPTR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN11211" NAME="AEN11155"
></A ></A
><P ><P
></P ></P
@ -1590,7 +1586,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN11240" NAME="AEN11184"
></A ></A
><H3 ><H3
><A ><A
@ -1623,7 +1619,7 @@ and formatting returns/spaces are added.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN11247" NAME="AEN11191"
></A ></A
><P ><P
></P ></P
@ -1710,7 +1706,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN11268" NAME="AEN11212"
></A ></A
><H3 ><H3
><A ><A
@ -1743,7 +1739,7 @@ HREF="libxml-tree.html#XMLDOCPTR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN11275" NAME="AEN11219"
></A ></A
><P ><P
></P ></P

View File

@ -122,7 +122,7 @@ NAME="LIBXML-NANOFTP"
><DIV ><DIV
CLASS="REFNAMEDIV" CLASS="REFNAMEDIV"
><A ><A
NAME="AEN15934" NAME="AEN16760"
></A ></A
><H2 ><H2
>Name</H2 >Name</H2
@ -130,7 +130,7 @@ NAME="AEN15934"
><DIV ><DIV
CLASS="REFSYNOPSISDIV" CLASS="REFSYNOPSISDIV"
><A ><A
NAME="AEN15937" NAME="AEN16763"
></A ></A
><H2 ><H2
>Synopsis</H2 >Synopsis</H2
@ -282,7 +282,7 @@ HREF="libxml-nanoftp.html#XMLNANOFTPREAD"
><DIV ><DIV
CLASS="REFSECT1" CLASS="REFSECT1"
><A ><A
NAME="AEN15966" NAME="AEN16792"
></A ></A
><H2 ><H2
>Description</H2 >Description</H2
@ -292,14 +292,14 @@ NAME="AEN15966"
><DIV ><DIV
CLASS="REFSECT1" CLASS="REFSECT1"
><A ><A
NAME="AEN15969" NAME="AEN16795"
></A ></A
><H2 ><H2
>Details</H2 >Details</H2
><DIV ><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN15971" NAME="AEN16797"
></A ></A
><H3 ><H3
><A ><A
@ -334,14 +334,11 @@ HREF="LONG"
></TR ></TR
></TABLE ></TABLE
><P ><P
>A callback for the xmlNanoFTPList command
Note that only one of year and day:minute are specified</P
><P
></P ></P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN15978" NAME="AEN16803"
></A ></A
><P ><P
></P ></P
@ -368,7 +365,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> user provided data for the callback</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -385,7 +382,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the file name (including "-&gt;" when links are shown)</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -402,7 +399,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the attribute string</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -419,7 +416,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the owner string</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -436,7 +433,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the group string</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -453,7 +450,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the file size</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -470,7 +467,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the link count</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -487,7 +484,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the year</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -504,7 +501,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the month</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -521,7 +518,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the day</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -538,7 +535,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the hour</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -555,7 +552,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the minute</TD >&nbsp;</TD
></TR ></TR
></TBODY ></TBODY
></TABLE ></TABLE
@ -566,7 +563,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN16031" NAME="AEN16856"
></A ></A
><H3 ><H3
><A ><A
@ -589,13 +586,11 @@ CLASS="PROGRAMLISTING"
></TR ></TR
></TABLE ></TABLE
><P ><P
>A callback for the xmlNanoFTPGet command</P
><P
></P ></P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN16037" NAME="AEN16861"
></A ></A
><P ><P
></P ></P
@ -622,7 +617,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the user provided context</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -639,7 +634,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the data received</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -656,7 +651,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> its size in bytes</TD >&nbsp;</TD
></TR ></TR
></TBODY ></TBODY
></TABLE ></TABLE
@ -667,7 +662,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN16054" NAME="AEN16878"
></A ></A
><H3 ><H3
><A ><A
@ -697,7 +692,7 @@ and get the hostname</P
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN16060" NAME="AEN16884"
></A ></A
><H3 ><H3
><A ><A
@ -725,7 +720,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN16066" NAME="AEN16890"
></A ></A
><H3 ><H3
><A ><A
@ -752,7 +747,7 @@ CLASS="PROGRAMLISTING"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN16072" NAME="AEN16896"
></A ></A
><P ><P
></P ></P
@ -790,7 +785,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN16081" NAME="AEN16905"
></A ></A
><H3 ><H3
><A ><A
@ -817,7 +812,7 @@ CLASS="PROGRAMLISTING"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN16087" NAME="AEN16911"
></A ></A
><P ><P
></P ></P
@ -855,7 +850,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN16096" NAME="AEN16920"
></A ></A
><H3 ><H3
><A ><A
@ -883,7 +878,7 @@ CLASS="PROGRAMLISTING"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN16102" NAME="AEN16926"
></A ></A
><P ><P
></P ></P
@ -938,7 +933,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN16115" NAME="AEN16939"
></A ></A
><H3 ><H3
><A ><A
@ -965,7 +960,7 @@ CLASS="PROGRAMLISTING"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN16121" NAME="AEN16945"
></A ></A
><P ><P
></P ></P
@ -1003,7 +998,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN16130" NAME="AEN16954"
></A ></A
><H3 ><H3
><A ><A
@ -1030,7 +1025,7 @@ CLASS="PROGRAMLISTING"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN16136" NAME="AEN16960"
></A ></A
><P ><P
></P ></P
@ -1083,7 +1078,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN16149" NAME="AEN16973"
></A ></A
><H3 ><H3
><A ><A
@ -1110,7 +1105,7 @@ CLASS="PROGRAMLISTING"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN16155" NAME="AEN16979"
></A ></A
><P ><P
></P ></P
@ -1163,7 +1158,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN16168" NAME="AEN16992"
></A ></A
><H3 ><H3
><A ><A
@ -1190,7 +1185,7 @@ CLASS="PROGRAMLISTING"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN16174" NAME="AEN16998"
></A ></A
><P ><P
></P ></P
@ -1243,7 +1238,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN16187" NAME="AEN17011"
></A ></A
><H3 ><H3
><A ><A
@ -1273,7 +1268,7 @@ A NULL URL cleans up proxy informations.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN16193" NAME="AEN17017"
></A ></A
><P ><P
></P ></P
@ -1311,7 +1306,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN16202" NAME="AEN17026"
></A ></A
><H3 ><H3
><A ><A
@ -1344,7 +1339,7 @@ ftp_proxy_password environment variables.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN16208" NAME="AEN17032"
></A ></A
><P ><P
></P ></P
@ -1455,7 +1450,7 @@ CLASS="PARAMETER"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN16234" NAME="AEN17058"
></A ></A
><H3 ><H3
><A ><A
@ -1487,7 +1482,7 @@ be established.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN16240" NAME="AEN17064"
></A ></A
><P ><P
></P ></P
@ -1557,7 +1552,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN16257" NAME="AEN17081"
></A ></A
><H3 ><H3
><A ><A
@ -1584,7 +1579,7 @@ CLASS="PROGRAMLISTING"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN16263" NAME="AEN17087"
></A ></A
><P ><P
></P ></P
@ -1637,7 +1632,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN16276" NAME="AEN17100"
></A ></A
><H3 ><H3
><A ><A
@ -1664,7 +1659,7 @@ CLASS="PROGRAMLISTING"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN16282" NAME="AEN17106"
></A ></A
><P ><P
></P ></P
@ -1717,7 +1712,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN16295" NAME="AEN17119"
></A ></A
><H3 ><H3
><A ><A
@ -1745,7 +1740,7 @@ CLASS="PROGRAMLISTING"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN16301" NAME="AEN17125"
></A ></A
><P ><P
></P ></P
@ -1815,7 +1810,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN16318" NAME="AEN17142"
></A ></A
><H3 ><H3
><A ><A
@ -1843,7 +1838,7 @@ passive mode is supported.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN16324" NAME="AEN17148"
></A ></A
><P ><P
></P ></P
@ -1896,7 +1891,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN16337" NAME="AEN17161"
></A ></A
><H3 ><H3
><A ><A
@ -1923,7 +1918,7 @@ CLASS="PROGRAMLISTING"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN16343" NAME="AEN17167"
></A ></A
><P ><P
></P ></P
@ -1976,7 +1971,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN16356" NAME="AEN17180"
></A ></A
><H3 ><H3
><A ><A
@ -2010,7 +2005,7 @@ in the callbacks.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN16363" NAME="AEN17187"
></A ></A
><P ><P
></P ></P
@ -2114,7 +2109,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN16388" NAME="AEN17212"
></A ></A
><H3 ><H3
><A ><A
@ -2142,7 +2137,7 @@ CLASS="PROGRAMLISTING"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN16394" NAME="AEN17218"
></A ></A
><P ><P
></P ></P
@ -2212,7 +2207,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN16411" NAME="AEN17235"
></A ></A
><H3 ><H3
><A ><A
@ -2246,7 +2241,7 @@ in the callbacks. The last callback has a size of 0 block.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN16418" NAME="AEN17242"
></A ></A
><P ><P
></P ></P
@ -2350,7 +2345,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN16443" NAME="AEN17267"
></A ></A
><H3 ><H3
><A ><A
@ -2390,7 +2385,7 @@ CLASS="PARAMETER"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN16451" NAME="AEN17275"
></A ></A
><P ><P
></P ></P

View File

@ -122,7 +122,7 @@ NAME="LIBXML-NANOHTTP"
><DIV ><DIV
CLASS="REFNAMEDIV" CLASS="REFNAMEDIV"
><A ><A
NAME="AEN15637" NAME="AEN16454"
></A ></A
><H2 ><H2
>Name</H2 >Name</H2
@ -130,7 +130,7 @@ NAME="AEN15637"
><DIV ><DIV
CLASS="REFSYNOPSISDIV" CLASS="REFSYNOPSISDIV"
><A ><A
NAME="AEN15640" NAME="AEN16457"
></A ></A
><H2 ><H2
>Synopsis</H2 >Synopsis</H2
@ -170,7 +170,8 @@ HREF="libxml-nanohttp.html#XMLNANOHTTPMETHOD"
const char *method, const char *method,
const char *input, const char *input,
char **contentType, char **contentType,
const char *headers); const char *headers,
int ilen);
void* <A void* <A
HREF="libxml-nanohttp.html#XMLNANOHTTPMETHODREDIR" HREF="libxml-nanohttp.html#XMLNANOHTTPMETHODREDIR"
>xmlNanoHTTPMethodRedir</A >xmlNanoHTTPMethodRedir</A
@ -179,7 +180,8 @@ HREF="libxml-nanohttp.html#XMLNANOHTTPMETHODREDIR"
const char *input, const char *input,
char **contentType, char **contentType,
char **redir, char **redir,
const char *headers); const char *headers,
int ilen);
void* <A void* <A
HREF="libxml-nanohttp.html#XMLNANOHTTPOPEN" HREF="libxml-nanohttp.html#XMLNANOHTTPOPEN"
>xmlNanoHTTPOpen</A >xmlNanoHTTPOpen</A
@ -221,7 +223,7 @@ HREF="libxml-nanohttp.html#XMLNANOHTTPCLOSE"
><DIV ><DIV
CLASS="REFSECT1" CLASS="REFSECT1"
><A ><A
NAME="AEN15656" NAME="AEN16473"
></A ></A
><H2 ><H2
>Description</H2 >Description</H2
@ -231,14 +233,14 @@ NAME="AEN15656"
><DIV ><DIV
CLASS="REFSECT1" CLASS="REFSECT1"
><A ><A
NAME="AEN15659" NAME="AEN16476"
></A ></A
><H2 ><H2
>Details</H2 >Details</H2
><DIV ><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN15661" NAME="AEN16478"
></A ></A
><H3 ><H3
><A ><A
@ -267,7 +269,7 @@ Currently it just checks for proxy informations</P
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN15667" NAME="AEN16484"
></A ></A
><H3 ><H3
><A ><A
@ -288,12 +290,14 @@ CLASS="PROGRAMLISTING"
></TR ></TR
></TABLE ></TABLE
><P ><P
>Cleanup the HTTP protocol layer.</P
><P
></P ></P
></DIV ></DIV
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN15672" NAME="AEN16490"
></A ></A
><H3 ><H3
><A ><A
@ -323,7 +327,7 @@ A NULL URL cleans up proxy informations.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN15678" NAME="AEN16496"
></A ></A
><P ><P
></P ></P
@ -350,7 +354,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> The proxy URL used to initialize the proxy context</TD >&nbsp;</TD
></TR ></TR
></TBODY ></TBODY
></TABLE ></TABLE
@ -361,7 +365,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN15687" NAME="AEN16505"
></A ></A
><H3 ><H3
><A ><A
@ -391,7 +395,7 @@ and save it's content in the file.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN15693" NAME="AEN16511"
></A ></A
><P ><P
></P ></P
@ -418,7 +422,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> The URL to load</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -435,7 +439,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the filename where the content should be saved</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -452,8 +456,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> if available the Content-Type information will be >&nbsp;</TD
returned at that location</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -468,8 +471,7 @@ CLASS="EMPHASIS"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>-1 in case of failure, 0 incase of success. The contentType, >&nbsp;</TD
if provided must be freed by the caller</TD
></TR ></TR
></TBODY ></TBODY
></TABLE ></TABLE
@ -480,7 +482,7 @@ if provided must be freed by the caller</TD
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN15714" NAME="AEN16532"
></A ></A
><H3 ><H3
><A ><A
@ -500,7 +502,8 @@ CLASS="PROGRAMLISTING"
const char *method, const char *method,
const char *input, const char *input,
char **contentType, char **contentType,
const char *headers);</PRE const char *headers,
int ilen);</PRE
></TD ></TD
></TR ></TR
></TABLE ></TABLE
@ -518,7 +521,7 @@ and the input buffer for the request content.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN15721" NAME="AEN16539"
></A ></A
><P ><P
></P ></P
@ -545,7 +548,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> The URL to load</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -562,7 +565,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the HTTP method to use</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -579,7 +582,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the input string if any</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -596,7 +599,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the Content-Type information IN and OUT</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -613,7 +616,24 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the extra headers</TD >&nbsp;</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ilen</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>&nbsp;</TD
></TR ></TR
></TBODY ></TBODY
></TABLE ></TABLE
@ -624,7 +644,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN15746" NAME="AEN16568"
></A ></A
><H3 ><H3
><A ><A
@ -645,7 +665,8 @@ CLASS="PROGRAMLISTING"
const char *input, const char *input,
char **contentType, char **contentType,
char **redir, char **redir,
const char *headers);</PRE const char *headers,
int ilen);</PRE
></TD ></TD
></TR ></TR
></TABLE ></TABLE
@ -663,7 +684,7 @@ and the input buffer for the request content.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN15753" NAME="AEN16575"
></A ></A
><P ><P
></P ></P
@ -690,7 +711,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> The URL to load</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -707,7 +728,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the HTTP method to use</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -724,7 +745,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the input string if any</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -741,7 +762,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the Content-Type information IN and OUT</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -758,7 +779,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the redirected URL OUT</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -775,7 +796,24 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the extra headers</TD >&nbsp;</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ilen</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>&nbsp;</TD
></TR ></TR
></TBODY ></TBODY
></TABLE ></TABLE
@ -786,7 +824,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN15782" NAME="AEN16608"
></A ></A
><H3 ><H3
><A ><A
@ -815,7 +853,7 @@ via HTTP GET.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN15788" NAME="AEN16614"
></A ></A
><P ><P
></P ></P
@ -842,7 +880,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> The URL to load</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -859,8 +897,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> if available the Content-Type information will be >&nbsp;</TD
returned at that location</TD
></TR ></TR
></TBODY ></TBODY
></TABLE ></TABLE
@ -871,7 +908,7 @@ returned at that location</TD
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN15801" NAME="AEN16627"
></A ></A
><H3 ><H3
><A ><A
@ -901,7 +938,7 @@ via HTTP GET.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN15807" NAME="AEN16633"
></A ></A
><P ><P
></P ></P
@ -928,7 +965,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> The URL to load</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -945,8 +982,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> if available the Content-Type information will be >&nbsp;</TD
returned at that location</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -963,7 +999,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> if availble the redirected URL will be returned</TD >&nbsp;</TD
></TR ></TR
></TBODY ></TBODY
></TABLE ></TABLE
@ -974,7 +1010,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN15824" NAME="AEN16650"
></A ></A
><H3 ><H3
><A ><A
@ -1001,7 +1037,7 @@ CLASS="PROGRAMLISTING"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN15830" NAME="AEN16656"
></A ></A
><P ><P
></P ></P
@ -1028,7 +1064,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the HTTP context</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -1043,7 +1079,7 @@ CLASS="EMPHASIS"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>the HTTP return code for the request.</TD >&nbsp;</TD
></TR ></TR
></TBODY ></TBODY
></TABLE ></TABLE
@ -1054,7 +1090,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN15843" NAME="AEN16669"
></A ></A
><H3 ><H3
><A ><A
@ -1081,7 +1117,7 @@ CLASS="PROGRAMLISTING"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN15849" NAME="AEN16675"
></A ></A
><P ><P
></P ></P
@ -1108,7 +1144,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the HTTP context</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -1123,8 +1159,7 @@ CLASS="EMPHASIS"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>the stashed value of the WWW-Authenticate or Proxy-Authenticate >&nbsp;</TD
header.</TD
></TR ></TR
></TBODY ></TBODY
></TABLE ></TABLE
@ -1135,7 +1170,7 @@ header.</TD
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN15862" NAME="AEN16688"
></A ></A
><H3 ><H3
><A ><A
@ -1175,7 +1210,7 @@ CLASS="PARAMETER"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN15870" NAME="AEN16696"
></A ></A
><P ><P
></P ></P
@ -1202,7 +1237,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the HTTP context</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -1219,7 +1254,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> a buffer</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -1236,7 +1271,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the buffer length</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -1251,8 +1286,7 @@ CLASS="EMPHASIS"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>the number of byte read. 0 is an indication of an end of connection. >&nbsp;</TD
-1 indicates a parameter error.</TD
></TR ></TR
></TBODY ></TBODY
></TABLE ></TABLE
@ -1263,7 +1297,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN15891" NAME="AEN16717"
></A ></A
><H3 ><H3
><A ><A
@ -1292,7 +1326,7 @@ It closes and free the context at the end</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN15897" NAME="AEN16723"
></A ></A
><P ><P
></P ></P
@ -1319,7 +1353,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the HTTP context</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -1336,7 +1370,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the filename where the content should be saved</TD >&nbsp;</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -1351,7 +1385,7 @@ CLASS="EMPHASIS"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>-1 in case of failure, 0 incase of success.</TD >&nbsp;</TD
></TR ></TR
></TBODY ></TBODY
></TABLE ></TABLE
@ -1362,7 +1396,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN15914" NAME="AEN16740"
></A ></A
><H3 ><H3
><A ><A
@ -1390,7 +1424,7 @@ free all data related to it.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN15920" NAME="AEN16746"
></A ></A
><P ><P
></P ></P
@ -1417,7 +1451,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
> the HTTP context</TD >&nbsp;</TD
></TR ></TR
></TBODY ></TBODY
></TABLE ></TABLE

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -122,7 +122,7 @@ NAME="LIBXML-SAX"
><DIV ><DIV
CLASS="REFNAMEDIV" CLASS="REFNAMEDIV"
><A ><A
NAME="AEN2767" NAME="AEN2766"
></A ></A
><H2 ><H2
>Name</H2 >Name</H2
@ -130,7 +130,7 @@ NAME="AEN2767"
><DIV ><DIV
CLASS="REFSYNOPSISDIV" CLASS="REFSYNOPSISDIV"
><A ><A
NAME="AEN2770" NAME="AEN2769"
></A ></A
><H2 ><H2
>Synopsis</H2 >Synopsis</H2
@ -288,7 +288,7 @@ HREF="libxml-tree.html#XMLCHAR"
const <A const <A
HREF="libxml-tree.html#XMLCHAR" HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A >xmlChar</A
> *name, > *fullname,
int type, int type,
int def, int def,
const <A const <A
@ -509,7 +509,7 @@ HREF="libxml-sax.html#DOCBDEFAULTSAXHANDLERINIT"
><DIV ><DIV
CLASS="REFSECT1" CLASS="REFSECT1"
><A ><A
NAME="AEN2862" NAME="AEN2861"
></A ></A
><H2 ><H2
>Description</H2 >Description</H2
@ -519,14 +519,14 @@ NAME="AEN2862"
><DIV ><DIV
CLASS="REFSECT1" CLASS="REFSECT1"
><A ><A
NAME="AEN2865" NAME="AEN2864"
></A ></A
><H2 ><H2
>Details</H2 >Details</H2
><DIV ><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN2867" NAME="AEN2866"
></A ></A
><H3 ><H3
><A ><A
@ -556,7 +556,7 @@ HREF="libxml-tree.html#XMLCHAR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN2874" NAME="AEN2873"
></A ></A
><P ><P
></P ></P
@ -609,7 +609,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN2887" NAME="AEN2886"
></A ></A
><H3 ><H3
><A ><A
@ -640,7 +640,7 @@ http://www.sgmlsource.com/dtds/memo.dtd</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN2894" NAME="AEN2893"
></A ></A
><P ><P
></P ></P
@ -693,7 +693,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN2907" NAME="AEN2906"
></A ></A
><H3 ><H3
><A ><A
@ -725,7 +725,7 @@ Everything is available on the context, so this is useless in our case.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN2914" NAME="AEN2913"
></A ></A
><P ><P
></P ></P
@ -780,7 +780,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN2927" NAME="AEN2926"
></A ></A
><H3 ><H3
><A ><A
@ -807,7 +807,7 @@ CLASS="PROGRAMLISTING"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN2933" NAME="AEN2932"
></A ></A
><P ><P
></P ></P
@ -860,7 +860,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN2946" NAME="AEN2945"
></A ></A
><H3 ><H3
><A ><A
@ -887,7 +887,7 @@ CLASS="PROGRAMLISTING"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN2952" NAME="AEN2951"
></A ></A
><P ><P
></P ></P
@ -940,7 +940,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN2965" NAME="AEN2964"
></A ></A
><H3 ><H3
><A ><A
@ -967,7 +967,7 @@ CLASS="PROGRAMLISTING"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN2971" NAME="AEN2970"
></A ></A
><P ><P
></P ></P
@ -1020,7 +1020,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN2984" NAME="AEN2983"
></A ></A
><H3 ><H3
><A ><A
@ -1047,7 +1047,7 @@ CLASS="PROGRAMLISTING"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN2990" NAME="AEN2989"
></A ></A
><P ><P
></P ></P
@ -1100,7 +1100,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN3003" NAME="AEN3002"
></A ></A
><H3 ><H3
><A ><A
@ -1127,7 +1127,7 @@ CLASS="PROGRAMLISTING"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN3009" NAME="AEN3008"
></A ></A
><P ><P
></P ></P
@ -1180,7 +1180,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN3022" NAME="AEN3021"
></A ></A
><H3 ><H3
><A ><A
@ -1219,7 +1219,7 @@ HREF="libxml-tree.html#XMLCHAR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN3031" NAME="AEN3030"
></A ></A
><P ><P
></P ></P
@ -1308,7 +1308,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN3052" NAME="AEN3051"
></A ></A
><H3 ><H3
><A ><A
@ -1347,7 +1347,7 @@ HREF="libxml-tree.html#XMLCHAR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN3061" NAME="AEN3060"
></A ></A
><P ><P
></P ></P
@ -1436,7 +1436,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN3082" NAME="AEN3081"
></A ></A
><H3 ><H3
><A ><A
@ -1470,7 +1470,7 @@ HREF="libxml-tree.html#XMLCHAR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN3090" NAME="AEN3089"
></A ></A
><P ><P
></P ></P
@ -1540,7 +1540,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN3107" NAME="AEN3106"
></A ></A
><H3 ><H3
><A ><A
@ -1574,7 +1574,7 @@ HREF="libxml-tree.html#XMLCHAR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN3115" NAME="AEN3114"
></A ></A
><P ><P
></P ></P
@ -1644,7 +1644,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN3132" NAME="AEN3131"
></A ></A
><H3 ><H3
><A ><A
@ -1692,7 +1692,7 @@ set up it's own entity resolution routine</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN3143" NAME="AEN3142"
></A ></A
><P ><P
></P ></P
@ -1779,7 +1779,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN3164" NAME="AEN3163"
></A ></A
><H3 ><H3
><A ><A
@ -1823,7 +1823,7 @@ HREF="libxml-tree.html#XMLCHAR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN3174" NAME="AEN3173"
></A ></A
><P ><P
></P ></P
@ -1946,7 +1946,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN3203" NAME="AEN3202"
></A ></A
><H3 ><H3
><A ><A
@ -1970,7 +1970,7 @@ HREF="libxml-tree.html#XMLCHAR"
const <A const <A
HREF="libxml-tree.html#XMLCHAR" HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A >xmlChar</A
> *name, > *fullname,
int type, int type,
int def, int def,
const <A const <A
@ -1991,7 +1991,7 @@ HREF="libxml-tree.html#XMLENUMERATIONPTR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN3213" NAME="AEN3212"
></A ></A
><P ><P
></P ></P
@ -2045,14 +2045,14 @@ VALIGN="TOP"
><TT ><TT
CLASS="PARAMETER" CLASS="PARAMETER"
><I ><I
>name</I >fullname</I
></TT ></TT
>&nbsp;:</TD >&nbsp;:</TD
><TD ><TD
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD > the attribute name </TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -2131,7 +2131,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN3246" NAME="AEN3245"
></A ></A
><H3 ><H3
><A ><A
@ -2167,7 +2167,7 @@ HREF="libxml-tree.html#XMLELEMENTCONTENTPTR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN3254" NAME="AEN3253"
></A ></A
><P ><P
></P ></P
@ -2256,7 +2256,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN3275" NAME="AEN3274"
></A ></A
><H3 ><H3
><A ><A
@ -2295,7 +2295,7 @@ HREF="libxml-tree.html#XMLCHAR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN3284" NAME="AEN3283"
></A ></A
><P ><P
></P ></P
@ -2384,7 +2384,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN3305" NAME="AEN3304"
></A ></A
><H3 ><H3
><A ><A
@ -2427,7 +2427,7 @@ HREF="libxml-tree.html#XMLCHAR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN3315" NAME="AEN3314"
></A ></A
><P ><P
></P ></P
@ -2533,7 +2533,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN3340" NAME="AEN3339"
></A ></A
><H3 ><H3
><A ><A
@ -2560,7 +2560,7 @@ CLASS="PROGRAMLISTING"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN3346" NAME="AEN3345"
></A ></A
><P ><P
></P ></P
@ -2598,7 +2598,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN3355" NAME="AEN3354"
></A ></A
><H3 ><H3
><A ><A
@ -2625,7 +2625,7 @@ CLASS="PROGRAMLISTING"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN3361" NAME="AEN3360"
></A ></A
><P ><P
></P ></P
@ -2663,7 +2663,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN3370" NAME="AEN3369"
></A ></A
><H3 ><H3
><A ><A
@ -2701,7 +2701,7 @@ the element.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN3378" NAME="AEN3377"
></A ></A
><P ><P
></P ></P
@ -2773,7 +2773,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN3395" NAME="AEN3394"
></A ></A
><H3 ><H3
><A ><A
@ -2808,7 +2808,7 @@ HREF="libxml-tree.html#XMLCHAR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN3403" NAME="AEN3402"
></A ></A
><P ><P
></P ></P
@ -2880,7 +2880,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN3420" NAME="AEN3419"
></A ></A
><H3 ><H3
><A ><A
@ -2911,7 +2911,7 @@ HREF="libxml-tree.html#XMLCHAR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN3427" NAME="AEN3426"
></A ></A
><P ><P
></P ></P
@ -2966,7 +2966,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN3440" NAME="AEN3439"
></A ></A
><H3 ><H3
><A ><A
@ -2997,7 +2997,7 @@ HREF="libxml-tree.html#XMLCHAR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN3447" NAME="AEN3446"
></A ></A
><P ><P
></P ></P
@ -3052,7 +3052,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN3460" NAME="AEN3459"
></A ></A
><H3 ><H3
><A ><A
@ -3085,7 +3085,7 @@ Question: how much at a time ???</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN3467" NAME="AEN3466"
></A ></A
><P ><P
></P ></P
@ -3157,7 +3157,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN3484" NAME="AEN3483"
></A ></A
><H3 ><H3
><A ><A
@ -3190,7 +3190,7 @@ Question: how much at a time ???</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN3491" NAME="AEN3490"
></A ></A
><P ><P
></P ></P
@ -3262,7 +3262,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN3508" NAME="AEN3507"
></A ></A
><H3 ><H3
><A ><A
@ -3297,7 +3297,7 @@ HREF="libxml-tree.html#XMLCHAR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN3516" NAME="AEN3515"
></A ></A
><P ><P
></P ></P
@ -3369,7 +3369,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN3533" NAME="AEN3532"
></A ></A
><H3 ><H3
><A ><A
@ -3404,7 +3404,7 @@ HREF="libxml-tree.html#XMLCHAR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN3541" NAME="AEN3540"
></A ></A
><P ><P
></P ></P
@ -3476,7 +3476,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN3558" NAME="AEN3557"
></A ></A
><H3 ><H3
><A ><A
@ -3507,7 +3507,7 @@ HREF="libxml-tree.html#XMLCHAR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN3565" NAME="AEN3564"
></A ></A
><P ><P
></P ></P
@ -3562,7 +3562,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN3578" NAME="AEN3577"
></A ></A
><H3 ><H3
><A ><A
@ -3592,7 +3592,7 @@ HREF="libxml-tree.html#XMLNSPTR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN3585" NAME="AEN3584"
></A ></A
><P ><P
></P ></P
@ -3645,7 +3645,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN3598" NAME="AEN3597"
></A ></A
><H3 ><H3
><A ><A
@ -3677,7 +3677,7 @@ one read upon parsing.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN3605" NAME="AEN3604"
></A ></A
><P ><P
></P ></P
@ -3747,7 +3747,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN3622" NAME="AEN3621"
></A ></A
><H3 ><H3
><A ><A
@ -3782,7 +3782,7 @@ HREF="libxml-tree.html#XMLCHAR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN3630" NAME="AEN3629"
></A ></A
><P ><P
></P ></P
@ -3854,7 +3854,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN3647" NAME="AEN3646"
></A ></A
><H3 ><H3
><A ><A
@ -3885,7 +3885,7 @@ HREF="libxml-tree.html#XMLCHAR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN3654" NAME="AEN3653"
></A ></A
><P ><P
></P ></P
@ -3940,7 +3940,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN3667" NAME="AEN3666"
></A ></A
><H3 ><H3
><A ><A
@ -3972,7 +3972,7 @@ HREF="libxml-tree.html#XMLCHAR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN3674" NAME="AEN3673"
></A ></A
><P ><P
></P ></P
@ -4044,7 +4044,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN3691" NAME="AEN3690"
></A ></A
><H3 ><H3
><A ><A
@ -4072,7 +4072,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN3697" NAME="AEN3696"
></A ></A
><H3 ><H3
><A ><A
@ -4100,7 +4100,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN3703" NAME="AEN3702"
></A ></A
><H3 ><H3
><A ><A

File diff suppressed because it is too large Load Diff

View File

@ -122,7 +122,7 @@ NAME="LIBXML-URI"
><DIV ><DIV
CLASS="REFNAMEDIV" CLASS="REFNAMEDIV"
><A ><A
NAME="AEN9740" NAME="AEN9687"
></A ></A
><H2 ><H2
>Name</H2 >Name</H2
@ -130,7 +130,7 @@ NAME="AEN9740"
><DIV ><DIV
CLASS="REFSYNOPSISDIV" CLASS="REFSYNOPSISDIV"
><A ><A
NAME="AEN9743" NAME="AEN9690"
></A ></A
><H2 ><H2
>Synopsis</H2 >Synopsis</H2
@ -180,7 +180,7 @@ HREF="libxml-uri.html#XMLURIPTR"
> <A > <A
HREF="libxml-uri.html#XMLPARSEURI" HREF="libxml-uri.html#XMLPARSEURI"
>xmlParseURI</A >xmlParseURI</A
> (const char *URI); > (const char *str);
int <A int <A
HREF="libxml-uri.html#XMLPARSEURIREFERENCE" HREF="libxml-uri.html#XMLPARSEURIREFERENCE"
>xmlParseURIReference</A >xmlParseURIReference</A
@ -258,7 +258,7 @@ HREF="libxml-uri.html#XMLURIPTR"
><DIV ><DIV
CLASS="REFSECT1" CLASS="REFSECT1"
><A ><A
NAME="AEN9775" NAME="AEN9722"
></A ></A
><H2 ><H2
>Description</H2 >Description</H2
@ -268,14 +268,14 @@ NAME="AEN9775"
><DIV ><DIV
CLASS="REFSECT1" CLASS="REFSECT1"
><A ><A
NAME="AEN9778" NAME="AEN9725"
></A ></A
><H2 ><H2
>Details</H2 >Details</H2
><DIV ><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN9780" NAME="AEN9727"
></A ></A
><H3 ><H3
><A ><A
@ -292,52 +292,52 @@ CELLPADDING="6"
><PRE ><PRE
CLASS="PROGRAMLISTING" CLASS="PROGRAMLISTING"
>struct xmlURI { >struct xmlURI {
char *scheme; /* the URI scheme */
char *scheme; char *opaque; /* opaque part */
char *authority; /* the authority part */
char *opaque; char *server; /* the server part */
char *user; /* the user part */
char *authority; int port; /* the port number */
char *path; /* the path string */
char *server; char *query; /* the query string */
char *fragment; /* the fragment identifier */
char *user; };</PRE
int port;
char *path;
char *query;
char *fragment;
};&#13;</PRE
></TD ></TD
></TR ></TR
></TABLE ></TABLE
><P ><P
>A parsed URI reference. This is a struct containing the various fields
as described in RFC 2396 but separated for further processing</P
><P
></P ></P
></DIV ></DIV
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN9786" NAME="AEN9732"
></A ></A
><H3 ><H3
><A ><A
NAME="XMLURIPTR" NAME="XMLURIPTR"
></A ></A
>xmlURIPtr</H3 >xmlURIPtr</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>typedef xmlURI *xmlURIPtr;</PRE
></TD
></TR
></TABLE
><P ><P
></P ></P
></DIV ></DIV
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN9790" NAME="AEN9737"
></A ></A
><H3 ><H3
><A ><A
@ -367,7 +367,7 @@ HREF="libxml-uri.html#XMLURIPTR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN9797" NAME="AEN9744"
></A ></A
><P ><P
></P ></P
@ -392,7 +392,7 @@ CLASS="EMPHASIS"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD >the new structure or NULL in case of error</TD
></TR ></TR
></TBODY ></TBODY
></TABLE ></TABLE
@ -403,7 +403,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN9806" NAME="AEN9753"
></A ></A
><H3 ><H3
><A ><A
@ -445,7 +445,7 @@ RFC 2396</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN9816" NAME="AEN9763"
></A ></A
><P ><P
></P ></P
@ -472,7 +472,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD > the URI instance found in the document</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -489,7 +489,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD > the base value</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -504,7 +504,8 @@ CLASS="EMPHASIS"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD >a new URI string (to be freed by the caller) or NULL in case
of error.</TD
></TR ></TR
></TBODY ></TBODY
></TABLE ></TABLE
@ -515,7 +516,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN9833" NAME="AEN9780"
></A ></A
><H3 ><H3
><A ><A
@ -534,7 +535,7 @@ CLASS="PROGRAMLISTING"
><A ><A
HREF="libxml-uri.html#XMLURIPTR" HREF="libxml-uri.html#XMLURIPTR"
>xmlURIPtr</A >xmlURIPtr</A
> xmlParseURI (const char *URI);</PRE > xmlParseURI (const char *str);</PRE
></TD ></TD
></TR ></TR
></TABLE ></TABLE
@ -547,7 +548,7 @@ HREF="libxml-uri.html#XMLURIPTR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN9841" NAME="AEN9788"
></A ></A
><P ><P
></P ></P
@ -567,14 +568,14 @@ VALIGN="TOP"
><TT ><TT
CLASS="PARAMETER" CLASS="PARAMETER"
><I ><I
>URI</I >str</I
></TT ></TT
>&nbsp;:</TD >&nbsp;:</TD
><TD ><TD
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD > the URI string to analyze</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -589,7 +590,7 @@ CLASS="EMPHASIS"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD >a newly build xmlURIPtr or NULL in case of error</TD
></TR ></TR
></TBODY ></TBODY
></TABLE ></TABLE
@ -600,7 +601,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN9854" NAME="AEN9801"
></A ></A
><H3 ><H3
><A ><A
@ -639,7 +640,7 @@ CLASS="PARAMETER"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN9863" NAME="AEN9810"
></A ></A
><P ><P
></P ></P
@ -666,7 +667,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD > pointer to an URI structure</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -683,7 +684,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD > the string to analyze</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -698,7 +699,7 @@ CLASS="EMPHASIS"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD >0 or the error code</TD
></TR ></TR
></TBODY ></TBODY
></TABLE ></TABLE
@ -709,7 +710,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN9880" NAME="AEN9827"
></A ></A
><H3 ><H3
><A ><A
@ -742,7 +743,7 @@ HREF="libxml-uri.html#XMLURIPTR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN9888" NAME="AEN9835"
></A ></A
><P ><P
></P ></P
@ -769,7 +770,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD > pointer to an xmlURI</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -784,7 +785,7 @@ CLASS="EMPHASIS"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD >a new string (to be deallocated by caller)</TD
></TR ></TR
></TBODY ></TBODY
></TABLE ></TABLE
@ -795,7 +796,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN9901" NAME="AEN9848"
></A ></A
><H3 ><H3
><A ><A
@ -834,7 +835,7 @@ CLASS="PARAMETER"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN9910" NAME="AEN9857"
></A ></A
><P ><P
></P ></P
@ -861,7 +862,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD > a FILE* for the output</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -878,7 +879,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD > pointer to an xmlURI</TD
></TR ></TR
></TBODY ></TBODY
></TABLE ></TABLE
@ -889,7 +890,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN9923" NAME="AEN9870"
></A ></A
><H3 ><H3
><A ><A
@ -927,7 +928,7 @@ and the characters in the exception list.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN9932" NAME="AEN9879"
></A ></A
><P ><P
></P ></P
@ -954,7 +955,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD > string to escape</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -971,7 +972,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD > exception list string of chars not to escape</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -986,7 +987,7 @@ CLASS="EMPHASIS"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD >a new escaped string or NULL in case of error.</TD
></TR ></TR
></TBODY ></TBODY
></TABLE ></TABLE
@ -997,7 +998,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN9949" NAME="AEN9896"
></A ></A
><H3 ><H3
><A ><A
@ -1030,7 +1031,7 @@ CLASS="LITERAL"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN9956" NAME="AEN9903"
></A ></A
><P ><P
></P ></P
@ -1057,7 +1058,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD > the string to unescape</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -1074,7 +1075,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD > the lenght in bytes to unescape (or &lt;= 0 to indicate full string)</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -1091,7 +1092,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD > optionnal destination buffer</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -1106,7 +1107,7 @@ CLASS="EMPHASIS"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD >an copy of the string, but unescaped</TD
></TR ></TR
></TBODY ></TBODY
></TABLE ></TABLE
@ -1117,7 +1118,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN9977" NAME="AEN9924"
></A ></A
><H3 ><H3
><A ><A
@ -1147,7 +1148,7 @@ Section 5.2, steps 6.c through 6.g.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN9984" NAME="AEN9931"
></A ></A
><P ><P
></P ></P
@ -1174,7 +1175,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD > pointer to the path string</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -1189,7 +1190,7 @@ CLASS="EMPHASIS"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD >0 or an error code</TD
></TR ></TR
></TBODY ></TBODY
></TABLE ></TABLE
@ -1200,7 +1201,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN9997" NAME="AEN9944"
></A ></A
><H3 ><H3
><A ><A
@ -1235,7 +1236,7 @@ based it's impossible to be sure.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN10005" NAME="AEN9952"
></A ></A
><P ><P
></P ></P
@ -1262,7 +1263,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD > the string of the URI to escape</TD
></TR ></TR
><TR ><TR
><TD ><TD
@ -1277,7 +1278,12 @@ CLASS="EMPHASIS"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD >an copy of the string, but escaped
25 May 2001
Uses xmlParseURI and xmlURIEscapeStr to try to escape correctly
according to RFC2396.
- Carl Douglas</TD
></TR ></TR
></TBODY ></TBODY
></TABLE ></TABLE
@ -1288,7 +1294,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN10018" NAME="AEN9965"
></A ></A
><H3 ><H3
><A ><A
@ -1318,7 +1324,7 @@ HREF="libxml-uri.html#XMLURIPTR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN10025" NAME="AEN9972"
></A ></A
><P ><P
></P ></P
@ -1345,7 +1351,7 @@ CLASS="PARAMETER"
WIDTH="80%" WIDTH="80%"
ALIGN="LEFT" ALIGN="LEFT"
VALIGN="TOP" VALIGN="TOP"
>&nbsp;</TD > pointer to an xmlURI</TD
></TR ></TR
></TBODY ></TBODY
></TABLE ></TABLE

File diff suppressed because it is too large Load Diff

View File

@ -122,7 +122,7 @@ NAME="LIBXML-XINCLUDE"
><DIV ><DIV
CLASS="REFNAMEDIV" CLASS="REFNAMEDIV"
><A ><A
NAME="AEN15598" NAME="AEN16415"
></A ></A
><H2 ><H2
>Name</H2 >Name</H2
@ -130,7 +130,7 @@ NAME="AEN15598"
><DIV ><DIV
CLASS="REFSYNOPSISDIV" CLASS="REFSYNOPSISDIV"
><A ><A
NAME="AEN15601" NAME="AEN16418"
></A ></A
><H2 ><H2
>Synopsis</H2 >Synopsis</H2
@ -159,7 +159,7 @@ HREF="libxml-tree.html#XMLDOCPTR"
><DIV ><DIV
CLASS="REFSECT1" CLASS="REFSECT1"
><A ><A
NAME="AEN15606" NAME="AEN16423"
></A ></A
><H2 ><H2
>Description</H2 >Description</H2
@ -169,14 +169,14 @@ NAME="AEN15606"
><DIV ><DIV
CLASS="REFSECT1" CLASS="REFSECT1"
><A ><A
NAME="AEN15609" NAME="AEN16426"
></A ></A
><H2 ><H2
>Details</H2 >Details</H2
><DIV ><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN15611" NAME="AEN16428"
></A ></A
><H3 ><H3
><A ><A
@ -211,7 +211,7 @@ CLASS="PARAMETER"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN15619" NAME="AEN16436"
></A ></A
><P ><P
></P ></P

View File

@ -122,7 +122,7 @@ NAME="LIBXML-XMLERROR"
><DIV ><DIV
CLASS="REFNAMEDIV" CLASS="REFNAMEDIV"
><A ><A
NAME="AEN10039" NAME="AEN9986"
></A ></A
><H2 ><H2
>Name</H2 >Name</H2
@ -130,7 +130,7 @@ NAME="AEN10039"
><DIV ><DIV
CLASS="REFSYNOPSISDIV" CLASS="REFSYNOPSISDIV"
><A ><A
NAME="AEN10042" NAME="AEN9989"
></A ></A
><H2 ><H2
>Synopsis</H2 >Synopsis</H2
@ -208,7 +208,7 @@ HREF="libxml-parser.html#XMLPARSERINPUTPTR"
><DIV ><DIV
CLASS="REFSECT1" CLASS="REFSECT1"
><A ><A
NAME="AEN10057" NAME="AEN10004"
></A ></A
><H2 ><H2
>Description</H2 >Description</H2
@ -218,14 +218,14 @@ NAME="AEN10057"
><DIV ><DIV
CLASS="REFSECT1" CLASS="REFSECT1"
><A ><A
NAME="AEN10060" NAME="AEN10007"
></A ></A
><H2 ><H2
>Details</H2 >Details</H2
><DIV ><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN10062" NAME="AEN10009"
></A ></A
><H3 ><H3
><A ><A
@ -378,7 +378,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN10067" NAME="AEN10014"
></A ></A
><H3 ><H3
><A ><A
@ -405,7 +405,7 @@ CLASS="PROGRAMLISTING"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN10072" NAME="AEN10019"
></A ></A
><P ><P
></P ></P
@ -477,7 +477,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN10089" NAME="AEN10036"
></A ></A
><H3 ><H3
><A ><A
@ -539,7 +539,7 @@ CLASS="PARAMETER"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN10101" NAME="AEN10048"
></A ></A
><P ><P
></P ></P
@ -594,7 +594,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN10114" NAME="AEN10061"
></A ></A
><H3 ><H3
><A ><A
@ -624,7 +624,7 @@ extra parameters.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN10120" NAME="AEN10067"
></A ></A
><P ><P
></P ></P
@ -696,7 +696,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN10137" NAME="AEN10084"
></A ></A
><H3 ><H3
><A ><A
@ -726,7 +726,7 @@ extra parameters.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN10143" NAME="AEN10090"
></A ></A
><P ><P
></P ></P
@ -798,7 +798,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN10160" NAME="AEN10107"
></A ></A
><H3 ><H3
><A ><A
@ -828,7 +828,7 @@ line, position and extra parameters.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN10166" NAME="AEN10113"
></A ></A
><P ><P
></P ></P
@ -900,7 +900,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN10183" NAME="AEN10130"
></A ></A
><H3 ><H3
><A ><A
@ -930,7 +930,7 @@ position and extra parameters.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN10189" NAME="AEN10136"
></A ></A
><P ><P
></P ></P
@ -1002,7 +1002,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN10206" NAME="AEN10153"
></A ></A
><H3 ><H3
><A ><A
@ -1032,7 +1032,7 @@ HREF="libxml-parser.html#XMLPARSERINPUTPTR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN10213" NAME="AEN10160"
></A ></A
><P ><P
></P ></P
@ -1070,7 +1070,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN10222" NAME="AEN10169"
></A ></A
><H3 ><H3
><A ><A
@ -1100,7 +1100,7 @@ HREF="libxml-parser.html#XMLPARSERINPUTPTR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN10229" NAME="AEN10176"
></A ></A
><P ><P
></P ></P

File diff suppressed because it is too large Load Diff

View File

@ -110,7 +110,7 @@ NAME="LIBXML-XMLMEMORY"
><DIV ><DIV
CLASS="REFNAMEDIV" CLASS="REFNAMEDIV"
><A ><A
NAME="AEN21938" NAME="AEN22715"
></A ></A
><H2 ><H2
>Name</H2 >Name</H2
@ -118,7 +118,7 @@ NAME="AEN21938"
><DIV ><DIV
CLASS="REFSYNOPSISDIV" CLASS="REFSYNOPSISDIV"
><A ><A
NAME="AEN21941" NAME="AEN22718"
></A ></A
><H2 ><H2
>Synopsis</H2 >Synopsis</H2
@ -148,12 +148,18 @@ HREF="libxml-xmlmemory.html#XMLFREEFUNC"
void* (<A void* (<A
HREF="libxml-xmlmemory.html#XMLMALLOCFUNC" HREF="libxml-xmlmemory.html#XMLMALLOCFUNC"
>*xmlMallocFunc</A >*xmlMallocFunc</A
>) (...); >) (<GTKDOCLINK
HREF="SIZE-T"
>size_t</GTKDOCLINK
>);
void* (<A void* (<A
HREF="libxml-xmlmemory.html#XMLREALLOCFUNC" HREF="libxml-xmlmemory.html#XMLREALLOCFUNC"
>*xmlReallocFunc</A >*xmlReallocFunc</A
>) (void*, >) (void*,
...); <GTKDOCLINK
HREF="SIZE-T"
>size_t</GTKDOCLINK
>);
char* (<A char* (<A
HREF="libxml-xmlmemory.html#XMLSTRDUPFUNC" HREF="libxml-xmlmemory.html#XMLSTRDUPFUNC"
>*xmlStrdupFunc</A >*xmlStrdupFunc</A
@ -226,26 +232,32 @@ HREF="libxml-xmlmemory.html#XMLMEMORYDUMP"
#define <A #define <A
HREF="libxml-xmlmemory.html#XMLMALLOC" HREF="libxml-xmlmemory.html#XMLMALLOC"
>xmlMalloc</A >xmlMalloc</A
> (x) > (size)
#define <A #define <A
HREF="libxml-xmlmemory.html#XMLREALLOC" HREF="libxml-xmlmemory.html#XMLREALLOC"
>xmlRealloc</A >xmlRealloc</A
> (p, x) > (ptr, size)
#define <A #define <A
HREF="libxml-xmlmemory.html#XMLMEMSTRDUP" HREF="libxml-xmlmemory.html#XMLMEMSTRDUP"
>xmlMemStrdup</A >xmlMemStrdup</A
> (x) > (str)
void* <A void* <A
HREF="libxml-xmlmemory.html#XMLMALLOCLOC" HREF="libxml-xmlmemory.html#XMLMALLOCLOC"
>xmlMallocLoc</A >xmlMallocLoc</A
> (int size, > (<GTKDOCLINK
HREF="SIZE-T"
>size_t</GTKDOCLINK
> size,
const char *file, const char *file,
int line); int line);
void* <A void* <A
HREF="libxml-xmlmemory.html#XMLREALLOCLOC" HREF="libxml-xmlmemory.html#XMLREALLOCLOC"
>xmlReallocLoc</A >xmlReallocLoc</A
> (void *ptr, > (void *ptr,
int size, <GTKDOCLINK
HREF="SIZE-T"
>size_t</GTKDOCLINK
> size,
const char *file, const char *file,
int line); int line);
char* <A char* <A
@ -261,7 +273,7 @@ HREF="libxml-xmlmemory.html#XMLMEMSTRDUPLOC"
><DIV ><DIV
CLASS="REFSECT1" CLASS="REFSECT1"
><A ><A
NAME="AEN21973" NAME="AEN22754"
></A ></A
><H2 ><H2
>Description</H2 >Description</H2
@ -271,14 +283,14 @@ NAME="AEN21973"
><DIV ><DIV
CLASS="REFSECT1" CLASS="REFSECT1"
><A ><A
NAME="AEN21976" NAME="AEN22757"
></A ></A
><H2 ><H2
>Details</H2 >Details</H2
><DIV ><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN21978" NAME="AEN22759"
></A ></A
><H3 ><H3
><A ><A
@ -299,17 +311,12 @@ CLASS="PROGRAMLISTING"
></TR ></TR
></TABLE ></TABLE
><P ><P
>should be activated only done when debugging libxml. It replaces the
allocator with a collect and debug shell to the libc allocator.
DEBUG_MEMORY should be activated only when debugging
libxml i.e. if libxml has been configured with --with-debug-mem too</P
><P
></P ></P
></DIV ></DIV
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN21984" NAME="AEN22764"
></A ></A
><H3 ><H3
><A ><A
@ -335,7 +342,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN21989" NAME="AEN22769"
></A ></A
><H3 ><H3
><A ><A
@ -360,7 +367,7 @@ CLASS="PROGRAMLISTING"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN21994" NAME="AEN22774"
></A ></A
><P ><P
></P ></P
@ -398,7 +405,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN22003" NAME="AEN22783"
></A ></A
><H3 ><H3
><A ><A
@ -414,7 +421,10 @@ CELLPADDING="6"
><TD ><TD
><PRE ><PRE
CLASS="PROGRAMLISTING" CLASS="PROGRAMLISTING"
>void* (*xmlMallocFunc) (...);</PRE >void* (*xmlMallocFunc) (<GTKDOCLINK
HREF="SIZE-T"
>size_t</GTKDOCLINK
>);</PRE
></TD ></TD
></TR ></TR
></TABLE ></TABLE
@ -423,7 +433,7 @@ CLASS="PROGRAMLISTING"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN22008" NAME="AEN22789"
></A ></A
><P ><P
></P ></P
@ -443,7 +453,7 @@ VALIGN="TOP"
><TT ><TT
CLASS="PARAMETER" CLASS="PARAMETER"
><I ><I
>...</I >Param1</I
></TT ></TT
>&nbsp;:</TD >&nbsp;:</TD
><TD ><TD
@ -461,7 +471,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN22017" NAME="AEN22798"
></A ></A
><H3 ><H3
><A ><A
@ -478,7 +488,10 @@ CELLPADDING="6"
><PRE ><PRE
CLASS="PROGRAMLISTING" CLASS="PROGRAMLISTING"
>void* (*xmlReallocFunc) (void*, >void* (*xmlReallocFunc) (void*,
...);</PRE <GTKDOCLINK
HREF="SIZE-T"
>size_t</GTKDOCLINK
>);</PRE
></TD ></TD
></TR ></TR
></TABLE ></TABLE
@ -487,7 +500,7 @@ CLASS="PROGRAMLISTING"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN22022" NAME="AEN22804"
></A ></A
><P ><P
></P ></P
@ -524,7 +537,7 @@ VALIGN="TOP"
><TT ><TT
CLASS="PARAMETER" CLASS="PARAMETER"
><I ><I
>...</I >Param2</I
></TT ></TT
>&nbsp;:</TD >&nbsp;:</TD
><TD ><TD
@ -542,7 +555,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN22035" NAME="AEN22817"
></A ></A
><H3 ><H3
><A ><A
@ -567,7 +580,7 @@ CLASS="PROGRAMLISTING"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN22040" NAME="AEN22822"
></A ></A
><P ><P
></P ></P
@ -620,7 +633,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN22053" NAME="AEN22835"
></A ></A
><H3 ><H3
><A ><A
@ -666,7 +679,7 @@ done ?</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN22064" NAME="AEN22846"
></A ></A
><P ><P
></P ></P
@ -782,7 +795,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN22093" NAME="AEN22875"
></A ></A
><H3 ><H3
><A ><A
@ -824,7 +837,7 @@ HREF="libxml-xmlmemory.html#XMLSTRDUPFUNC"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN22103" NAME="AEN22885"
></A ></A
><P ><P
></P ></P
@ -940,7 +953,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN22132" NAME="AEN22914"
></A ></A
><H3 ><H3
><A ><A
@ -967,7 +980,7 @@ CLASS="PROGRAMLISTING"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN22138" NAME="AEN22920"
></A ></A
><P ><P
></P ></P
@ -1003,7 +1016,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN22147" NAME="AEN22929"
></A ></A
><H3 ><H3
><A ><A
@ -1030,7 +1043,7 @@ CLASS="PROGRAMLISTING"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN22153" NAME="AEN22935"
></A ></A
><P ><P
></P ></P
@ -1066,7 +1079,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN22162" NAME="AEN22944"
></A ></A
><H3 ><H3
><A ><A
@ -1096,7 +1109,7 @@ HREF="FILE-CAPS"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN22169" NAME="AEN22951"
></A ></A
><P ><P
></P ></P
@ -1135,7 +1148,7 @@ written to the file .memorylist</TD
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN22178" NAME="AEN22960"
></A ></A
><H3 ><H3
><A ><A
@ -1172,7 +1185,7 @@ CLASS="PARAMETER"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN22186" NAME="AEN22968"
></A ></A
><P ><P
></P ></P
@ -1227,7 +1240,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN22199" NAME="AEN22981"
></A ></A
><H3 ><H3
><A ><A
@ -1255,7 +1268,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN22205" NAME="AEN22987"
></A ></A
><H3 ><H3
><A ><A
@ -1271,7 +1284,7 @@ CELLPADDING="6"
><TD ><TD
><PRE ><PRE
CLASS="PROGRAMLISTING" CLASS="PROGRAMLISTING"
>#define xmlMalloc(x) xmlMallocLoc((x), __FILE__, __LINE__)</PRE >#define xmlMalloc(size) xmlMallocLoc((size), __FILE__, __LINE__)</PRE
></TD ></TD
></TR ></TR
></TABLE ></TABLE
@ -1280,7 +1293,7 @@ CLASS="PROGRAMLISTING"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN22210" NAME="AEN22992"
></A ></A
><P ><P
></P ></P
@ -1300,7 +1313,7 @@ VALIGN="TOP"
><TT ><TT
CLASS="PARAMETER" CLASS="PARAMETER"
><I ><I
>x</I >size</I
></TT ></TT
>&nbsp;:</TD >&nbsp;:</TD
><TD ><TD
@ -1318,7 +1331,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN22219" NAME="AEN23001"
></A ></A
><H3 ><H3
><A ><A
@ -1334,7 +1347,7 @@ CELLPADDING="6"
><TD ><TD
><PRE ><PRE
CLASS="PROGRAMLISTING" CLASS="PROGRAMLISTING"
>#define xmlRealloc(p, x) xmlReallocLoc((p), (x), __FILE__, __LINE__)</PRE >#define xmlRealloc(ptr, size) xmlReallocLoc((ptr), (size), __FILE__, __LINE__)</PRE
></TD ></TD
></TR ></TR
></TABLE ></TABLE
@ -1343,7 +1356,7 @@ CLASS="PROGRAMLISTING"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN22224" NAME="AEN23006"
></A ></A
><P ><P
></P ></P
@ -1363,7 +1376,7 @@ VALIGN="TOP"
><TT ><TT
CLASS="PARAMETER" CLASS="PARAMETER"
><I ><I
>p</I >ptr</I
></TT ></TT
>&nbsp;:</TD >&nbsp;:</TD
><TD ><TD
@ -1380,7 +1393,7 @@ VALIGN="TOP"
><TT ><TT
CLASS="PARAMETER" CLASS="PARAMETER"
><I ><I
>x</I >size</I
></TT ></TT
>&nbsp;:</TD >&nbsp;:</TD
><TD ><TD
@ -1398,7 +1411,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN22237" NAME="AEN23019"
></A ></A
><H3 ><H3
><A ><A
@ -1414,7 +1427,7 @@ CELLPADDING="6"
><TD ><TD
><PRE ><PRE
CLASS="PROGRAMLISTING" CLASS="PROGRAMLISTING"
>#define xmlMemStrdup(x) xmlMemStrdupLoc((x), __FILE__, __LINE__)</PRE >#define xmlMemStrdup(str) xmlMemStrdupLoc((str), __FILE__, __LINE__)</PRE
></TD ></TD
></TR ></TR
></TABLE ></TABLE
@ -1423,7 +1436,7 @@ CLASS="PROGRAMLISTING"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN22242" NAME="AEN23024"
></A ></A
><P ><P
></P ></P
@ -1443,7 +1456,7 @@ VALIGN="TOP"
><TT ><TT
CLASS="PARAMETER" CLASS="PARAMETER"
><I ><I
>x</I >str</I
></TT ></TT
>&nbsp;:</TD >&nbsp;:</TD
><TD ><TD
@ -1461,7 +1474,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN22251" NAME="AEN23033"
></A ></A
><H3 ><H3
><A ><A
@ -1477,7 +1490,10 @@ CELLPADDING="6"
><TD ><TD
><PRE ><PRE
CLASS="PROGRAMLISTING" CLASS="PROGRAMLISTING"
>void* xmlMallocLoc (int size, >void* xmlMallocLoc (<GTKDOCLINK
HREF="SIZE-T"
>size_t</GTKDOCLINK
> size,
const char *file, const char *file,
int line);</PRE int line);</PRE
></TD ></TD
@ -1493,7 +1509,7 @@ HREF="MALLOC"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN22258" NAME="AEN23041"
></A ></A
><P ><P
></P ></P
@ -1565,7 +1581,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN22275" NAME="AEN23058"
></A ></A
><H3 ><H3
><A ><A
@ -1582,7 +1598,10 @@ CELLPADDING="6"
><PRE ><PRE
CLASS="PROGRAMLISTING" CLASS="PROGRAMLISTING"
>void* xmlReallocLoc (void *ptr, >void* xmlReallocLoc (void *ptr,
int size, <GTKDOCLINK
HREF="SIZE-T"
>size_t</GTKDOCLINK
> size,
const char *file, const char *file,
int line);</PRE int line);</PRE
></TD ></TD
@ -1598,7 +1617,7 @@ HREF="REALLOC"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN22282" NAME="AEN23066"
></A ></A
><P ><P
></P ></P
@ -1687,7 +1706,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN22303" NAME="AEN23087"
></A ></A
><H3 ><H3
><A ><A
@ -1719,7 +1738,7 @@ HREF="STRDUP"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN22310" NAME="AEN23094"
></A ></A
><P ><P
></P ></P

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -122,7 +122,7 @@ NAME="LIBXML-XPOINTER"
><DIV ><DIV
CLASS="REFNAMEDIV" CLASS="REFNAMEDIV"
><A ><A
NAME="AEN14997" NAME="AEN15814"
></A ></A
><H2 ><H2
>Name</H2 >Name</H2
@ -130,7 +130,7 @@ NAME="AEN14997"
><DIV ><DIV
CLASS="REFSYNOPSISDIV" CLASS="REFSYNOPSISDIV"
><A ><A
NAME="AEN15000" NAME="AEN15817"
></A ></A
><H2 ><H2
>Synopsis</H2 >Synopsis</H2
@ -410,7 +410,7 @@ HREF="libxml-xpath.html#XMLXPATHPARSERCONTEXTPTR"
><DIV ><DIV
CLASS="REFSECT1" CLASS="REFSECT1"
><A ><A
NAME="AEN15075" NAME="AEN15892"
></A ></A
><H2 ><H2
>Description</H2 >Description</H2
@ -420,14 +420,14 @@ NAME="AEN15075"
><DIV ><DIV
CLASS="REFSECT1" CLASS="REFSECT1"
><A ><A
NAME="AEN15078" NAME="AEN15895"
></A ></A
><H2 ><H2
>Details</H2 >Details</H2
><DIV ><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN15080" NAME="AEN15897"
></A ></A
><H3 ><H3
><A ><A
@ -457,7 +457,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN15085" NAME="AEN15902"
></A ></A
><H3 ><H3
><A ><A
@ -483,7 +483,7 @@ CLASS="PROGRAMLISTING"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN15090" NAME="AEN15907"
></A ></A
><H3 ><H3
><A ><A
@ -521,7 +521,7 @@ CLASS="PARAMETER"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN15099" NAME="AEN15916"
></A ></A
><P ><P
></P ></P
@ -574,7 +574,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN15112" NAME="AEN15929"
></A ></A
><H3 ><H3
><A ><A
@ -604,7 +604,7 @@ HREF="libxml-xpointer.html#XMLLOCATIONSETPTR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN15119" NAME="AEN15936"
></A ></A
><P ><P
></P ></P
@ -642,7 +642,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN15128" NAME="AEN15945"
></A ></A
><H3 ><H3
><A ><A
@ -689,7 +689,7 @@ CLASS="PARAMETER"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN15139" NAME="AEN15956"
></A ></A
><P ><P
></P ></P
@ -759,7 +759,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN15156" NAME="AEN15973"
></A ></A
><H3 ><H3
><A ><A
@ -798,7 +798,7 @@ HREF="libxml-tree.html#XMLNODEPTR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN15165" NAME="AEN15982"
></A ></A
><P ><P
></P ></P
@ -902,7 +902,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN15190" NAME="AEN16007"
></A ></A
><H3 ><H3
><A ><A
@ -939,7 +939,7 @@ HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN15199" NAME="AEN16016"
></A ></A
><P ><P
></P ></P
@ -1009,7 +1009,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN15216" NAME="AEN16033"
></A ></A
><H3 ><H3
><A ><A
@ -1046,7 +1046,7 @@ HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN15225" NAME="AEN16042"
></A ></A
><P ><P
></P ></P
@ -1116,7 +1116,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN15242" NAME="AEN16059"
></A ></A
><H3 ><H3
><A ><A
@ -1153,7 +1153,7 @@ HREF="libxml-tree.html#XMLNODEPTR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN15251" NAME="AEN16068"
></A ></A
><P ><P
></P ></P
@ -1223,7 +1223,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN15268" NAME="AEN16085"
></A ></A
><H3 ><H3
><A ><A
@ -1260,7 +1260,7 @@ HREF="libxml-tree.html#XMLNODEPTR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN15277" NAME="AEN16094"
></A ></A
><P ><P
></P ></P
@ -1330,7 +1330,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN15294" NAME="AEN16111"
></A ></A
><H3 ><H3
><A ><A
@ -1379,7 +1379,7 @@ CLASS="PARAMETER"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN15305" NAME="AEN16122"
></A ></A
><P ><P
></P ></P
@ -1449,7 +1449,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN15322" NAME="AEN16139"
></A ></A
><H3 ><H3
><A ><A
@ -1489,7 +1489,7 @@ CLASS="PARAMETER"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN15331" NAME="AEN16148"
></A ></A
><P ><P
></P ></P
@ -1542,7 +1542,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN15344" NAME="AEN16161"
></A ></A
><H3 ><H3
><A ><A
@ -1579,7 +1579,7 @@ HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN15353" NAME="AEN16170"
></A ></A
><P ><P
></P ></P
@ -1649,7 +1649,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN15370" NAME="AEN16187"
></A ></A
><H3 ><H3
><A ><A
@ -1682,7 +1682,7 @@ HREF="libxml-tree.html#XMLNODEPTR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN15378" NAME="AEN16195"
></A ></A
><P ><P
></P ></P
@ -1735,7 +1735,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN15391" NAME="AEN16208"
></A ></A
><H3 ><H3
><A ><A
@ -1775,7 +1775,7 @@ CLASS="PARAMETER"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN15400" NAME="AEN16217"
></A ></A
><P ><P
></P ></P
@ -1830,7 +1830,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN15413" NAME="AEN16230"
></A ></A
><H3 ><H3
><A ><A
@ -1868,7 +1868,7 @@ CLASS="PARAMETER"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN15422" NAME="AEN16239"
></A ></A
><P ><P
></P ></P
@ -1921,7 +1921,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN15435" NAME="AEN16252"
></A ></A
><H3 ><H3
><A ><A
@ -1955,7 +1955,7 @@ HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN15443" NAME="AEN16260"
></A ></A
><P ><P
></P ></P
@ -2010,7 +2010,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN15456" NAME="AEN16273"
></A ></A
><H3 ><H3
><A ><A
@ -2041,7 +2041,7 @@ HREF="libxml-xpointer.html#XMLLOCATIONSETPTR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN15463" NAME="AEN16280"
></A ></A
><P ><P
></P ></P
@ -2096,7 +2096,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN15476" NAME="AEN16293"
></A ></A
><H3 ><H3
><A ><A
@ -2137,7 +2137,7 @@ HREF="libxml-tree.html#XMLNODEPTR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN15486" NAME="AEN16303"
></A ></A
><P ><P
></P ></P
@ -2225,7 +2225,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN15507" NAME="AEN16324"
></A ></A
><H3 ><H3
><A ><A
@ -2262,7 +2262,7 @@ HREF="libxml-xpath.html#XMLXPATHCONTEXTPTR"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN15516" NAME="AEN16333"
></A ></A
><P ><P
></P ></P
@ -2333,7 +2333,7 @@ the caller has to free the object.</TD
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN15533" NAME="AEN16350"
></A ></A
><H3 ><H3
><A ><A
@ -2367,7 +2367,7 @@ HREF="TO"
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN15541" NAME="AEN16358"
></A ></A
><P ><P
></P ></P
@ -2422,7 +2422,7 @@ VALIGN="TOP"
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN15554" NAME="AEN16371"
></A ></A
><H3 ><H3
><A ><A
@ -2456,7 +2456,7 @@ This will drop Attributes and Namespace declarations.</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN15562" NAME="AEN16379"
></A ></A
><P ><P
></P ></P
@ -2510,7 +2510,7 @@ the caller has to free the node tree.</TD
><HR><DIV ><HR><DIV
CLASS="REFSECT2" CLASS="REFSECT2"
><A ><A
NAME="AEN15575" NAME="AEN16392"
></A ></A
><H3 ><H3
><A ><A
@ -2547,7 +2547,7 @@ a Location Set instead of a node set</P
><DIV ><DIV
CLASS="INFORMALTABLE" CLASS="INFORMALTABLE"
><A ><A
NAME="AEN15584" NAME="AEN16401"
></A ></A
><P ><P
></P ></P

View File

@ -29,13 +29,15 @@ void * xmlNanoHTTPMethod (const char *URL,
const char *method, const char *method,
const char *input, const char *input,
char **contentType, char **contentType,
const char *headers); const char *headers,
int ilen);
void * xmlNanoHTTPMethodRedir (const char *URL, void * xmlNanoHTTPMethodRedir (const char *URL,
const char *method, const char *method,
const char *input, const char *input,
char **contentType, char **contentType,
char **redir, char **redir,
const char *headers); const char *headers,
int ilen);
void * xmlNanoHTTPOpen (const char *URL, void * xmlNanoHTTPOpen (const char *URL,
char **contentType); char **contentType);
void * xmlNanoHTTPOpenRedir (const char *URL, void * xmlNanoHTTPOpenRedir (const char *URL,

View File

@ -805,6 +805,11 @@ int xmlSaveFormatFileTo (xmlOutputBuffer *buf,
int format); int format);
*/ */
int xmlSaveFormatFileEnc ( const char * filename,
xmlDocPtr cur,
const char * encoding,
int format );
int xmlSaveFileEnc (const char *filename, int xmlSaveFileEnc (const char *filename,
xmlDocPtr cur, xmlDocPtr cur,
const char *encoding); const char *encoding);

View File

@ -12,6 +12,7 @@
#define __XML_IO_H__ #define __XML_IO_H__
#include <stdio.h> #include <stdio.h>
#include <libxml/xmlversion.h>
#include <libxml/tree.h> #include <libxml/tree.h>
#include <libxml/parser.h> #include <libxml/parser.h>
#include <libxml/encoding.h> #include <libxml/encoding.h>
@ -28,7 +29,7 @@ extern "C" {
typedef int (*xmlInputMatchCallback) (char const *filename); typedef int (*xmlInputMatchCallback) (char const *filename);
typedef void * (*xmlInputOpenCallback) (char const *filename); typedef void * (*xmlInputOpenCallback) (char const *filename);
typedef int (*xmlInputReadCallback) (void * context, char * buffer, int len); typedef int (*xmlInputReadCallback) (void * context, char * buffer, int len);
typedef void (*xmlInputCloseCallback) (void * context); typedef int (*xmlInputCloseCallback) (void * context);
typedef struct _xmlParserInputBuffer xmlParserInputBuffer; typedef struct _xmlParserInputBuffer xmlParserInputBuffer;
typedef xmlParserInputBuffer *xmlParserInputBufferPtr; typedef xmlParserInputBuffer *xmlParserInputBufferPtr;
@ -53,7 +54,7 @@ typedef int (*xmlOutputMatchCallback) (char const *filename);
typedef void * (*xmlOutputOpenCallback) (char const *filename); typedef void * (*xmlOutputOpenCallback) (char const *filename);
typedef int (*xmlOutputWriteCallback) (void * context, const char * buffer, typedef int (*xmlOutputWriteCallback) (void * context, const char * buffer,
int len); int len);
typedef void (*xmlOutputCloseCallback) (void * context); typedef int (*xmlOutputCloseCallback) (void * context);
typedef struct _xmlOutputBuffer xmlOutputBuffer; typedef struct _xmlOutputBuffer xmlOutputBuffer;
typedef xmlOutputBuffer *xmlOutputBufferPtr; typedef xmlOutputBuffer *xmlOutputBufferPtr;
@ -156,6 +157,13 @@ int xmlRegisterOutputCallbacks (xmlOutputMatchCallback matchFunc,
xmlOutputWriteCallback writeFunc, xmlOutputWriteCallback writeFunc,
xmlOutputCloseCallback closeFunc); xmlOutputCloseCallback closeFunc);
/* This function only exists if HTTP support built into the library */
#ifdef LIBXML_HTTP_ENABLED
void * xmlIOHTTPOpenW (const char * post_uri,
int compression );
void xmlRegisterHTTPPostCallbacksI (void );
#endif
/* /*
* This save function are part of tree.h and HTMLtree.h actually * This save function are part of tree.h and HTMLtree.h actually
*/ */

View File

@ -63,6 +63,7 @@
#define SOCKET int #define SOCKET int
#endif #endif
#include <libxml/xmlerror.h>
#include <libxml/xmlmemory.h> #include <libxml/xmlmemory.h>
#include <libxml/parser.h> /* for xmlStr(n)casecmp() */ #include <libxml/parser.h> /* for xmlStr(n)casecmp() */
#include <libxml/nanohttp.h> #include <libxml/nanohttp.h>
@ -75,6 +76,7 @@
#define SOCKET int #define SOCKET int
#endif #endif
#ifdef STANDALONE #ifdef STANDALONE
#define DEBUG_HTTP #define DEBUG_HTTP
#define xmlStrncasecmp(a, b, n) strncasecmp((char *)a, (char *)b, n) #define xmlStrncasecmp(a, b, n) strncasecmp((char *)a, (char *)b, n)
@ -106,6 +108,7 @@ typedef struct xmlNanoHTTPCtxt {
int inlen; /* len of the input buffer */ int inlen; /* len of the input buffer */
int last; /* return code for last operation */ int last; /* return code for last operation */
int returnValue; /* the protocol return value */ int returnValue; /* the protocol return value */
int ContentLength; /* specified content length from HTTP header */
char *contentType; /* the MIME type for the input */ char *contentType; /* the MIME type for the input */
char *location; /* the new URL in case of redirect */ char *location; /* the new URL in case of redirect */
char *authHeader; /* contents of {WWW,Proxy}-Authenticate header */ char *authHeader; /* contents of {WWW,Proxy}-Authenticate header */
@ -116,6 +119,9 @@ static char *proxy = NULL; /* the proxy name if any */
static int proxyPort; /* the proxy port if any */ static int proxyPort; /* the proxy port if any */
static unsigned int timeout = 60;/* the select() timeout in seconds */ static unsigned int timeout = 60;/* the select() timeout in seconds */
int xmlNanoHTTPFetchContent( void * ctx, char ** ptr, int * len );
int xmlNanoHTTPContentLength( void * ctx );
/** /**
* A portability function * A portability function
*/ */
@ -358,6 +364,7 @@ xmlNanoHTTPNewCtxt(const char *URL) {
ret->port = 80; ret->port = 80;
ret->returnValue = 0; ret->returnValue = 0;
ret->fd = -1; ret->fd = -1;
ret->ContentLength = -1;
xmlNanoHTTPScanURL(ret, URL); xmlNanoHTTPScanURL(ret, URL);
@ -393,21 +400,53 @@ xmlNanoHTTPFreeCtxt(xmlNanoHTTPCtxtPtr ctxt) {
* @ctxt: an HTTP context * @ctxt: an HTTP context
* *
* Send the input needed to initiate the processing on the server side * Send the input needed to initiate the processing on the server side
* Returns number of bytes sent or -1 on error.
*/ */
static void static int
xmlNanoHTTPSend(xmlNanoHTTPCtxtPtr ctxt) { xmlNanoHTTPSend(xmlNanoHTTPCtxtPtr ctxt, const char * xmt_ptr, int outlen) {
if (ctxt->state & XML_NANO_HTTP_WRITE) {
unsigned int total_sent = 0; int total_sent = 0;
while (total_sent <strlen(ctxt->outptr)) {
unsigned int nsent = send(ctxt->fd, ctxt->outptr+total_sent, if ( (ctxt->state & XML_NANO_HTTP_WRITE) && (xmt_ptr != NULL ) ) {
strlen(ctxt->outptr)-total_sent, 0); while (total_sent < outlen) {
int nsent = send(ctxt->fd, xmt_ptr + total_sent,
outlen - total_sent, 0);
if (nsent>0) if (nsent>0)
total_sent += nsent; total_sent += nsent;
else if ( ( nsent == -1 ) &&
( socket_errno( ) != EAGAIN ) &&
( socket_errno( ) != EWOULDBLOCK ) ) {
xmlGenericError( xmlGenericErrorContext,
"xmlNanoHTTPSend error: %s",
strerror( socket_errno( ) ) );
if ( total_sent == 0 )
total_sent = -1;
break;
} }
ctxt->last = total_sent; else {
/*
** No data sent
** Since non-blocking sockets are used, wait for
** socket to be writable or default timeout prior
** to retrying.
*/
struct timeval tv;
fd_set wfd;
tv.tv_sec = timeout;
tv.tv_usec = 0;
FD_ZERO( &wfd );
FD_SET( ctxt->fd, &wfd );
(void)select( ctxt->fd + 1, NULL, &wfd, NULL, &tv );
} }
} }
}
return total_sent;
}
/** /**
* xmlNanoHTTPRecv: * xmlNanoHTTPRecv:
@ -430,6 +469,8 @@ xmlNanoHTTPRecv(xmlNanoHTTPCtxtPtr ctxt) {
ctxt->in = (char *) xmlMalloc(65000 * sizeof(char)); ctxt->in = (char *) xmlMalloc(65000 * sizeof(char));
if (ctxt->in == NULL) { if (ctxt->in == NULL) {
ctxt->last = -1; ctxt->last = -1;
xmlGenericError( xmlGenericErrorContext,
"xmlNanoHTTPRecv: Error allocating input memory." );
return(-1); return(-1);
} }
ctxt->inlen = 65000; ctxt->inlen = 65000;
@ -448,10 +489,16 @@ xmlNanoHTTPRecv(xmlNanoHTTPCtxtPtr ctxt) {
int d_inptr = ctxt->inptr - ctxt->in; int d_inptr = ctxt->inptr - ctxt->in;
int d_content = ctxt->content - ctxt->in; int d_content = ctxt->content - ctxt->in;
int d_inrptr = ctxt->inrptr - ctxt->in; int d_inrptr = ctxt->inrptr - ctxt->in;
char * tmp_ptr = ctxt->in;
ctxt->inlen *= 2; ctxt->inlen *= 2;
ctxt->in = (char *) xmlRealloc(ctxt->in, ctxt->inlen); ctxt->in = (char *) xmlRealloc(tmp_ptr, ctxt->inlen);
if (ctxt->in == NULL) { if (ctxt->in == NULL) {
xmlGenericError( xmlGenericErrorContext,
"xmlNanoHTTPRecv: %s %d bytes.",
"Failed to realloc input buffer to",
ctxt->inlen );
xmlFree( tmp_ptr );
ctxt->last = -1; ctxt->last = -1;
return(-1); return(-1);
} }
@ -475,8 +522,16 @@ xmlNanoHTTPRecv(xmlNanoHTTPCtxtPtr ctxt) {
case EAGAIN: case EAGAIN:
#endif #endif
break; break;
default:
case ECONNRESET:
case ESHUTDOWN:
return ( 0 ); return ( 0 );
default:
xmlGenericError( xmlGenericErrorContext,
"xmlNanoHTTPRecv: recv( ) failure - %s",
strerror( socket_errno( ) ) );
return(-1);
} }
} }
@ -485,7 +540,7 @@ xmlNanoHTTPRecv(xmlNanoHTTPCtxtPtr ctxt) {
FD_ZERO(&rfd); FD_ZERO(&rfd);
FD_SET(ctxt->fd, &rfd); FD_SET(ctxt->fd, &rfd);
if (select(ctxt->fd+1, &rfd, NULL, NULL, &tv)<1) if ( (select(ctxt->fd+1, &rfd, NULL, NULL, &tv)<1) && (errno != EINTR) )
return(0); return(0);
} }
return(0); return(0);
@ -506,16 +561,20 @@ static char *
xmlNanoHTTPReadLine(xmlNanoHTTPCtxtPtr ctxt) { xmlNanoHTTPReadLine(xmlNanoHTTPCtxtPtr ctxt) {
char buf[4096]; char buf[4096];
char *bp = buf; char *bp = buf;
int rc;
while (bp - buf < 4095) { while (bp - buf < 4095) {
if (ctxt->inrptr == ctxt->inptr) { if (ctxt->inrptr == ctxt->inptr) {
if (xmlNanoHTTPRecv(ctxt) == 0) { if ( (rc = xmlNanoHTTPRecv(ctxt)) == 0) {
if (bp == buf) if (bp == buf)
return(NULL); return(NULL);
else else
*bp = 0; *bp = 0;
return(xmlMemStrdup(buf)); return(xmlMemStrdup(buf));
} }
else if ( rc == -1 ) {
return ( NULL );
}
} }
*bp = *ctxt->inrptr++; *bp = *ctxt->inrptr++;
if (*bp == '\n') { if (*bp == '\n') {
@ -610,6 +669,9 @@ xmlNanoHTTPScanAnswer(xmlNanoHTTPCtxtPtr ctxt, const char *line) {
if (ctxt->authHeader != NULL) if (ctxt->authHeader != NULL)
xmlFree(ctxt->authHeader); xmlFree(ctxt->authHeader);
ctxt->authHeader = xmlMemStrdup(cur); ctxt->authHeader = xmlMemStrdup(cur);
} else if ( !xmlStrncasecmp( BAD_CAST line, BAD_CAST"Content-Length:", 15) ) {
cur += 15;
ctxt->ContentLength = strtol( cur, NULL, 10 );
} }
} }
@ -636,6 +698,10 @@ xmlNanoHTTPConnectAttempt(struct sockaddr *addr)
#ifdef DEBUG_HTTP #ifdef DEBUG_HTTP
perror("socket"); perror("socket");
#endif #endif
xmlGenericError( xmlGenericErrorContext,
"xmlNanoHTTPConnectAttempt: %s - %s",
"socket creation failure",
strerror( socket_errno( ) ) );
return(-1); return(-1);
} }
@ -666,20 +732,26 @@ xmlNanoHTTPConnectAttempt(struct sockaddr *addr)
#ifdef DEBUG_HTTP #ifdef DEBUG_HTTP
perror("nonblocking"); perror("nonblocking");
#endif #endif
xmlGenericError( xmlGenericErrorContext,
"xmlNanoHTTPConnectAttempt: %s - %s",
"error setting non-blocking IO",
strerror( socket_errno( ) ) );
closesocket(s); closesocket(s);
return(-1); return(-1);
} }
#endif /* !VMS */ #endif /* !VMS */
#endif /* !_WINSOCKAPI_ */ #endif /* !_WINSOCKAPI_ */
if ((connect(s, addr, sizeof(*addr))==-1)) { if ((connect(s, addr, sizeof(*addr))==-1)) {
switch (socket_errno()) { switch (socket_errno()) {
case EINPROGRESS: case EINPROGRESS:
case EWOULDBLOCK: case EWOULDBLOCK:
break; break;
default: default:
perror("connect"); xmlGenericError( xmlGenericErrorContext,
"xmlNanoHTTPConnectAttempt: %s - %s",
"error connecting to HTTP server",
strerror( socket_errno( ) ) );
closesocket(s); closesocket(s);
return(-1); return(-1);
} }
@ -695,13 +767,17 @@ xmlNanoHTTPConnectAttempt(struct sockaddr *addr)
{ {
case 0: case 0:
/* Time out */ /* Time out */
xmlGenericError( xmlGenericErrorContext,
"xmlNanoHTTPConnectAttempt: %s",
"Connect attempt timed out." );
closesocket(s); closesocket(s);
return(-1); return(-1);
case -1: case -1:
/* Ermm.. ?? */ /* Ermm.. ?? */
#ifdef DEBUG_HTTP xmlGenericError( xmlGenericErrorContext,
perror("select"); "xmlNanoHTTPConnectAttempt: %s - %s",
#endif "Error connecting to host",
strerror( socket_errno( ) ) );
closesocket(s); closesocket(s);
return(-1); return(-1);
} }
@ -711,15 +787,27 @@ xmlNanoHTTPConnectAttempt(struct sockaddr *addr)
len = sizeof(status); len = sizeof(status);
if (getsockopt(s, SOL_SOCKET, SO_ERROR, (char*)&status, &len) < 0 ) { if (getsockopt(s, SOL_SOCKET, SO_ERROR, (char*)&status, &len) < 0 ) {
/* Solaris error code */ /* Solaris error code */
xmlGenericError( xmlGenericErrorContext,
"xmlNanoHTTPConnectAttempt: %s - %s",
"Error retrieving pending socket errors",
strerror( socket_errno( ) ) );
return (-1); return (-1);
} }
if ( status ) { if ( status ) {
closesocket(s); closesocket(s);
errno = status; errno = status;
xmlGenericError( xmlGenericErrorContext,
"xmlNanoHTTPConnectAttempt: %s - %s",
"Error connecting to remote host",
strerror( status ) );
return (-1); return (-1);
} }
} else { } else {
/* pbm */ /* pbm */
xmlGenericError( xmlGenericErrorContext,
"xmlNanoHTTPConnectAttempt: %s\n",
"Select returned, but descriptor not set for connection.\n" );
closesocket(s);
return (-1); return (-1);
} }
@ -759,9 +847,34 @@ xmlNanoHTTPConnectHost(const char *host, int port)
h=gethostbyname(host); h=gethostbyname(host);
if (h==NULL) if (h==NULL)
{ {
#ifdef DEBUG_HTTP const char * h_err_txt = "";
xmlGenericError(xmlGenericErrorContext,"unable to resolve '%s'.\n", host); switch ( h_errno )
#endif {
case HOST_NOT_FOUND:
h_err_txt = "Authoritive host not found";
break;
case TRY_AGAIN:
h_err_txt =
"Non-authoritive host not found or server failure.";
break;
case NO_RECOVERY:
h_err_txt =
"Non-recoverable errors: FORMERR, REFUSED, or NOTIMP.";
break;
case NO_ADDRESS:
h_err_txt = "Valid name, no data record of requested type.";
break;
default:
h_err_txt = "No error text defined.";
break;
}
xmlGenericError( xmlGenericErrorContext,
"xmlNanoHTTPConnectHost: %s '%s' - %s",
"Failed to resolve host", host, h_err_txt );
return(-1); return(-1);
} }
@ -793,7 +906,7 @@ xmlNanoHTTPConnectHost(const char *host, int port)
#ifdef DEBUG_HTTP #ifdef DEBUG_HTTP
xmlGenericError(xmlGenericErrorContext, xmlGenericError(xmlGenericErrorContext,
"unable to connect to '%s'.\n", host); "xmlNanoHTTPConnectHost: unable to connect to '%s'.\n", host);
#endif #endif
return(-1); return(-1);
} }
@ -815,7 +928,7 @@ xmlNanoHTTPConnectHost(const char *host, int port)
void* void*
xmlNanoHTTPOpen(const char *URL, char **contentType) { xmlNanoHTTPOpen(const char *URL, char **contentType) {
if (contentType != NULL) *contentType = NULL; if (contentType != NULL) *contentType = NULL;
return(xmlNanoHTTPMethod(URL, NULL, NULL, contentType, NULL)); return(xmlNanoHTTPMethod(URL, NULL, NULL, contentType, NULL, 0));
} }
/** /**
@ -836,7 +949,7 @@ void*
xmlNanoHTTPOpenRedir(const char *URL, char **contentType, char **redir) { xmlNanoHTTPOpenRedir(const char *URL, char **contentType, char **redir) {
if (contentType != NULL) *contentType = NULL; if (contentType != NULL) *contentType = NULL;
if (redir != NULL) *redir = NULL; if (redir != NULL) *redir = NULL;
return(xmlNanoHTTPMethodRedir(URL, NULL, NULL, contentType, redir, NULL)); return(xmlNanoHTTPMethodRedir(URL, NULL, NULL, contentType, redir, NULL,0));
} }
/** /**
@ -860,7 +973,7 @@ xmlNanoHTTPRead(void *ctx, void *dest, int len) {
if (len <= 0) return(0); if (len <= 0) return(0);
while (ctxt->inptr - ctxt->inrptr < len) { while (ctxt->inptr - ctxt->inrptr < len) {
if (xmlNanoHTTPRecv(ctxt) == 0) break; if (xmlNanoHTTPRecv(ctxt) <= 0) break;
} }
if (ctxt->inptr - ctxt->inrptr < len) if (ctxt->inptr - ctxt->inrptr < len)
len = ctxt->inptr - ctxt->inrptr; len = ctxt->inptr - ctxt->inrptr;
@ -904,11 +1017,13 @@ xmlNanoHTTPClose(void *ctx) {
void* void*
xmlNanoHTTPMethodRedir(const char *URL, const char *method, const char *input, xmlNanoHTTPMethodRedir(const char *URL, const char *method, const char *input,
char **contentType, char **redir, const char *headers) { char **contentType, char **redir,
const char *headers, int ilen ) {
xmlNanoHTTPCtxtPtr ctxt; xmlNanoHTTPCtxtPtr ctxt;
char *bp, *p; char *bp, *p;
int blen, ilen, ret; int blen, ret;
int head; int head;
int xmt_bytes;
int nbRedirects = 0; int nbRedirects = 0;
char *redirURL = NULL; char *redirURL = NULL;
@ -923,12 +1038,28 @@ retry:
ctxt = xmlNanoHTTPNewCtxt(redirURL); ctxt = xmlNanoHTTPNewCtxt(redirURL);
} }
if ( ctxt == NULL ) {
xmlGenericError( xmlGenericErrorContext,
"xmlNanoHTTPMethodRedir: %s %s.",
"Unable to allocate HTTP context to URI",
( ( redirURL == NULL ) ? URL : redirURL ) );
return ( NULL );
}
if ((ctxt->protocol == NULL) || (strcmp(ctxt->protocol, "http"))) { if ((ctxt->protocol == NULL) || (strcmp(ctxt->protocol, "http"))) {
xmlGenericError( xmlGenericErrorContext,
"xmlNanoHTTPMethodRedir: %s - %s.",
"Not a valid HTTP URI",
( ( redirURL == NULL ) ? URL : redirURL ) );
xmlNanoHTTPFreeCtxt(ctxt); xmlNanoHTTPFreeCtxt(ctxt);
if (redirURL != NULL) xmlFree(redirURL); if (redirURL != NULL) xmlFree(redirURL);
return(NULL); return(NULL);
} }
if (ctxt->hostname == NULL) { if (ctxt->hostname == NULL) {
xmlGenericError( xmlGenericErrorContext,
"xmlNanoHTTPMethodRedir: %s - %s",
"Failed to identify host in URI",
( ( redirURL == NULL ) ? URL : redirURL ) );
xmlNanoHTTPFreeCtxt(ctxt); xmlNanoHTTPFreeCtxt(ctxt);
if (redirURL != NULL) xmlFree(redirURL); if (redirURL != NULL) xmlFree(redirURL);
return(NULL); return(NULL);
@ -948,43 +1079,52 @@ retry:
} }
ctxt->fd = ret; ctxt->fd = ret;
if (input != NULL) { if (input == NULL)
ilen = strlen(input);
blen += ilen + 32;
}
else
ilen = 0; ilen = 0;
else
blen += 36;
if (headers != NULL) if (headers != NULL)
blen += strlen(headers); blen += strlen(headers) + 2;
if (contentType && *contentType) if (contentType && *contentType)
blen += strlen(*contentType) + 16; blen += strlen(*contentType) + 16;
blen += strlen(method) + strlen(ctxt->path) + 23; blen += strlen(method) + strlen(ctxt->path) + 24;
bp = xmlMalloc(blen); bp = xmlMalloc(blen);
if ( bp == NULL ) {
xmlNanoHTTPFreeCtxt( ctxt );
xmlGenericError( xmlGenericErrorContext,
"xmlNanoHTTPMethodRedir: %s",
"Error allocating HTTP header buffer." );
return ( NULL );
}
p = bp;
if (proxy) { if (proxy) {
if (ctxt->port != 80) { if (ctxt->port != 80) {
sprintf(bp, "%s http://%s:%d%s", method, ctxt->hostname, p += sprintf( p, "%s http://%s:%d%s", method, ctxt->hostname,
ctxt->port, ctxt->path ); ctxt->port, ctxt->path );
} }
else else
sprintf(bp, "%s http://%s%s", method, ctxt->hostname, ctxt->path); p += sprintf( p, "%s http://%s%s", method,
ctxt->hostname, ctxt->path);
} }
else else
sprintf(bp, "%s %s", method, ctxt->path); p += sprintf( p, "%s %s", method, ctxt->path);
p = bp + strlen(bp);
sprintf(p, " HTTP/1.0\r\nHost: %s\r\n", ctxt->hostname); p += sprintf(p, " HTTP/1.0\r\nHost: %s\r\n", ctxt->hostname);
p += strlen(p);
if (contentType != NULL && *contentType) { if (contentType != NULL && *contentType)
sprintf(p, "Content-Type: %s\r\n", *contentType); p += sprintf(p, "Content-Type: %s\r\n", *contentType);
p += strlen(p);
} if (headers != NULL)
if (headers != NULL) { p += sprintf( p, "%s", headers );
strcpy(p, headers);
p += strlen(p);
}
if (input != NULL) if (input != NULL)
sprintf(p, "Content-Length: %d\r\n\r\n%s", ilen, input); sprintf(p, "Content-Length: %d\r\n\r\n", ilen );
else else
strcpy(p, "\r\n"); strcpy(p, "\r\n");
#ifdef DEBUG_HTTP #ifdef DEBUG_HTTP
xmlGenericError(xmlGenericErrorContext, xmlGenericError(xmlGenericErrorContext,
"-> %s%s", proxy? "(Proxy) " : "", bp); "-> %s%s", proxy? "(Proxy) " : "", bp);
@ -994,7 +1134,30 @@ retry:
#endif #endif
ctxt->outptr = ctxt->out = bp; ctxt->outptr = ctxt->out = bp;
ctxt->state = XML_NANO_HTTP_WRITE; ctxt->state = XML_NANO_HTTP_WRITE;
xmlNanoHTTPSend(ctxt); blen = strlen( ctxt->out );
xmt_bytes = xmlNanoHTTPSend(ctxt, ctxt->out, blen );
#ifdef DEBUG_HTTP
if ( xmt_bytes != blen )
xmlGenericError( xmlGenericErrorContext,
"xmlNanoHTTPMethodRedir: Only %d of %d %s %s\n",
xmt_bytes, blen,
"bytes of HTTP headers sent to host",
ctxt->hostname );
#endif
if ( input != NULL ) {
xmt_bytes = xmlNanoHTTPSend( ctxt, input, ilen );
#ifdef DEBUG_HTTP
if ( xmt_bytes != ilen )
xmlGenericError( xmlGenericErrorContext,
"xmlNanoHTTPMethodRedir: Only %d of %d %s %s\n",
xmt_bytes, ilen,
"bytes of HTTP content sent to host",
ctxt->hostname );
#endif
}
ctxt->state = XML_NANO_HTTP_READ; ctxt->state = XML_NANO_HTTP_READ;
head = 1; head = 1;
@ -1019,7 +1182,7 @@ retry:
xmlGenericError(xmlGenericErrorContext, xmlGenericError(xmlGenericErrorContext,
"\nRedirect to: %s\n", ctxt->location); "\nRedirect to: %s\n", ctxt->location);
#endif #endif
while (xmlNanoHTTPRecv(ctxt)) ; while ( xmlNanoHTTPRecv(ctxt) > 0 ) ;
if (nbRedirects < XML_NANO_HTTP_MAX_REDIR) { if (nbRedirects < XML_NANO_HTTP_MAX_REDIR) {
nbRedirects++; nbRedirects++;
if (redirURL != NULL) if (redirURL != NULL)
@ -1032,10 +1195,9 @@ retry:
if (redirURL != NULL) xmlFree(redirURL); if (redirURL != NULL) xmlFree(redirURL);
#ifdef DEBUG_HTTP #ifdef DEBUG_HTTP
xmlGenericError(xmlGenericErrorContext, xmlGenericError(xmlGenericErrorContext,
"Too many redirects, aborting ...\n"); "xmlNanoHTTPMethodRedir: Too many redirects, aborting ...\n");
#endif #endif
return(NULL); return(NULL);
} }
if (contentType != NULL) { if (contentType != NULL) {
@ -1086,9 +1248,9 @@ retry:
void* void*
xmlNanoHTTPMethod(const char *URL, const char *method, const char *input, xmlNanoHTTPMethod(const char *URL, const char *method, const char *input,
char **contentType, const char *headers) { char **contentType, const char *headers, int ilen) {
return(xmlNanoHTTPMethodRedir(URL, method, input, contentType, return(xmlNanoHTTPMethodRedir(URL, method, input, contentType,
NULL, headers)); NULL, headers, ilen));
} }
/** /**
@ -1106,8 +1268,8 @@ xmlNanoHTTPMethod(const char *URL, const char *method, const char *input,
*/ */
int int
xmlNanoHTTPFetch(const char *URL, const char *filename, char **contentType) { xmlNanoHTTPFetch(const char *URL, const char *filename, char **contentType) {
void *ctxt; void *ctxt = NULL;
char buf[4096]; char *buf = NULL;
int fd; int fd;
int len; int len;
@ -1128,7 +1290,8 @@ xmlNanoHTTPFetch(const char *URL, const char *filename, char **contentType) {
} }
} }
while ((len = xmlNanoHTTPRead(ctxt, buf, sizeof(buf))) > 0) { xmlNanoHTTPFetchContent( ctxt, &buf, &len );
if ( len > 0 ) {
write(fd, buf, len); write(fd, buf, len);
} }
@ -1165,7 +1328,8 @@ xmlNanoHTTPSave(void *ctxt, const char *filename) {
} }
} }
while ((len = xmlNanoHTTPRead(ctxt, buf, sizeof(buf))) > 0) { xmlNanoHTTPFetchContent( ctxt, &buf, &len );
if ( len > 0 ) {
write(fd, buf, len); write(fd, buf, len);
} }
@ -1208,6 +1372,77 @@ xmlNanoHTTPAuthHeader(void *ctx) {
return(ctxt->authHeader); return(ctxt->authHeader);
} }
/**
* xmlNanoHTTPContentLength
* @ctx: the HTTP context
*
* Return the specified content length from the HTTP header. Note that
* a value of -1 indicates that the content length element was not included in
* the response header.
*/
int
xmlNanoHTTPContentLength( void * ctx ) {
xmlNanoHTTPCtxtPtr ctxt = ctx;
return ( ( ctxt == NULL ) ? -1 : ctxt->ContentLength );
}
/**
* xmlNanoHTTPFetchContent
* @ctx: the HTTP context
* @ptr: pointer to set to the content buffer.
* @len: integer pointer to hold the length of the content
*
* Returns 0 if all the content was read and available, returns
* -1 if received content length was less than specified or an error
* occurred.
*/
int
xmlNanoHTTPFetchContent( void * ctx, char ** ptr, int * len ) {
xmlNanoHTTPCtxtPtr ctxt = ctx;
int rc = 0;
int cur_lgth;
int rcvd_lgth;
int dummy_int;
char * dummy_ptr = NULL;
/* Dummy up return input parameters if not provided */
if ( len == NULL )
len = &dummy_int;
if ( ptr == NULL )
ptr = &dummy_ptr;
/* But can't work without the context pointer */
if ( ( ctxt == NULL ) || ( ctxt->content == NULL ) ) {
*len = 0;
*ptr = NULL;
return ( -1 );
}
rcvd_lgth = ctxt->inptr - ctxt->content;
while ( (cur_lgth = xmlNanoHTTPRecv( ctxt )) > 0 ) {
rcvd_lgth += cur_lgth;
if ( (ctxt->ContentLength > 0) && (rcvd_lgth >= ctxt->ContentLength) )
break;
}
*ptr = ctxt->content;
*len = rcvd_lgth;
if ( ( ctxt->ContentLength > 0 ) && ( rcvd_lgth < ctxt->ContentLength ) )
rc = -1;
else if ( rcvd_lgth == 0 )
rc = -1;
return ( rc );
}
#ifdef STANDALONE #ifdef STANDALONE
int main(int argc, char **argv) { int main(int argc, char **argv) {
char *contentType = NULL; char *contentType = NULL;

83
tree.c
View File

@ -6408,17 +6408,15 @@ xmlSaveFormatFileTo(xmlOutputBuffer *buf, xmlDocPtr cur, const char *encoding, i
} }
/** /**
* xmlSaveFileEnc: * xmlSaveFormatFileEnc
* @filename: the filename (or URL) * @filename: the filename or URL to output
* @cur: the document * @cur: the document being saved
* @encoding: the name of an encoding (or NULL) * @encoding: the name of the encoding to use or NULL.
* * @format: should formatting spaces be added.
* Dump an XML document, converting it to the given encoding
*
* returns: the number of byte written or -1 in case of failure.
*/ */
int int
xmlSaveFileEnc(const char *filename, xmlDocPtr cur, const char *encoding) { xmlSaveFormatFileEnc( const char * filename, xmlDocPtr cur,
const char * encoding, int format ) {
xmlOutputBufferPtr buf; xmlOutputBufferPtr buf;
xmlCharEncodingHandlerPtr handler = NULL; xmlCharEncodingHandlerPtr handler = NULL;
xmlCharEncoding enc; xmlCharEncoding enc;
@ -6439,18 +6437,37 @@ xmlSaveFileEnc(const char *filename, xmlDocPtr cur, const char *encoding) {
} }
} }
#ifdef HAVE_ZLIB_H
if (cur->compression < 0) cur->compression = xmlCompressMode;
#endif
/* /*
* save the content to a temp buffer. * save the content to a temp buffer.
*/ */
buf = xmlOutputBufferCreateFilename(filename, handler, 0); buf = xmlOutputBufferCreateFilename(filename, handler, cur->compression);
if (buf == NULL) return(-1); if (buf == NULL) return(-1);
xmlDocContentDumpOutput(buf, cur, encoding, 0); xmlDocContentDumpOutput(buf, cur, encoding, format);
ret = xmlOutputBufferClose(buf); ret = xmlOutputBufferClose(buf);
return(ret); return(ret);
} }
/**
* xmlSaveFileEnc:
* @filename: the filename (or URL)
* @cur: the document
* @encoding: the name of an encoding (or NULL)
*
* Dump an XML document, converting it to the given encoding
*
* returns: the number of byte written or -1 in case of failure.
*/
int
xmlSaveFileEnc(const char *filename, xmlDocPtr cur, const char *encoding) {
return ( xmlSaveFormatFileEnc( filename, cur, encoding, 0 ) );
}
/** /**
* xmlSaveFormatFile: * xmlSaveFormatFile:
* @filename: the filename (or URL) * @filename: the filename (or URL)
@ -6465,47 +6482,7 @@ xmlSaveFileEnc(const char *filename, xmlDocPtr cur, const char *encoding) {
*/ */
int int
xmlSaveFormatFile(const char *filename, xmlDocPtr cur, int format) { xmlSaveFormatFile(const char *filename, xmlDocPtr cur, int format) {
xmlOutputBufferPtr buf; return ( xmlSaveFormatFileEnc( filename, cur, NULL, format ) );
const char *encoding;
xmlCharEncodingHandlerPtr handler = NULL;
int ret;
if (cur == NULL)
return(-1);
encoding = (const char *) cur->encoding;
/*
* save the content to a temp buffer.
*/
#ifdef HAVE_ZLIB_H
if (cur->compression < 0) cur->compression = xmlCompressMode;
#endif
if (encoding != NULL) {
xmlCharEncoding enc;
enc = xmlParseCharEncoding(encoding);
if (cur->charset != XML_CHAR_ENCODING_UTF8) {
xmlGenericError(xmlGenericErrorContext,
"xmlSaveFile: document not in UTF8\n");
return(-1);
}
if (enc != XML_CHAR_ENCODING_UTF8) {
handler = xmlFindCharEncodingHandler(encoding);
if (handler == NULL) {
xmlFree((char *) cur->encoding);
cur->encoding = NULL;
}
}
}
buf = xmlOutputBufferCreateFilename(filename, handler, cur->compression);
if (buf == NULL) return(-1);
xmlDocContentDumpOutput(buf, cur, NULL, format);
ret = xmlOutputBufferClose(buf);
return(ret);
} }
/** /**
@ -6520,6 +6497,6 @@ xmlSaveFormatFile(const char *filename, xmlDocPtr cur, int format) {
*/ */
int int
xmlSaveFile(const char *filename, xmlDocPtr cur) { xmlSaveFile(const char *filename, xmlDocPtr cur) {
return(xmlSaveFormatFile(filename, cur, 0)); return(xmlSaveFormatFileEnc(filename, cur, NULL, 0));
} }

737
xmlIO.c
View File

@ -3,7 +3,7 @@
* *
* See Copyright for the status of this software. * See Copyright for the status of this software.
* *
* daniel@veillard.com * Daniel.Veillard@w3.org
* *
* 14 Nov 2000 ht - for VMS, truncated name of long functions to under 32 char * 14 Nov 2000 ht - for VMS, truncated name of long functions to under 32 char
*/ */
@ -75,6 +75,7 @@
#define xmlRegisterDefaultOutputCallbacks xmlRegisterDefOutputCallbacks #define xmlRegisterDefaultOutputCallbacks xmlRegisterDefOutputCallbacks
#endif #endif
/* #define VERBOSE_FAILURE */
/* #define DEBUG_EXTERNAL_ENTITIES */ /* #define DEBUG_EXTERNAL_ENTITIES */
/* #define DEBUG_INPUT */ /* #define DEBUG_INPUT */
@ -197,10 +198,12 @@ xmlFdWrite (void * context, const char * buffer, int len) {
* @context: the I/O context * @context: the I/O context
* *
* Close an I/O channel * Close an I/O channel
*
* Returns 0 in case of success and error code otherwise
*/ */
static void static int
xmlFdClose (void * context) { xmlFdClose (void * context) {
close((int) (long) context); return ( close((int) (long) context) );
} }
/** /**
@ -324,9 +327,9 @@ xmlFileWrite (void * context, const char * buffer, int len) {
* *
* Close an I/O channel * Close an I/O channel
*/ */
static void static int
xmlFileClose (void * context) { xmlFileClose (void * context) {
fclose((FILE *) context); return ( ( fclose((FILE *) context) == EOF ) ? -1 : 0 );
} }
/** /**
@ -335,9 +338,9 @@ xmlFileClose (void * context) {
* *
* Flush an I/O channel * Flush an I/O channel
*/ */
static void static int
xmlFileFlush (void * context) { xmlFileFlush (void * context) {
fflush((FILE *) context); return ( ( fflush((FILE *) context) == EOF ) ? -1 : 0 );
} }
#ifdef HAVE_ZLIB_H #ifdef HAVE_ZLIB_H
@ -466,9 +469,9 @@ xmlGzfileWrite (void * context, const char * buffer, int len) {
* *
* Close a compressed I/O channel * Close a compressed I/O channel
*/ */
static void static int
xmlGzfileClose (void * context) { xmlGzfileClose (void * context) {
gzclose((gzFile) context); return ( ( gzclose((gzFile) context) == Z_OK ) ? 0 : -1 );
} }
#endif /* HAVE_ZLIB_H */ #endif /* HAVE_ZLIB_H */
@ -478,6 +481,369 @@ xmlGzfileClose (void * context) {
* I/O for HTTP file accesses * * I/O for HTTP file accesses *
* * * *
************************************************************************/ ************************************************************************/
typedef struct xmlIOHTTPWriteCtxt_
{
int compression;
char * uri;
void * doc_buff;
} xmlIOHTTPWriteCtxt, *xmlIOHTTPWriteCtxtPtr;
#ifdef HAVE_ZLIB_H
#define DFLT_WBITS ( -15 )
#define DFLT_MEM_LVL ( 8 )
#define GZ_MAGIC1 ( 0x1f )
#define GZ_MAGIC2 ( 0x8b )
#define LXML_ZLIB_OS_CODE ( 0x03 )
#define INIT_HTTP_BUFF_SIZE ( 32768 )
#define DFLT_ZLIB_RATIO ( 5 )
/*
** Data structure and functions to work with sending compressed data
** via HTTP.
*/
typedef struct xmlZMemBuff_
{
unsigned long size;
unsigned long crc;
unsigned char * zbuff;
z_stream zctrl;
} xmlZMemBuff, *xmlZMemBuffPtr;
/**
* append_reverse_ulong
* @buff: Compressed memory buffer
* @data: Unsigned long to append
*
* Append a unsigned long in reverse byte order to the end of the
* memory buffer.
*/
static void
append_reverse_ulong( xmlZMemBuff * buff, unsigned long data ) {
int idx;
if ( buff == NULL )
return;
/*
** This is plagiarized from putLong in gzio.c (zlib source) where
** the number "4" is hardcoded. If zlib is ever patched to
** support 64 bit file sizes, this code would need to be patched
** as well.
*/
for ( idx = 0; idx < 4; idx++ ) {
*buff->zctrl.next_out = ( data & 0xff );
data >>= 8;
buff->zctrl.next_out++;
}
return;
}
/**
*
* xmlFreeZMemBuff
* @buff: The memory buffer context to clear
*
* Release all the resources associated with the compressed memory buffer.
*/
static void
xmlFreeZMemBuff( xmlZMemBuffPtr buff ) {
int z_err;
if ( buff == NULL )
return;
xmlFree( buff->zbuff );
z_err = deflateEnd( &buff->zctrl );
#ifdef DEBUG_HTTP
if ( z_err != Z_OK )
xmlGenericError( xmlGenericErrorContext,
"xmlFreeZMemBuff: Error releasing zlib context: %d\n",
z_err );
#endif
xmlFree( buff );
return;
}
/**
* xmlCreateZMemBuff
*@compression: Compression value to use
*
* Create a memory buffer to hold the compressed XML document. The
* compressed document in memory will end up being identical to what
* would be created if gzopen/gzwrite/gzclose were being used to
* write the document to disk. The code for the header/trailer data to
* the compression is plagiarized from the zlib source files.
*/
static void *
xmlCreateZMemBuff( int compression ) {
int z_err;
int hdr_lgth;
xmlZMemBuffPtr buff = NULL;
if ( ( compression < 1 ) || ( compression > 9 ) )
return ( NULL );
/* Create the control and data areas */
buff = xmlMalloc( sizeof( xmlZMemBuff ) );
if ( buff == NULL ) {
xmlGenericError( xmlGenericErrorContext,
"xmlCreateZMemBuff: %s\n",
"Failure allocating buffer context." );
return ( NULL );
}
(void)memset( buff, 0, sizeof( xmlZMemBuff ) );
buff->size = INIT_HTTP_BUFF_SIZE;
buff->zbuff = xmlMalloc( buff->size );
if ( buff->zbuff == NULL ) {
xmlFreeZMemBuff( buff );
xmlGenericError( xmlGenericErrorContext,
"xmlCreateZMemBuff: %s\n",
"Failure allocating data buffer." );
return ( NULL );
}
z_err = deflateInit2( &buff->zctrl, compression, Z_DEFLATED,
DFLT_WBITS, DFLT_MEM_LVL, Z_DEFAULT_STRATEGY );
if ( z_err != Z_OK ) {
xmlFreeZMemBuff( buff );
buff = NULL;
xmlGenericError( xmlGenericErrorContext,
"xmlCreateZMemBuff: %s %d\n",
"Error initializing compression context. ZLIB error:",
z_err );
return ( NULL );
}
/* Set the header data. The CRC will be needed for the trailer */
buff->crc = crc32( 0L, Z_NULL, 0 );
hdr_lgth = sprintf( (char *)buff->zbuff, "%c%c%c%c%c%c%c%c%c%c",
GZ_MAGIC1, GZ_MAGIC2, Z_DEFLATED,
0, 0, 0, 0, 0, 0, LXML_ZLIB_OS_CODE );
buff->zctrl.next_out = buff->zbuff + hdr_lgth;
buff->zctrl.avail_out = buff->size - hdr_lgth;
return ( buff );
}
/**
* xmlZMemBuffExtend
* @buff: Buffer used to compress and consolidate data.
* @ext_amt: Number of bytes to extend the buffer.
*
* Extend the internal buffer used to store the compressed data by the
* specified amount.
*
* Returns 0 on success or -1 on failure to extend the buffer. On failure
* the original buffer still exists at the original size.
*/
static int
xmlZMemBuffExtend( xmlZMemBuffPtr buff, size_t ext_amt ) {
int rc = -1;
size_t new_size;
size_t cur_used;
unsigned char * tmp_ptr = NULL;
if ( buff == NULL )
return ( -1 );
else if ( ext_amt == 0 )
return ( 0 );
cur_used = buff->zctrl.next_out - buff->zbuff;
new_size = buff->size + ext_amt;
#ifdef DEBUG_HTTP
if ( cur_used > new_size )
xmlGenericError( xmlGenericErrorContext,
"xmlZMemBuffExtend: %s\n%s %d bytes.\n",
"Buffer overwrite detected during compressed memory",
"buffer extension. Overflowed by",
(cur_used - new_size ) );
#endif
tmp_ptr = xmlRealloc( buff->zbuff, new_size );
if ( tmp_ptr != NULL ) {
rc = 0;
buff->size = new_size;
buff->zbuff = tmp_ptr;
buff->zctrl.next_out = tmp_ptr + cur_used;
buff->zctrl.avail_out = new_size - cur_used;
}
else {
xmlGenericError( xmlGenericErrorContext,
"xmlZMemBuffExtend: %s %lu bytes.\n",
"Allocation failure extending output buffer to",
new_size );
}
return ( rc );
}
/**
* xmlZMemBuffAppend
* @buff: Buffer used to compress and consolidate data
* @src: Uncompressed source content to append to buffer
* @len: Length of source data to append to buffer
*
* Compress and append data to the internal buffer. The data buffer
* will be expanded if needed to store the additional data.
*
* Returns the number of bytes appended to the buffer or -1 on error.
*/
static int
xmlZMemBuffAppend( xmlZMemBuffPtr buff, const char * src, int len ) {
int z_err;
size_t min_accept;
if ( ( buff == NULL ) || ( src == NULL ) )
return ( -1 );
buff->zctrl.avail_in = len;
buff->zctrl.next_in = (unsigned char *)src;
while ( buff->zctrl.avail_in > 0 ) {
/*
** Extend the buffer prior to deflate call if a reasonable amount
** of output buffer space is not available.
*/
min_accept = buff->zctrl.avail_in / DFLT_ZLIB_RATIO;
if ( buff->zctrl.avail_out <= min_accept ) {
if ( xmlZMemBuffExtend( buff, buff->size ) == -1 )
return ( -1 );
}
z_err = deflate( &buff->zctrl, Z_NO_FLUSH );
if ( z_err != Z_OK ) {
xmlGenericError( xmlGenericErrorContext,
"xmlZMemBuffAppend: %s %d %s - %d",
"Compression error while appending",
len, "bytes to buffer. ZLIB error", z_err );
return ( -1 );
}
}
buff->crc = crc32( buff->crc, (unsigned char *)src, len );
return ( len );
}
/**
* xmlZMemBuffGetContent
* @buff: Compressed memory content buffer
* @data_ref: Pointer reference to point to compressed content
*
* Flushes the compression buffers, appends gzip file trailers and
* returns the compressed content and length of the compressed data.
* NOTE: The gzip trailer code here is plagiarized from zlib source.
*
* Returns the length of the compressed data or -1 on error.
*/
static int
xmlZMemBuffGetContent( xmlZMemBuffPtr buff, char ** data_ref ) {
int zlgth = -1;
int z_err;
if ( ( buff == NULL ) || ( data_ref == NULL ) )
return ( -1 );
/* Need to loop until compression output buffers are flushed */
do
{
z_err = deflate( &buff->zctrl, Z_FINISH );
if ( z_err == Z_OK ) {
/* In this case Z_OK means more buffer space needed */
if ( xmlZMemBuffExtend( buff, buff->size ) == -1 )
return ( -1 );
}
}
while ( z_err == Z_OK );
/* If the compression state is not Z_STREAM_END, some error occurred */
if ( z_err == Z_STREAM_END ) {
/* Need to append the gzip data trailer */
if ( buff->zctrl.avail_out < ( 2 * sizeof( unsigned long ) ) ) {
if ( xmlZMemBuffExtend(buff, (2 * sizeof(unsigned long))) == -1 )
return ( -1 );
}
/*
** For whatever reason, the CRC and length data are pushed out
** in reverse byte order. So a memcpy can't be used here.
*/
append_reverse_ulong( buff, buff->crc );
append_reverse_ulong( buff, buff->zctrl.total_in );
zlgth = buff->zctrl.next_out - buff->zbuff;
*data_ref = (char *)buff->zbuff;
}
else
xmlGenericError( xmlGenericErrorContext,
"xmlZMemBuffGetContent: %s - %d\n",
"Error flushing zlib buffers. Error code", z_err );
return ( zlgth );
}
#endif /* HAVE_ZLIB_H */
/**
* xmlFreeHTTPWriteCtxt
* @ctxt: Context to cleanup
*
* Free allocated memory and reclaim system resources.
*
* No return value.
*/
static void
xmlFreeHTTPWriteCtxt( xmlIOHTTPWriteCtxtPtr ctxt )
{
if ( ctxt->uri != NULL )
free( ctxt->uri );
if ( ctxt->doc_buff != NULL ) {
#ifdef HAVE_ZLIB_H
if ( ctxt->compression > 0 ) {
xmlFreeZMemBuff( ctxt->doc_buff );
}
else
#endif
{
xmlOutputBufferClose( ctxt->doc_buff );
}
}
free( ctxt );
return;
}
/** /**
* xmlIOHTTPMatch: * xmlIOHTTPMatch:
* @filename: the URI for matching * @filename: the URI for matching
@ -506,6 +872,85 @@ xmlIOHTTPOpen (const char *filename) {
return(xmlNanoHTTPOpen(filename, NULL)); return(xmlNanoHTTPOpen(filename, NULL));
} }
/**
* xmlIOHTTPOpenW
* @post_uri: The destination URI for the document
* @compression: The compression desired for the document.
*
* Open a temporary buffer to collect the document for a subsequent HTTP POST
* request. Non-static as is called from the output buffer creation routine.
*
* Returns an I/O context or NULL in case of error.
*/
void *
xmlIOHTTPOpenW( const char * post_uri, int compression ) {
xmlIOHTTPWriteCtxtPtr ctxt = NULL;
if ( post_uri == NULL )
return ( NULL );
ctxt = xmlMalloc( sizeof( xmlIOHTTPWriteCtxt ) );
if ( ctxt == NULL ) {
xmlGenericError( xmlGenericErrorContext,
"xmlIOHTTPOpenW: Failed to create output HTTP context.\n" );
return ( NULL );
}
(void)memset( ctxt, 0, sizeof( xmlIOHTTPWriteCtxt ) );
ctxt->uri = strdup( post_uri );
if ( ctxt->uri == NULL ) {
xmlGenericError( xmlGenericErrorContext,
"xmlIOHTTPOpenW: Failed to duplicate destination URI.\n" );
xmlFreeHTTPWriteCtxt( ctxt );
return ( NULL );
}
/*
** Since the document length is required for an HTTP post,
** need to put the document into a buffer. A memory buffer
** is being used to avoid pushing the data to disk and back.
*/
#ifdef HAVE_ZLIB_H
if ( ( compression > 0 ) && ( compression <= 9 ) ) {
ctxt->compression = compression;
ctxt->doc_buff = xmlCreateZMemBuff( compression );
}
else
#endif
{
/* Any character conversions should have been done before this */
ctxt->doc_buff = xmlAllocOutputBuffer( NULL );
}
if ( ctxt->doc_buff == NULL ) {
xmlFreeHTTPWriteCtxt( ctxt );
ctxt = NULL;
}
return ( ctxt );
}
/**
* xmlIOHTTPDfltOpenW
* @post_uri: The destination URI for this document.
*
* Calls xmlIOHTTPOpenW with no compression to set up for a subsequent
* HTTP post command. This function should generally not be used as
* the open callback is short circuited in xmlOutputBufferCreateFile.
*
* Returns a pointer to the new IO context.
*/
static void *
xmlIOHTTPDfltOpenW( const char * post_uri ) {
return ( xmlIOHTTPOpenW( post_uri, 0 ) );
}
/** /**
* xmlIOHTTPRead: * xmlIOHTTPRead:
* @context: the I/O context * @context: the I/O context
@ -521,16 +966,220 @@ xmlIOHTTPRead(void * context, char * buffer, int len) {
return(xmlNanoHTTPRead(context, &buffer[0], len)); return(xmlNanoHTTPRead(context, &buffer[0], len));
} }
/**
* xmlIOHTTPWrite
* @context: previously opened writing context
* @buffer: data to output to temporary buffer
* @len: bytes to output
*
* Collect data from memory buffer into a temporary file for later
* processing.
*
* Returns number of bytes written.
*/
static int
xmlIOHTTPWrite( void * context, const char * buffer, int len ) {
xmlIOHTTPWriteCtxtPtr ctxt = context;
if ( ( ctxt == NULL ) || ( ctxt->doc_buff == NULL ) || ( buffer == NULL ) )
return ( -1 );
if ( len > 0 ) {
/* Use gzwrite or fwrite as previously setup in the open call */
#ifdef HAVE_ZLIB_H
if ( ctxt->compression > 0 )
len = xmlZMemBuffAppend( ctxt->doc_buff, buffer, len );
else
#endif
len = xmlOutputBufferWrite( ctxt->doc_buff, len, buffer );
if ( len < 0 ) {
xmlGenericError( xmlGenericErrorContext,
"xmlIOHTTPWrite: %s\n%s '%s'.\n",
"Error appending to internal buffer.",
"Error sending document to URI",
ctxt->uri );
}
}
return ( len );
}
/** /**
* xmlIOHTTPClose: * xmlIOHTTPClose:
* @context: the I/O context * @context: the I/O context
* *
* Close an HTTP I/O channel * Close an HTTP I/O channel
*/ */
static void static int
xmlIOHTTPClose (void * context) { xmlIOHTTPClose (void * context) {
xmlNanoHTTPClose(context); xmlNanoHTTPClose(context);
return 0;
} }
/**
* xmlIOHTTCloseWrite
* @context: The I/O context
* @http_mthd: The HTTP method to be used when sending the data
*
* Close the transmit HTTP I/O channel and actually send the data.
*/
static int
xmlIOHTTPCloseWrite( void * context, const char * http_mthd ) {
int close_rc = -1;
int http_rtn = 0;
int content_lgth = 0;
xmlIOHTTPWriteCtxtPtr ctxt = context;
char * http_content = NULL;
char * content_encoding = NULL;
char * content_type = (char *) "text/xml";
void * http_ctxt = NULL;
if ( ( ctxt == NULL ) || ( http_mthd == NULL ) )
return ( -1 );
/* Retrieve the content from the appropriate buffer */
#ifdef HAVE_ZLIB_H
if ( ctxt->compression > 0 ) {
content_lgth = xmlZMemBuffGetContent( ctxt->doc_buff, &http_content );
content_encoding = (char *) "Content-Encoding: gzip";
}
else
#endif
{
/* Pull the data out of the memory output buffer */
xmlOutputBufferPtr dctxt = ctxt->doc_buff;
http_content = (char *)dctxt->buffer->content;
content_lgth = dctxt->buffer->use;
}
if ( http_content == NULL ) {
xmlGenericError( xmlGenericErrorContext,
"xmlIOHTTPCloseWrite: %s '%s' %s '%s'.\n",
"Error retrieving content.\nUnable to",
http_mthd, "data to URI", ctxt->uri );
}
else {
http_ctxt = xmlNanoHTTPMethod( ctxt->uri, http_mthd, http_content,
&content_type, content_encoding,
content_lgth );
if ( http_ctxt != NULL ) {
#ifdef DEBUG_HTTP
/* If testing/debugging - dump reply with request content */
FILE * tst_file = NULL;
char buffer[ 4096 ];
char * dump_name = NULL;
int avail;
xmlGenericError( xmlGenericErrorContext,
"xmlNanoHTTPCloseWrite: HTTP %s to\n%s returned %d.\n",
http_mthd, ctxt->uri,
xmlNanoHTTPReturnCode( http_ctxt ) );
/*
** Since either content or reply may be gzipped,
** dump them to separate files instead of the
** standard error context.
*/
dump_name = tempnam( NULL, "lxml" );
if ( dump_name != NULL ) {
(void)sprintf( buffer, "%s.content", dump_name );
tst_file = fopen( buffer, "w" );
if ( tst_file != NULL ) {
xmlGenericError( xmlGenericErrorContext,
"Transmitted content saved in file: %s\n", buffer );
fwrite( http_content, sizeof( char ),
content_lgth, tst_file );
fclose( tst_file );
}
(void)sprintf( buffer, "%s.reply", dump_name );
tst_file = fopen( buffer, "w" );
if ( tst_file != NULL ) {
xmlGenericError( xmlGenericErrorContext,
"Reply content saved in file: %s\n", buffer );
while ( (avail = xmlNanoHTTPRead( http_ctxt,
buffer, sizeof( buffer ) )) > 0 ) {
fwrite( buffer, sizeof( char ), avail, tst_file );
}
fclose( tst_file );
}
free( dump_name );
}
#endif /* DEBUG_HTTP */
http_rtn = xmlNanoHTTPReturnCode( http_ctxt );
if ( ( http_rtn >= 200 ) && ( http_rtn < 300 ) )
close_rc = 0;
else
xmlGenericError( xmlGenericErrorContext,
"xmlIOHTTPClose: HTTP '%s' of %d %s\n'%s' %s %d\n",
http_mthd, content_lgth,
"bytes to URI", ctxt->uri,
"failed. HTTP return code:", http_rtn );
xmlNanoHTTPClose( http_ctxt );
xmlFree( content_type );
}
}
/* Final cleanups */
xmlFreeHTTPWriteCtxt( ctxt );
return ( close_rc );
}
/**
* xmlIOHTTPClosePut
*
* @context: The I/O context
*
* Close the transmit HTTP I/O channel and actually send data using a PUT
* HTTP method.
*/
static int
xmlIOHTTPClosePut( void * ctxt ) {
return ( xmlIOHTTPCloseWrite( ctxt, "PUT" ) );
}
/**
* xmlIOHTTPClosePost
*
* @context: The I/O context
*
* Close the transmit HTTP I/O channel and actually send data using a POST
* HTTP method.
*/
static int
xmlIOHTTPClosePost( void * ctxt ) {
return ( xmlIOHTTPCloseWrite( ctxt, "POST" ) );
}
#endif /* LIBXML_HTTP_ENABLED */ #endif /* LIBXML_HTTP_ENABLED */
#ifdef LIBXML_FTP_ENABLED #ifdef LIBXML_FTP_ENABLED
@ -588,9 +1237,9 @@ xmlIOFTPRead(void * context, char * buffer, int len) {
* *
* Close an FTP I/O channel * Close an FTP I/O channel
*/ */
static void static int
xmlIOFTPClose (void * context) { xmlIOFTPClose (void * context) {
xmlNanoFTPClose(context); return ( xmlNanoFTPClose(context) );
} }
#endif /* LIBXML_FTP_ENABLED */ #endif /* LIBXML_FTP_ENABLED */
@ -696,6 +1345,12 @@ xmlRegisterDefaultOutputCallbacks
xmlRegisterOutputCallbacks(xmlFileMatch, xmlFileOpenW, xmlRegisterOutputCallbacks(xmlFileMatch, xmlFileOpenW,
xmlFileWrite, xmlFileClose); xmlFileWrite, xmlFileClose);
#ifdef LIBXML_HTTP_ENABLED
xmlRegisterOutputCallbacks(xmlIOHTTPMatch, xmlIOHTTPDfltOpenW,
xmlIOHTTPWrite, xmlIOHTTPClosePut);
#endif
/********************************* /*********************************
No way a-priori to distinguish between gzipped files from No way a-priori to distinguish between gzipped files from
uncompressed ones except opening if existing then closing uncompressed ones except opening if existing then closing
@ -705,12 +1360,6 @@ xmlRegisterDefaultOutputCallbacks
xmlRegisterOutputCallbacks(xmlGzfileMatch, xmlGzfileOpen, xmlRegisterOutputCallbacks(xmlGzfileMatch, xmlGzfileOpen,
xmlGzfileWrite, xmlGzfileClose); xmlGzfileWrite, xmlGzfileClose);
#endif #endif
No HTTP PUT support yet, patches welcome
#ifdef LIBXML_HTTP_ENABLED
xmlRegisterOutputCallbacks(xmlIOHTTPMatch, xmlIOHTTPOpen,
xmlIOHTTPWrite, xmlIOHTTPClose);
#endif
Nor FTP PUT .... Nor FTP PUT ....
#ifdef LIBXML_FTP_ENABLED #ifdef LIBXML_FTP_ENABLED
@ -721,6 +1370,29 @@ xmlRegisterDefaultOutputCallbacks
xmlOutputCallbackInitialized = 1; xmlOutputCallbackInitialized = 1;
} }
#ifdef LIBXML_HTTP_ENABLED
/**
* xmlRegisterHTTPPostCallbacks
*
* By default, libxml submits HTTP output requests using the "PUT" method.
* Calling this method changes the HTTP output method to use the "POST"
* method instead.
*
*/
void
xmlRegisterHTTPPostCallbacks( void ) {
/* Register defaults if not done previously */
if ( xmlOutputCallbackInitialized == 0 )
xmlRegisterDefaultOutputCallbacks( );
xmlRegisterOutputCallbacks(xmlIOHTTPMatch, xmlIOHTTPDfltOpenW,
xmlIOHTTPWrite, xmlIOHTTPClosePost);
return;
}
#endif
/** /**
* xmlAllocParserInputBuffer: * xmlAllocParserInputBuffer:
* @enc: the charset encoding if known * @enc: the charset encoding if known
@ -838,13 +1510,14 @@ xmlFreeParserInputBuffer(xmlParserInputBufferPtr in) {
int int
xmlOutputBufferClose(xmlOutputBufferPtr out) { xmlOutputBufferClose(xmlOutputBufferPtr out) {
int written; int written;
int err_rc = 0;
if (out == NULL) if (out == NULL)
return(-1); return(-1);
if (out->writecallback != NULL) if (out->writecallback != NULL)
xmlOutputBufferFlush(out); xmlOutputBufferFlush(out);
if (out->closecallback != NULL) { if (out->closecallback != NULL) {
out->closecallback(out->context); err_rc = out->closecallback(out->context);
} }
written = out->written; written = out->written;
if (out->conv) { if (out->conv) {
@ -860,7 +1533,7 @@ xmlOutputBufferClose(xmlOutputBufferPtr out) {
} }
xmlFree(out); xmlFree(out);
return(written); return( ( err_rc == 0 ) ? written : err_rc );
} }
/** /**
@ -973,13 +1646,21 @@ xmlOutputBufferCreateFilename(const char *URI,
int i; int i;
void *context = NULL; void *context = NULL;
int is_http_uri = 0; /* Can't change if HTTP disabled */
if (xmlOutputCallbackInitialized == 0) if (xmlOutputCallbackInitialized == 0)
xmlRegisterDefaultOutputCallbacks(); xmlRegisterDefaultOutputCallbacks();
if (URI == NULL) return(NULL); if (URI == NULL) return(NULL);
#ifdef LIBXML_HTTP_ENABLED
/* Need to prevent HTTP URI's from falling into zlib short circuit */
is_http_uri = xmlIOHTTPMatch( URI );
#endif
#ifdef HAVE_ZLIB_H #ifdef HAVE_ZLIB_H
if ((compression > 0) && (compression <= 9)) { if ((compression > 0) && (compression <= 9) && (is_http_uri == 0)) {
context = xmlGzfileOpenW(URI, compression); context = xmlGzfileOpenW(URI, compression);
if (context != NULL) { if (context != NULL) {
ret = xmlAllocOutputBuffer(encoder); ret = xmlAllocOutputBuffer(encoder);
@ -994,17 +1675,27 @@ xmlOutputBufferCreateFilename(const char *URI,
#endif #endif
/* /*
* Try to find one of the output accept method accepting taht scheme * Try to find one of the output accept method accepting that scheme
* Go in reverse to give precedence to user defined handlers. * Go in reverse to give precedence to user defined handlers.
*/ */
for (i = xmlOutputCallbackNr - 1;i >= 0;i--) { for (i = xmlOutputCallbackNr - 1;i >= 0;i--) {
if ((xmlOutputCallbackTable[i].matchcallback != NULL) && if ((xmlOutputCallbackTable[i].matchcallback != NULL) &&
(xmlOutputCallbackTable[i].matchcallback(URI) != 0)) { (xmlOutputCallbackTable[i].matchcallback(URI) != 0)) {
#if ( defined( LIBXML_HTTP_ENABLED ) && defined( HAVE_ZLIB_H ) )
/* Need to pass compression parameter into HTTP open calls */
if ( xmlOutputCallbackTable[i].matchcallback == xmlIOHTTPMatch )
context = xmlIOHTTPOpenW( URI, compression );
else
#endif
context = xmlOutputCallbackTable[i].opencallback(URI); context = xmlOutputCallbackTable[i].opencallback(URI);
if (context != NULL) if (context != NULL)
break; break;
} }
} }
if (context == NULL) { if (context == NULL) {
return(NULL); return(NULL);
} }
@ -1624,7 +2315,7 @@ xmlDefaultExternalEntityLoader(const char *URL, const char *ID,
#ifdef DEBUG_EXTERNAL_ENTITIES #ifdef DEBUG_EXTERNAL_ENTITIES
xmlGenericError(xmlGenericErrorContext, xmlGenericError(xmlGenericErrorContext,
"xmlDefaultExternalEntityLoader(%s, %s)\n", URL, ID); "xmlDefaultExternalEntityLoader(%s, xxx)\n", URL);
#endif #endif
#ifdef LIBXML_CATALOG_ENABLED #ifdef LIBXML_CATALOG_ENABLED
/* /*