version 1.1, 2012/02/21 23:37:58
|
version 1.1.1.3, 2014/06/15 19:53:35
|
Line 508 xmlDtdPtr dtd = xmlParseDTD(NULL, filename_of_dtd); /*
|
Line 508 xmlDtdPtr dtd = xmlParseDTD(NULL, filename_of_dtd); /*
|
<li>If you need to parse large files, check the <a |
<li>If you need to parse large files, check the <a |
href="xmlreader.html">xmlReader</a> API tutorial</li> |
href="xmlreader.html">xmlReader</a> API tutorial</li> |
<li><a href="mailto:james@daa.com.au">James Henstridge</a> wrote <a |
<li><a href="mailto:james@daa.com.au">James Henstridge</a> wrote <a |
href="http://www.daa.com.au/~james/gnome/xml-sax/xml-sax.html">some nice | href="http://www.jamesh.id.au/articles/libxml-sax/libxml-sax.html">some nice |
documentation</a> explaining how to use the libxml SAX interface.</li> |
documentation</a> explaining how to use the libxml SAX interface.</li> |
<li>George Lebl wrote <a |
<li>George Lebl wrote <a |
href="http://www-106.ibm.com/developerworks/library/l-gnome3/">an article |
href="http://www-106.ibm.com/developerworks/library/l-gnome3/">an article |
Line 694 href="python.html">bindings section</a></p>
|
Line 694 href="python.html">bindings section</a></p>
|
|
|
<p>Libxml2 is also available from GIT:</p> |
<p>Libxml2 is also available from GIT:</p> |
<ul> |
<ul> |
<li><p>See <a href="http://git.gnome.org/cgit/libxml2/">libxml2 Git web</a>. | <li><p>See <a href="http://git.gnome.org/browse/libxml2/">libxml2 Git web</a>. |
To checkout a local tree use:</p> |
To checkout a local tree use:</p> |
<pre>git clone git://git.gnome.org/libxml2</pre> |
<pre>git clone git://git.gnome.org/libxml2</pre> |
</li> |
</li> |
<li>The <strong>libxslt</strong> module is also present there</li> | <li>The <strong>libxslt</strong> module is also present |
| <a href="http://git.gnome.org/browse/libxslt/">there</a>.</li> |
</ul> |
</ul> |
|
|
<h2><a name="News">Releases</a></h2> |
<h2><a name="News">Releases</a></h2> |
|
|
<p>Items not finished and worked on, get in touch with the list if you want | <p>The <a href="ChangeLog.html">change log</a> describes the recents commits |
to help those</p> | to the <a href="http://git.gnome.org/browse/libxml2/">GIT</a> code base.</p> |
| |
| <p>Here is the list of public releases:</p> |
| |
| <h3>2.9.0: Sep 11 2012</h3> |
<ul> |
<ul> |
<li>More testing on RelaxNG</li> | <li> Features:<br/> |
<li>Finishing up <a href="http://www.w3.org/TR/xmlschema-1/">XML | A few new API entry points,<br/> |
Schemas</a></li> | More resilient push parser mode,<br/> |
| A lot of portability improvement,<br/> |
| Faster XPath evaluation<br/> |
| </li> |
| |
| <li> Documentation:<br/> |
| xml2-config.1 markup error (Christian Weisgerber),<br/> |
| libxml(3) manpage typo fix (John Bradshaw),<br/> |
| More cleanups to the documentation part of libxml2 (Daniel Richard G)<br/> |
| </li> |
| |
| <li> Portability:<br/> |
| Bug 676544 - fails to build with --without-sax1 (Akira TAGOH),<br/> |
| fix builds not having stdint.h (Rob Richards),<br/> |
| GetProcAddressA is available only on WinCE (Daniel Veillard),<br/> |
| More updates and cleanups on autotools and Makefiles (Daniel Richard G),<br/> |
| More changes for Win32 compilation (Eric Zurcher),<br/> |
| Basic changes for Win32 builds of release 2.9.0: compile buf.c (Eric Zurcher),<br/> |
| Bundles all generated files for python into the distribution (Daniel Richard G),<br/> |
| Fix compiler warnings of wincecompat.c (Patrick Gansterer),<br/> |
| Fix non __GNUC__ build (Patrick Gansterer),<br/> |
| Fix windows unicode build (Patrick Gansterer),<br/> |
| clean redefinition of {v}snprintf in C-source (Roumen Petrov),<br/> |
| use xmlBuf... if DEBUG_INPUT is defined (Roumen Petrov),<br/> |
| fix runtests to use pthreads support for various Unix platforms (Daniel Richard G),<br/> |
| Various "make distcheck" and portability fixups 2nd part (Daniel Richard G),<br/> |
| Various "make distcheck" and portability fixups (Daniel Richard G),<br/> |
| Fix compilation on older Visual Studio (Daniel Veillard)<br/> |
| </li> |
| |
| <li> Bug Fixes:<br/> |
| Change the XPath code to percolate allocation errors (Daniel Veillard),<br/> |
| Fix reuse of xmlInitParser (Daniel Veillard),<br/> |
| Fix potential crash on entities errors (Daniel Veillard),<br/> |
| initialize var (Rob Richards),<br/> |
| Fix the XPath arity check to also check the XPath stack limits (Daniel Veillard),<br/> |
| Fix problem with specific and generic error handlers (Pietro Cerutti),<br/> |
| Avoid a potential infinite recursion (Daniel Veillard),<br/> |
| Fix an XSD error when generating internal automata (Daniel Veillard),<br/> |
| Patch for xinclude of text using multibyte characters (Vitaly Ostanin),<br/> |
| Fix a segfault on XSD validation on pattern error (Daniel Veillard),<br/> |
| Fix missing xmlsave.h module which was ignored in recent builds (Daniel Veillard),<br/> |
| Add a missing element check (Daniel Veillard),<br/> |
| Adding various checks on node type though the API (Daniel Veillard),<br/> |
| Namespace nodes can't be unlinked with xmlUnlinkNode (Daniel Veillard),<br/> |
| Fix make dist to include new private header files (Daniel Veillard),<br/> |
| More fixups on the push parser behaviour (Daniel Veillard),<br/> |
| Strengthen behaviour of the push parser in problematic situations (Daniel Veillard),<br/> |
| Enforce XML_PARSER_EOF state handling through the parser (Daniel Veillard),<br/> |
| Fixup limits parser (Daniel Veillard),<br/> |
| Do not fetch external parsed entities (Daniel Veillard),<br/> |
| Fix an error in previous commit (Aron Xu),<br/> |
| Fix entities local buffers size problems (Daniel Veillard),<br/> |
| Fix parser local buffers size problems (Daniel Veillard),<br/> |
| Fix a failure to report xmlreader parsing failures (Daniel Veillard)<br/> |
| </li> |
| |
| <li> Improvements:<br/> |
| Keep libxml2.syms when running "make distclean" (Daniel Veillard),<br/> |
| Allow to set the quoting character of an xmlWriter (Csaba Raduly),<br/> |
| Keep non-significant blanks node in HTML parser (Daniel Veillard),<br/> |
| Add a forbidden variable error number and message to XPath (Daniel Veillard),<br/> |
| Support long path names on WNT (Michael Stahl),<br/> |
| Improve HTML escaping of attribute on output (Daniel Veillard),<br/> |
| Handle ICU_LIBS as LIBADD, not LDFLAGS to prevent linking errors (Arfrever Frehtes Taifersar Arahesis),<br/> |
| Switching XPath node sorting to Timsort (Vojtech Fried),<br/> |
| Optimizing '//' in XPath expressions (Nick Wellnhofer),<br/> |
| Expose xmlBufShrink in the public tree API (Daniel Veillard),<br/> |
| Visible HTML elements close the head tag (Conrad Irwin),<br/> |
| Fix file and line report for XSD SAX and reader streaming validation (Daniel Veillard),<br/> |
| Fix const qualifyer to definition of xmlBufferDetach (Daniel Veillard),<br/> |
| minimize use of HAVE_CONFIG_H (Roumen Petrov),<br/> |
| fixup regression in Various "make distcheck" and portability fixups (Roumen Petrov),<br/> |
| Add support for big line numbers in error reporting (Daniel Veillard),<br/> |
| Avoid using xmlBuffer for serialization (Daniel Veillard),<br/> |
| Improve compatibility between xmlBuf and xmlBuffer (Daniel Veillard),<br/> |
| Provide new accessors for xmlOutputBuffer (Daniel Veillard),<br/> |
| Improvements for old buffer compatibility (Daniel Veillard),<br/> |
| Expand the limit test program (Daniel Veillard),<br/> |
| Improve error reporting on parser errors (Daniel Veillard),<br/> |
| Implement some default limits in the XPath module (Daniel Veillard),<br/> |
| Introduce some default parser limits (Daniel Veillard),<br/> |
| Cleanups and new limit APIs for dictionaries (Daniel Veillard),<br/> |
| Fixup for buf.c (Daniel Veillard),<br/> |
| Cleanup URI module memory allocation code (Daniel Veillard),<br/> |
| Extend testlimits (Daniel Veillard),<br/> |
| More avoid quadratic behaviour (Daniel Veillard),<br/> |
| Impose a reasonable limit on PI size (Daniel Veillard),<br/> |
| first version of testlimits new test (Daniel Veillard),<br/> |
| Avoid quadratic behaviour in some push parsing cases (Daniel Veillard),<br/> |
| Impose a reasonable limit on comment size (Daniel Veillard),<br/> |
| Impose a reasonable limit on attribute size (Daniel Veillard),<br/> |
| Harden the buffer code and make it more compatible (Daniel Veillard),<br/> |
| More cleanups for input/buffers code (Daniel Veillard),<br/> |
| Cleanup function xmlBufResetInput(),<br/> to set input from Buffer (Daniel Veillard) |
| Swicth the test program for characters to new input buffers (Daniel Veillard),<br/> |
| Convert the HTML tree module to the new buffers (Daniel Veillard),<br/> |
| Convert of the HTML parser to new input buffers (Daniel Veillard),<br/> |
| Convert the writer to new output buffer and save APIs (Daniel Veillard),<br/> |
| Convert XMLReader to the new input buffers (Daniel Veillard),<br/> |
| New saving functions using xmlBuf and conversion (Daniel Veillard),<br/> |
| Provide new xmlBuf based saving functions (Daniel Veillard),<br/> |
| Convert XInclude to the new input buffers (Daniel Veillard),<br/> |
| Convert catalog code to the new input buffers (Daniel Veillard),<br/> |
| Convert C14N to the new Input buffer (Daniel Veillard),<br/> |
| Convert xmlIO.c to the new input and output buffers (Daniel Veillard),<br/> |
| Convert XML parser to the new input buffers (Daniel Veillard),<br/> |
| Incompatible change to the Input and Output buffers (Daniel Veillard),<br/> |
| Adding new encoding function to deal with the new structures (Daniel Veillard),<br/> |
| Convert XPath to xmlBuf (Daniel Veillard),<br/> |
| Adding a new buf module for buffers (Daniel Veillard),<br/> |
| Memory error within SAX2 reuse common framework (Daniel Veillard),<br/> |
| Fix xmllint --xpath node initialization (Daniel Veillard)<br/> |
| </li> |
| |
| <li> Cleanups:<br/> |
| Various cleanups to avoid compiler warnings (Daniel Veillard),<br/> |
| Big space and tab cleanup (Daniel Veillard),<br/> |
| Followup to LibXML2 docs/examples cleanup patch (Daniel Veillard),<br/> |
| Second round of cleanups for LibXML2 docs/examples (Daniel Richard),<br/> |
| Remove all .cvsignore as they are not used anymore (Daniel Veillard),<br/> |
| Fix a Timsort function helper comment (Daniel Veillard),<br/> |
| Small cleanup for valgrind target (Daniel Veillard),<br/> |
| Patch for portability of latin characters in C files (Daniel Veillard),<br/> |
| Cleanup some of the parser code (Daniel Veillard),<br/> |
| Fix a variable name in comment (Daniel Veillard),<br/> |
| Regenerated testapi.c (Daniel Veillard),<br/> |
| Regenerating docs and API files (Daniel Veillard),<br/> |
| Small cleanup of unused variables in test (Daniel Veillard),<br/> |
| Expand .gitignore with more files (Daniel Veillard)<br/> |
| </li> |
</ul> |
</ul> |
|
<h3>2.8.0: May 23 2012</h3> |
|
<ul> |
|
<li>Features: |
|
add lzma compression support (Anders F Bjorklund) |
|
</li> |
|
|
<p>The <a href="ChangeLog.html">change log</a> describes the recents commits | <li>Documentation: |
to the <a href="http://svn.gnome.org/viewvc/libxml2/trunk/">SVN</a> code base.</p> | xmlcatalog: Add uri and delegateURI to possible add types in man page. (Ville Skyttä), |
| Update README.tests (Daniel Veillard), |
| URI handling code is not OOM resilient (Daniel Veillard), |
| Fix an error in comment (Daniel Veillard), |
| Fixed bug #617016 (Daniel Mustieles), |
| Fixed two typos in the README document (Daniel Neel), |
| add generated html files (Anders F Bjorklund), |
| Clarify the need to use xmlFreeNode after xmlUnlinkNode (Daniel Veillard), |
| Improve documentation a bit (Daniel Veillard), |
| Updated URL for lxml python bindings (Daniel Veillard) |
| </li> |
|
|
<p>Here is the list of public releases:</p> | <li>Portability: |
| Restore code for Windows compilation (Daniel Veillard), |
| Remove git error message during configure (Christian Dywan), |
| xmllint: Build fix for endTimer if !defined(HAVE_GETTIMEOFDAY) (Patrick R. Gansterer), |
| remove a bashism in confgure.in (John Hein), |
| undef ERROR if already defined (Patrick R. Gansterer), |
| Fix library problems with mingw-w64 (Michael Cronenworth), |
| fix windows build. ifdef addition from bug 666491 makes no sense (Rob Richards), |
| prefer native threads on win32 (Sam Thursfield), |
| Allow to compile with Visual Studio 2010 (Thomas Lemm), |
| Fix mingw's snprintf configure check (Andoni Morales), |
| fixed a 64bit big endian issue (Marcus Meissner), |
| Fix portability failure if netdb.h lacks NO_ADDRESS (Daniel Veillard), |
| Fix windows build from lzma addition (Rob Richards), |
| autogen: Only check for libtoolize (Colin Walters), |
| Fix the Windows build files (Patrick von Reth), |
| 634846 Remove a linking option breaking Windows VC10 (Daniel Veillard), |
| 599241 fix an initialization problem on Win64 (Andrew W. Nosenko), |
| fix win build (Rob Richards) |
| </li> |
|
|
|
<li>Bug fixes: |
|
Part for rand_r checking missing (Daniel Veillard), |
|
Cleanup on randomization (Daniel Veillard), |
|
Fix undefined reference in python module (Pacho Ramos), |
|
Fix a race in xmlNewInputStream (Daniel Veillard), |
|
Fix weird streaming RelaxNG errors (Noam), |
|
Fix various bugs in new code raised by the API checking (Daniel Veillard), |
|
Fix various problems with "make dist" (Daniel Veillard), |
|
Fix a memory leak in the xzlib code (Daniel Veillard), |
|
HTML parser error with <noscript> in the <head> (Denis Pauk), |
|
XSD: optional element in complex type extension (Remi Gacogne), |
|
Fix html serialization error and htmlSetMetaEncoding() (Daniel Veillard), |
|
Fix a wrong return value in previous patch (Daniel Veillard), |
|
Fix an uninitialized variable use (Daniel Veillard), |
|
Fix a compilation problem with --minimum (Brandon Slack), |
|
Remove redundant and ungarded include of resolv.h (Daniel Veillard), |
|
xinclude with parse="text" does not use the entity loader (Shaun McCance), |
|
Allow to parse 1 byte HTML files (Denis Pauk), |
|
Patch that fixes the skipping of the HTML_PARSE_NOIMPLIED flag (Martin Schröder), |
|
Avoid memory leak if xmlParserInputBufferCreateIO fails (Lin Yi-Li), |
|
Prevent an infinite loop when dumping a node with encoding problems (Timothy Elliott), |
|
xmlParseNodeInContext problems with an empty document (Tim Elliott), |
|
HTML element position is not detected propperly (Pavel Andrejs), |
|
Fix an off by one pointer access (Jüri Aedla), |
|
Try to fix a problem with entities in SAX mode (Daniel Veillard), |
|
Fix a crash with xmllint --path on empty results (Daniel Veillard), |
|
Fixed bug #667946 (Daniel Mustieles), |
|
Fix a logic error in Schemas Component Constraints (Ryan Sleevi), |
|
Fix a wrong enum type use in Schemas Types (Nico Weber), |
|
Fix SAX2 builder in case of undefined attributes namespace (Daniel Veillard), |
|
Fix SAX2 builder in case of undefined element namespaces (Daniel Veillard), |
|
fix reference to STDOUT_FILENO on MSVC (Tay Ray Chuan), |
|
fix a pair of possible out of array char references (Daniel Veillard), |
|
Fix an allocation error when copying entities (Daniel Veillard), |
|
Make sure the parser returns when getting a Stop order (Chris Evans), |
|
Fix some potential problems on reallocation failures(parser.c) (Xia Xinfeng), |
|
Fix a schema type duration comparison overflow (Daniel Veillard), |
|
Fix an unimplemented part in RNG value validation (Daniel Veillard), |
|
Fix missing error status in XPath evaluation (Daniel Veillard), |
|
Hardening of XPath evaluation (Daniel Veillard), |
|
Fix an off by one error in encoding (Daniel Veillard), |
|
Fix RELAX NG include bug #655288 (Shaun McCance), |
|
Fix XSD validation bug #630130 (Toyoda Eizi), |
|
Fix some potential problems on reallocation failures (Chris Evans), |
|
__xmlRaiseError: fix use of the structured callback channel (Dmitry V. Levin), |
|
__xmlRaiseError: fix the structured callback channel's data initialization (Dmitry V. Levin), |
|
Fix memory corruption when xmlParseBalancedChunkMemoryInternal is called from xmlParseBalancedChunk (Rob Richards), |
|
Small fix for previous commit (Daniel Veillard), |
|
Fix a potential freeing error in XPath (Daniel Veillard), |
|
Fix a potential memory access error (Daniel Veillard), |
|
Reactivate the shared library versionning script (Daniel Veillard) |
|
</li> |
|
|
|
<li>Improvements: |
|
use mingw C99 compatible functions {v}snprintf instead those from MSVC runtime (Roumen Petrov), |
|
New symbols added for the next release (Daniel Veillard), |
|
xmlTextReader bails too quickly on error (Andy Lutomirski), |
|
Use a hybrid allocation scheme in xmlNodeSetContent (Conrad Irwin), |
|
Use buffers when constructing string node lists. (Conrad Irwin), |
|
Add HTML parser support for HTML5 meta charset encoding declaration (Denis Pauk), |
|
wrong message for double hyphen in comment XML error (Bryan Henderson), |
|
Fix "make tst" to grab lzma lib too (Daniel Veillard), |
|
Add "whereis" command to xmllint shell (Ryan), |
|
Improve xmllint shell (Ryan), |
|
add function xmlTextReaderRelaxNGValidateCtxt() (Noam Postavsky), |
|
Add --system support to autogen.sh (Daniel Veillard), |
|
Add hash randomization to hash and dict structures (Daniel Veillard), |
|
included xzlib in dist (Anders F Bjorklund), |
|
move xz/lzma helpers to separate included files (Anders F Bjorklund), |
|
add generated devhelp files (Anders F Bjorklund), |
|
add XML_WITH_LZMA to api (Anders F Bjorklund), |
|
autogen.sh: Honor NOCONFIGURE environment variable (Colin Walters), |
|
Improve the error report on undefined REFs (Daniel Veillard), |
|
Add exception for new W3C PI xml-model (Daniel Veillard), |
|
Add options to ignore the internal encoding (Daniel Veillard), |
|
testapi: use the right type for the check (Stefan Kost), |
|
various: handle return values of write calls (Stefan Kost), |
|
testWriter: xmlTextWriterWriteFormatElement wants an int instead of a long int (Stefan Kost), |
|
runxmlconf: update to latest testsuite version (Stefan Kost), |
|
configure: add -Wno-long-long to CFLAGS (Stefan Kost), |
|
configure: support silent automake rules if possible (Stefan Kost), |
|
xmlmemory: add a cast as size_t has no portable printf modifier (Stefan Kost), |
|
__xmlRaiseError: remove redundant schannel initialization (Dmitry V. Levin), |
|
__xmlRaiseError: do cheap code check early (Dmitry V. Levin) |
|
</li> |
|
|
|
<li>Cleanups: |
|
Cleanups before 2.8.0-rc2 (Daniel Veillard), |
|
Avoid an extra operation (Daniel Veillard), |
|
Remove vestigial de-ANSI-fication support. (Javier Jardón), |
|
autogen.sh: Fix typo (Javier Jardón), |
|
Do not use unsigned but unsigned int (Daniel Veillard), |
|
Remove two references to u_short (Daniel Veillard), |
|
Fix -Wempty-body warning from clang (Nico Weber), |
|
Cleanups of lzma support (Daniel Veillard), |
|
Augment the list of ignored files (Daniel Veillard), |
|
python: remove unused variable (Stefan Kost), |
|
python: flag two unused args (Stefan Kost), |
|
configure: acconfig.h is deprecated since autoconf-2.50 (Stefan Kost), |
|
xpath: remove unused variable (Stefan Kost) |
|
</li> |
|
</ul> |
<h3>2.7.8: Nov 4 2010</h3> |
<h3>2.7.8: Nov 4 2010</h3> |
<ul> |
<ul> |
<li> Features: |
<li> Features: |
Line 3049 interface have not yet reached the completeness of the
|
Line 3320 interface have not yet reached the completeness of the
|
|
|
<p>Note that some of the Python purist dislike the default set of Python |
<p>Note that some of the Python purist dislike the default set of Python |
bindings, rather than complaining I suggest they have a look at <a |
bindings, rather than complaining I suggest they have a look at <a |
href="http://codespeak.net/lxml/">lxml the more pythonic bindings for libxml2 | href="http://lxml.de/">lxml the more pythonic bindings for libxml2 |
and libxslt</a> and <a |
and libxslt</a> and <a |
href="http://codespeak.net/mailman/listinfo/lxml-dev">help Martijn | href="http://lxml.de/mailinglist/">check the mailing-list</a>.</p> |
Faassen</a> complete those.</p> | |
|
|
<p><a href="mailto:stephane.bidoul@softwareag.com">Stéphane Bidoul</a> |
<p><a href="mailto:stephane.bidoul@softwareag.com">Stéphane Bidoul</a> |
maintains <a href="http://users.skynet.be/sbi/libxml-python/">a Windows port |
maintains <a href="http://users.skynet.be/sbi/libxml-python/">a Windows port |
Line 5179 The parts of the library checked for thread safety are
|
Line 5449 The parts of the library checked for thread safety are
|
<li>memory handling</li> |
<li>memory handling</li> |
</ul> |
</ul> |
|
|
<p>XPath is supposed to be thread safe now, but this wasn't tested | <p>XPath has been tested for threaded usage on non-modified document |
seriously.</p> | for example when using libxslt, but make 100% sure the documents |
| are accessed read-only !</p> |
|
|
<h2><a name="DOM"></a><a name="Principles">DOM Principles</a></h2> |
<h2><a name="DOM"></a><a name="Principles">DOM Principles</a></h2> |
|
|