* xmllint.c: again the goal is ultimately to use other values for a different semantic.
* xmlsave.c: force _xmlSaveCtxt.format to be 0 or 1 and check accordingly, this will allow other values of "format" to be used for other purposes.
* parser.c: Compare encoding pointer with a NULL instead of xmlCharEncoding enum value 0 then casted to char * !
As pointed out by Stefan Behnel <email@example.com>
This was introduced in the prevous fix, while preceding-sibling and following sibling axis are empty for attributes and namespaces, preceding and following axis should still work based on the parent element. However the parent element is not available for a namespace node, so we keep the axis empty in that case.
In xmlInitParser, both __xmlGlobalInitMutexLock and xmlInitGlobals are called before xmlInitThreads, and both use pthread symbols. __xmlGlobalInitMutexLock does so directly, without checking if the symbol exists, and xmlInitGlobals calls xmlNewMutex, which correctly depends on libxml_is_threaded... except libxml_is_threaded is still -1 by then... And again, when releasing the global mutex in __xmlGlobalInitMutexUnlock, the pthread function is called directly. The patch changes the initialization order and make sure the functions are available before calling them
When doing an out of tree build
to avoid shuffling each time python changes or on different architectures
Sometimes a not well formed XPath expression could lead to a leak as reported by Ralf Junker <firstname.lastname@example.org>
The processing of namespace and attributes nodes was not compliant to the XPath-1.0 specification
File descriptors could be leaked in xmlLoadFileContent()
The encoding.html page was generated incorectly, revamp the input xml.html and convert the full XSLT chain to use and serve it as UTF-8 * doc/*: fix xml.html, update all stylesheets and regenerate
Usually 'xml' namespace for XML-1.0 declaration does not need to be carried but Mike Hommey raised the problem that the SVG XSD file fails to parse due to a mishandling. - SAX2.c: failure to create a namespace should not be interpreted as a memory allocation error - tree.c: document better xmlNewNs behaviour, and fix it in the case the 'xml' prefix is being used.
suggested by Andrew Nosenko
- xmlschemastypes.c: "e" and "E" should not be accespted as is, digits are needed
- include/libxml/HTMLparser.h: defines the new HTML parser option HTML_PARSE_NODEFDTD - HTMLparser.c: if option is set don't add a default DTD - xmllint.c: add the corresponding --nodefdtd option in xmllint
François Delyon <email@example.com> pointed out a divergence between the URI code and RFC 3986, fix trivial and seems to not break regression tests
* xmlreader.c: fix description of xmlTextReaderReadOuterXml and support DTD
* libxml.h win32/Makefile.bcb win32/Makefile.mingw win32/Makefile.msvc: add NOLIBTOOL flag to prevent automatic define of LIBXML_STATIC
* configure.in: bump version * doc//*: regenerated
just fix it !
* HTMLparser.c: don't default value of HTML boolean attributes in the parser * SAX2.c: move this to SAX2 tree building backend * result/HTML/doc2.htm.sax result/HTML/doc3.htm.sax result/HTML/wired.html.sax: this changes a few HTML SAX regression tests
* HTMLparser.c: new htmlParseElementInternal non recursive, with htmlParseContentInternal and new function to handle node info and element end. * include/libxml/parser.h: add new stack for element info in parser context * parserInternals.c: fee element info stack
The libxml-2.0.pc file doesn't contain the win32 specific libraries. So when (cross-)compiling for Windows, the output of pkg-config libxml-2.0 --libs returns an incompile set of libraries. Thus, applications using libxml2's network functionality fail to build for the win32 platform.
python-config has both --libs and --ldflags, and we should use the later to link the python binding
There are missing $(srcdir) values in libxml2/python/Makefile.am which cause it to fail if built remote from out of tree.
if encoding was autodetected, in xmlParseChunk, if initial size is 86 (a chunk in UTF-16 encoding), the code that tries to read only the first line will set the size to 90, which eventually leads to a memmove of 90 bytes (in xmlBufferAdd) which will copy extra random memory bytes, which will make the parser to fail because of these extra bytes.
Sun Studio 11 was failing to compile relaxng.c due to a type mismatch in a ternary operator used to provide an argument to xmlRngPErr. It seems that sos11 cc is more pedantic about this part of the C99 standard. GCC issues a warning but doesn't fail by default. After casting the string literal "nothing" to (const xmlChar *) sos11 cc is happy. GCC no longer issues a warning either. Another warning was cleaned up with an identical cast.