summaryrefslogtreecommitdiff
path: root/doc/xml.html
diff options
context:
space:
mode:
Diffstat (limited to 'doc/xml.html')
-rw-r--r--doc/xml.html119
1 files changed, 75 insertions, 44 deletions
diff --git a/doc/xml.html b/doc/xml.html
index a25b8d0..4b01691 100644
--- a/doc/xml.html
+++ b/doc/xml.html
@@ -6,7 +6,6 @@
<meta name="GENERATOR" content="amaya 8.5, see http://www.w3.org/Amaya/">
<meta http-equiv="Content-Type" content="text/html">
</head>
-
<body bgcolor="#ffffff">
<h1 align="center">The XML C parser and toolkit of Gnome</h1>
@@ -108,7 +107,7 @@ conformance statement about it at the moment.</p>
<li><a href="http://xmlsoft.org/XSLT/">the libxslt page</a> providing an
implementation of XSLT 1.0 and common extensions like EXSLT for
libxml2</li>
- <li><a href="http://www.cs.unibo.it/~casarini/gdome2/">the gdome2 page</a>
+ <li><a href="http://gdome2.cs.unibo.it/">the gdome2 page</a>
: a standard DOM2 implementation for libxml2</li>
<li><a href="http://www.aleksey.com/xmlsec/">the XMLSec page</a>: an
implementation of <a href="http://www.w3.org/TR/xmldsig-core/">W3C XML
@@ -116,13 +115,13 @@ conformance statement about it at the moment.</p>
<li>also check the related links section below for more related and active
projects.</li>
</ul>
-<!----------------<p>Results of the <a
+<!-- ----------------<p>Results of the <a
href="http://xmlbench.sourceforge.net/results/benchmark/index.html">xmlbench
benchmark</a> on sourceforge February 2004 (smaller is better):</p>
<p align="center"><img src="benchmark.png"
alt="benchmark results for Expat Xerces libxml2 Oracle and Sun toolkits"></p>
--------------->
+------------ -->
<p>Logo designed by <a href="mailto:liyanage@access.ch">Marc Liyanage</a>.</p>
@@ -197,6 +196,7 @@ libxml2</p>
<ol>
<li><strong><span style="background-color: #FF0000">Do Not Use
libxml1</span></strong>, use libxml2</li>
+ <p></p>
<li><em>Where can I get libxml</em> ?
<p>The original distribution comes from <a
href="ftp://xmlsoft.org/libxml2/">xmlsoft.org</a> or <a
@@ -206,6 +206,7 @@ libxml2</p>
<p>David Doolin provides precompiled Windows versions at <a
href="http://www.ce.berkeley.edu/~doolin/code/libxmlwin32/ ">http://www.ce.berkeley.edu/~doolin/code/libxmlwin32/</a></p>
</li>
+ <p></p>
<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
@@ -278,6 +279,7 @@ libxml2</p>
href="ftp://ftp.ilog.fr/pub/Users/haible/gnu/">here</a>.</li>
</ul>
</li>
+ <p></p>
<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
@@ -286,7 +288,7 @@ libxml2</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>
+ <li><em>I use the SVN 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>
@@ -375,8 +377,9 @@ libxml2</p>
()</a></li>
</ol>
</li>
- <li>Extra nodes in the document:
- <p><em>For a XML file as below:</em></p>
+ <p></p>
+ <li><em>Extra nodes in the document:</em>
+ <p><em>For an XML file as below:</em></p>
<pre>&lt;?xml version="1.0"?&gt;
&lt;PLAN xmlns="http://www.argus.ca/autotest/1.0/"&gt;
&lt;NODE CommFlag="0"/&gt;
@@ -438,22 +441,25 @@ pnode=pxmlDoc-&gt;children-&gt;children;</pre>
<li>have a look at <a href="examples/index.html">the set of
examples</a>.</li>
<li>look for examples of use for libxml2 function using the Gnome code.
+<!--
For example the following will query the full Gnome CVS base for the
use of the <strong>xmlAddChild()</strong> function:
<p><a
href="http://cvs.gnome.org/lxr/search?string=xmlAddChild">http://cvs.gnome.org/lxr/search?string=xmlAddChild</a></p>
<p>This may be slow, a large hardware donation to the gnome project
could cure this :-)</p>
+-->
</li>
<li><a
- href="http://cvs.gnome.org/bonsai/rview.cgi?cvsroot=/cvs/gnome&amp;dir=gnome-xml">Browse
+ href="http://svn.gnome.org/viewcvs/libxml2/trunk/">Browse
the libxml2 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
+ of <a href="http://svn.gnome.org/viewcvs/libxml2/trunk/xmllint.c?view=markup">xmllint.c</a> 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++ ?
+ <p></p>
+ <li><em>What about C++ ?</em>
<p>libxml2 is written in pure C in order to allow easy reuse on a number
of platforms, including embedded systems. I don't intend to convert to
C++.</p>
@@ -473,7 +479,7 @@ pnode=pxmlDoc-&gt;children-&gt;children;</pre>
-->
</ul>
</li>
- <li>How to validate a document a posteriori ?
+ <li><em>How to validate a document a posteriori ?</em>
<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
@@ -490,7 +496,7 @@ xmlDtdPtr dtd = xmlParseDTD(NULL, filename_of_dtd); /* parse the DTD */
else xmlAddPrevSibling(doc-&gt;children, (xmlNodePtr)dtd);
</pre>
</li>
- <li>So what is this funky "xmlChar" used all the time?
+ <li><em>So what is this funky "xmlChar" used all the time?</em>
<p>It is a null terminated sequence of utf-8 characters. And only utf-8!
You need to convert strings encoded in different ways to utf-8 before
passing them to the API. This can be accomplished with the iconv library
@@ -525,7 +531,7 @@ xmlDtdPtr dtd = xmlParseDTD(NULL, filename_of_dtd); /* parse the DTD */
<li>George Lebl wrote <a
href="http://www-106.ibm.com/developerworks/library/l-gnome3/">an article
for IBM developerWorks</a> about using libxml.</li>
- <li>Check <a href="http://cvs.gnome.org/lxr/source/gnome-xml/TODO">the TODO
+ <li>Check <a href="http://svn.gnome.org/viewcvs/libxml2/trunk/TODO?view=markup">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
@@ -545,7 +551,7 @@ is still open. Be sure to specify that the bug is for the package libxml2.</p>
<p>For small problems you can try to get help on IRC, the #xml channel on
irc.gnome.org (port 6667) usually have a few person subscribed which may help
-(but there is no garantee and if a real issue is raised it should go on the
+(but there is no guarantee and if a real issue is raised it should go on the
mailing-list for archival).</p>
<p>There is also a mailing-list <a
@@ -563,13 +569,13 @@ bounces* (in the order of a thousand a day !) I cannot approve them manually
anymore. If your mail to the list bounced waiting for administrator approval,
it is LOST ! Repost it and fix the problem triggering the error. Also please
note that <span style="color: #FF0000; background-color: #FFFFFF">emails with
-a legal warning asking to not copy or redistribute freely the informations
+a legal warning asking to not copy or redistribute freely the information
they contain</span> are <strong>NOT</strong> acceptable for the mailing-list,
such mail will as much as possible be discarded automatically, and are less
likely to be answered if they made it to the list, <strong>DO NOT</strong>
post to the list from an email address where such legal requirements are
automatically added, get private paying support if you can't share
-informations.</p>
+information.</p>
<p>Check the following <strong><span style="color: #FF0000">before
posting</span></strong>:</p>
@@ -604,7 +610,7 @@ answer a given question, ask on the list.</p>
others" and is not welcome. I will automatically Carbon-Copy the
xml@gnome.org mailing list for any technical reply made about libxml2 or
libxslt.</li>
- <li>There is <span style="color: #E50000">no garantee of support</span>, if
+ <li>There is <span style="color: #E50000">no guarantee of support</span>. If
your question remains unanswered after a week, repost it, making sure you
gave all the detail needed and the information requested.</li>
<li>Failing to provide information as requested or double checking first
@@ -651,8 +657,7 @@ database</a>:</p>
<p>The latest versions of libxml2 can be found on the <a
href="ftp://xmlsoft.org/libxml2/">xmlsoft.org</a> server ( <a
-href="http://xmlsoft.org/sources/">HTTP</a>, <a
-href="ftp://xmlsoft.org/libxml2/">FTP</a> and rsync are available), there is also
+href="ftp://xmlsoft.org/libxml2/">FTP</a> and rsync are available), there are also
mirrors (<a href="ftp://ftp.planetmirror.com/pub/xmlsoft/">Australia</a>( <a
href="http://xmlsoft.planetmirror.com/">Web</a>), <a
href="ftp://fr.rpmfind.net/pub/libxml/">France</a>) or on the <a
@@ -696,7 +701,7 @@ href="http://veillard.com/">contact me</a>.</p>
<p><a name="Snapshot">Snapshot:</a></p>
<ul>
- <li>Code from the W3C cvs base libxml2 module, updated hourly <a
+ <li>Code from the W3C svn base libxml2 module, updated hourly <a
href="ftp://xmlsoft.org/libxml2/libxml2-cvs-snapshot.tar.gz">libxml2-cvs-snapshot.tar.gz</a>.</li>
<li>Docs, content of the web site, the list archive included <a
href="ftp://xmlsoft.org/libxml2/libxml-docs.tar.gz">libxml-docs.tar.gz</a>.</li>
@@ -709,12 +714,12 @@ platform, get in touch with the list to upload the package, wrappers for
various languages have been provided, and can be found in the <a
href="python.html">bindings section</a></p>
-<p>Libxml2 is also available from CVS:</p>
+<p>Libxml2 is also available from SVN:</p>
<ul>
- <li><p>The <a href="http://cvs.gnome.org/viewcvs/libxml2/">Gnome CVS
+ <li><p>The <a href="http://svn.gnome.org/viewcvs/libxml2/trunk/">Gnome SVN
base</a>. Check the <a
- href="http://developer.gnome.org/tools/cvs.html">Gnome CVS Tools</a>
- page; the CVS module is <b>libxml2</b>.</p>
+ href="http://developer.gnome.org/tools/svn.html">Gnome SVN Tools</a>
+ page; the SVN module is <b>libxml2</b>.</p>
</li>
<li>The <strong>libxslt</strong> module is also present there</li>
</ul>
@@ -730,10 +735,36 @@ to help those</p>
</ul>
<p>The <a href="ChangeLog.html">change log</a> describes the recents commits
-to the <a href="http://cvs.gnome.org/viewcvs/libxml2/">CVS</a> code base.</p>
-
-<p>There is the list of public releases:</p>
-
+to the <a href="http://svn.gnome.org/viewcvs/libxml2/trunk/">SVN</a> code base.</p>
+
+<p>Here is the list of public releases:</p>
+
+<h3>2.6.28: Apr 17 2007</h3>
+<ul>
+ <li>Documentation: comment fixes (Markus Keim), xpath comments fixes too
+ (James Dennett)</li>
+ <li>Bug fixes: XPath bug (William Brack), HTML parser autoclose stack usage
+ (Usamah Malik), various regexp bug fixes (DV and William), path conversion
+ on Windows (Igor Zlatkovic), htmlCtxtReset fix (Michael Day), XPath
+ principal node of axis bug, HTML serialization of some codepoint
+ (Steven Rainwater), user data propagation in XInclude (Michael Day),
+ standalone and XML decl detection (Michael Day), Python id ouptut
+ for some id, fix the big python string memory leak, URI parsing fixes
+ (Stéphane Bidoul and William), long comments parsing bug (William),
+ concurrent threads initialization (Ted Phelps), invalid char
+ in text XInclude (William), XPath memory leak (William), tab in
+ python problems (Andreas Hanke), XPath node comparison error
+ (Oleg Paraschenko), cleanup patch for reader (Julien Reichel),
+ XML Schemas attribute group (William), HTML parsing problem (William),
+ fix char 0x2d in regexps (William), regexp quantifier range with
+ min occurs of 0 (William), HTML script/style parsing (Mike Day)</li>
+ <li>Improvement: make xmlTextReaderSetup() public</li>
+ <li>Compilation and postability: fix a missing include problem (William),
+ __ss_familly on AIX again (Björn Wiberg), compilation without zlib
+ (Michael Day), catalog patch for Win32 (Christian Ehrlicher),
+ Windows CE fixes (Andreas Stricke)</li>
+ <li>Various CVS to SVN infrastructure changes</li>
+</ul>
<h3>2.6.27: Oct 25 2006</h3>
<ul>
<li>Portability fixes: file names on windows (Roland Schwingel,
@@ -1430,7 +1461,7 @@ to the <a href="http://cvs.gnome.org/viewcvs/libxml2/">CVS</a> code base.</p>
<li>New xmlWriter API provided by Alfred Mickautsch</li>
<li>Schemas: base64 support by Anthony Carrico</li>
<li>Parser&lt;-&gt;HTTP integration fix, proper processing of the Mime-Type
- and charset informations if available.</li>
+ and charset information if available.</li>
<li>Relax-NG: bug fixes including the one reported by Martijn Faassen and
zeroOrMore, better error reporting.</li>
<li>Python bindings (Stéphane Bidoul), never use stdout for errors
@@ -1667,7 +1698,7 @@ to the <a href="http://cvs.gnome.org/viewcvs/libxml2/">CVS</a> code base.</p>
<li>Fix for HTTP URL escaping problem</li>
<li>added an TextXmlReader (C#) like API (work in progress)</li>
<li>Rewrote the API in XML generation script, includes a C parser and saves
- more informations needed for C# bindings</li>
+ more information needed for C# bindings</li>
</ul>
<h3>2.4.28: Nov 22 2002</h3>
@@ -2560,7 +2591,7 @@ language for transforming XML documents into other XML documents (or
HTML/textual output).</p>
<p>A separate library called libxslt is available implementing XSLT-1.0 for
-libxml2. This module "libxslt" too can be found in the Gnome CVS base.</p>
+libxml2. This module "libxslt" too can be found in the Gnome SVN base.</p>
<p>You can check the progresses on the libxslt <a
href="http://xmlsoft.org/XSLT/ChangeLog.html">Changelog</a>.</p>
@@ -2613,7 +2644,7 @@ or libxslt wrappers or bindings:</p>
<li>Steve Ball and contributors maintains <a
href="http://tclxml.sourceforge.net/">libxml2 and libxslt bindings for
Tcl</a>.</li>
- <li>libxml2 and libxslt is the default XML library for PHP5.</li>
+ <li>libxml2 and libxslt are the default XML libraries for PHP5.</li>
<li><a href="http://savannah.gnu.org/projects/classpathx/">LibxmlJ</a> is
an effort to create a 100% JAXP-compatible Java wrapper for libxml2 and
libxslt as part of GNU ClasspathX project.</li>
@@ -2739,8 +2770,8 @@ the error messages when trying to validate the invalid document.</p>
<p>The main interest of that test is the creation of a parser context with
createFileParserCtxt() and how the behaviour can be changed before calling
-parseDocument() . Similarly the informations resulting from the parsing phase
-are also available using context methods.</p>
+parseDocument() . Similarly the information resulting from the parsing phase
+is also available using context methods.</p>
<p>Contexts like nodes are defined as class and the libxml2 wrappers maps the
C function interfaces in terms of objects method as much as possible. The
@@ -3340,7 +3371,7 @@ or call a specific routine when a given block number is allocated:</p>
href="http://xmlsoft.org/html/libxml-xmlmemory.html">xmlMemStrdupLoc()</a>
are the memory debugging replacement allocation routines</li>
<li><a href="http://xmlsoft.org/html/libxml-xmlmemory.html">xmlMemoryDump
- ()</a> dumps all the informations about the allocated memory block lefts
+ ()</a> dumps all the information about the allocated memory block lefts
in the <code>.memdump</code> file</li>
</ul>
@@ -3352,7 +3383,7 @@ allocations use (some libc implementations are known to be far too permissive
resulting in major portability problems!).</p>
<p>If the .memdump reports a leak, it displays the allocation function and
-also tries to give some informations about the content and structure of the
+also tries to give some information about the content and structure of the
allocated blocks left. This is sufficient in most cases to find the culprit,
but not always. Assuming the allocation problem is reproducible, it is
possible to find more easily:</p>
@@ -3455,7 +3486,7 @@ French like for both markup and content:</p>
<p>Having internationalization support in libxml2 means the following:</p>
<ul>
<li>the document is properly parsed</li>
- <li>informations about it's encoding are saved</li>
+ <li>information about it's encoding is saved</li>
<li>it can be modified</li>
<li>it can be saved in its original encoding</li>
<li>it can also be saved in another encoding supported by libxml2 (for
@@ -3707,7 +3738,7 @@ the interfaces to the libxml2 I/O system. This consists of 4 main parts:</p>
<code>xmlSetExternalEntityLoader()</code>. <a href="#entities">Check the
example</a>.</li>
<li>Input I/O buffers which are a commodity structure used by the parser(s)
- input layer to handle fetching the informations to feed the parser. This
+ input layer to handle fetching the information to feed the parser. This
provides buffering and is also a placeholder where the encoding
converters to UTF8 are piggy-backed.</li>
<li>Output I/O buffers are similar to the Input ones and fulfill similar
@@ -4008,7 +4039,7 @@ default catalog</p>
<h3><a name="validate">How to debug catalog processing:</a></h3>
<p>Setting up the <code>XML_DEBUG_CATALOG</code> environment variable will
-make libxml2 output debugging informations for each catalog operations, for
+make libxml2 output debugging information for each catalog operations, for
example:</p>
<pre>orchis:~/XML -&gt; xmllint --memory --noout test/ent2
warning: failed to load external entity "title.xml"
@@ -4210,7 +4241,7 @@ literature to point at:</p>
<ul>
<li>You can find a good rant from Norm Walsh about <a
href="http://www.arbortext.com/Think_Tank/XML_Resources/Issue_Three/issue_three.html">the
- need for catalogs</a>, it provides a lot of context informations even if
+ need for catalogs</a>, it provides a lot of context information even if
I don't agree with everything presented. Norm also wrote a more recent
article <a
href="http://wwws.sun.com/software/xml/developers/resolver/article/">XML
@@ -4763,10 +4794,10 @@ manipulate XML files within Gnome since it won't expose the internal
structure.</p>
<p>The current DOM implementation on top of libxml2 is the <a
-href="http://cvs.gnome.org/lxr/source/gdome2/">gdome2 Gnome module</a>, this
+href="http:///svn.gnome.org/viewcvs/gdome2/trunk/">gdome2 Gnome module</a>, this
is a full DOM interface, thanks to Paolo Casarini, check the <a
-href="http://www.cs.unibo.it/~casarini/gdome2/">Gdome2 homepage</a> for more
-informations.</p>
+href="http://gdome2.cs.unibo.it/">Gdome2 homepage</a> for more
+information.</p>
<h2><a name="Example"></a><a name="real">A real example</a></h2>
@@ -4963,7 +4994,7 @@ storage. This is left as an exercise to the reader :-)</p>
<p>Feel free to use <a href="example/gjobread.c">the code for the full C
parsing example</a> as a template, it is also available with Makefile in the
-Gnome CVS base under gnome-xml/example</p>
+Gnome SVN base under libxml2/example</p>
<h2><a name="Contributi">Contributions</a></h2>
<ul>