possible mem leak patch from Jason Adams integrated xf:escape-uri() from
* xpath.c: possible mem leak patch from Jason Adams
* xpath.c: integrated xf:escape-uri() from Wesley Terpstra
in the XQuery namespace
* configure.in: preparing 2.4.24
* doc/*.html: updated the web pages
* python/generator.py: closing bug #85258 by generating conditional
compile check to avoid linking to routines not configured in.
Daniel
diff --git a/doc/xml.html b/doc/xml.html
index b80a56a..d87962d 100644
--- a/doc/xml.html
+++ b/doc/xml.html
@@ -58,7 +58,8 @@
</ul>
<p>In most cases libxml tries to implement the specifications in a relatively
-strictly compliant way. As of release 2.4.16, libxml2 passes all 1800+ tests from the <a
+strictly compliant way. As of release 2.4.16, libxml2 passes all 1800+ tests
+from the <a
href="http://www.oasis-open.org/committees/xml-conformance/">OASIS XML Tests
Suite</a>.</p>
@@ -159,9 +160,9 @@
wording</p>
</li>
<li><em>Can I embed libxml in a proprietary application ?</em>
- <p>Yes. The MIT License allows you to keep proprietary the changes
- you made to libxml, but it would be graceful to send-back bug fixes
- and improvements as patches for possible incorporation in the main
+ <p>Yes. The MIT License allows you to keep proprietary the changes you
+ made to libxml, but it would be graceful to send-back bug fixes and
+ improvements as patches for possible incorporation in the main
development tree.</p>
</li>
</ol>
@@ -182,8 +183,8 @@
</li>
<li><em>I see libxml and libxml2 releases, which one should I install ?</em>
<ul>
- <li>If you are not constrained by backward compatibility issues
- with existing applications, install libxml2 only</li>
+ <li>If you are not constrained by backward compatibility issues with
+ existing applications, install libxml2 only</li>
<li>If you are not doing development, you can safely install both.
Usually the packages <a
href="http://rpmfind.net/linux/RPM/libxml.html">libxml</a> and <a
@@ -202,8 +203,8 @@
</li>
<li><em>I can't install the libxml package, it conflicts with libxml0</em>
<p>You probably have an old libxml0 package used to provide the shared
- library for libxml.so.0, you can probably safely remove it. The
- libxml packages provided on <a
+ library for libxml.so.0, you can probably safely remove it. The libxml
+ packages provided on <a
href="ftp://rpmfind.net/pub/libxml/">rpmfind.net</a> provide
libxml.so.0</p>
</li>
@@ -212,9 +213,9 @@
<p>The most generic solution is to re-fetch the latest src.rpm , and
rebuild it locally with</p>
<p><code>rpm --rebuild libxml(2)-xxx.src.rpm</code>.</p>
- <p>If everything goes well it will generate two binary rpm packages (one providing
- the shared libs and xmllint, and the other one, the -devel package,
- providing includes, static libraries and scripts needed to build
+ <p>If everything goes well it will generate two binary rpm packages (one
+ providing the shared libs and xmllint, and the other one, the -devel
+ package, providing includes, static libraries and scripts needed to build
applications with libxml(2)) that you can install locally.</p>
</li>
</ol>
@@ -253,16 +254,17 @@
</ul>
</li>
<li><em>Make check fails on some platforms</em>
- <p>Sometimes the regression tests' results don't completely match the value
- produced by the parser, and the makefile uses diff to print the delta. On
- some platforms the diff return breaks the compilation process; if the
- diff is small this is probably not a serious problem.</p>
+ <p>Sometimes the regression tests' results don't completely match the
+ value produced by the parser, and the makefile uses diff to print the
+ delta. On some platforms the diff return breaks the compilation process;
+ if the diff is small this is probably not a serious problem.</p>
<p>Sometimes (especially on Solaris) make checks fail due to limitations
in make. Try using GNU-make instead.</p>
</li>
<li><em>I use the CVS version and there is no configure script</em>
- <p>The configure script (and other Makefiles) are generated. Use the autogen.sh
- script to regenerate the configure script and Makefiles, like:</p>
+ <p>The configure script (and other Makefiles) are generated. Use the
+ autogen.sh script to regenerate the configure script and Makefiles,
+ like:</p>
<p><code>./autogen.sh --prefix=/usr --disable-shared</code></p>
</li>
<li><em>I have troubles when running make tests with gcc-3.0</em>
@@ -345,8 +347,8 @@
<p>Check the previous points 1/ and 2/ raised before, and please send
patches.</p>
</li>
- <li><em>Where can I get more examples and information than privoded on the web
- page?</em>
+ <li><em>Where can I get more examples and information than privoded on the
+ web page?</em>
<p>Ideally a libxml book would be nice. I have no such plan ... But you
can:</p>
<ul>
@@ -363,9 +365,9 @@
<li><a
href="http://cvs.gnome.org/bonsai/rview.cgi?cvsroot=/cvs/gnome&dir=gnome-xml">Browse
the libxml source</a> , I try to write code as clean and documented
- as possible, so looking at it may be helpful. In particular the code of
- xmllint.c and of the various testXXX.c test programs should provide
- good examples of how to do things with the library.</li>
+ as possible, so looking at it may be helpful. In particular the code
+ of xmllint.c and of the various testXXX.c test programs should
+ provide good examples of how to do things with the library.</li>
</ul>
</li>
<li>What about C++ ?
@@ -388,8 +390,8 @@
</li>
<li>How to validate a document a posteriori ?
<p>It is possible to validate documents which had not been validated at
- initial parsing time or documents which have been built from scratch using
- the API. Use the <a
+ initial parsing time or documents which have been built from scratch
+ using the API. Use the <a
href="http://xmlsoft.org/html/libxml-valid.html#XMLVALIDATEDTD">xmlValidateDtd()</a>
function. It is also possible to simply add a DTD to an existing
document:</p>
@@ -430,9 +432,9 @@
for IBM developerWorks</a> about using libxml.</li>
<li>Check <a href="http://cvs.gnome.org/lxr/source/gnome-xml/TODO">the TODO
file</a>.</li>
- <li>Read the <a href="upgrade.html">1.x to 2.x upgrade path</a> description. If you are
- starting a new project using libxml you should really use the 2.x
- version.</li>
+ <li>Read the <a href="upgrade.html">1.x to 2.x upgrade path</a>
+ description. If you are starting a new project using libxml you should
+ really use the 2.x version.</li>
<li>And don't forget to look at the <a
href="http://mail.gnome.org/archives/xml/">mailing-list archive</a>.</li>
</ol>
@@ -442,9 +444,9 @@
<p>Well, bugs or missing features are always possible, and I will make a
point of fixing them in a timely fashion. The best way to report a bug is to
use the <a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml">Gnome
-bug tracking database</a> (make sure to use the "libxml2" module name). I look
-at reports there regularly and it's good to have a reminder when a bug is
-still open. Be sure to specify that the bug is for the package libxml2.</p>
+bug tracking database</a> (make sure to use the "libxml2" module name). I
+look at reports there regularly and it's good to have a reminder when a bug
+is still open. Be sure to specify that the bug is for the package libxml2.</p>
<p>There is also a mailing-list <a
href="mailto:xml@gnome.org">xml@gnome.org</a> for libxml, with an <a
@@ -502,7 +504,8 @@
and</li>
<li>Provide documentation fixes (either as patches to the code comments or
as HTML diffs).</li>
- <li>Provide new documentations pieces (translations, examples, etc ...).</li>
+ <li>Provide new documentations pieces (translations, examples, etc
+ ...).</li>
<li>Check the TODO file and try to close one of the items.</li>
<li>Take one of the points raised in the archive or the bug database and
provide a fix. <a href="mailto:daniel@veillard.com">Get in touch with me
@@ -531,7 +534,9 @@
href="http://www.fh-frankfurt.de/~igor/projects/libxml/index.html">he
provides binaries</a>. <a href="mailto:Gary.Pennington@sun.com">Gary
Pennington</a> provides <a href="http://garypennington.net/libxml2/">Solaris
-binaries</a>. <a href="mailto:Steve.Ball@zveno.com">Steve Ball</a> provides <a href="http://www.zveno.com/open_source/libxml2xslt.html">Mac Os X binaries</a>.</p>
+binaries</a>. <a href="mailto:Steve.Ball@zveno.com">Steve Ball</a> provides
+<a href="http://www.zveno.com/open_source/libxml2xslt.html">Mac Os X
+binaries</a>.</p>
<p><a name="Snapshot">Snapshot:</a></p>
<ul>
@@ -572,6 +577,18 @@
Schemas</a> and <a href="http://www.w3.org/TR/xinclude">XInclude</a></li>
</ul>
+<p><strong>2.4.24: Aug 22 2002</strong></p>
+<ul>
+ <li>XPath fixes (William), xf:escape-uri() (Wesley Terpstra)</li>
+ <li>Python binding fixes: makefiles (William), generator, rpm build, x86-64
+ (fcrozat)</li>
+ <li>HTML <style> and boolean attributes serializer fixes</li>
+ <li>C14N improvements by Aleksey</li>
+ <li>doc cleanups: Rick Jones </li>
+ <li>Windows compiler makefile updates: Igor and Elizabeth Barham</li>
+ <li>XInclude: implementation of fallback and xml:base fixup added</li>
+</ul>
+
<h3>2.4.23: July 6 2002</h3>
<ul>
<li>performances patches: Peter Jacobi</li>
@@ -1370,19 +1387,20 @@
</EXAMPLE></pre>
<p>The first line specifies that it is an XML document and gives useful
-information about its encoding. Then the rest of the document is a text format whose
-structure is specified by tags between brackets. <strong>Each tag opened has
-to be closed</strong>. XML is pedantic about this. However, if a tag is empty
-(no content), a single tag can serve as both the opening and closing tag if
-it ends with <code>/></code> rather than with <code>></code>. Note
-that, for example, the image tag has no content (just an attribute) and is
-closed by ending the tag with <code>/></code>.</p>
+information about its encoding. Then the rest of the document is a text
+format whose structure is specified by tags between brackets. <strong>Each
+tag opened has to be closed</strong>. XML is pedantic about this. However, if
+a tag is empty (no content), a single tag can serve as both the opening and
+closing tag if it ends with <code>/></code> rather than with
+<code>></code>. Note that, for example, the image tag has no content (just
+an attribute) and is closed by ending the tag with <code>/></code>.</p>
-<p>XML can be applied successfully to a wide range of tasks, ranging from long term
-structured document maintenance (where it follows the steps of SGML) to
-simple data encoding mechanisms like configuration file formatting (glade),
-spreadsheets (gnumeric), or even shorter lived documents such as WebDAV where
-it is used to encode remote calls between a client and a server.</p>
+<p>XML can be applied successfully to a wide range of tasks, ranging from
+long term structured document maintenance (where it follows the steps of
+SGML) to simple data encoding mechanisms like configuration file formatting
+(glade), spreadsheets (gnumeric), or even shorter lived documents such as
+WebDAV where it is used to encode remote calls between a client and a
+server.</p>
<h2><a name="XSLT">XSLT</a></h2>
@@ -1392,8 +1410,8 @@
language for transforming XML documents into other XML documents (or
HTML/textual output).</p>
-<p>A separate library called libxslt is being developed on top of libxml2. This
-module "libxslt" too can be found in the Gnome CVS base.</p>
+<p>A separate library called libxslt is being developed on top of libxml2.
+This module "libxslt" too can be found in the Gnome CVS base.</p>
<p>You can check the <a
href="http://cvs.gnome.org/lxr/source/libxslt/FEATURES">features</a>
@@ -1403,8 +1421,8 @@
<h2><a name="Python">Python and bindings</a></h2>
-<p>There are a number of language bindings and wrappers available for libxml2,
-the list below is not exhaustive. Please contact the <a
+<p>There are a number of language bindings and wrappers available for
+libxml2, the list below is not exhaustive. Please contact the <a
href="http://mail.gnome.org/mailman/listinfo/xml-bindings">xml-bindings@gnome.org</a>
(<a href="http://mail.gnome.org/archives/xml-bindings/">archives</a>) in
order to get updates to this list or to discuss the specific topic of libxml2
@@ -1897,8 +1915,8 @@
found within your document, what is the formal shape of your document tree
(by defining the allowed content of an element; either text, a regular
expression for the allowed list of children, or mixed content i.e. both text
-and children). The DTD also defines the valid attributes for all elements
-and the types of those attributes.</p>
+and children). The DTD also defines the valid attributes for all elements and
+the types of those attributes.</p>
<h3><a name="definition1">The definition</a></h3>
@@ -1917,10 +1935,10 @@
<h3><a name="Simple1">Simple rules</a></h3>
-<p>Writing DTDs can be done in many ways. The rules to build them if you
-need something permanent or something which can evolve over time can be radically
-different. Really complex DTDs like DocBook ones are flexible but quite harder
-to design. I will just focus on DTDs for a formats with a fixed simple
+<p>Writing DTDs can be done in many ways. The rules to build them if you need
+something permanent or something which can evolve over time can be radically
+different. Really complex DTDs like DocBook ones are flexible but quite
+harder to design. I will just focus on DTDs for a formats with a fixed simple
structure. It is just a set of basic rules, and definitely not exhaustive nor
usable for complex DTD design.</p>
@@ -2027,9 +2045,9 @@
<h3><a name="Some1">Some examples</a></h3>
<p>The directory <code>test/valid/dtds/</code> in the libxml distribution
-contains some complex DTD examples. The example in the file <code>test/valid/dia.xml</code>
-shows an XML file where the simple DTD is directly included within
-the document.</p>
+contains some complex DTD examples. The example in the file
+<code>test/valid/dia.xml</code> shows an XML file where the simple DTD is
+directly included within the document.</p>
<h3><a name="validate1">How to validate</a></h3>
@@ -2042,8 +2060,8 @@
<p>the -- noout is used to disable output of the resulting tree.</p>
-<p>The <code>--dtdvalid dtd</code> allows validation of the document(s) against
-a given DTD.</p>
+<p>The <code>--dtdvalid dtd</code> allows validation of the document(s)
+against a given DTD.</p>
<p>Libxml exports an API to handle DTDs and validation, check the <a
href="http://xmlsoft.org/html/libxml-valid.html">associated
@@ -2644,6 +2662,7 @@
+
} </pre>
</li>
<li>And then use it to save the document: