• Home
  • Raw
  • Download

Lines Matching +full:gcc +full:- +full:8 +full:- +full:asan +full:- +full:ubsan +full:- +full:fuzz

1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
14 <h1 style="text-align: center">libxml, a.k.a. gnome-xml</h1>
19 style="text-align: right; font-style: italic; font-size: 10pt">"Programming
26 under the <a href="http://www.opensource.org/licenses/mit-license.html">MIT
30 well-known markup language. Though the library is written in C <a
42 href="http://www.w3.org/TR/REC-xml">http://www.w3.org/TR/REC-xml</a></li>
44 href="http://www.w3.org/TR/REC-xml-names/">http://www.w3.org/TR/REC-xml-names/</a></li>
47 <li><a href="http://www.cis.ohio-state.edu/rfc/rfc2396.txt">RFC 2396</a> :
58 <li>ISO-8859-x encodings, as well as <a
59 href="http://www.cis.ohio-state.edu/rfc/rfc2044.txt">rfc2044</a> [UTF-8]
60 and <a href="http://www.cis.ohio-state.edu/rfc/rfc2781.txt">rfc2781</a>
61 [UTF-16] Unicode encodings, and more if using iconv support</li>
64 …href="http://www.oasis-open.org/committees/entity/spec-2001-08-06.html">http://www.oasis-open.org/…
66 href="http://www.w3.org/TR/xml-c14n">http://www.w3.org/TR/xml-c14n</a>
68 href="http://www.w3.org/TR/xml-exc-c14n">http://www.w3.org/TR/xml-exc-c14n</a></li>
69 <li>Relax NG, ISO/IEC 19757-2:2003, <a
70 …href="http://www.oasis-open.org/committees/relax-ng/spec-20011203.html">http://www.oasis-open.org/…
72 href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/">REC 02 May
74 <li>W3C <a href="http://www.w3.org/TR/xml-id/">xml:id</a> Working Draft 7
81 href="http://www.oasis-open.org/committees/xml-conformance/">OASIS XML Tests
88 href="http://www.w3.org/TR/DOM-Level-2-Core/">http://www.w3.org/TR/DOM-Level-2-Core/</a>
91 <li><a href="http://www.cis.ohio-state.edu/rfc/rfc959.txt">RFC 959</a> :
93 <li><a href="http://www.cis.ohio-state.edu/rfc/rfc1945.txt">RFC 1945</a> :
100 href="http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/">XML Schemas Part
112 implementation of <a href="http://www.w3.org/TR/xmldsig-core/">W3C XML
117 <p> Hosting sponsored by <a href="http://www.aoemedia.de/opensource-cms.html"
127 href="http://www.w3.org/XML/">XML is a standard</a> for building tag-based
153 href="http://www.opensource.org/licenses/mit-license.html">MIT
159 Gnome-1.X library requiring it, <strong><span
160 style="background-color: #FF0000">Do Not Use libxml1</span></strong>, use
177 href="http://www.opensource.org/licenses/mit-license.html">MIT
183 made to libxml, but it would be graceful to send-back bug fixes and
191 <li><strong><span style="background-color: #FF0000">Do Not Use
198 safer way for end-users to use libxml.</p>
214 href="http://rpmfind.net/linux/RPM/libxml-devel.html">libxml-devel</a>
216 href="http://rpmfind.net/linux/RPM/libxml2-devel.html">libxml2-devel</a>
219 libxml2(-devel)</li>
232 <p>The most generic solution is to re-fetch the latest src.rpm , and
234 <p><code>rpm --rebuild libxml(2)-xxx.src.rpm</code>.</p>
236 providing the shared libs and xmllint, and the other one, the -devel
246 <p><code>gunzip -c xxx.tar.gz | tar xvf -</code></p>
247 <p><code>cd libxml-xxxx</code></p>
248 <p><code>./configure --help</code></p>
263 <li><a href="http://www.info-zip.org/pub/infozip/zlib/">libz</a> : a
282 in make. Try using GNU-make instead.</p>
288 <p><code>./autogen.sh --prefix=/usr --disable-shared</code></p>
290 <li><em>I have troubles when running make tests with gcc-3.0</em>
291 <p>It seems the initial release of gcc-3.0 has a problem with the
302 <code>xml2-config</code> which is installed as part of libxml2 usual
304 <p><code>xml2-config --cflags</code></p>
306 <p><code>xml2-config --libs</code></p>
309 <p><code>CFLAGS=`xml2-config --cflags`</code></p>
310 <p><code>LIBS=`xml2-config --libs`</code></p>
322 <li>configure the library using the "<code>--prefix</code>" switch,
325 <p><code>./configure --prefix /home/user/myxml/xmlinst</code> {other
345 <p><code>gcc `xml2-config --cflags --libs` -o test test.c</code></p>
347 /home/user/myxml/xmlinst/bin</code> at the beginning, the xml2-config
366 href="http://xmlsoft.org/html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault
368 href="http://xmlsoft.org/html/libxml-tree.html#xmlSaveFormatFile">xmlSaveFormatFile
386 pnode=pxmlDoc-&gt;children-&gt;children;</pre>
388 <pre>pnode=pxmlDoc-&gt;children-&gt;children-&gt;next;</pre>
396 href="http://xmlsoft.org/html/libxml-parser.html">xmlKeepBlanksDefault
399 mixed-content in the document.</p>
414 libxml(-devel) &gt;= 1.8.8 or libxml2(-devel) &gt;= 2.1.0</p>
433 <li>check more deeply the <a href="html/libxml-lib.html">existing
466 href="http://xmlsoft.org/html/libxml-valid.html#xmlValidateDtd">xmlValidateDtd()</a>
472 dtd-&gt;name = xmlStrDup((xmlChar*)"root_name"); /* use the given root */
474 doc-&gt;intSubset = dtd;
475 if (doc-&gt;children == NULL) xmlAddChild((xmlNodePtr)doc, (xmlNodePtr)dtd);
476 else xmlAddPrevSibling(doc-&gt;children, (xmlNodePtr)dtd);
480 <p>It is a null terminated sequence of utf-8 characters. And only utf-8!
481 You need to convert strings encoded in different ways to utf-8 before
492 <p>There are several on-line resources related to using libxml:</p>
497 <li>Check the <a href="http://xmlsoft.org/html/libxml-lib.html">extensive
509 href="http://www.jamesh.id.au/articles/libxml-sax/libxml-sax.html">some nice
512 href="http://www-106.ibm.com/developerworks/library/l-gnome3/">an article
520 href="http://mail.gnome.org/archives/xml/">mailing-list archive</a>.</li>
535 mailing-list for archival).</p>
537 <p>There is also a mailing-list <a
539 href="http://mail.gnome.org/archives/xml/">on-line archive</a> (<a
551 note that <span style="color: #FF0000; background-color: #FFFFFF">emails with
553 they contain</span> are <strong>NOT</strong> acceptable for the mailing-list,
590 others" and is not welcome. I will automatically Carbon-Copy the
609 href="http://xmlsoft.org/html/book1.html">auto-generated documentation</a> is
616 subscribe to the mailing-list as explained before, check the <a
633 fix will fit in nicely :-)</li>
645 href="http://rpmfind.net/linux/RPM/libxml2-devel.html">libxml(2)-devel</a>
668 <li>The HP-UX porting center provides <a
669 href="http://hpux.connect.org.uk/hppd/hpux/Gnome/">HP-UX binaries</a></li>
681 … href="ftp://xmlsoft.org/libxml2/libxml2-git-snapshot.tar.gz">libxml2-git-snapshot.tar.gz</a>.</li>
683 href="ftp://xmlsoft.org/libxml2/libxml-docs.tar.gz">libxml-docs.tar.gz</a>.</li>
713 [CVE-2022-23308] Use-after-free of ID and IDREF attributes
715 Use-after-free in xmlXIncludeCopyRange (David Kilzer)<br/>
716 Fix Null-deref-in-xmlSchemaGetComponentTargetNs (huangduirong)<br/>
727 Revert "Make schema validation fail with multiple top-level elements"<br/>
741 Don't ignore xmllint options after "-"<br/>
746 Fix handling of ctxt-&gt;base in xmlXPtrEvalXPtrPart<br/>
747 Fix xmllint --maxmem<br/>
749 Move current position before possible calling of ctxt-&gt;sax-&gt;characters (Yulin Li)<br/>
750 Fix parse failure when 4-byte character in UTF-16 BE is split across a chunk (David Kilzer)<br/>
751 Patch to forbid epsilon-reduction of final states (Arne Becker)<br/>
762 Run CI tests with UBSan implicit-conversion checks<br/>
779 Remove CVS and SVN-related code<br/>
780 Port python 3.x module to Windows and improve distutils (Chun-wei Fan)<br/>
793 Remove README.cvs-commits<br/>
804 Mention XML_CATALOG_FILES is space-separated (Jan Tojnar)<br/>
814 Add fuzz.h and seed/regexp to EXTRA_DIST<br/>
821 Patch for security issue CVE-2021-3541 (Daniel Veillard)<br/>
830 Fix XPath NaN/Inf for older GCC versions (Nick Wellnhofer),<br/>
839 Remove include directories for link-only dependencies (Markus Rickert),<br/>
841 Configure pkgconfig, xml2-config, and xml2Conf.sh file (Markus Rickert),<br/>
868 Fix user-after-free with `xmllint --xinclude --dropdtd` (Nick Wellnhofer),<br/>
869 Fix dangling pointer with `xmllint --dropdtd` (Nick Wellnhofer),<br/>
871 Fix use-after-free with `xmllint --html --push` (Nick Wellnhofer),<br/>
887 htmlParseComment: treat `--!&gt;` as if it closed the comment (Mike Dalessio),<br/>
890 xmlschemastypes.c: xmlSchemaGetFacetValueAsULong add, check "facet-&gt;val" (Xiaoming Ni),<br/>
893 Avoid quadratic checking of identity-constraints (Michael Matz),<br/>
900 Fix memory leaks in XPointer string-range function (Nick Wellnhofer),<br/>
901 Fix use-after-free when XIncluding text from Reader (Nick Wellnhofer),<br/>
914 Make "xmllint --push --recovery" work (Nick Wellnhofer),<br/>
918 Fix out-of-bounds read with 'xmllint --htmlout' (Nick Wellnhofer),<br/>
933 Fix UTF-8 decoder in HTML parser (Nick Wellnhofer),<br/>
952 Fix use-after-free with validating reader (Nick Wellnhofer),<br/>
956 Make schema validation fail with multiple top-level elements (Nick Wellnhofer),<br/>
962 Fix potentially-uninitialized critical section in Win32 DLL builds (Kevin Puetz),<br/>
964 Check for overflow when allocating two-dimensional arrays (Nick Wellnhofer),<br/>
971 Fix xml2-config error code (Nick Wellnhofer),<br/>
975 xml2-config.in: fix regressions introduced by commit 2f2bf4b2c (Dmitry V. Levin)<br/>
979 Store per-element parser state in a struct (Nick Wellnhofer),<br/>
986 Stop checking attributes for UTF-8 validity (Nick Wellnhofer),<br/>
1000 add test coverage for incorrectly-closed comments (Mike Dalessio),<br/>
1001 Enforce maximum length of fuzz input (Nick Wellnhofer),<br/>
1006 Add 'fuzz' subdirectory to DIST_SUBDIRS (Nick Wellnhofer),<br/>
1013 Test fuzz targets with dummy driver (Nick Wellnhofer),<br/>
1024 Fuzz XInclude engine (Nick Wellnhofer),<br/>
1029 Make xmlNodeDumpOutputInternal non-recursive (Nick Wellnhofer),<br/>
1030 Make xhtmlNodeDumpOutput non-recursive (Nick Wellnhofer),<br/>
1031 Make htmlNodeDumpFormatOutput non-recursive (Nick Wellnhofer),<br/>
1034 Make 'xmllint --html --push -' read from stdin (Nick Wellnhofer),<br/>
1049 Fuzz target for XML Schemas (Nick Wellnhofer),<br/>
1050 Move entity recorder to fuzz.c (Nick Wellnhofer),<br/>
1051 Fuzz target for HTML parser (Nick Wellnhofer),<br/>
1078 Fix typos: tree: move{ -&gt; s}, reconcil{i -&gt; }ed, h{o -&gt; e}ld by... (Jan Pokorný),<br/>
1079 Fix typo: xpath: simpli{ -&gt; fi}ed (Jan Pokorný),<br/>
1092 Make configure.ac work with older pkg-config (Nick Wellnhofer),<br/>
1110 Fix use-after-free in xmlTextReaderFreeNodeList (Nick Wellnhofer),<br/>
1127 Fix unability to RelaxNG-validate grammar with choice-based name class (Jan Pokorný),<br/>
1132 dict.h: gcc 2.95 doesn't allow multiple storage classes (Nick Wellnhofer),<br/>
1161 Make xmlFreeDocElementContent non-recursive (Nick Wellnhofer),<br/>
1163 Avoid ignored attribute warnings under GCC (Nick Wellnhofer),<br/>
1164 Make xmlDumpElementContent non-recursive (Nick Wellnhofer),<br/>
1167 Make xmlParseConditionalSections non-recursive (Nick Wellnhofer),<br/>
1169 Make xmlTextReaderFreeNodeList non-recursive (Nick Wellnhofer),<br/>
1170 Make xmlFreeNodeList non-recursive (Nick Wellnhofer),<br/>
1171 Make xmlParseContent and xmlParseElement non-recursive (Nick Wellnhofer),<br/>
1172 Remove executable bit from non-executable files (Nick Wellnhofer),<br/>
1175 xml2-config.in: Output CFLAGS and LIBS on the same line (Hugh McMaster),<br/>
1176 xml2-config: Add a --dynamic switch to print only shared libraries (Hugh McMaster),<br/>
1181 Remove -Wno-array-bounds (Nick Wellnhofer),<br/>
1190 Fix compilation with --with-minimum (Nick Wellnhofer),<br/>
1201 Fix -Wcast-function-type warnings (GCC 8) (Nick Wellnhofer),<br/>
1202 Fix -Wformat-truncation warnings (GCC 8) (Nick Wellnhofer)<br/>
1216 CVE-2018-9251 CVE-2018-14567 Fix infinite loop in LZMA decompression (Nick Wellnhofer),<br/>
1217 CVE-2018-14404 Fix nullptr deref with XPath logic ops (Nick Wellnhofer),<br/>
1228 Merge branch 'patch-2' into 'master' (Nick Wellnhofer),<br/>
1231 NaN and Inf fixes for pre-C99 compilers (Nick Wellnhofer)<br/>
1240 Fix HTML serialization with UTF-8 encoding (Nick Wellnhofer),<br/>
1246 Don't run icu_parse_test if EUC-JP is unsupported (Nick Wellnhofer),<br/>
1260 add --relative to testURI (Thomas Holder),<br/>
1264 Add compile and libxml2-config.cmake to .gitignore (Nikolai Weibull),<br/>
1265 Stop using doc-&gt;charset outside parser code (Nick Wellnhofer),<br/>
1266 Add newlines to 'xmllint --xpath' output (Nick Wellnhofer),<br/>
1269 Don't instruct user to run make when autogen.sh failed (林博仁(Buo-ren Lin)),<br/>
1270 Run Travis ASan tests with "sudo: required" (Nick Wellnhofer),<br/>
1287 Revert "Compile testapi with -Wno-unused-function" (Nick Wellnhofer)<br/>
1295 Fix buffer over-read in xmlParseNCNameComplex (Nick Wellnhofer),<br/>
1298 Fix -Wenum-compare warnings (Nick Wellnhofer),<br/>
1311 Disable pointer-overflow UBSan checks under Travis (Nick Wellnhofer),<br/>
1314 Run Travis tests with -Werror (Nick Wellnhofer),<br/>
1315 Build with "-Wall -Wextra" (Nick Wellnhofer),<br/>
1316 Fix -Wtautological-pointer-compare warnings (Nick Wellnhofer),<br/>
1319 Fix -Wmisleading-indentation warnings (Nick Wellnhofer),<br/>
1322 Simplify XPath NaN, inf and -0 handling (Nick Wellnhofer),<br/>
1325 Compile testapi with -Wno-unused-function (Nick Wellnhofer)<br/>
1338 Fix pointer comparison warnings on 64-bit Windows (J. Peter Mugaas),<br/>
1340 Default to native threads on MinGW-w64 (Nick Wellnhofer),<br/>
1345 Fix pointer/int cast warnings on 64-bit Windows (Nick Wellnhofer),<br/>
1359 Fix -Wimplicit-fallthrough warnings (J. Peter Mugaas),<br/>
1397 Fix handling of parameter-entity references (Nick Wellnhofer),<br/>
1399 Fix XPointer paths beginning with range-to (Nick Wellnhofer)<br/>
1412 relaxng.c, xmlschemas.c: Fix build on pre-C99 compilers (Chun-wei Fan)<br/>
1419 Heap-buffer-overflow read of size 1 in xmlFAParsePosCharGroup (David Kilzer),<br/>
1427 Fix invalid-source-encoding warnings in testWriter.c (Nick Wellnhofer),<br/>
1430 Fix copy-paste errors in error messages (Nick Wellnhofer),<br/>
1465 Fix NULL pointer deref in XPointer range-to (Nick Wellnhofer)<br/>
1479 Fix empty-body warning in nanohttp.c (Nick Wellnhofer),<br/>
1480 Fix cast-align warnings (Nick Wellnhofer),<br/>
1481 Fix unused-parameter warnings (Nick Wellnhofer),<br/>
1486 Support catalog and threads tests under --without-sax1 (Nick Wellnhofer),<br/>
1495 Make Travis print UBSan stacktraces (Nick Wellnhofer),<br/>
1500 Avoid out-of-bound array access in API tests (Nick Wellnhofer),<br/>
1501 Avoid spurious UBSan errors in parser.c (Nick Wellnhofer),<br/>
1523 Heap-based buffer overread in htmlCurrentChar (Pranjal Jumde),<br/>
1524 Heap-based buffer-underreads due to xmlParseName (David Kilzer),<br/>
1525 Heap use-after-free in xmlSAX2AttributeNs (Pranjal Jumde),<br/>
1526 Heap use-after-free in htmlParsePubidLiteral and htmlParseSystemiteral (Pranjal Jumde),<br/>
1530 …Bug 759398: Heap use-after-free in xmlDictComputeFastKey &lt;https://bugzilla.gnome.org/show_bug.c…
1531 …Bug 758605: Heap-based buffer overread in xmlDictAddString &lt;https://bugzilla.gnome.org/show_bug…
1532 …Bug 758588: Heap-based buffer overread in xmlParserPrintFileContextInternal &lt;https://bugzilla.g…
1533 …Bug 757711: heap-buffer-overflow in xmlFAParsePosCharGroup &lt;https://bugzilla.gnome.org/show_bug…
1538 Fix typo: s{ ec -&gt; cr }cipt (Jan Pokorný),<br/>
1539 Fix typos: dictio{ nn -&gt; n }ar{y,ies} (Jan Pokorný),<br/>
1540 Fix typos: PATH_{ SEAPARATOR -&gt; SEPARATOR } (Jan Pokorný),<br/>
1547 libxml2 hardcodes -L/lib in zlib/lzma tests which breaks cross-compiles (Mike Frysinger),<br/>
1549 Use pkg-config to locate zlib when possible (Stewart Brodie),<br/>
1550 Use pkg-config to locate ICU when possible (Stewart Brodie),<br/>
1556 os400: compile and install program xmlcatalog (qshell-only). (Patrick Monnerat),<br/>
1559 os400: compile and install program xmllint (qshell-only). (Patrick Monnerat),<br/>
1566 Add xz to xml2-config --libs output (Baruch Siach),<br/>
1567 …Bug 760190: configure.ac should be able to build --with-icu without icu-config tool &lt;https://bu…
1576 …Bug 763071: heap-buffer-overflow in xmlStrncat &lt;https://bugzilla.gnome.org/show_bug.cgi?id=7630…
1590 Fix OOB read with invalid UTF-8 in xmlUTF8Strsize (Nick Wellnhofer),<br/>
1591 Do normalize string-based datatype value in RelaxNG facet checking (Audric Schiltknecht),<br/>
1592 …Bug 760921: REGRESSION (8eb55d78): doc/examples/io1 test fails after fix for "xmlSaveUri() incorre…
1593 …Bug 760861: REGRESSION (bf9c1dad): Missing results for test/schemas/regexp-char-ref_[01].xsd &lt;h…
1594 error.c: *input-&gt;cur == 0 does not mean no error (Pavel Raiskup),<br/>
1596 …183: REGRESSION (v2.9.3): XML push parser fails with bogus UTF-8 encoding error when multi-byte ch…
1597 …Bug 758572: ASAN crash in make check &lt;https://bugzilla.gnome.org/show_bug.cgi?id=758572&gt; (Da…
1598 …Bug 721158: Missing ICU string when doing --version on xmllint &lt;https://bugzilla.gnome.org/show…
1601 Heap-based buffer overread in xmlNextChar (Daniel Veillard)<br/>
1606 Implement "runtest -u" mode (David Kilzer),<br/>
1607 Add a make rule to rebuild for ASAN (Daniel Veillard)<br/>
1613 CVE-2015-8242 Buffer overead with HTML parser in push mode (Hugh Davenport),<br/>
1614 CVE-2015-7500 Fix memory access error due to incorrect entities boundaries (Daniel Veillard),<br/>
1615 CVE-2015-7499-2 Detect incoherency on GROW (Daniel Veillard),<br/>
1616 CVE-2015-7499-1 Add xmlHaltParser() to stop the parser (Daniel Veillard),<br/>
1617 CVE-2015-5312 Another entity expansion issue (David Drysdale),<br/>
1618 CVE-2015-7497 Avoid an heap buffer overflow in xmlDictComputeFastQKey (David Drysdale),<br/>
1619 CVE-2015-7498 Avoid processing entities after encoding conversion failures (Daniel Veillard),<br/>
1620 CVE-2015-8035 Fix XZ compression support loop (Daniel Veillard),<br/>
1621 CVE-2015-7942-2 Fix an error in previous Conditional section patch (Daniel Veillard),<br/>
1622 CVE-2015-7942 Another variation of overflow in Conditional sections (Daniel Veillard),<br/>
1623 CVE-2015-1819 Enforce the reader to run in constant memory (Daniel Veillard)<br/>
1624 CVE-2015-7941_2 Cleanup conditional section error handling (Daniel Veillard),<br/>
1625 CVE-2015-7941_1 Stop parsing on entities boundaries errors (Daniel Veillard),<br/>
1630 Fix a small error in xmllint --format description (Fabien Degomme),<br/>
1653 Silence clang's -Wunknown-attribute (Michael Catanzaro),<br/>
1654 xmlMemUsed is not thread-safe (Martin von Gagern),<br/>
1657 Allow attributes on descendant-or-self axis (Nick Wellnhofer),<br/>
1663 Fix missing entities after CVE-2014-3660 fix (Daniel Veillard),<br/>
1670 Re-enable xz support by default (Daniel Veillard),<br/>
1671 Recover unescaped less-than character in HTML recovery parsing (Daniel Veillard),<br/>
1676 libxml2-config.cmake.in: update include directories (Samuel Martin),<br/>
1686 Fix for CVE-2014-3660 billion laugh variant (Daniel Veillard),<br/>
1687 CVE-2014-0191 Do not fetch external parameter entities (Daniel Veillard)<br/>
1728 Fix regressions introduced by CVE-2014-0191 patch (Daniel Veillard),<br/>
1730 xmllint was not parsing the --c14n11 flag (Sérgio Batista),<br/>
1754 xmllint --pretty crashed without following numeric argument (Tim Galeckas),<br/>
1764 Fix a parsing bug on non-ascii element and CR/LF usage (Daniel Veillard),<br/>
1781 Fix incorrect spelling entites-&gt;entities (Jan Pokorný),<br/>
1792 os400: make-src.sh: create physical file with target CCSID (Patrick Monnerat),<br/>
1801 …OS400: UTF8&lt;--&gt;EBCDIC wrappers for system and external library calls (Patrick Monnerat),<br/>
1806 configure: Add --with-python-install-dir (Jonas Eriksson),<br/>
1823 build: Use pkg-config to find liblzma in preference to AC_CHECK_LIB (Philip Withnall),<br/>
1824 build: Add @LZMA_LIBS@ to libxml’s pkg-config files (Philip Withnall),<br/>
1826 add additional defines checks for support "./configure --with-minimum" (Denis Pauk),<br/>
1830 Fix for compilation with python 2.6.8 (Petr Sumbera)<br/>
1852 xmllint --memory should fail on empty files (Daniel Veillard),<br/>
1873 Add documentation for xmllint --xpath (Daniel Veillard),<br/>
1885 Fix rpmbuild --nocheck (Mark Salter),<br/>
1887 Fix Broken multi-arch support in xml2-config (Daniel Veillard),<br/>
1888 Fix a portability issue for GCC &lt; 3.4.0 (Daniel Veillard),<br/>
1916 Try IBM-037 when looking for EBCDIC handlers (Petr Sumbera),<br/>
1942 Add a --pushsmall option to xmllint (Daniel Veillard)<br/>
1946 Switched comment in file to UTF-8 encoding (Daniel Veillard),<br/>
1970 xml2-config.1 markup error (Christian Weisgerber),<br/>
1976 Bug 676544 - fails to build with --without-sax1 (Akira TAGOH),<br/>
1986 clean redefinition of {v}snprintf in C-source (Roumen Petrov),<br/>
2024 Keep non-significant blanks node in HTML parser (Daniel Veillard),<br/>
2076 Fix xmllint --xpath node initialization (Daniel Veillard)<br/>
2121 Fix library problems with mingw-w64 (Michael Cronenworth),
2150 Fix a compilation problem with --minimum (Brandon Slack),
2155 Avoid memory leak if xmlParserInputBufferCreateIO fails (Lin Yi-Li),
2161 Fix a crash with xmllint --path on empty results (Daniel Veillard),
2201 Add --system support to autogen.sh (Daniel Veillard),
2209 Add exception for new W3C PI xml-model (Daniel Veillard),
2215 configure: add -Wno-long-long to CFLAGS (Stefan Kost),
2223 Cleanups before 2.8.0-rc2 (Daniel Veillard),
2225 Remove vestigial de-ANSI-fication support. (Javier Jardón),
2229 Fix -Wempty-body warning from clang (Nico Weber),
2234 configure: acconfig.h is deprecated since autoconf-2.50 (Stefan Kost),
2238 <h3>2.7.8: Nov 4 2010</h3>
2271 Fix handling of XML-1.0 XML namespace declaration (Daniel Veillard),
2295 Adding a --xpath option to xmllint (Daniel Veillard),
2296 Make HTML parser non-recursive (Eugene Pimenov)
2313 Fix missing win32 libraries in libxml-2.0.pc (Volker Grabsch),
2317 htmlCheckEncoding doesn't update input-end after shrink (Eugene Pimenov),
2332 xmlCtxtResetLastError should reset ctxt-errNo (Daniel Veillard)
2349 Restore behavior of --with-threads without argument (Andrew W. Nosenko),
2373 Add -lnetwork for compiling on Haiku (Scott McCreary),
2398 594514 memory leaks - duplicate initialization (MOD),
2400 492317 Fix Relax-NG validation problems (Daniel Veillard),
2408 587663 Incorrect Attribute-Value Normalization (Daniel Veillard),
2420 587867 xmllint --html --xmlout serializing as HTML (Daniel Veillard),
2422 559410 - Regexp bug on (...)? constructs (Daniel Veillard),
2424 592430 - HTML parser runs into endless loop (Daniel Veillard),
2438 574393 ¿ utf-8 filename magic for compressed files (Hans Breuer),
2448 Fix leak on SAX1, xmllint --sax1 option and debug (Daniel Veillard),
2449 potential NULL dereference on non-glibc (Jim Meyering),
2468 Chasing dead assignments reported by clang-scan (Daniel Veillard),
2474 555833 always use rm -f in uninstall-local (Daniel Veillard),
2496 add gcc malloc checking (Marcus Meissner), add gcc printf like functions
2504 when saving an HTML doc with an xml dump function, HTML UTF-8 parsing
2521 <li>Documentation: switch ChangeLog to UTF-8, improve mutithreads and
2527 <li>Bug fixes: various realloc problems (Ashwin), potential double-free
2537 <li>Improvement: switch parser to XML-1.0 5th edition, add parsing flags
2546 <h3>2.6.32: Apr 8 2008</h3>
2558 writer CDATA output after a text node (Alex Khesin), UTF-16 encoding
2585 <li>Security fix: missing of checks in UTF-8 parsing</li>
2588 (Rob Richards), global lock free on Windows (Marc-Antoine Ruel),
2593 HTML embed element saving fix (Stefan Behnel), avoid -L/usr/lib
2594 output from xml2-config (Fred Crozat), avoid an xmllint crash
2601 testURI --debug option, </li>
2626 htmlCreateDocParserCtxt (Jean-Daniel Dupas), configure.in
2628 (Georges-André Silber), XPath number serialization (William Brack),
2633 dups in the writer (Rob Richards), xmlCtxtReset bug, UTF-8 encoding
2634 error handling, recustion on next in catalogs, fix a Relax-NG crash,
2684 add --html --memory case to xmllint</li>
2685 <li>building fix: fix --with-minimum (Felipe Contreras), VMS fix,
2690 (Mikhail Zabaluev), fix --with-minimum --with-sax1 builds, fix
2691 --with-minimum --with-schemas builds</li>
2704 context, arg error in SAX callback (Mike Hommey), fix mixed-content
2705 autodetect when using --noblanks, fix xmlIOParseDTD error handling,
2706 fix bug in xmlSplitQName on special Names, fix Relax-NG element content
2744 HP-UX compiler workaround (Rick Jones), xml2-config bugfix, gcc-4.1
2745 cleanups, Python detection scheme (Joseph Sacco), UTF-8 file paths on
2754 one Relax-NG interleave bug, xmllint --path and --valid,
2762 code point, ixmllint --nonet to never reach the net (Gary Coady),
2772 --with-minimum compilation fixes (William Brack), error case handling fix
2775 MinGW compilation (Mark Junker), HP-UX compiler warnings (Rick
2788 split problem (William), issues with non-namespaced attributes in
2805 transition bug in regexps, ctxt-&gt;standalone = -2 to indicate no
2826 <li>documentation: generation of gtk-doc like docs, integration with
2836 Python binary, use $GCC inestad of $CC = 'gcc' (Andrew W. Nosenko),
2837 compilation/link with threads and old gcc, compile problem by C370 on
2839 <li>bug fixes: http_proxy environments (Peter Breitenlohner), HTML UTF-8
2851 Richards), xmlSchemaFreeAnnot memleak (Kasimier), HTML UTF-8
2855 type fix (Kuba Nowakowski), UTF-8 parser bug, error in encoding handling,
2867 <li>documentation: xmllint man page had --nonet duplicated</li>
2873 Zlatkovic), Windows Makefile (Igor), gcc warnings (Kasimier and
2874 andriy@google.com), use gcc weak references to pthread to avoid the
2890 Bursa), failure to detect UTF-8 parsing bugs in CDATA sections,
2903 ienhancement to xmllint --shell namespaces support, Windows port of the
2911 <li>build fixes: drop .la from RPMs, --with-minimum build fix (William
2922 encoding code, Relax-NG validation bug, potential crash if
2924 switched back to assuming UTF-8 in case no encoding is given at
2935 some gcc4 fixes, HP-UX portability fixes (Rick Jones).</li>
2937 xmlreader stopping on non-fatal errors, thread support for dictionaries
2961 maintainer-clean dependency(William), build in a different directory
2962 (William), fixing --with-minimum configure build (William), BeOS build
2963 (Marcin Konicki), Python-2.4 detection (William), compilation on AIX (Dan
2969 UTF-16 with BOM on DTDs (William), namespace bug on empty elements in
2992 conversion functions return values, UTF-8 bug affecting XPath reported by
3040 <li>build fixes: Windows and zlib (Igor Zlatkovic), -O flag with gcc,
3047 <li>Improvements: Schemas validity improvements (Kasimier), added --path
3048 and --load-trace options to xmllint</li>
3054 <li>build fixes: fix --with-minimum, elfgcchack.h fixes (Peter
3059 Haase), node wrapper fix (Marc-Antoine Parent), XML Schemas support
3073 (Albert Chin), xmllint --c14n option, no_proxy environment (Mike Hommey),
3074 xmlParseInNodeContext() addition, extend xmllint --shell, allow XInclude
3075 to not generate start/end nodes, extend xmllint --version to include CVS
3085 <li>build fixes: --with-minimum (William Brack), some gcc cleanup
3086 (William), --with-thread-alloc (William)</li>
3094 by Morus Walter, XInclude xml:base generation (William), Relax-NG bug
3102 <li>improvement: custom per-thread I/O enhancement (Rob Richards), register
3104 test for non-Unix users (William), dynamically increase the number of
3105 XPath extension functions in Python and fix a memory leak (Marc-Antoine
3108 and generated code on Linux, plus use gcc runtime profiling to optimize
3115 <li>build fixes: --without-html problems, make check without make all</li>
3121 (Morten Welinder), add --maxmem option to xmllint, add
3137 Beckett), Relax-NG compilation (William Brack), Regexp patches (with
3138 William), xmlUriEscape (Mark Vakoc), a Relax-NG notAllowed problem (with
3139 William), Relax-NG name classes compares (William), XInclude duplicate
3145 Hummel), HTML parser frameset (James Bursa), libxml2-python RPM
3154 <h3>2.6.8: Mar 23 2004</h3>
3161 <li>Relax-NG: fix when processing XInclude results (William), external
3170 groups '-' handling (William), dictionary reference counting problems,
3174 <li>compilation and portability fixes: --without-valid, catalog cleanups
3175 (Peter Breitenlohner), MingW patch (Roland Schwingel), cross-compilation
3176 to Windows (Christophe de Vienne), --with-html-dir fixup (Julio Merino
3187 mode with unescaped '&gt;' characters, fix xmllint --stream --timing, fix
3188 xmllint --memory --stream memory usage, xmlAttrSerializeTxtContent
3189 handling NULL, trying to fix Relax-NG/Perl interface.</li>
3191 <li>Added relaxng option to xmllint --shell</li>
3206 <li>Build: fix for automake-1.8 (Alexander Winston), warnings removal
3208 --with-minimum configuration.</li>
3270 <li>UTF-16 cleanup and BOM issues (William Brack)</li>
3307 <li>fixed xmllint --html to use the HTML serializer on output (added
3308 --xmlout to implement the previous behaviour of saving it using the XML
3340 a --with-minimum configuration will weight around 160KBytes</li>
3364 <li>Parser&lt;-&gt;HTTP integration fix, proper processing of the Mime-Type
3366 <li>Relax-NG: bug fixes including the one reported by Martijn Faassen and
3388 <li>xmllint options: --dtdvalidfpi for Tobias Reif, --sax1 for compat
3389 testing, --nodict for building without tree dictionary, --nocdata to
3390 replace CDATA by text, --nsclean to remove surperfluous namespace
3392 <li>added xml2-config --libtool-libs option from Kevin P. Fleming</li>
3398 <li>libxml-2.0-uninstalled.pc from Malcolm Tredinnick</li>
3407 <li>risk of crash in Relax-NG</li>
3416 <li>UTF-16 support fixes (Mark Itzcovitz)</li>
3430 (Rob Richards), hexBinary type (), UTF-16 BOM (Dodji Seketeli),
3431 xmlReader, Relax-NG schemas compilation, namespace handling, EXSLT (Sean
3435 <li>better interfaces for Relax-NG error handling (Joachim Bauch, )</li>
3438 <li>configure flag for -with-fexceptions when embedding in C++</li>
3439 <li>couple of new UTF-8 helper functions (William Brack)</li>
3440 <li>general encoding cleanup + ISO-8859-x without iconv (Peter Jacobi)</li>
3442 <li>general compilation/warning cleanup Solaris/HP-UX/... (William
3446 <h3>2.5.8: Jul 6 2003</h3>
3448 <li>bugfixes: XPath, XInclude, file/URI mapping, UTF-16 save (Mark
3449 Itzcovitz), UTF-8 checking, URI saving, error printing (William Brack),
3451 Schmitz-Linneweber/Garry Pennington), xmlUnlinkNode problem with DTDs,
3463 <li>added --nonet option to xmllint</li>
3469 <li>Relax-NG: Compiling to regexp and streaming validation on top of the
3470 xmlReader interface, added to xmllint --stream</li>
3492 <li>bug fixes: non-ASCII IDs, HTML output, XInclude on large docs and
3496 <li>documentation: added --relaxng option to xmllint man page (John)</li>
3540 <li>First implementation of RelaxNG, added --relaxng flag to xmllint</li>
3556 <h3>2.5.1: Jan 8 2003</h3>
3571 and iterators for Python-2.2 (Hannu Krosing)</li>
3624 <li>added grep to xmllint --shell</li>
3663 <li>XPath fixes (William), xf:escape-uri() (Wesley Terpstra)</li>
3664 <li>Python binding fixes: makefiles (William), generator, rpm build, x86-64
3701 Schemas <a href="http://www.w3.org/TR/xmlschema-1/">structures</a> and <a
3702 href="http://www.w3.org/TR/xmlschema-2/">datatypes</a> code, beware, all
3727 <li>bug fixes: half a dozen XPath bugs, Validation, ISO-Latin to UTF8
3738 <li>removed the --with-buffer option it was becoming unmaintainable</li>
3744 <h3>2.4.17: Mar 8 2002</h3>
3749 regression tests, XPath extension functions can now return node-sets</li>
3767 <h3>2.4.14: Feb 8 2002</h3>
3770 href="http://www.opensource.org/licenses/mit-license.html">MIT
3772 confusion around the previous dual-licensing</li>
3814 <li>improvements on xmllint: Morus Walter patches for --format and
3815 --encode, Stefan Kost and Heiko Rupp improvements on the --shell</li>
3826 <h3>2.4.8: Nov 4 2001</h3>
3874 <li>added --convert to xmlcatalog, bug fixes and cleanups of XML
3894 <li>added a --format option to xmllint</li>
3945 <li>fixed a strange gcc optimizer bugs in xpath handling of float, gcc-3.0
3950 <li>update of libxml-doc.el (Felix Natter)</li>
3963 <li>some XPath fixes (-Infinity, / as a function parameter and namespaces
3968 <li>added --version to xmllint for bug reports</li>
3987 <li>trying to get better linking on Solaris (-R)</li>
4005 <h3>2.3.8: May 3 2001</h3>
4011 <li>Speed improvement (8M/s for SAX, 3M/s for DOM, 1.5M/s for
4033 <h3>2.3.6: April 8 2001</h3>
4035 <li>Code cleanup using extreme gcc compiler warning options, found and
4061 should probably be rewritten to support ambiguous content model :-\</li>
4095 <h3>2.3.0: Feb 8 2001 (2.2.12 was on 25 Jan but I didn't kept track)</h3>
4104 <li>Patch to allow simultaneous install of libxml-devel and
4105 libxml2-devel</li>
4124 <li>Fix the Windows problems of 2.2.8</li>
4133 <li>erroneous release :-(</li>
4136 <h3>2.2.8: Nov 13 2000</h3>
4222 encoded in UTF-8)</li>
4245 <h3>2.1.0 and 1.8.8: June 29 2000</h3>
4247 <li>1.8.8 is mostly a commodity package for upgrading to libxml2 according
4271 $prefix/include/gnome-xml), they also are referenced by
4296 FTP</a>, it's packaged as libxml2-2.0.0beta and available as tar and
4306 <li>fix I18N support. ISO-Latin-x/UTF-8/UTF-16 (nearly) seems correctly
4308 <li>Better handling of entities, especially well-formedness checking
4327 libxml-1.x, a new function xmlKeepBlanksDefault(0) will allow this. Note
4332 avoiding heuristic is really the Right Way :-\</li>
4333 <li>The unchecked use of snprintf which was breaking libxml-1.8.6
4349 href="http://www.w3.org/TR/REC-xml#NT-content">[43] content</a> of the
4369 <li>a shell-like interface to the document tree (try tester --shell :-)</li>
4409 configure with --with-buffers to enable them.</li>
4444 href="html/libxml-nanohttp.html">nanohttp</a> module.</li>
4449 href="html/libxml-xmlmemory.html">memory wrapper</a> module)</li>
4452 <li>Added an HTML parser front-end</li>
4457 <p><a href="http://www.w3.org/TR/REC-xml">XML is a standard</a> for
4458 markup-based structured documents. Here is <a name="example">an example XML
4497 <p>A separate library called libxslt is available implementing XSLT-1.0 for
4507 href="http://mail.gnome.org/mailman/listinfo/xml-bindings">xml-bindings@gnome.org</a>
4508 (<a href="http://mail.gnome.org/archives/xml-bindings/">archives</a>) in
4513 most up-to-date C++ bindings for libxml2, check the <a
4514 href="https://developer-old.gnome.org/libxml++/">documentation</a>
4517 <li>There is another <a href="http://libgdome-cpp.berlios.de/">C++ wrapper
4523 <li>XML::LibXML <a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl
4525 <a href="http://cpan.uwinnipeg.ca/dist/XML-LibXSLT">Perl libxslt
4537 href="http://sourceforge.net/projects/libxml2-pas">Pascal units to glue
4540 href="http://sourceforge.net/projects/idom2-pas/">idom2</a>, a DOM2
4544 href="http://libgdome-ruby.berlios.de/">libgdome-ruby</a> module
4551 an effort to create a 100% JAXP-compatible Java wrapper for libxml2 and
4561 commands for Property-lists (Apple's fast lookup table XML format.)</li>
4576 href="http://lxml.de/mailinglist/">check the mailing-list</a>.</p>
4579 maintains <a href="http://users.skynet.be/sbi/libxml-python/">a Windows port
4583 <a href="libxml2-api.xml">an XML API description file</a> which allows to
4591 href="http://rpmfind.net/linux/rpm2html/search.php?query=libxml2-python">libxml2-python
4593 href="http://rpmfind.net/linux/rpm2html/search.php?query=libxslt-python">libxslt-python
4595 <li>Otherwise use the <a href="ftp://xmlsoft.org/libxml2/python/">libxml2-python
4696 the resource in case URI-References need to be computed by the parser.</p>
4864 <li>a SAX tree module to build an in-memory DOM representation</li>
4886 chained in double-linked lists of siblings and with a children&lt;-&gt;parent
4899 code and in the XML parser itself. It has an option <strong>--debug</strong>
4900 which prints the actual in-memory structure of the document; here is the
4939 a <strong>callback-based interface</strong> to the parser. Before parsing,
4943 <p>To get more detailed step-by-step guidance on using the SAX interface of
4945 href="http://www.jamesh.id.au/articles/libxml-sax/libxml-sax.html">nice
4950 program located in the gnome-xml module (it's usually not shipped in the
4989 <p>Most of the other interfaces of libxml2 are based on the DOM tree-building
5035 <p>The <a href="http://www.w3.org/TR/REC-xml">W3C XML Recommendation</a> (<a
5039 <li><a href="http://www.w3.org/TR/REC-xml#elemdecls">Declaring
5041 <li><a href="http://www.w3.org/TR/REC-xml#attdecls">Declaring
5067 <li>The system string is actually an URI-Reference (as defined in <a
5167 <code>--valid</code> option turns-on validation of the files given as input.
5171 <p><code>xmllint --valid --noout test/valid/REC-xml-19980210.xml</code></p>
5173 <p>the -- noout is used to disable output of the resulting tree.</p>
5175 <p>The <code>--dtdvalid dtd</code> allows validation of the document(s)
5179 href="http://xmlsoft.org/html/libxml-valid.html">associated
5184 <p>DTDs are as old as SGML. So there may be a number of examples on-line, I
5187 <li><a href="http://www.xml101.com:8081/dtd/">XML-101 DTD</a></li>
5211 href="http://xmlsoft.org/html/libxml-xmlmemory.html">xmlmemory.h</a></code>
5227 <li><a href="http://xmlsoft.org/html/libxml-xmlmemory.html">xmlMemGet
5230 href="http://xmlsoft.org/html/libxml-xmlmemory.html">xmlMemSetup()</a>
5246 <li><a href="http://xmlsoft.org/html/libxml-parser.html">xmlCleanupParser
5251 <li><a href="http://xmlsoft.org/html/libxml-parser.html">xmlInitParser
5264 <p>When configured using --with-mem-debug flag (off by default), libxml2 uses
5271 href="http://xmlsoft.org/html/libxml-xmlmemory.html">xmlMallocLoc()</a>
5273 href="http://xmlsoft.org/html/libxml-xmlmemory.html">xmlReallocLoc()</a>
5275 href="http://xmlsoft.org/html/libxml-xmlmemory.html">xmlMemStrdupLoc()</a>
5277 <li><a href="http://xmlsoft.org/html/libxml-xmlmemory.html">xmlMemoryDump
5330 size of the UTF8 serialization of this document (example the XML-1.0
5390 by using Unicode. Any conformant XML parser has to support the UTF-8 and
5391 UTF-16 default encodings which can both express the full unicode ranges. UTF8
5394 more complex to handle in practice. UTF-16 use 2 bytes per character (and
5399 XML document encoded in ISO-8859-1 and using accentuated letters that we
5401 <pre>&lt;?xml version="1.0" encoding="ISO-8859-1"?&gt;
5422 <pre>&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
5423 "http://www.w3.org/TR/REC-html40/loose.dtd"&gt;
5426 &lt;META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1"&gt;
5435 default internal encoding, and that encoding to be UTF-8, here are the
5447 is mandatory support. UCS-4 (32 bits fixed size encoding) could be
5449 support. I selected UTF-8 on the basis of efficiency and compatibility
5452 <li>UTF-8 while a bit more complex to convert from/to (i.e. slightly
5454 than UTF-16 (and UCS-4) for a majority of the documents I see it used
5461 for the conversion to UTF-8</li>
5464 requiring all their code to be rewritten was a serious show-stopper
5465 for using UTF-16 or UCS-4.</li>
5466 <li>UTF-8 is being used as the de-facto internal encoding standard for
5470 - they are using UTF-16)</li>
5478 as UTF-8 valid strings. The proper way to terminate an xmlChar * string
5481 the values has been properly converted to UTF-8</li>
5492 simple heuristic allows to detect UTF-16 and UCS-4 from encodings where
5493 the ASCII range (0-0x7F) maps with ASCII</li>
5498 UTF-8 or UTF-16, if it is not then at some point when processing the
5499 input, the converter/checker of UTF-8 form will raise an encoding error.
5500 You may end-up with a garbled document, or no document at all ! Example:
5501 <pre>~/XML -&gt; ./xmllint err.xml
5502 err.xml:1: error: Input is not proper UTF-8, indicate encoding !
5514 <pre>~/XML -&gt; ./xmllint err2.xml
5520 plugged as a front-end to the I/O module) for that entity. It captures
5521 and converts on-the-fly the document to be parsed to UTF-8. The parser
5522 itself just does UTF-8 checking of this input and process it
5526 <li>The result (when using DOM) is an internal form completely in UTF-8
5539 <p>otherwise everything is written in the internal form, i.e. UTF-8</p>
5546 buffer, then libxml2 will simply push the UTF-8 serialization to through
5550 trying to push an UTF-8 encoded Chinese character through the UTF-8 to
5551 ISO-8859-1 converter won't work. Since the encoders are progressive they
5557 a problem in the current version, in practice avoid using non-ascii
5564 terminal using ISO-8859-1 as the text encoding:</p>
5565 <pre>~/XML -&gt; ./xmllint isolat1
5566 &lt;?xml version="1.0" encoding="ISO-8859-1"?&gt;
5568 ~/XML -&gt; ./xmllint --encode UTF-8 isolat1
5569 &lt;?xml version="1.0" encoding="UTF-8"?&gt;
5571 ~/XML -&gt; </pre>
5586 <li>UTF-8 is supported by default (null handlers)</li>
5587 <li>UTF-16, both little and big endian</li>
5588 <li>ISO-Latin-1 (ISO-8859-1) covering most western languages</li>
5590 <li>HTML, a specific handler for the conversion of UTF-8 to ASCII with HTML
5596 linux machine with glibc-2.1 the list of supported encodings and aliases fill
5597 3 full pages, and include UCS-4, the full set of ISO-Latin encodings, and the
5600 <p>To convert from the UTF-8 values returned from the API to another encoding
5602 href="html/libxml-encoding.html">the encoding module</a> like <a
5603 href="html/libxml-encoding.html#UTF8Toisolat1">UTF8Toisolat1</a>, or use the
5627 conversion routines to/from UTF-8, and register them using
5649 href="http://xmlsoft.org/html/libxml-xmlio.html">xmlIO.h</a></code> provides
5662 converters to UTF8 are piggy-backed.</li>
5700 href="http://xmlsoft.org/html/libxml-tree.html">tree.h</a> </code>which is a
5702 either best-fit or use an exponential doubling one (CPU vs. memory use
5703 trade-off). The values are <code>XML_BUFFER_ALLOC_EXACT</code> and
5785 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ret-&gt;context = file;
5786 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ret-&gt;writecallback = xmlFileWrite;
5787 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ret-&gt;closecallback = NULL; /* No close callback…
5837 <p>"-//OASIS//DTD DocBook XML V4.1.2//EN"</p>
5840 <p>http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd</p>
5844 <p>"http://www.oasis-open.org/committes/tr.xsl"</p>
5846 <p>"http://www.oasis-open.org/committes/entity/stylesheets/base/tr.xsl"</p>
5864 <li><a href="http://www.oasis-open.org/committees/entity/spec.html">XML
5879 &lt;!DOCTYPE book PUBLIC "-//Norman Walsh//DTD DocBk XML V3.1.4//EN"
5883 automatically consulted to lookup the public identifier "-//Norman Walsh//DTD
5889 <p style="font-size: 10pt"><strong>Note</strong>: Really don't use this
5904 "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN"
5905 "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd"&gt;
5907 &lt;public publicId="-//OASIS//DTD DocBook XML V4.1.2//EN"
5908 uri="http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"/&gt;
5917 &lt;rewriteSystem systemIdStartString="http://www.oasis-open.org/docbook/"
5928 &lt;delegatePublic publicIdStartString="-//OASIS//DTD XML Catalog //"
5930 &lt;delegatePublic publicIdStartString="-//OASIS//ENTITIES DocBook XML"
5932 &lt;delegatePublic publicIdStartString="-//OASIS//DTD DocBook XML"
5934 &lt;delegateSystem systemIdStartString="http://www.oasis-open.org/docbook/"
5936 &lt;delegateURI uriStartString="http://www.oasis-open.org/docbook/"
5963 <pre>orchis:~/XML -&gt; xmllint --memory --noout test/ent2
5965 orchis:~/XML -&gt; export XML_DEBUG_CATALOG=
5966 orchis:~/XML -&gt; xmllint --memory --noout test/ent2
5971 orchis:~/XML -&gt; </pre>
5983 <pre>orchis:~/XML -&gt; ./xmlcatalog test/catalogs/docbook.xml \
5984 "-//OASIS//DTD DocBook XML V4.1.2//EN"
5985 http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd
5986 orchis:~/XML -&gt; </pre>
5988 <p>For debugging what is going on, adding one -v flags increase the verbosity
5991 <pre>orchis:~/XML -&gt; ./xmlcatalog -v test/catalogs/docbook.xml \
5992 "-//OASIS//DTD DocBook XML V4.1.2//EN"
5994 Found public match -//OASIS//DTD DocBook XML V4.1.2//EN
5995 http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd
5997 orchis:~/XML -&gt; </pre>
6001 <pre>orchis:~/XML -&gt; ./xmlcatalog -shell test/catalogs/docbook.xml \
6002 "-//OASIS//DTD DocBook XML V4.1.2//EN"
6014 &gt; public "-//OASIS//DTD DocBook XML V4.1.2//EN"
6015 http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd
6017 orchis:~/XML -&gt; </pre>
6026 to create a catalog the -create option provide this facility:</p>
6027 <pre>orchis:~/XML -&gt; ./xmlcatalog --create tst.xml
6029 &lt;!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN"
6030 "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd"&gt;
6032 orchis:~/XML -&gt; </pre>
6035 result on the standard output, this can be overridden using the -noout
6036 option. The <code>-add</code> command allows to add entries in the
6038 <pre>orchis:~/XML -&gt; ./xmlcatalog --noout --create --add "public" \
6039 "-//OASIS//DTD DocBook XML V4.1.2//EN" \
6040 http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd tst.xml
6041 orchis:~/XML -&gt; cat tst.xml
6043 &lt;!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN" \
6044 "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd"&gt;
6046 &lt;public publicId="-//OASIS//DTD DocBook XML V4.1.2//EN"
6047 uri="http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"/&gt;
6049 orchis:~/XML -&gt; </pre>
6051 <p>The <code>-add</code> option will always take 3 parameters even if some of
6055 <p>Similarly the <code>-del</code> option remove matching entries from the
6057 <pre>orchis:~/XML -&gt; ./xmlcatalog --del \
6058 "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" tst.xml
6060 &lt;!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN"
6061 "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd"&gt;
6063 orchis:~/XML -&gt; </pre>
6065 <p>The catalog is now empty. Note that the matching of <code>-del</code> is
6076 automatically generated <a href="html/libxml-catalog.html">API page for
6085 by using <a href="html/libxml-parser.html">xmlSetExternalEntityLoader</a> to
6091 <li>a per-document catalog, this one is built if the document uses the
6092 <code>oasis-xml-catalog</code> PIs to specify its own catalog list, it is
6134 <p>xmlCatalogCleanup() free-up the global catalog, xmlCatalogFreeLocal() is
6135 the per-document equivalent.</p>
6174 href="http://www.oasis-open.org/committees/entity/">Committee on Entity
6180 directory, it will set-up /etc/xml/catalog and /etc/xml/docbook based on
6206 <p>The <a href="html/libxml-parser.html">parser interfaces for XML</a> are
6207 separated from the <a href="html/libxml-htmlparser.html">HTML parser
6213 documents either from in-memory strings or from files. The functions are
6217 <dd><p>Parse a null-terminated string containing the document.</p>
6263 doc = ctxt-&gt;myDoc;
6273 <p>The tree-building interface makes the parser memory-hungry, first loading
6276 <a href="http://www.daa.com.au/~james/gnome/xml-sax/xml-sax.html">James
6292 doc-&gt;children = xmlNewDocNode(doc, NULL, "EXAMPLE", NULL);
6293 xmlSetProp(doc-&gt;children, "prop1", "gnome is great");
6294 xmlSetProp(doc-&gt;children, "prop2", "&amp; linux too");
6295 tree = xmlNewChild(doc-&gt;children, NULL, "head", NULL);
6297 tree = xmlNewChild(doc-&gt;children, NULL, "chapter", NULL);
6307 <p>Basically by <a href="html/libxml-tree.html">including "tree.h"</a> your
6313 <pre><code>doc-&gt;children-&gt;children-&gt;children</code></pre>
6316 <pre>doc-&gt;children-&gt;children-&gt;next-&gt;children-&gt;children</pre>
6322 present before the document root, so <code>doc-&gt;children</code> may point
6329 is an excerpt from the <a href="html/libxml-tree.html">tree API</a>:</p>
6352 non-predefined entity references like &amp;Gnome; will be stored
6393 <p>The library transparently handles compression when doing file-based
6398 <dd><p>Gets the document compression ratio (0-9).</p>
6449 href="html/libxml-parser.html#xmlSubstituteEntitiesDefault">xmlSubstituteEntitiesDefault()</a>
6455 <pre>/gnome/src/gnome-xml -&gt; ./xmllint --debug test/ent1
6468 <pre>/gnome/src/gnome-xml -&gt; ./tester --debug --noent test/ent1
6476 suggest that you keep the non-substituting default behaviour and avoid using
6481 entities where necessary to prevent well-formedness problems, and will also
6486 <p><span style="background-color: #FF0000">WARNING</span>: handling entities
6488 non-predefined entities in your documents, then the learning curve to handle
6496 href="http://www.w3.org/TR/REC-xml-names/">XML namespaces</a> support by
6499 associated with an in-memory structure and all elements or attributes within
6508 value in the long-term. Example:</p>
6522 version-independent prefix is installed on the root element of your document,
6534 if(!strncmp(node-&gt;name,"mytag",5)
6535 &amp;&amp; node-&gt;ns
6536 &amp;&amp; !strcmp(node-&gt;ns-&gt;href,"http://www.mysite.com/myns/1.0")) {
6547 such documents one needs to use schema-validation, which is supported in
6548 libxml2 as well. See <a href="http://www.relaxng.org/">relagx-ng</a> and <a
6549 href="http://www.w3c.org/XML/Schema">w3c-schema</a>.</p>
6572 <h3>How to fix libxml-1.x code:</h3>
6581 is now -lxml2 . There is a new xml2-config script which should be used to
6594 s/-&gt;root/-&gt;children/g will probably do it.</li>
6620 <pre>xml2-config --cflags</pre>
6628 <h3>Ensuring both libxml-1.x and libxml-2.x compatibility</h3>
6646 <li>install the libxml-1.8.8 (and libxml-devel-1.8.8) packages</li>
6655 <li>Change your configure script to look first for xml2-config and fall
6656 back using xml-config . Use the --cflags and --libs output of the command
6658 <li>install libxml2-2.3.x and libxml2-devel-2.3.x (libxml-1.8.y and
6659 libxml-devel-1.8.y can be kept simultaneously)</li>
6661 recompile, if steps 2 and 3 were done right it should compile as-is</li>
6683 <li>configure the library accordingly using the --with-threads options</li>
6699 <li>global variables per-thread override</li>
6703 <p>XPath has been tested for threaded usage on non-modified document
6705 are accessed read-only !</p>
6711 documents. Native support for DOM in Gnome is on the way (module gnome-dom),
6712 and will be based on gnome-xml. This will be a far cleaner interface to
6730 &lt;gjob:Helping xmlns:gjob="http://www.gnome.org/some-location"&gt;
6740 &lt;gjob:Modified&gt;Mon, 07 Jun 1999 20:27:45 -0400 MET DST&lt;/gjob:Modified&gt;
6826 cur = cur-&gt;xmlChildrenNode;
6828 if ((!strcmp(cur-&gt;name, "Person")) &amp;&amp; (cur-&gt;ns == ns))
6829 ret-&gt;name = xmlNodeListGetString(doc, cur-&gt;xmlChildrenNode, 1);
6830 if ((!strcmp(cur-&gt;name, "Email")) &amp;&amp; (cur-&gt;ns == ns))
6831 ret-&gt;email = xmlNodeListGetString(doc, cur-&gt;xmlChildrenNode, 1);
6832 cur = cur-&gt;next;
6849 done by a simple equality test (cur-&gt;ns == ns).</li>
6888 cur = cur-&gt;xmlChildrenNode;
6891 if ((!strcmp(cur-&gt;name, "Project")) &amp;&amp; (cur-&gt;ns == ns)) {
6892 ret-&gt;projectID = xmlGetProp(cur, "ID");
6893 if (ret-&gt;projectID == NULL) {
6897 if ((!strcmp(cur-&gt;name, "Application")) &amp;&amp; (cur-&gt;ns == ns))
6898 ret-&gt;application = xmlNodeListGetString(doc, cur-&gt;xmlChildrenNode, 1);
6899 if ((!strcmp(cur-&gt;name, "Category")) &amp;&amp; (cur-&gt;ns == ns))
6900 ret-&gt;category = xmlNodeListGetString(doc, cur-&gt;xmlChildrenNode, 1);
6901 if ((!strcmp(cur-&gt;name, "Contact")) &amp;&amp; (cur-&gt;ns == ns))
6902 ret-&gt;contact = parsePerson(doc, ns, cur);
6903 cur = cur-&gt;next;
6913 storage. This is left as an exercise to the reader :-)</p>
6932 href="http://mail.gnome.org/archives/xml/2001-March/msg00014.html">Matt
6939 href="libxml-doc.el">an emacs module</a> to lookup libxml(2) functions
6944 href="http://acs-misc.sourceforge.net/nsxml.html">libxml/libxslt support
6950 href="http://sourceforge.net/projects/libxml2-pas">Pascal units to glue