1<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
2    "http://www.w3.org/TR/html4/loose.dtd">
3<html>
4<head>
5  <title>The EXSLT C library for Gnome</title>
6  <meta name="GENERATOR" content="amaya 5.1">
7  <meta http-equiv="Content-Type" content="text/html">
8</head>
9
10<body bgcolor="#ffffff">
11<h1 align="center">The EXSLT C library for Gnome</h1>
12
13<h1 style="text-align: center">libexslt</h1>
14
15<p>Libexslt is the <a href="http://www.exslt.org">EXSLT</a> C library
16   developed for libxslt (a part of the Gnome project). Much of the
17   initial work on the library was done by Thomas Broyer.  EXSLT itself
18   is a community initiative to provide extensions to XSLT.
19
20<p>This library is free software and can be reused in commercial applications
21   (see the <a href="intro.html">intro</a>)</p>
22
23<p></p>
24
25<p>Logo designed by <a href="mailto:liyanage@access.ch">Marc Liyanage</a>.</p>
26
27<h2><a name="Introducti">Introduction</a></h2>
28
29<p>This document describes <a href="http://xmlsoft.org/XSLT/">libxslt</a>,
30the <a href="http://www.w3.org/TR/xslt">XSLT</a> C library developed for the
31<a href="http://www.gnome.org/">Gnome</a> project.</p>
32
33<p>Here are some key points about libxslt:</p>
34<ul>
35  <li>Libxslt is a C implementation</li>
36  <li>Libxslt is based on libxml for XML parsing, tree manipulation and XPath
37    support</li>
38  <li>It is written in plain C, making as few assumptions as possible, and
39    sticking closely to ANSI C/POSIX for easy embedding. Should works on
40    Linux/Unix/Windows.</li>
41  <li>This library is released under the <a
42    href="http://www.opensource.org/licenses/mit-license.html">MIT
43  Licence</a></li>
44  <li>Though not designed primarily with performances in mind, libxslt seems
45    to be a relatively fast processor.</li>
46</ul>
47
48<h2><a name="Documentat">Documentation</a></h2>
49
50<p>There are some on-line resources about using libxslt:</p>
51<ol>
52  <li>Check the <a href="html/libxslt-lib.html#LIBXSLT-LIB">API
53    documentation</a> automatically extracted from code comments (using
54        the program apibuild.py, developed for libxml, together with the
55	    xsl script 'newapi.xsl' and the libxslt xsltproc program).</li>
56  <li>Look at the <a href="http://mail.gnome.org/archives/xslt/">mailing-list
57    archive</a>.</li>
58  <li>Of course since libxslt is based on libxml, it's a good idea to at
59    least read <a href="http://xmlsoft.org/">libxml description</a></li>
60</ol>
61
62<h2><a name="Reporting">Reporting bugs and getting help</a></h2>
63
64<p>Well, bugs or missing features are always possible, and I will make a
65point of fixing them in a timely fashion. The best way to report a bug is to
66use the <a href="http://bugzilla.gnome.org/buglist.cgi?product=libxslt">Gnome
67bug tracking database</a> (make sure to use the "libxslt" module name). I
68look at reports there regularly and it's good to have a reminder when a bug
69is still open. Be sure to specify that the bug is for the package libxslt.</p>
70
71<p>For small problems you can try to get help on IRC, the #xml channel on
72irc.gnome.org (port 6667) usually have a few person subscribed which may help
73(but there is no guarantee and if a real issue is raised it should go on the
74mailing-list for archival).</p>
75
76<p>There is also a mailing-list <a
77href="mailto:xslt@gnome.org">xslt@gnome.org</a> for libxslt, with an <a
78href="http://mail.gnome.org/archives/xslt/">on-line archive</a>. To subscribe
79to this list, please visit the <a
80href="http://mail.gnome.org/mailman/listinfo/xslt">associated Web</a> page
81and follow the instructions.</p>
82
83<p>Alternatively, you can just send the bug to the <a
84href="mailto:xslt@gnome.org">xslt@gnome.org</a> list, if it's really libxslt
85related I will approve it.. Please do not send me mail directly especially
86for portability problem, it makes things really harder to track and in some
87cases I'm not the best person to answer a given question, ask the list
88instead. <strong>Do not send code, I won't debug it</strong> (but patches are
89really appreciated!).</p>
90
91<p>Check the following too <span style="color: #E50000">before
92posting</span>:</p>
93<ul>
94  <li><a href="search.php">use the search engine</a> to get informations
95    related to your problem.</li>
96  <li>make sure you are <a href="ftp://xmlsoft.org/">using a recent
97    version</a>, and that the problem still shows up in those</li>
98  <li>check the <a href="http://mail.gnome.org/archives/xslt/">list
99    archives</a> to see if the problem was reported already, in this case
100    there is probably a fix available, similarly check the <a
101    href="http://bugzilla.gnome.org/buglist.cgi?product=libxslt">registered
102    open bugs</a></li>
103  <li>make sure you can reproduce the bug with xsltproc, a very useful thing
104    to do is run the transformation with -v argument and redirect the
105    standard error to a file, then search in this file for the transformation
106    logs just preceding the possible problem</li>
107  <li>Please send the command showing the error as well as the input and
108    stylesheet (as an attachment)</li>
109</ul>
110
111<p>Then send the bug with associated informations to reproduce it to the <a
112href="mailto:xslt@gnome.org">xslt@gnome.org</a> list; if it's really libxslt
113related I will approve it. Please do not send mail to me directly, it makes
114things really hard to track and in some cases I am not the best person to
115answer a given question, ask on the list.</p>
116
117<p>To <span style="color: #E50000">be really clear about support</span>:</p>
118<ul>
119  <li>Support or help <span style="color: #E50000">request MUST be sent to
120    the list or on bugzilla</span> in case of problems, so that the Question
121    and Answers can be shared publicly. Failing to do so carries the implicit
122    message "I want free support but I don't want to share the benefits with
123    others" and is not welcome. I will automatically Carbon-Copy the
124    xslt@gnome.org mailing list for any technical reply made about libxml2 or
125    libxslt.</li>
126  <li>There is <span style="color: #E50000">no garantee for support</span>,
127    if your question remains unanswered after a week, repost it, making sure
128    you gave all the detail needed and the informations requested.</li>
129  <li>Failing to provide informations as requested or double checking first
130    for prior feedback also carries the implicit message "the time of the
131    library maintainers is less valuable than my time" and might not be
132    welcome.</li>
133</ul>
134
135<p>Of course, bugs reports with a suggested patch for fixing them will
136probably be processed faster.</p>
137
138<p>If you're looking for help, a quick look at <a
139href="http://mail.gnome.org/archives/xslt/">the list archive</a> may actually
140provide the answer, I usually send source samples when answering libxslt
141usage questions. The <a
142href="html/libxslt-lib.html#LIBXSLT-LIB">auto-generated documentation</a> is
143not as polished as I would like (I need to learn more about Docbook), but
144it's a good starting point.</p>
145
146<h2><a name="help">How to help</a></h2>
147
148<p>You can help the project in various ways, the best thing to do first is to
149subscribe to the mailing-list as explained before, check the <a
150href="http://mail.gnome.org/archives/xslt/">archives </a>and the <a
151href="http://bugzilla.gnome.org/buglist.cgi?product=libxslt">Gnome bug
152database:</a>:</p>
153<ol>
154  <li>provide patches when you find problems</li>
155  <li>provide the diffs when you port libxslt to a new platform. They may not
156    be integrated in all cases but help pinpointing portability problems
157  and</li>
158  <li>provide documentation fixes (either as patches to the code comments or
159    as HTML diffs).</li>
160  <li>provide new documentations pieces (translations, examples, etc ...)</li>
161  <li>Check the TODO file and try to close one of the items</li>
162  <li>take one of the points raised in the archive or the bug database and
163    provide a fix. <a href="mailto:daniel@veillard.com">Get in touch with me
164    </a>before to avoid synchronization problems and check that the suggested
165    fix will fit in nicely :-)</li>
166</ol>
167
168<h2><a name="Downloads">Downloads</a></h2>
169
170<p>The latest versions of libxslt can be found on <a
171href="ftp://xmlsoft.org/">xmlsoft.org</a> (<a
172href="ftp://speakeasy.rpmfind.net/pub/libxml/">Seattle</a>, <a
173href="ftp://fr.rpmfind.net/pub/libxml/">France</a>) or on the <a
174href="ftp://ftp.gnome.org/pub/GNOME/MIRRORS.html">Gnome FTP server</a> as a
175<a href="ftp://ftp.gnome.org/pub/GNOME/sources/libxslt/1.1/">source
176archive</a>, Antonin Sprinzl also provides <a
177href="ftp://gd.tuwien.ac.at/pub/libxml/">a mirror in Austria</a>. (NOTE that
178you need the <a href="http://rpmfind.net/linux/RPM/libxml2.html">libxml2</a>,
179<a href="http://rpmfind.net/linux/RPM/libxml2-devel.html">libxml2-devel</a>,
180<a href="http://rpmfind.net/linux/RPM/libxslt.html">libxslt</a> and <a
181href="http://rpmfind.net/linux/RPM/libxslt-devel.html">libxslt-devel</a>
182packages installed to compile applications using libxslt.) <a
183href="mailto:igor@zlatkovic.com">Igor  Zlatkovic</a> is now the maintainer of
184the Windows port, <a
185href="http://www.zlatkovic.com/projects/libxml/index.html">he provides
186binaries</a>. <a href="mailto:Gary.Pennington@sun.com">Gary Pennington</a>
187provides <a href="http://garypennington.net/libxml2/">Solaris binaries</a>.
188<a href="mailto:Steve.Ball@zveno.com">Steve Ball</a> provides <a
189href="http://www.zveno.com/open_source/libxml2xslt.html">Mac Os X
190binaries</a>.</p>
191
192<p><a name="Contribs">Contribs:</a></p>
193
194<p>I do accept external contributions, especially if compiling on another
195platform, get in touch with me to upload the package. I will keep them in the
196<a href="ftp://xmlsoft.org/contribs/">contrib directory</a></p>
197
198<p>Libxslt is also available from CVS:</p>
199<ul>
200  <li><p>The <a
201    href="http://cvs.gnome.org/bonsai/rview.cgi?cvsroot=/cvs/gnome&dir=libxslt">Gnome
202    CVS base</a>. Check the <a
203    href="http://developer.gnome.org/tools/cvs.html">Gnome CVS Tools</a>
204    page; the CVS module is <b>libxslt</b>.</p>
205  </li>
206  <li><a href="ftp://xmlsoft.org/XSLT/cvs-snapshot.tar.gz">daily snapshots
207    from CVS</a> are also provided</li>
208</ul>
209
210<p></p>
211
212<p><a href="mailto:daniel@veillard.com">Daniel Veillard</a></p>
213</body>
214</html>
215