mirror of
https://gitlab.gnome.org/GNOME/libxslt
synced 2025-06-16 21:40:58 +03:00
Added news about the release of 1.0.19, Daniel
This commit is contained in:
12
doc/API.html
12
doc/API.html
@ -83,12 +83,12 @@ of libxslt/xsltproc.c and the <a href="tutorial/libxslttutorial.html">tutorial
|
|||||||
<ol>
|
<ol>
|
||||||
<li>configure the parser for XSLT:
|
<li>configure the parser for XSLT:
|
||||||
<p>xmlSubstituteEntitiesDefault(1);</p>
|
<p>xmlSubstituteEntitiesDefault(1);</p>
|
||||||
<p>xmlLoadExtDtdDefaultValue = 1;</p>
|
<p>xmlLoadExtDtdDefaultValue = 1;</p>
|
||||||
</li>
|
</li>
|
||||||
<li>parse the stylesheet with xsltParseStylesheetFile()</li>
|
<li>parse the stylesheet with xsltParseStylesheetFile()</li>
|
||||||
<li>parse the document with xmlParseFile()</li>
|
<li>parse the document with xmlParseFile()</li>
|
||||||
<li>apply the stylesheet using xsltApplyStylesheet()</li>
|
<li>apply the stylesheet using xsltApplyStylesheet()</li>
|
||||||
<li>save the result using xsltSaveResultToFile() if needed set
|
<li>save the result using xsltSaveResultToFile() if needed set
|
||||||
xmlIndentTreeOutput to 1</li>
|
xmlIndentTreeOutput to 1</li>
|
||||||
</ol>
|
</ol>
|
||||||
<p>Steps 2,3, and 5 will probably need to be changed depending on you
|
<p>Steps 2,3, and 5 will probably need to be changed depending on you
|
||||||
|
18
doc/FAQ.html
18
doc/FAQ.html
@ -75,23 +75,21 @@ A:link, A:visited, A:active { text-decoration: underline }
|
|||||||
</table>
|
</table>
|
||||||
</td></tr></table></td>
|
</td></tr></table></td>
|
||||||
<td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd">
|
<td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd">
|
||||||
<ol>
|
<ol><li>
|
||||||
<li>
|
|
||||||
<em>passing parameters on the xsltproc command line doesn't work</em>
|
<em>passing parameters on the xsltproc command line doesn't work</em>
|
||||||
<p><em>xsltproc --param test alpha foo.xsl foo.xml</em></p>
|
<p><em>xsltproc --param test alpha foo.xsl foo.xml</em></p>
|
||||||
<p><em>the param does not get passed and ends up as ""</em></p>
|
<p><em>the param does not get passed and ends up as ""</em></p>
|
||||||
<p>In a nutshell do a double escaping at the shell prompt:</p>
|
<p>In a nutshell do a double escaping at the shell prompt:</p>
|
||||||
<p>xsltproc --param test "'alpha'" foo.xsl foo.xml</p>
|
<p>xsltproc --param test "'alpha'" foo.xsl foo.xml</p>
|
||||||
<p>i.e. the string value is surrounded by " and ' then terminated by '
|
<p>i.e. the string value is surrounded by " and ' then terminated by '
|
||||||
and ". Libxslt interpret the parameter values as XPath expressions, so
|
and ". Libxslt interpret the parameter values as XPath expressions, so
|
||||||
the string -><code>alpha</code><- is intepreted as the node set
|
the string -><code>alpha</code><- is intepreted as the node set
|
||||||
matching this string. You really want -><code>'alpha'</code><- to
|
matching this string. You really want -><code>'alpha'</code><- to
|
||||||
be passed to the processor. And to allow this you need to escape the
|
be passed to the processor. And to allow this you need to escape the
|
||||||
quotes at the shell level using -><code>"'alpha'"</code><- .</p>
|
quotes at the shell level using -><code>"'alpha'"</code><- .</p>
|
||||||
<p>or use</p>
|
<p>or use</p>
|
||||||
<p>xsltproc --stringparam test alpha foo.xsl foo.xml</p>
|
<p>xsltproc --stringparam test alpha foo.xsl foo.xml</p>
|
||||||
</li>
|
</li></ol>
|
||||||
</ol>
|
|
||||||
<p><a href="bugs.html">Daniel Veillard</a></p>
|
<p><a href="bugs.html">Daniel Veillard</a></p>
|
||||||
</td></tr></table></td></tr></table></td></tr></table></td>
|
</td></tr></table></td></tr></table></td></tr></table></td>
|
||||||
</tr></table></td></tr></table>
|
</tr></table></td></tr></table>
|
||||||
|
@ -81,18 +81,18 @@ useful resources:</p>
|
|||||||
<li>I strongly suggest to subscribe to <a href="http://www.mulberrytech.com/xsl/xsl-list">XSL-list</a>, check <a href="http://www.biglist.com/lists/xsl-list/archives/">the XSL-list
|
<li>I strongly suggest to subscribe to <a href="http://www.mulberrytech.com/xsl/xsl-list">XSL-list</a>, check <a href="http://www.biglist.com/lists/xsl-list/archives/">the XSL-list
|
||||||
archives</a>
|
archives</a>
|
||||||
</li>
|
</li>
|
||||||
<li>The <a href="http://www.dpawson.co.uk/xsl/xslfaq.html">XSL FAQ</a>.</li>
|
<li>The <a href="http://www.dpawson.co.uk/xsl/xslfaq.html">XSL FAQ</a>.</li>
|
||||||
<li>The <a href="http://www.nwalsh.com/docs/tutorials/xsl/xsl/slides.html">tutorial</a>
|
<li>The <a href="http://www.nwalsh.com/docs/tutorials/xsl/xsl/slides.html">tutorial</a>
|
||||||
written by Paul Grosso and Norman Walsh is a very good on-line
|
written by Paul Grosso and Norman Walsh is a very good on-line
|
||||||
introdution to the language.</li>
|
introdution to the language.</li>
|
||||||
<li>The <a href="http://www.zvon.org/xxl/XSLTutorial/Books/Book1/index.html">only
|
<li>The <a href="http://www.zvon.org/xxl/XSLTutorial/Books/Book1/index.html">only
|
||||||
Zvon XSLT tutorial</a> details a lot of constructs with examples.</li>
|
Zvon XSLT tutorial</a> details a lot of constructs with examples.</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="http://www.jenitennison.com/xslt/index.html">Jeni Tennison's
|
<a href="http://www.jenitennison.com/xslt/index.html">Jeni Tennison's
|
||||||
XSLT</a> pages provide links to a lot of answers</li>
|
XSLT</a> pages provide links to a lot of answers</li>
|
||||||
<li>the <a href="http://incrementaldevelopment.com/xsltrick/">Gallery of
|
<li>the <a href="http://incrementaldevelopment.com/xsltrick/">Gallery of
|
||||||
XSLT Tricks</a> provides non-standard use case of XSLT</li>
|
XSLT Tricks</a> provides non-standard use case of XSLT</li>
|
||||||
<li>And I suggest to buy Michael Kay "XSLT Programmer's Reference" book
|
<li>And I suggest to buy Michael Kay "XSLT Programmer's Reference" book
|
||||||
published by <a href="http://www.wrox.com/">Wrox</a> if you plan to work
|
published by <a href="http://www.wrox.com/">Wrox</a> if you plan to work
|
||||||
seriously with XSLT in the future.</li>
|
seriously with XSLT in the future.</li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -115,16 +115,16 @@ really appreciated!).</p>
|
|||||||
<ul>
|
<ul>
|
||||||
<li>make sure you are <a href="ftp://xmlsoft.org/">using a recent
|
<li>make sure you are <a href="ftp://xmlsoft.org/">using a recent
|
||||||
version</a>, and that the problem still shows up in those</li>
|
version</a>, and that the problem still shows up in those</li>
|
||||||
<li>check the <a href="http://mail.gnome.org/archives/xslt/">list
|
<li>check the <a href="http://mail.gnome.org/archives/xslt/">list
|
||||||
archives</a> to see if the problem was reported already, in this case
|
archives</a> to see if the problem was reported already, in this case
|
||||||
there is probably a fix available, similarly check the <a href="http://bugzilla.gnome.org/buglist.cgi?product=libxslt">registered
|
there is probably a fix available, similarly check the <a href="http://bugzilla.gnome.org/buglist.cgi?product=libxslt">registered
|
||||||
open bugs</a>
|
open bugs</a>
|
||||||
</li>
|
</li>
|
||||||
<li>make sure you can reproduce the bug with xsltproc, a very useful thing
|
<li>make sure you can reproduce the bug with xsltproc, a very useful thing
|
||||||
to do is run the transformation with -v argument and redirect the
|
to do is run the transformation with -v argument and redirect the
|
||||||
standard error to a file, then search in this file for the transformation
|
standard error to a file, then search in this file for the transformation
|
||||||
logs just preceding the possible problem</li>
|
logs just preceding the possible problem</li>
|
||||||
<li>Please send the command showing the error as well as the input and
|
<li>Please send the command showing the error as well as the input and
|
||||||
stylesheet (as an attachment)</li>
|
stylesheet (as an attachment)</li>
|
||||||
</ul>
|
</ul>
|
||||||
<p>Of course, bugs reports with a suggested patch for fixing them will
|
<p>Of course, bugs reports with a suggested patch for fixing them will
|
||||||
|
@ -78,34 +78,34 @@ A:link, A:visited, A:active { text-decoration: underline }
|
|||||||
<ul>
|
<ul>
|
||||||
<li>Bjorn Reese is the author of the number support and worked on the
|
<li>Bjorn Reese is the author of the number support and worked on the
|
||||||
XSLTMark support</li>
|
XSLTMark support</li>
|
||||||
<li>William Brack was an early adopted, contributed a number of patches and
|
<li>William Brack was an early adopted, contributed a number of patches and
|
||||||
spent quite some time debugging non-trivial problems in early versions of
|
spent quite some time debugging non-trivial problems in early versions of
|
||||||
libxslt</li>
|
libxslt</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="mailto:igor@stud.fh-frankfurt.de">Igor Zlatkovic</a> is now
|
<a href="mailto:igor@stud.fh-frankfurt.de">Igor Zlatkovic</a> is now
|
||||||
the maintainer of the Windows port, <a href="http://www.fh-frankfurt.de/~igor/projects/libxml/index.html">he
|
the maintainer of the Windows port, <a href="http://www.fh-frankfurt.de/~igor/projects/libxml/index.html">he
|
||||||
provides binaries</a>
|
provides binaries</a>
|
||||||
</li>
|
</li>
|
||||||
<li>Thomas Broyer provided a lot of suggestions, and drafted most of the
|
<li>Thomas Broyer provided a lot of suggestions, and drafted most of the
|
||||||
extension API</li>
|
extension API</li>
|
||||||
<li>John Fleck maintains <a href="tutorial/libxslttutorial.html">a tutorial
|
<li>John Fleck maintains <a href="tutorial/libxslttutorial.html">a tutorial
|
||||||
for libxslt</a>
|
for libxslt</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="http://mail.gnome.org/archives/xml/2001-March/msg00014.html">Matt
|
<a href="http://mail.gnome.org/archives/xml/2001-March/msg00014.html">Matt
|
||||||
Sergeant</a> developed <a href="http://axkit.org/download/">XML::LibXSLT</a>, a perl wrapper for
|
Sergeant</a> developed <a href="http://axkit.org/download/">XML::LibXSLT</a>, a perl wrapper for
|
||||||
libxml2/libxslt as part of the <a href="http://axkit.com/">AxKit XML
|
libxml2/libxslt as part of the <a href="http://axkit.com/">AxKit XML
|
||||||
application server</a>
|
application server</a>
|
||||||
</li>
|
</li>
|
||||||
<li>there is a module for <a href="http://acs-misc.sourceforge.net/nsxml.html">libxml/libxslt support
|
<li>there is a module for <a href="http://acs-misc.sourceforge.net/nsxml.html">libxml/libxslt support
|
||||||
in OpenNSD/AOLServer</a>
|
in OpenNSD/AOLServer</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="mailto:dkuhlman@cutter.rexx.com">Dave Kuhlman</a> provides
|
<a href="mailto:dkuhlman@cutter.rexx.com">Dave Kuhlman</a> provides
|
||||||
libxml/libxslt <a href="http://www.rexx.com/~dkuhlman">wrappers for
|
libxml/libxslt <a href="http://www.rexx.com/~dkuhlman">wrappers for
|
||||||
Python</a>
|
Python</a>
|
||||||
</li>
|
</li>
|
||||||
<li>Steve Ball and contributors maintains <a href="http://tclxml.sourceforge.net/">libxml2</a> and <a href="http://tclxml.sourceforge.net/tclxslt.html">libxslt</a> bindings
|
<li>Steve Ball and contributors maintains <a href="http://tclxml.sourceforge.net/">libxml2</a> and <a href="http://tclxml.sourceforge.net/tclxslt.html">libxslt</a> bindings
|
||||||
for Tcl</li>
|
for Tcl</li>
|
||||||
</ul>
|
</ul>
|
||||||
<p>I'm still waiting for someone to contribute a simple XSLT processing
|
<p>I'm still waiting for someone to contribute a simple XSLT processing
|
||||||
|
@ -86,39 +86,39 @@ few pointers and informations which may be helpful:</p>
|
|||||||
<li>The <a href="http://www.oasis-open.org/committees/docbook/">DocBook
|
<li>The <a href="http://www.oasis-open.org/committees/docbook/">DocBook
|
||||||
homepage at Oasis</a> you should find pointers there on all the lastest
|
homepage at Oasis</a> you should find pointers there on all the lastest
|
||||||
versions of the DTDs and XSLT stylesheets</li>
|
versions of the DTDs and XSLT stylesheets</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="http://www.docbook.org/">DocBook: The Definitive Guide</a> is
|
<a href="http://www.docbook.org/">DocBook: The Definitive Guide</a> is
|
||||||
the official reference documentation for DocBook.</li>
|
the official reference documentation for DocBook.</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="https://sourceforge.net/docman/index.php?group_id=21935">DocBook
|
<a href="https://sourceforge.net/docman/index.php?group_id=21935">DocBook
|
||||||
Open Repository</a> contains a lot of informations about DocBook</li>
|
Open Repository</a> contains a lot of informations about DocBook</li>
|
||||||
<li>Here is a <a href="/buildDocBookCatalog">shell script</a> to generate
|
<li>Here is a <a href="/buildDocBookCatalog">shell script</a> to generate
|
||||||
XML Catalogs for DocBook 4.1.2 . If it can write to the /etc/xml/
|
XML Catalogs for DocBook 4.1.2 . If it can write to the /etc/xml/
|
||||||
directory, it will set-up /etc/xml/catalog and /etc/xml/docbook based on
|
directory, it will set-up /etc/xml/catalog and /etc/xml/docbook based on
|
||||||
the resources found on the system. Otherwise it will just create
|
the resources found on the system. Otherwise it will just create
|
||||||
~/xmlcatalog and ~/dbkxmlcatalog and doing:
|
~/xmlcatalog and ~/dbkxmlcatalog and doing:
|
||||||
<p><code>export XMLCATALOG=$HOME/xmlcatalog</code></p>
|
<p><code>export XMLCATALOG=$HOME/xmlcatalog</code></p>
|
||||||
<p>should allow to process DocBook documentations without requiring
|
<p>should allow to process DocBook documentations without requiring
|
||||||
network accesses for the DTd or stylesheets</p>
|
network accesses for the DTd or stylesheets</p>
|
||||||
</li>
|
</li>
|
||||||
<li>I have uploaded <a href="ftp://xmlsoft.org/test/dbk412catalog.tar.gz">a
|
<li>I have uploaded <a href="ftp://xmlsoft.org/test/dbk412catalog.tar.gz">a
|
||||||
small tarball</a> containing XML Catalogs for DocBook 4.1.2 which seems
|
small tarball</a> containing XML Catalogs for DocBook 4.1.2 which seems
|
||||||
to work fine for me too</li>
|
to work fine for me too</li>
|
||||||
<li>Informations on installing a <a href="http://ourworld.compuserve.com/homepages/hoenicka_markus/cygc2057.html">Windows
|
<li>Informations on installing a <a href="http://ourworld.compuserve.com/homepages/hoenicka_markus/cygc2057.html">Windows
|
||||||
DocBook processing setup</a> based on Cygwin (using the binaries from the
|
DocBook processing setup</a> based on Cygwin (using the binaries from the
|
||||||
official Windows port should be possible too)</li>
|
official Windows port should be possible too)</li>
|
||||||
<li>Alexander Kirillov's page on <a href="http://www.math.sunysb.edu/~kirillov/dbxml/">Using DocBook XML
|
<li>Alexander Kirillov's page on <a href="http://www.math.sunysb.edu/~kirillov/dbxml/">Using DocBook XML
|
||||||
4.1.2</a> (RPM packages)</li>
|
4.1.2</a> (RPM packages)</li>
|
||||||
<li>Tim Waugh's <a href="http://cyberelk.net/tim/xmlto/">xmlto front-end
|
<li>Tim Waugh's <a href="http://cyberelk.net/tim/xmlto/">xmlto front-end
|
||||||
conversion script</a>
|
conversion script</a>
|
||||||
</li>
|
</li>
|
||||||
<li>Linux Documentation Project <a href="http://www.linuxdoc.org/HOWTO/mini/DocBook-Install/">
|
<li>Linux Documentation Project <a href="http://www.linuxdoc.org/HOWTO/mini/DocBook-Install/">
|
||||||
DocBook-Install-mini-HOWTO</a>
|
DocBook-Install-mini-HOWTO</a>
|
||||||
</li>
|
</li>
|
||||||
<li>ScrollKeeper the open documentation cataloging project has a <a href="http://scrollkeeper.sourceforge.net/docbook.shtml">DocBook
|
<li>ScrollKeeper the open documentation cataloging project has a <a href="http://scrollkeeper.sourceforge.net/docbook.shtml">DocBook
|
||||||
section</a>
|
section</a>
|
||||||
</li>
|
</li>
|
||||||
<li>Dan York presentation on <a href="http://www.lodestar2.com/people/dyork/talks/2001/xugo/docbook/index.html">Publishing
|
<li>Dan York presentation on <a href="http://www.lodestar2.com/people/dyork/talks/2001/xugo/docbook/index.html">Publishing
|
||||||
using DocBook XML</a>
|
using DocBook XML</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -132,13 +132,13 @@ again:</p>
|
|||||||
XML Catalogs pointing to a local installation of the DTD of DocBook.
|
XML Catalogs pointing to a local installation of the DTD of DocBook.
|
||||||
Check the <a href="http://xmlsoft.org/catalog.html">XML Catalog page</a>
|
Check the <a href="http://xmlsoft.org/catalog.html">XML Catalog page</a>
|
||||||
to understand more on this subject.</li>
|
to understand more on this subject.</li>
|
||||||
<li>before processing a new document, use the command
|
<li>before processing a new document, use the command
|
||||||
<p><code>xmllint --valid --noout path_to_document</code></p>
|
<p><code>xmllint --valid --noout path_to_document</code></p>
|
||||||
<p>to make sure that your input is valid DocBook. And fixes the errors
|
<p>to make sure that your input is valid DocBook. And fixes the errors
|
||||||
before processing further. Note that XSLT processing may work correctly
|
before processing further. Note that XSLT processing may work correctly
|
||||||
with some forms of validity errors left, but in general it can give
|
with some forms of validity errors left, but in general it can give
|
||||||
troubles on output.</p>
|
troubles on output.</p>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<p><a href="bugs.html">Daniel Veillard</a></p>
|
<p><a href="bugs.html">Daniel Veillard</a></p>
|
||||||
</td></tr></table></td></tr></table></td></tr></table></td>
|
</td></tr></table></td></tr></table></td></tr></table></td>
|
||||||
|
@ -80,9 +80,9 @@ A:link, A:visited, A:active { text-decoration: underline }
|
|||||||
<li>Check the <a href="html/libxslt-lib.html#LIBXSLT-LIB">API
|
<li>Check the <a href="html/libxslt-lib.html#LIBXSLT-LIB">API
|
||||||
documentation</a> automatically extracted from code comments (using <a href="http://cvs.gnome.org/bonsai/rview.cgi?cvsroot=/cvs/gnome&dir=gtk-doc">gtk
|
documentation</a> automatically extracted from code comments (using <a href="http://cvs.gnome.org/bonsai/rview.cgi?cvsroot=/cvs/gnome&dir=gtk-doc">gtk
|
||||||
doc</a>).</li>
|
doc</a>).</li>
|
||||||
<li>Look at the <a href="http://mail.gnome.org/archives/xslt/">mailing-list
|
<li>Look at the <a href="http://mail.gnome.org/archives/xslt/">mailing-list
|
||||||
archive</a>.</li>
|
archive</a>.</li>
|
||||||
<li>Of course since libxslt is based on libxml, it's a good idea to at
|
<li>Of course since libxslt is based on libxml, it's a good idea to at
|
||||||
least read <a href="http://xmlsoft.org/">libxml description</a>
|
least read <a href="http://xmlsoft.org/">libxml description</a>
|
||||||
</li>
|
</li>
|
||||||
</ol>
|
</ol>
|
||||||
|
@ -95,14 +95,12 @@ platform, get in touch with me to upload the package. I will keep them in the
|
|||||||
</p>
|
</p>
|
||||||
<p>Libxslt is also available from CVS:</p>
|
<p>Libxslt is also available from CVS:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li><p>The <a href="http://cvs.gnome.org/bonsai/rview.cgi?cvsroot=/cvs/gnome&dir=libxslt">Gnome
|
||||||
<p>The <a href="http://cvs.gnome.org/bonsai/rview.cgi?cvsroot=/cvs/gnome&dir=libxslt">Gnome
|
|
||||||
CVS base</a>. Check the <a href="http://developer.gnome.org/tools/cvs.html">Gnome CVS Tools</a>
|
CVS base</a>. Check the <a href="http://developer.gnome.org/tools/cvs.html">Gnome CVS Tools</a>
|
||||||
page; the CVS module is <b>libxslt</b>.</p>
|
page; the CVS module is <b>libxslt</b>.</p></li>
|
||||||
</li>
|
<li>
|
||||||
<li>
|
<a href="ftp://xmlsoft.org/XSLT/cvs-snapshot.tar.gz">daily snapshots
|
||||||
<a href="ftp://xmlsoft.org/XSLT/cvs-snapshot.tar.gz">daily
|
from CVS</a> are also provided</li>
|
||||||
snapshots from CVS</a> are also provided</li>
|
|
||||||
</ul>
|
</ul>
|
||||||
<p><a href="bugs.html">Daniel Veillard</a></p>
|
<p><a href="bugs.html">Daniel Veillard</a></p>
|
||||||
</td></tr></table></td></tr></table></td></tr></table></td>
|
</td></tr></table></td></tr></table></td></tr></table></td>
|
||||||
|
@ -78,24 +78,24 @@ A:link, A:visited, A:active { text-decoration: underline }
|
|||||||
<h3>Table of content</h3>
|
<h3>Table of content</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="extensions.html#Introducti">Introduction</a></li>
|
<li><a href="extensions.html#Introducti">Introduction</a></li>
|
||||||
<li><a href="extensions.html#Basics">Basics</a></li>
|
<li><a href="extensions.html#Basics">Basics</a></li>
|
||||||
<li><a href="extensions.html#Keep">Extension modules</a></li>
|
<li><a href="extensions.html#Keep">Extension modules</a></li>
|
||||||
<li><a href="extensions.html#Registerin">Registering a module</a></li>
|
<li><a href="extensions.html#Registerin">Registering a module</a></li>
|
||||||
<li><a href="extensions.html#module">Loading a module</a></li>
|
<li><a href="extensions.html#module">Loading a module</a></li>
|
||||||
<li><a href="extensions.html#Registerin1">Registering an extension
|
<li><a href="extensions.html#Registerin1">Registering an extension
|
||||||
function</a></li>
|
function</a></li>
|
||||||
<li><a href="extensions.html#Implementi">Implementing an extension
|
<li><a href="extensions.html#Implementi">Implementing an extension
|
||||||
function</a></li>
|
function</a></li>
|
||||||
<li><a href="extensions.html#Examples">Examples for extension
|
<li><a href="extensions.html#Examples">Examples for extension
|
||||||
functions</a></li>
|
functions</a></li>
|
||||||
<li><a href="extensions.html#Registerin2">Registering an extension
|
<li><a href="extensions.html#Registerin2">Registering an extension
|
||||||
element</a></li>
|
element</a></li>
|
||||||
<li><a href="extensions.html#Implementi1">Implementing an extension
|
<li><a href="extensions.html#Implementi1">Implementing an extension
|
||||||
element</a></li>
|
element</a></li>
|
||||||
<li><a href="extensions.html#Example">Example for extension
|
<li><a href="extensions.html#Example">Example for extension
|
||||||
elements</a></li>
|
elements</a></li>
|
||||||
<li><a href="extensions.html#shutdown">The shutdown of a module</a></li>
|
<li><a href="extensions.html#shutdown">The shutdown of a module</a></li>
|
||||||
<li><a href="extensions.html#Future">Future work</a></li>
|
<li><a href="extensions.html#Future">Future work</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3><a name="Introducti1">Introduction</a></h3>
|
<h3><a name="Introducti1">Introduction</a></h3>
|
||||||
<p>This document describes the work needed to write extensions to the
|
<p>This document describes the work needed to write extensions to the
|
||||||
@ -110,7 +110,7 @@ two <a href="http://www.w3.org/TR/xslt">ways to extend an XSLT engine</a>:</p>
|
|||||||
<ul>
|
<ul>
|
||||||
<li>providing <a href="http://www.w3.org/TR/xslt">new extension
|
<li>providing <a href="http://www.w3.org/TR/xslt">new extension
|
||||||
functions</a> which can be called from XPath expressions</li>
|
functions</a> which can be called from XPath expressions</li>
|
||||||
<li>providing <a href="http://www.w3.org/TR/xslt">new extension
|
<li>providing <a href="http://www.w3.org/TR/xslt">new extension
|
||||||
elements</a> which can be inserted in stylesheets</li>
|
elements</a> which can be inserted in stylesheets</li>
|
||||||
</ul>
|
</ul>
|
||||||
<p>In both cases the extensions need to be associated to a new namespace,
|
<p>In both cases the extensions need to be associated to a new namespace,
|
||||||
@ -133,8 +133,8 @@ element.</p>
|
|||||||
<p>And extension module is defined by 3 objects:</p>
|
<p>And extension module is defined by 3 objects:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>the namespace name associated</li>
|
<li>the namespace name associated</li>
|
||||||
<li>an initialization function</li>
|
<li>an initialization function</li>
|
||||||
<li>a shutdown function</li>
|
<li>a shutdown function</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3><a name="Registerin">Registering a module</a></h3>
|
<h3><a name="Registerin">Registering a module</a></h3>
|
||||||
<p>Currently a libxslt module has to be compiled within the application using
|
<p>Currently a libxslt module has to be compiled within the application using
|
||||||
@ -174,10 +174,10 @@ typedef void *(*xsltExtInitFunction)(xsltTransformContextPtr ctxt,
|
|||||||
<li>the function gets passed the namespace name URI as an argument, this
|
<li>the function gets passed the namespace name URI as an argument, this
|
||||||
allow a single function to provide the initialization for multiple
|
allow a single function to provide the initialization for multiple
|
||||||
logical modules</li>
|
logical modules</li>
|
||||||
<li>it also gets passed a transformation context, the initialization is
|
<li>it also gets passed a transformation context, the initialization is
|
||||||
done at run time before any processing occurs on the stylesheet but it
|
done at run time before any processing occurs on the stylesheet but it
|
||||||
will be invoked separately each time for each transformation</li>
|
will be invoked separately each time for each transformation</li>
|
||||||
<li>it returns a pointer, this can be used to store module specific
|
<li>it returns a pointer, this can be used to store module specific
|
||||||
informations which can be retrieved later when a function or an element
|
informations which can be retrieved later when a function or an element
|
||||||
from the extension are used, an obvious example is a connection to a
|
from the extension are used, an obvious example is a connection to a
|
||||||
database which should be kept and reused along the transformation. NULL
|
database which should be kept and reused along the transformation. NULL
|
||||||
@ -188,7 +188,7 @@ typedef void *(*xsltExtInitFunction)(xsltTransformContextPtr ctxt,
|
|||||||
<ul>
|
<ul>
|
||||||
<li>prepare the context for this module (like opening the database
|
<li>prepare the context for this module (like opening the database
|
||||||
connection)</li>
|
connection)</li>
|
||||||
<li>register the extensions specific to this module</li>
|
<li>register the extensions specific to this module</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3><a name="Registerin1">Registering an extension function</a></h3>
|
<h3><a name="Registerin1">Registering an extension function</a></h3>
|
||||||
<p>There is a single call to do this registration:</p>
|
<p>There is a single call to do this registration:</p>
|
||||||
@ -222,8 +222,8 @@ find one from the other:</p>
|
|||||||
<pre>xsltTransformContextPtr
|
<pre>xsltTransformContextPtr
|
||||||
xsltXPathGetTransformContext
|
xsltXPathGetTransformContext
|
||||||
(xmlXPathParserContextPtr ctxt);</pre>
|
(xmlXPathParserContextPtr ctxt);</pre>
|
||||||
</li>
|
</li>
|
||||||
<li>The <code>xmlXPathContextPtr</code> associated to an
|
<li>The <code>xmlXPathContextPtr</code> associated to an
|
||||||
<code>xsltTransformContext</code> is stored in the <code>xpathCtxt</code>
|
<code>xsltTransformContext</code> is stored in the <code>xpathCtxt</code>
|
||||||
field.</li>
|
field.</li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -260,7 +260,7 @@ registering the module.</p>
|
|||||||
<li>push the return value on the stack using <code>valuePush(ctxt,
|
<li>push the return value on the stack using <code>valuePush(ctxt,
|
||||||
obj)</code>
|
obj)</code>
|
||||||
</li>
|
</li>
|
||||||
<li>deallocate the parameters passed to the function using
|
<li>deallocate the parameters passed to the function using
|
||||||
<code>xmlXPathFreeObject(obj)</code>
|
<code>xmlXPathFreeObject(obj)</code>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -420,11 +420,11 @@ close the connection to the database to keep the same example.</p>
|
|||||||
<p>Well some of the pieces missing:</p>
|
<p>Well some of the pieces missing:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>a way to load shared libraries to instanciate new modules</li>
|
<li>a way to load shared libraries to instanciate new modules</li>
|
||||||
<li>a better detection of extension function usage and their registration
|
<li>a better detection of extension function usage and their registration
|
||||||
without having to use the extension prefix which ought to be reserved to
|
without having to use the extension prefix which ought to be reserved to
|
||||||
element extensions.</li>
|
element extensions.</li>
|
||||||
<li>more examples</li>
|
<li>more examples</li>
|
||||||
<li>implementations of the <a href="http://www.exslt.org/">EXSLT</a> common
|
<li>implementations of the <a href="http://www.exslt.org/">EXSLT</a> common
|
||||||
extension libraries, Thomas Broyer nearly finished implementing them.</li>
|
extension libraries, Thomas Broyer nearly finished implementing them.</li>
|
||||||
</ul>
|
</ul>
|
||||||
<p>
|
<p>
|
||||||
|
@ -80,14 +80,14 @@ subscribe to the mailing-list as explained before, check the <a href="http://mai
|
|||||||
database:</a>:</p>
|
database:</a>:</p>
|
||||||
<ol>
|
<ol>
|
||||||
<li>provide patches when you find problems</li>
|
<li>provide patches when you find problems</li>
|
||||||
<li>provide the diffs when you port libxslt to a new platform. They may not
|
<li>provide the diffs when you port libxslt to a new platform. They may not
|
||||||
be integrated in all cases but help pinpointing portability problems
|
be integrated in all cases but help pinpointing portability problems
|
||||||
and</li>
|
and</li>
|
||||||
<li>provide documentation fixes (either as patches to the code comments or
|
<li>provide documentation fixes (either as patches to the code comments or
|
||||||
as HTML diffs).</li>
|
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>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
|
<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
|
provide a fix. <a href="mailto:daniel@veillard.com">Get in touch with me
|
||||||
</a>before to avoid synchronization problems and check that the suggested
|
</a>before to avoid synchronization problems and check that the suggested
|
||||||
fix will fit in nicely :-)</li>
|
fix will fit in nicely :-)</li>
|
||||||
|
@ -88,8 +88,8 @@ reused in commercial applications (see the <a href="intro.html">intro</a>)</p>
|
|||||||
<li>John Fleck wrote <a href="tutorial/libxslttutorial.html">a tutorial for
|
<li>John Fleck wrote <a href="tutorial/libxslttutorial.html">a tutorial for
|
||||||
libxslt</a>
|
libxslt</a>
|
||||||
</li>
|
</li>
|
||||||
<li><a href="xsltproc.html">xsltproc user manual</a></li>
|
<li><a href="xsltproc.html">xsltproc user manual</a></li>
|
||||||
<li><a href="http://xmlsoft.org/">the libxml documentation</a></li>
|
<li><a href="http://xmlsoft.org/">the libxml documentation</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<p>
|
<p>
|
||||||
<p><a href="bugs.html">Daniel Veillard</a></p>
|
<p><a href="bugs.html">Daniel Veillard</a></p>
|
||||||
|
@ -78,22 +78,22 @@ A:link, A:visited, A:active { text-decoration: underline }
|
|||||||
<h3>Table of contents</h3>
|
<h3>Table of contents</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="internals.html#Introducti">Introduction</a></li>
|
<li><a href="internals.html#Introducti">Introduction</a></li>
|
||||||
<li><a href="internals.html#Basics">Basics</a></li>
|
<li><a href="internals.html#Basics">Basics</a></li>
|
||||||
<li><a href="internals.html#Keep">Keep it simple stupid</a></li>
|
<li><a href="internals.html#Keep">Keep it simple stupid</a></li>
|
||||||
<li><a href="internals.html#libxml">The libxml nodes</a></li>
|
<li><a href="internals.html#libxml">The libxml nodes</a></li>
|
||||||
<li><a href="internals.html#XSLT">The XSLT processing steps</a></li>
|
<li><a href="internals.html#XSLT">The XSLT processing steps</a></li>
|
||||||
<li><a href="internals.html#XSLT1">The XSLT stylesheet compilation</a></li>
|
<li><a href="internals.html#XSLT1">The XSLT stylesheet compilation</a></li>
|
||||||
<li><a href="internals.html#XSLT2">The XSLT template compilation</a></li>
|
<li><a href="internals.html#XSLT2">The XSLT template compilation</a></li>
|
||||||
<li><a href="internals.html#processing">The processing itself</a></li>
|
<li><a href="internals.html#processing">The processing itself</a></li>
|
||||||
<li><a href="internals.html#XPath">XPath expressions compilation</a></li>
|
<li><a href="internals.html#XPath">XPath expressions compilation</a></li>
|
||||||
<li><a href="internals.html#XPath1">XPath interpretation</a></li>
|
<li><a href="internals.html#XPath1">XPath interpretation</a></li>
|
||||||
<li><a href="internals.html#Descriptio">Description of XPath
|
<li><a href="internals.html#Descriptio">Description of XPath
|
||||||
Objects</a></li>
|
Objects</a></li>
|
||||||
<li><a href="internals.html#XPath3">XPath functions</a></li>
|
<li><a href="internals.html#XPath3">XPath functions</a></li>
|
||||||
<li><a href="internals.html#stack">The variables stack frame</a></li>
|
<li><a href="internals.html#stack">The variables stack frame</a></li>
|
||||||
<li><a href="internals.html#Extension">Extension support</a></li>
|
<li><a href="internals.html#Extension">Extension support</a></li>
|
||||||
<li><a href="internals.html#Futher">Further reading</a></li>
|
<li><a href="internals.html#Futher">Further reading</a></li>
|
||||||
<li><a href="internals.html#TODOs">TODOs</a></li>
|
<li><a href="internals.html#TODOs">TODOs</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3><a name="Introducti2">Introduction</a></h3>
|
<h3><a name="Introducti2">Introduction</a></h3>
|
||||||
<p>This document describes the processing of <a href="http://xmlsoft.org/XSLT/">libxslt</a>, the <a href="http://www.w3.org/TR/xslt">XSLT</a> C library developed for the <a href="http://www.gnome.org/">Gnome</a> project.</p>
|
<p>This document describes the processing of <a href="http://xmlsoft.org/XSLT/">libxslt</a>, the <a href="http://www.w3.org/TR/xslt">XSLT</a> C library developed for the <a href="http://www.gnome.org/">Gnome</a> project.</p>
|
||||||
@ -107,10 +107,10 @@ stylesheet document and generates an output document:</p>
|
|||||||
the following operations:</p>
|
the following operations:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>parsing files</li>
|
<li>parsing files</li>
|
||||||
<li>building the in-memory DOM structure associated with the documents
|
<li>building the in-memory DOM structure associated with the documents
|
||||||
handled</li>
|
handled</li>
|
||||||
<li>the XPath implementation</li>
|
<li>the XPath implementation</li>
|
||||||
<li>serializing back the result document to XML and HTML. (Text is handled
|
<li>serializing back the result document to XML and HTML. (Text is handled
|
||||||
directly.)</li>
|
directly.)</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3><a name="Keep1">Keep it simple stupid</a></h3>
|
<h3><a name="Keep1">Keep it simple stupid</a></h3>
|
||||||
@ -129,7 +129,7 @@ stylesheets. In general the implementation of libxslt follows the following
|
|||||||
pattern:</p>
|
pattern:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>KISS (keep it simple stupid)</li>
|
<li>KISS (keep it simple stupid)</li>
|
||||||
<li>when there is a clear bottleneck optimize on top of this simple
|
<li>when there is a clear bottleneck optimize on top of this simple
|
||||||
framework and refine only as much as is needed to reach the expected
|
framework and refine only as much as is needed to reach the expected
|
||||||
result</li>
|
result</li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -148,19 +148,19 @@ variations depending on the node type:</p>
|
|||||||
indicates the kind of node it represents, the most common ones are:</p>
|
indicates the kind of node it represents, the most common ones are:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>document nodes</li>
|
<li>document nodes</li>
|
||||||
<li>element nodes</li>
|
<li>element nodes</li>
|
||||||
<li>text nodes</li>
|
<li>text nodes</li>
|
||||||
</ul>
|
</ul>
|
||||||
<p>For the XSLT processing, entity nodes should not be generated (i.e. they
|
<p>For the XSLT processing, entity nodes should not be generated (i.e. they
|
||||||
should be replaced by their content). Most nodes also contains the following
|
should be replaced by their content). Most nodes also contains the following
|
||||||
"navigation" informations:</p>
|
"navigation" informations:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>the containing <strong>doc</strong>ument</li>
|
<li>the containing <strong>doc</strong>ument</li>
|
||||||
<li>the <strong>parent</strong> node</li>
|
<li>the <strong>parent</strong> node</li>
|
||||||
<li>the first <strong>children</strong> node</li>
|
<li>the first <strong>children</strong> node</li>
|
||||||
<li>the <strong>last</strong> children node</li>
|
<li>the <strong>last</strong> children node</li>
|
||||||
<li>the <strong>prev</strong>ious sibling</li>
|
<li>the <strong>prev</strong>ious sibling</li>
|
||||||
<li>the following sibling (<strong>next</strong>)</li>
|
<li>the following sibling (<strong>next</strong>)</li>
|
||||||
</ul>
|
</ul>
|
||||||
<p>Elements nodes carries the list of attributes in the properties, an
|
<p>Elements nodes carries the list of attributes in the properties, an
|
||||||
attribute itself holds the navigation pointers and the children list (the
|
attribute itself holds the navigation pointers and the children list (the
|
||||||
@ -176,21 +176,21 @@ used by the application to hold specific data on this node.</p>
|
|||||||
level:</p>
|
level:</p>
|
||||||
<ol>
|
<ol>
|
||||||
<li>parse the stylesheet and generate a DOM tree</li>
|
<li>parse the stylesheet and generate a DOM tree</li>
|
||||||
<li>take the stylesheet tree and build a compiled version of it (the
|
<li>take the stylesheet tree and build a compiled version of it (the
|
||||||
compilation phase)</li>
|
compilation phase)</li>
|
||||||
<li>take the input and generate a DOM tree</li>
|
<li>take the input and generate a DOM tree</li>
|
||||||
<li>process the stylesheet against the input tree and generate an output
|
<li>process the stylesheet against the input tree and generate an output
|
||||||
tree</li>
|
tree</li>
|
||||||
<li>serialize the output tree</li>
|
<li>serialize the output tree</li>
|
||||||
</ol>
|
</ol>
|
||||||
<p>A few things should be noted here:</p>
|
<p>A few things should be noted here:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>the steps 1/ 3/ and 5/ are optional</li>
|
<li>the steps 1/ 3/ and 5/ are optional</li>
|
||||||
<li>the stylesheet obtained at 2/ can be reused by multiple processing 4/
|
<li>the stylesheet obtained at 2/ can be reused by multiple processing 4/
|
||||||
(and this should also work in threaded programs)</li>
|
(and this should also work in threaded programs)</li>
|
||||||
<li>the tree provided in 2/ should never be freed using xmlFreeDoc, but by
|
<li>the tree provided in 2/ should never be freed using xmlFreeDoc, but by
|
||||||
freeing the stylesheet.</li>
|
freeing the stylesheet.</li>
|
||||||
<li>the input tree 4/ is not modified except the _private field which may
|
<li>the input tree 4/ is not modified except the _private field which may
|
||||||
be used for labelling keys if used by the stylesheet</li>
|
be used for labelling keys if used by the stylesheet</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3><a name="XSLT1">The XSLT stylesheet compilation</a></h3>
|
<h3><a name="XSLT1">The XSLT stylesheet compilation</a></h3>
|
||||||
@ -267,22 +267,22 @@ applying the following algorithm:</p>
|
|||||||
hash table, walking the hash list until the node satisfies all the steps
|
hash table, walking the hash list until the node satisfies all the steps
|
||||||
of the pattern, then checking the appropriate(s) global templates to see
|
of the pattern, then checking the appropriate(s) global templates to see
|
||||||
if there isn't a higher priority rule to apply</li>
|
if there isn't a higher priority rule to apply</li>
|
||||||
<li>If there is no template, apply the default rule (recurse on the
|
<li>If there is no template, apply the default rule (recurse on the
|
||||||
children)</li>
|
children)</li>
|
||||||
<li>else walk the content list of the selected templates, for each of them:
|
<li>else walk the content list of the selected templates, for each of them:
|
||||||
<ul>
|
<ul>
|
||||||
<li>if the node is in the XSLT namespace then the node has a _private
|
<li>if the node is in the XSLT namespace then the node has a _private
|
||||||
field pointing to the preprocessed values, jump to the specific
|
field pointing to the preprocessed values, jump to the specific
|
||||||
code</li>
|
code</li>
|
||||||
<li>if the node is in an extension namespace, look up the associated
|
<li>if the node is in an extension namespace, look up the associated
|
||||||
behavior</li>
|
behavior</li>
|
||||||
<li>otherwise copy the node.</li>
|
<li>otherwise copy the node.</li>
|
||||||
</ul>
|
</ul>
|
||||||
<p>The closure is usually done through the XSLT
|
<p>The closure is usually done through the XSLT
|
||||||
<strong>apply-templates</strong> construct recursing by applying the
|
<strong>apply-templates</strong> construct recursing by applying the
|
||||||
adequate template on the input node children or on the result of an
|
adequate template on the input node children or on the result of an
|
||||||
associated XPath selection lookup.</p>
|
associated XPath selection lookup.</p>
|
||||||
</li>
|
</li>
|
||||||
</ol>
|
</ol>
|
||||||
<p>Note that large parts of the input tree may not be processed by a given
|
<p>Note that large parts of the input tree may not be processed by a given
|
||||||
stylesheet and that on the opposite some may be processed multiple times.
|
stylesheet and that on the opposite some may be processed multiple times.
|
||||||
@ -292,15 +292,15 @@ logic. <strong>xsltApplyStylesheet()</strong> is the entry point, it
|
|||||||
allocates an xsltTransformContext containing the following:</p>
|
allocates an xsltTransformContext containing the following:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>a pointer to the stylesheet being processed</li>
|
<li>a pointer to the stylesheet being processed</li>
|
||||||
<li>a stack of templates</li>
|
<li>a stack of templates</li>
|
||||||
<li>a stack of variables and parameters</li>
|
<li>a stack of variables and parameters</li>
|
||||||
<li>an XPath context</li>
|
<li>an XPath context</li>
|
||||||
<li>the template mode</li>
|
<li>the template mode</li>
|
||||||
<li>current document</li>
|
<li>current document</li>
|
||||||
<li>current input node</li>
|
<li>current input node</li>
|
||||||
<li>current selected node list</li>
|
<li>current selected node list</li>
|
||||||
<li>the current insertion points in the output document</li>
|
<li>the current insertion points in the output document</li>
|
||||||
<li>a couple of hash tables for extension elements and functions</li>
|
<li>a couple of hash tables for extension elements and functions</li>
|
||||||
</ul>
|
</ul>
|
||||||
<p>Then a new document gets allocated (HTML or XML depending on the type of
|
<p>Then a new document gets allocated (HTML or XML depending on the type of
|
||||||
output), the user parameters and global variables and parameters are
|
output), the user parameters and global variables and parameters are
|
||||||
@ -335,7 +335,7 @@ containing the parsed expression tree, for example the expression:</p>
|
|||||||
<p>This can be tested using the <code>testXPath</code> command (in the
|
<p>This can be tested using the <code>testXPath</code> command (in the
|
||||||
libxml codebase) using the <code>--tree</code> option.</p>
|
libxml codebase) using the <code>--tree</code> option.</p>
|
||||||
<p>Again, the KISS approach is used. No optimization is done. This could be
|
<p>Again, the KISS approach is used. No optimization is done. This could be
|
||||||
an interesting thing to add. <a href="http://www-106.ibm.com/developerworks/library/x-xslt2/?dwzone=x?open&l=132%2ct=gr%2c%2Bp=saxon">Michael
|
an interesting thing to add. <a href="http://www-106.ibm.com/developerworks/library/x-xslt2/?dwzone=x?open&l=132%2ct=gr%2c+p=saxon">Michael
|
||||||
Kay describes</a> a lot of possible and interesting optimizations done in
|
Kay describes</a> a lot of possible and interesting optimizations done in
|
||||||
Saxon which would be possible at this level. I'm unsure they would provide
|
Saxon which would be possible at this level. I'm unsure they would provide
|
||||||
much gain since the expressions tends to be relatively simple in general and
|
much gain since the expressions tends to be relatively simple in general and
|
||||||
@ -354,13 +354,13 @@ transformation the context is maintained within the XSLT context. Its content
|
|||||||
follows the requirements from the XPath specification:</p>
|
follows the requirements from the XPath specification:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>the current document</li>
|
<li>the current document</li>
|
||||||
<li>the current node</li>
|
<li>the current node</li>
|
||||||
<li>a hash table of defined variables (but not used by XSLT)</li>
|
<li>a hash table of defined variables (but not used by XSLT)</li>
|
||||||
<li>a hash table of defined functions</li>
|
<li>a hash table of defined functions</li>
|
||||||
<li>the proximity position (the place of the node in the current node
|
<li>the proximity position (the place of the node in the current node
|
||||||
list)</li>
|
list)</li>
|
||||||
<li>the context size (the size of the current node list)</li>
|
<li>the context size (the size of the current node list)</li>
|
||||||
<li>the array of namespace declarations in scope (there also is a namespace
|
<li>the array of namespace declarations in scope (there also is a namespace
|
||||||
hash table but it is not used in the XSLT transformation).</li>
|
hash table but it is not used in the XSLT transformation).</li>
|
||||||
</ul>
|
</ul>
|
||||||
<p>For the purpose of XSLT an <strong>extra</strong> pointer has been added
|
<p>For the purpose of XSLT an <strong>extra</strong> pointer has been added
|
||||||
@ -403,17 +403,17 @@ the stack).</p>
|
|||||||
<ul>
|
<ul>
|
||||||
<li>check <code>nargs</code> for proper handling of errors or functions
|
<li>check <code>nargs</code> for proper handling of errors or functions
|
||||||
with variable numbers of parameters</li>
|
with variable numbers of parameters</li>
|
||||||
<li>pop the parameters from the stack using <code>obj =
|
<li>pop the parameters from the stack using <code>obj =
|
||||||
valuePop(ctxt);</code>
|
valuePop(ctxt);</code>
|
||||||
</li>
|
</li>
|
||||||
<li>do the function specific computation</li>
|
<li>do the function specific computation</li>
|
||||||
<li>push the result parameter on the stack using <code>valuePush(ctxt,
|
<li>push the result parameter on the stack using <code>valuePush(ctxt,
|
||||||
res);</code>
|
res);</code>
|
||||||
</li>
|
</li>
|
||||||
<li>free up the input parameters with
|
<li>free up the input parameters with
|
||||||
<code>xmlXPathFreeObject(obj);</code>
|
<code>xmlXPathFreeObject(obj);</code>
|
||||||
</li>
|
</li>
|
||||||
<li>return</li>
|
<li>return</li>
|
||||||
</ul>
|
</ul>
|
||||||
<p>Sometime the work can be done directly by modifying in-situ the top object
|
<p>Sometime the work can be done directly by modifying in-situ the top object
|
||||||
on the stack <code>ctxt->value</code>.</p>
|
on the stack <code>ctxt->value</code>.</p>
|
||||||
@ -435,7 +435,7 @@ the code will be stable. <span style="background-color: #FF0000">TODO</span>
|
|||||||
<p>There is a separate document explaining <a href="extensions.html">how the
|
<p>There is a separate document explaining <a href="extensions.html">how the
|
||||||
extension support works</a>.</p>
|
extension support works</a>.</p>
|
||||||
<h3><a name="Futher">Further reading</a></h3>
|
<h3><a name="Futher">Further reading</a></h3>
|
||||||
<p>Michael Kay wrote <a href="http://www-106.ibm.com/developerworks/library/x-xslt2/?dwzone=x?open&l=132%2ct=gr%2c%2Bp=saxon">a
|
<p>Michael Kay wrote <a href="http://www-106.ibm.com/developerworks/library/x-xslt2/?dwzone=x?open&l=132%2ct=gr%2c+p=saxon">a
|
||||||
really interesting article on Saxon internals</a> and the work he did on
|
really interesting article on Saxon internals</a> and the work he did on
|
||||||
performance issues. I wishes I had read it before starting libxslt design (I
|
performance issues. I wishes I had read it before starting libxslt design (I
|
||||||
would probably have avoided a few mistakes and progressed faster). A lot of
|
would probably have avoided a few mistakes and progressed faster). A lot of
|
||||||
@ -452,11 +452,11 @@ for output should be added directly to libxml).</p>
|
|||||||
especially:</p>
|
especially:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>static slot allocation on the stack frame</li>
|
<li>static slot allocation on the stack frame</li>
|
||||||
<li>specific boolean interpretation of an XPath expression</li>
|
<li>specific boolean interpretation of an XPath expression</li>
|
||||||
<li>some of the sorting optimization</li>
|
<li>some of the sorting optimization</li>
|
||||||
<li>Lazy evaluation of location path. (this may require more changes but
|
<li>Lazy evaluation of location path. (this may require more changes but
|
||||||
sounds really interesting. XT does this too.)</li>
|
sounds really interesting. XT does this too.)</li>
|
||||||
<li>Optimization of an expression tree (This could be done as a completely
|
<li>Optimization of an expression tree (This could be done as a completely
|
||||||
independent module.)</li>
|
independent module.)</li>
|
||||||
</ul>
|
</ul>
|
||||||
<p>
|
<p>
|
||||||
|
@ -81,15 +81,15 @@ the <a href="http://www.w3.org/TR/xslt">XSLT</a> C library developed for the
|
|||||||
<p>Here are some key points about libxslt:</p>
|
<p>Here are some key points about libxslt:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Libxslt is a C implementation</li>
|
<li>Libxslt is a C implementation</li>
|
||||||
<li>Libxslt is based on libxml for XML parsing, tree manipulation and XPath
|
<li>Libxslt is based on libxml for XML parsing, tree manipulation and XPath
|
||||||
support</li>
|
support</li>
|
||||||
<li>It is written in plain C, making as few assumptions as possible, and
|
<li>It is written in plain C, making as few assumptions as possible, and
|
||||||
sticking closely to ANSI C/POSIX for easy embedding. Should works on
|
sticking closely to ANSI C/POSIX for easy embedding. Should works on
|
||||||
Linux/Unix/Windows.</li>
|
Linux/Unix/Windows.</li>
|
||||||
<li>This library is released under the <a href="http://www.opensource.org/licenses/mit-license.html">MIT
|
<li>This library is released under the <a href="http://www.opensource.org/licenses/mit-license.html">MIT
|
||||||
Licence</a>
|
Licence</a>
|
||||||
</li>
|
</li>
|
||||||
<li>Though not designed primarily with performances in mind, libxslt seems
|
<li>Though not designed primarily with performances in mind, libxslt seems
|
||||||
to be a relatively fast processor.</li>
|
to be a relatively fast processor.</li>
|
||||||
</ul>
|
</ul>
|
||||||
<p><a href="bugs.html">Daniel Veillard</a></p>
|
<p><a href="bugs.html">Daniel Veillard</a></p>
|
||||||
|
271
doc/news.html
271
doc/news.html
@ -77,323 +77,334 @@ A:link, A:visited, A:active { text-decoration: underline }
|
|||||||
<td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd">
|
<td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd">
|
||||||
<h3>CVS only : check the <a href="http://cvs.gnome.org/lxr/source/libxslt/ChangeLog">Changelog</a> file
|
<h3>CVS only : check the <a href="http://cvs.gnome.org/lxr/source/libxslt/ChangeLog">Changelog</a> file
|
||||||
for a really accurate description</h3>
|
for a really accurate description</h3>
|
||||||
|
<h3>1.0.19: July 6 2002</h3>
|
||||||
|
<ul>
|
||||||
|
<li>EXSLT: dynamic functions and date support bug fixes (Mark Vakoc)</li>
|
||||||
|
<li>xsl:number fix: Richard Jinks</li>
|
||||||
|
<li>xsl:format-numbers fix: Ken Neighbors</li>
|
||||||
|
<li>document('') fix: bug pointed by Eric van der Vlist</li>
|
||||||
|
<li>xsl:message with terminate="yes" fixes: William Brack</li>
|
||||||
|
<li>xsl:sort order support added: Ken Neighbors</li>
|
||||||
|
<li>a few other bug fixes, some of them requiring the latest version of
|
||||||
|
libxml2</li>
|
||||||
|
</ul>
|
||||||
<h3>1.0.18: May 27 2002</h3>
|
<h3>1.0.18: May 27 2002</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>a number of bug fixes: attributes, extra namespace declarations
|
<li>a number of bug fixes: attributes, extra namespace declarations
|
||||||
(DocBook), xsl:include crash (Igor), documentation (Christian Cornelssen,
|
(DocBook), xsl:include crash (Igor), documentation (Christian Cornelssen,
|
||||||
Charles Bozeman and Geert Kloosterman), element-available (Richard
|
Charles Bozeman and Geert Kloosterman), element-available (Richard
|
||||||
Jinks) </li>
|
Jinks)</li>
|
||||||
<li>xsltproc can now list teh registered extensions thanks to Mark
|
<li>xsltproc can now list teh registered extensions thanks to Mark
|
||||||
Vakoc</li>
|
Vakoc</li>
|
||||||
<li>there is a new API to save directly to a string
|
<li>there is a new API to save directly to a string
|
||||||
xsltSaveResultToString() by Morus Walter</li>
|
xsltSaveResultToString() by Morus Walter</li>
|
||||||
<li>specific error registration function for the python API</li>
|
<li>specific error registration function for the python API</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>1.0.17: April 29 2002</h3>
|
<h3>1.0.17: April 29 2002</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>cleanup in code, XSLT debugger support and Makefiles for Windows by
|
<li>cleanup in code, XSLT debugger support and Makefiles for Windows by
|
||||||
Igor</li>
|
Igor</li>
|
||||||
<li>a C++ portability fix by Mark Vakoc</li>
|
<li>a C++ portability fix by Mark Vakoc</li>
|
||||||
<li>EXSLT date improvement and regression tests by Charles Bozeman</li>
|
<li>EXSLT date improvement and regression tests by Charles Bozeman</li>
|
||||||
<li>attempt to fix a bug in xsltProcessUserParamInternal</li>
|
<li>attempt to fix a bug in xsltProcessUserParamInternal</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>1.0.16: April 15 2002</h3>
|
<h3>1.0.16: April 15 2002</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Bug fixes: strip-space, URL in HTML output, error when xsltproc can't
|
<li>Bug fixes: strip-space, URL in HTML output, error when xsltproc can't
|
||||||
save</li>
|
save</li>
|
||||||
<li>portability fixes: OSF/1, IEEE on alphas, Windows, Python bindings</li>
|
<li>portability fixes: OSF/1, IEEE on alphas, Windows, Python bindings</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>1.0.15: Mar 25 2002</h3>
|
<h3>1.0.15: Mar 25 2002</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Bugfixes: XPath, python Makefile, recursive attribute sets, @foo[..]
|
<li>Bugfixes: XPath, python Makefile, recursive attribute sets, @foo[..]
|
||||||
templates</li>
|
templates</li>
|
||||||
<li>Debug of memory alocation with valgind</li>
|
<li>Debug of memory alocation with valgind</li>
|
||||||
<li>serious profiling leading to significant improvement for DocBook
|
<li>serious profiling leading to significant improvement for DocBook
|
||||||
processing</li>
|
processing</li>
|
||||||
<li>revamp of the Windows build</li>
|
<li>revamp of the Windows build</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>1.0.14: Mar 18 2002</h3>
|
<h3>1.0.14: Mar 18 2002</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Improvement in the XPath engine (libxml2-2.4.18)</li>
|
<li>Improvement in the XPath engine (libxml2-2.4.18)</li>
|
||||||
<li>Nasty bug fix related to exslt:node-set</li>
|
<li>Nasty bug fix related to exslt:node-set</li>
|
||||||
<li>Fixed the python Makefiles, cleanup of doc comments, Windows
|
<li>Fixed the python Makefiles, cleanup of doc comments, Windows
|
||||||
portability fixes</li>
|
portability fixes</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>1.0.13: Mar 8 2002</h3>
|
<h3>1.0.13: Mar 8 2002</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>a number of bug fixes including "namespace node have no parents"</li>
|
<li>a number of bug fixes including "namespace node have no parents"</li>
|
||||||
<li>Improvement of the Python bindings</li>
|
<li>Improvement of the Python bindings</li>
|
||||||
<li>Charles Bozeman provided fixes and regression tests for exslt date
|
<li>Charles Bozeman provided fixes and regression tests for exslt date
|
||||||
functions.</li>
|
functions.</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>1.0.12: Feb 11 2002</h3>
|
<h3>1.0.12: Feb 11 2002</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Fixed the makefiles especially the python module ones</li>
|
<li>Fixed the makefiles especially the python module ones</li>
|
||||||
<li>half a dozen bugs fixes including 2 old ones</li>
|
<li>half a dozen bugs fixes including 2 old ones</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>1.0.11: Feb 8 2002</h3>
|
<h3>1.0.11: Feb 8 2002</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Change of Licence to the <a href="http://www.opensource.org/licenses/mit-license.html">MIT
|
<li>Change of Licence to the <a href="http://www.opensource.org/licenses/mit-license.html">MIT
|
||||||
Licence</a>
|
Licence</a>
|
||||||
</li>
|
</li>
|
||||||
<li>Added a beta version of the Python bindings, including support to
|
<li>Added a beta version of the Python bindings, including support to
|
||||||
extend the engine with functions written in Python</li>
|
extend the engine with functions written in Python</li>
|
||||||
<li>A number of bug fixes</li>
|
<li>A number of bug fixes</li>
|
||||||
<li>Charlie Bozeman provided more EXSLT functions</li>
|
<li>Charlie Bozeman provided more EXSLT functions</li>
|
||||||
<li>Portability fixes</li>
|
<li>Portability fixes</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>1.0.10: Jan 14 2002</h3>
|
<h3>1.0.10: Jan 14 2002</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Windows fixes for Win32 from Igor</li>
|
<li>Windows fixes for Win32 from Igor</li>
|
||||||
<li>Fixed the Solaris compilation trouble (Albert)</li>
|
<li>Fixed the Solaris compilation trouble (Albert)</li>
|
||||||
<li>Documentation changes and updates: John Fleck</li>
|
<li>Documentation changes and updates: John Fleck</li>
|
||||||
<li>Added a stringparam option to avoid escaping hell at the shell
|
<li>Added a stringparam option to avoid escaping hell at the shell
|
||||||
level</li>
|
level</li>
|
||||||
<li>A few bug fixes</li>
|
<li>A few bug fixes</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>1.0.9: Dec 7 2001</h3>
|
<h3>1.0.9: Dec 7 2001</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Makefile patches from Peter Williams</li>
|
<li>Makefile patches from Peter Williams</li>
|
||||||
<li>attempt to fix the compilation problem associated to prelinking</li>
|
<li>attempt to fix the compilation problem associated to prelinking</li>
|
||||||
<li>obsoleted libxsltbreakpoint now deprecated and frozen to 1.0.8 API</li>
|
<li>obsoleted libxsltbreakpoint now deprecated and frozen to 1.0.8 API</li>
|
||||||
<li>xsltproc return codes are now significant, John Fleck updated the
|
<li>xsltproc return codes are now significant, John Fleck updated the
|
||||||
documentation</li>
|
documentation</li>
|
||||||
<li>patch to allow as much as 40 steps in patterns (Marc Tardif), should be
|
<li>patch to allow as much as 40 steps in patterns (Marc Tardif), should be
|
||||||
made dynamic really</li>
|
made dynamic really</li>
|
||||||
<li>fixed a bug raised by Nik Clayton when using doctypes with HTML
|
<li>fixed a bug raised by Nik Clayton when using doctypes with HTML
|
||||||
output</li>
|
output</li>
|
||||||
<li>patches from Keith Isdale to interface with xsltdebugger</li>
|
<li>patches from Keith Isdale to interface with xsltdebugger</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>1.0.8: Nov 26 2001</h3>
|
<h3>1.0.8: Nov 26 2001</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>fixed an annoying header problem, removed a few bugs and some code
|
<li>fixed an annoying header problem, removed a few bugs and some code
|
||||||
cleanup</li>
|
cleanup</li>
|
||||||
<li>patches for Windows and update of Windows Makefiles by Igor</li>
|
<li>patches for Windows and update of Windows Makefiles by Igor</li>
|
||||||
<li>OpenVMS port instructions from John A Fotheringham</li>
|
<li>OpenVMS port instructions from John A Fotheringham</li>
|
||||||
<li>fixed some Makefiles annoyance and libraries prelinking
|
<li>fixed some Makefiles annoyance and libraries prelinking
|
||||||
informations</li>
|
informations</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>1.0.7: Nov 10 2001</h3>
|
<h3>1.0.7: Nov 10 2001</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>remove a compilation problem with LIBXSLT_PUBLIC</li>
|
<li>remove a compilation problem with LIBXSLT_PUBLIC</li>
|
||||||
<li>Finishing the integration steps for Keith Isdale debugger</li>
|
<li>Finishing the integration steps for Keith Isdale debugger</li>
|
||||||
<li>fixes the handling of indent="no" on HTML output</li>
|
<li>fixes the handling of indent="no" on HTML output</li>
|
||||||
<li>fixes on the configure script and RPM spec file</li>
|
<li>fixes on the configure script and RPM spec file</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>1.0.6: Oct 30 2001</h3>
|
<h3>1.0.6: Oct 30 2001</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>bug fixes on number formatting (Thomas), date/time functions (Bruce
|
<li>bug fixes on number formatting (Thomas), date/time functions (Bruce
|
||||||
Miller)</li>
|
Miller)</li>
|
||||||
<li>update of the Windows Makefiles (Igor)</li>
|
<li>update of the Windows Makefiles (Igor)</li>
|
||||||
<li>fixed DOCTYPE generation rules for HTML output (me)</li>
|
<li>fixed DOCTYPE generation rules for HTML output (me)</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>1.0.5: Oct 10 2001</h3>
|
<h3>1.0.5: Oct 10 2001</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>some portability fixes, including Windows makefile updates from
|
<li>some portability fixes, including Windows makefile updates from
|
||||||
Igor</li>
|
Igor</li>
|
||||||
<li>fixed a dozen bugs on XSLT and EXSLT (me and Thomas Broyer)</li>
|
<li>fixed a dozen bugs on XSLT and EXSLT (me and Thomas Broyer)</li>
|
||||||
<li>support for Saxon's evaluate and expressions extensions added (initial
|
<li>support for Saxon's evaluate and expressions extensions added (initial
|
||||||
contribution from Darren Graves)</li>
|
contribution from Darren Graves)</li>
|
||||||
<li>better handling of XPath evaluation errors</li>
|
<li>better handling of XPath evaluation errors</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>1.0.4: Sep 12 2001</h3>
|
<h3>1.0.4: Sep 12 2001</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Documentation updates from John fleck</li>
|
<li>Documentation updates from John fleck</li>
|
||||||
<li>bug fixes (DocBook FO generation should be fixed) and portability
|
<li>bug fixes (DocBook FO generation should be fixed) and portability
|
||||||
improvements</li>
|
improvements</li>
|
||||||
<li>Thomas Broyer improved the existing EXSLT support and added String,
|
<li>Thomas Broyer improved the existing EXSLT support and added String,
|
||||||
Time and Date core functions support</li>
|
Time and Date core functions support</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>1.0.3: Aug 23 2001</h3>
|
<h3>1.0.3: Aug 23 2001</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>XML Catalog support see the doc</li>
|
<li>XML Catalog support see the doc</li>
|
||||||
<li>New NaN/Infinity floating point code</li>
|
<li>New NaN/Infinity floating point code</li>
|
||||||
<li>A few bug fixes</li>
|
<li>A few bug fixes</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>1.0.2: Aug 15 2001</h3>
|
<h3>1.0.2: Aug 15 2001</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>lot of bug fixes, increased the testsuite</li>
|
<li>lot of bug fixes, increased the testsuite</li>
|
||||||
<li>a large chunk of EXSLT is implemented</li>
|
<li>a large chunk of EXSLT is implemented</li>
|
||||||
<li>improvements on the extension framework</li>
|
<li>improvements on the extension framework</li>
|
||||||
<li>documentation improvements</li>
|
<li>documentation improvements</li>
|
||||||
<li>Windows MSC projects files should be up-to-date</li>
|
<li>Windows MSC projects files should be up-to-date</li>
|
||||||
<li>handle attributes inherited from the DTD by default</li>
|
<li>handle attributes inherited from the DTD by default</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>1.0.1: July 24 2001</h3>
|
<h3>1.0.1: July 24 2001</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>initial EXSLT framework</li>
|
<li>initial EXSLT framework</li>
|
||||||
<li>better error reporting</li>
|
<li>better error reporting</li>
|
||||||
<li>fixed the profiler on Windows</li>
|
<li>fixed the profiler on Windows</li>
|
||||||
<li>bug fixes</li>
|
<li>bug fixes</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>1.0.0: July 10 2001</h3>
|
<h3>1.0.0: July 10 2001</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>a lot of cleanup, a lot of regression tests added or fixed</li>
|
<li>a lot of cleanup, a lot of regression tests added or fixed</li>
|
||||||
<li>added a documentation for <a href="extensions.html">writing
|
<li>added a documentation for <a href="extensions.html">writing
|
||||||
extensions</a>
|
extensions</a>
|
||||||
</li>
|
</li>
|
||||||
<li>fixed some variable evaluation problems (with William)</li>
|
<li>fixed some variable evaluation problems (with William)</li>
|
||||||
<li>added profiling of stylesheet execution accessible as the xsltproc
|
<li>added profiling of stylesheet execution accessible as the xsltproc
|
||||||
--profile option</li>
|
--profile option</li>
|
||||||
<li>fixed element-available() and the implementation of the various
|
<li>fixed element-available() and the implementation of the various
|
||||||
chunking methods present, Norm Walsh provided a lot of feedback</li>
|
chunking methods present, Norm Walsh provided a lot of feedback</li>
|
||||||
<li>exclude-result-prefixes and namespaces output should now work as
|
<li>exclude-result-prefixes and namespaces output should now work as
|
||||||
expected</li>
|
expected</li>
|
||||||
<li>added support of embedded stylesheet as described in section 2.7 of the
|
<li>added support of embedded stylesheet as described in section 2.7 of the
|
||||||
spec</li>
|
spec</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>0.14.0: July 5 2001</h3>
|
<h3>0.14.0: July 5 2001</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>lot of bug fixes, and code cleanup</li>
|
<li>lot of bug fixes, and code cleanup</li>
|
||||||
<li>completion of the little XSLT-1.0 features left unimplemented</li>
|
<li>completion of the little XSLT-1.0 features left unimplemented</li>
|
||||||
<li>Added and implemented the extension API suggested by Thomas Broyer</li>
|
<li>Added and implemented the extension API suggested by Thomas Broyer</li>
|
||||||
<li>the Windows MSC environment should be complete</li>
|
<li>the Windows MSC environment should be complete</li>
|
||||||
<li>tested and optimized with a really large document (DocBook Definitive
|
<li>tested and optimized with a really large document (DocBook Definitive
|
||||||
Guide) libxml/libxslt should really be faster on serious workloads</li>
|
Guide) libxml/libxslt should really be faster on serious workloads</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>0.13.0: June 26 2001</h3>
|
<h3>0.13.0: June 26 2001</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>lots of cleanups</li>
|
<li>lots of cleanups</li>
|
||||||
<li>fixed a C++ compilation problem</li>
|
<li>fixed a C++ compilation problem</li>
|
||||||
<li>couple of fixes to xsltSaveTo()</li>
|
<li>couple of fixes to xsltSaveTo()</li>
|
||||||
<li>try to fix Docbook-xslt-1.4 and chunking, updated the regression test
|
<li>try to fix Docbook-xslt-1.4 and chunking, updated the regression test
|
||||||
with them</li>
|
with them</li>
|
||||||
<li>fixed pattern compilation and priorities problems</li>
|
<li>fixed pattern compilation and priorities problems</li>
|
||||||
<li>Patches for Windows and MSC project mostly contributed by Yon Derek</li>
|
<li>Patches for Windows and MSC project mostly contributed by Yon Derek</li>
|
||||||
<li>update to the Tutorial by John Fleck</li>
|
<li>update to the Tutorial by John Fleck</li>
|
||||||
<li>William fixed bugs in templates and for-each functions</li>
|
<li>William fixed bugs in templates and for-each functions</li>
|
||||||
<li>added a new interface xsltRunStylesheet() for a more flexible output
|
<li>added a new interface xsltRunStylesheet() for a more flexible output
|
||||||
(incomplete), added -o option to xsltproc</li>
|
(incomplete), added -o option to xsltproc</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>0.12.0: June 18 2001</h3>
|
<h3>0.12.0: June 18 2001</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>fixed a dozen of bugs reported</li>
|
<li>fixed a dozen of bugs reported</li>
|
||||||
<li>HTML generation should be quite better (requires libxml-2.3.11 upgrade
|
<li>HTML generation should be quite better (requires libxml-2.3.11 upgrade
|
||||||
too)</li>
|
too)</li>
|
||||||
<li>William fixed some problems with document()</li>
|
<li>William fixed some problems with document()</li>
|
||||||
<li>Fix namespace nodes selection and copy (requires libxml-2.3.11 upgrade
|
<li>Fix namespace nodes selection and copy (requires libxml-2.3.11 upgrade
|
||||||
too)</li>
|
too)</li>
|
||||||
<li>John Fleck added a<a href="tutorial/libxslttutorial.html">
|
<li>John Fleck added a<a href="tutorial/libxslttutorial.html">
|
||||||
tutorial</a>
|
tutorial</a>
|
||||||
</li>
|
</li>
|
||||||
<li>Fixes for namespace handling when evaluating variables</li>
|
<li>Fixes for namespace handling when evaluating variables</li>
|
||||||
<li>XInclude global flag added to process XInclude on document() if
|
<li>XInclude global flag added to process XInclude on document() if
|
||||||
requested</li>
|
requested</li>
|
||||||
<li>made xsltproc --version more detailed</li>
|
<li>made xsltproc --version more detailed</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>0.11.0: June 1 2001</h3>
|
<h3>0.11.0: June 1 2001</h3>
|
||||||
<p>Mostly a bug fix release.</p>
|
<p>Mostly a bug fix release.</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>integration of catalogs from xsltproc</li>
|
<li>integration of catalogs from xsltproc</li>
|
||||||
<li>added --version to xsltproc for bug reporting</li>
|
<li>added --version to xsltproc for bug reporting</li>
|
||||||
<li>fixed errors when handling ID in external parsed entities</li>
|
<li>fixed errors when handling ID in external parsed entities</li>
|
||||||
<li>document() should hopefully work correctly but ...</li>
|
<li>document() should hopefully work correctly but ...</li>
|
||||||
<li>fixed bug with PI and comments processing</li>
|
<li>fixed bug with PI and comments processing</li>
|
||||||
<li>William fixed the XPath string functions when using unicode</li>
|
<li>William fixed the XPath string functions when using unicode</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>0.10.0: May 19 2001</h3>
|
<h3>0.10.0: May 19 2001</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>cleanups to make stylesheet read-only (not 100% complete)</li>
|
<li>cleanups to make stylesheet read-only (not 100% complete)</li>
|
||||||
<li>fixed URI resolution in document()</li>
|
<li>fixed URI resolution in document()</li>
|
||||||
<li>force all XPath expression to be compiled at stylesheet parsing time,
|
<li>force all XPath expression to be compiled at stylesheet parsing time,
|
||||||
even if unused ...</li>
|
even if unused ...</li>
|
||||||
<li>Fixed HTML default output detection</li>
|
<li>Fixed HTML default output detection</li>
|
||||||
<li>Fixed double attribute generation #54446</li>
|
<li>Fixed double attribute generation #54446</li>
|
||||||
<li>Fixed {{ handling in attributes #54451</li>
|
<li>Fixed {{ handling in attributes #54451</li>
|
||||||
<li>More tests and speedups for DocBook document transformations</li>
|
<li>More tests and speedups for DocBook document transformations</li>
|
||||||
<li>Fixed a really bad race like bug in xsltCopyTreeList()</li>
|
<li>Fixed a really bad race like bug in xsltCopyTreeList()</li>
|
||||||
<li>added a documentation on the libxslt internals</li>
|
<li>added a documentation on the libxslt internals</li>
|
||||||
<li>William Brack and Bjorn Reese improved format-number()</li>
|
<li>William Brack and Bjorn Reese improved format-number()</li>
|
||||||
<li>Fixed multiple sort, it should really work now</li>
|
<li>Fixed multiple sort, it should really work now</li>
|
||||||
<li>added a --docbook option for SGML DocBook input (hackish)</li>
|
<li>added a --docbook option for SGML DocBook input (hackish)</li>
|
||||||
<li>a number of other bug fixes and regression test added as people were
|
<li>a number of other bug fixes and regression test added as people were
|
||||||
submitting them</li>
|
submitting them</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>0.9.0: May 3 2001</h3>
|
<h3>0.9.0: May 3 2001</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>lot of various bugfixes, extended the regression suite</li>
|
<li>lot of various bugfixes, extended the regression suite</li>
|
||||||
<li>xsltproc should work with multiple params</li>
|
<li>xsltproc should work with multiple params</li>
|
||||||
<li>added an option to use xsltproc with HTML input</li>
|
<li>added an option to use xsltproc with HTML input</li>
|
||||||
<li>improved the stylesheet compilation, processing of complex stylesheets
|
<li>improved the stylesheet compilation, processing of complex stylesheets
|
||||||
should be faster</li>
|
should be faster</li>
|
||||||
<li>using the same stylesheet for concurrent processing on multithreaded
|
<li>using the same stylesheet for concurrent processing on multithreaded
|
||||||
programs should work now</li>
|
programs should work now</li>
|
||||||
<li>fixed another batch of namespace handling problems</li>
|
<li>fixed another batch of namespace handling problems</li>
|
||||||
<li>Implemented multiple level of sorting</li>
|
<li>Implemented multiple level of sorting</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>0.8.0: Apr 22 2001</h3>
|
<h3>0.8.0: Apr 22 2001</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>fixed ansidecl.h problem</li>
|
<li>fixed ansidecl.h problem</li>
|
||||||
<li>fixed unparsed-entity-uri() and generate-id()</li>
|
<li>fixed unparsed-entity-uri() and generate-id()</li>
|
||||||
<li>sort semantic fixes and priority prob from William M. Brack</li>
|
<li>sort semantic fixes and priority prob from William M. Brack</li>
|
||||||
<li>fixed namespace handling problems in XPath expression computations
|
<li>fixed namespace handling problems in XPath expression computations
|
||||||
(requires libxml-2.3.7)</li>
|
(requires libxml-2.3.7)</li>
|
||||||
<li>fixes to current() and key()</li>
|
<li>fixes to current() and key()</li>
|
||||||
<li>other, smaller fixes, lots of testing with N Walsh DocBook HTML
|
<li>other, smaller fixes, lots of testing with N Walsh DocBook HTML
|
||||||
stylesheets</li>
|
stylesheets</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>0.7.0: Apr 10 2001</h3>
|
<h3>0.7.0: Apr 10 2001</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>cleanup using stricter compiler flags</li>
|
<li>cleanup using stricter compiler flags</li>
|
||||||
<li>command line parameter passing</li>
|
<li>command line parameter passing</li>
|
||||||
<li>fix to xsltApplyTemplates from William M. Brack</li>
|
<li>fix to xsltApplyTemplates from William M. Brack</li>
|
||||||
<li>added the XSLTMark in the regression tests as well as document()</li>
|
<li>added the XSLTMark in the regression tests as well as document()</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>0.6.0: Mar 22 2001</h3>
|
<h3>0.6.0: Mar 22 2001</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>another beta</li>
|
<li>another beta</li>
|
||||||
<li>requires 2.3.5, which provide XPath expression compilation support</li>
|
<li>requires 2.3.5, which provide XPath expression compilation support</li>
|
||||||
<li>document() extension should function properly</li>
|
<li>document() extension should function properly</li>
|
||||||
<li>fixed a number or reported bugs</li>
|
<li>fixed a number or reported bugs</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>0.5.0: Mar 10 2001</h3>
|
<h3>0.5.0: Mar 10 2001</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>fifth beta</li>
|
<li>fifth beta</li>
|
||||||
<li>some optimization work, for the moment 2 XSLT transform cannot use the
|
<li>some optimization work, for the moment 2 XSLT transform cannot use the
|
||||||
same stylesheet at the same time (to be fixed)</li>
|
same stylesheet at the same time (to be fixed)</li>
|
||||||
<li>fixed problems with handling of tree results</li>
|
<li>fixed problems with handling of tree results</li>
|
||||||
<li>fixed a reported strip-spaces problem</li>
|
<li>fixed a reported strip-spaces problem</li>
|
||||||
<li>added more reported/fixed bugs to the test suite</li>
|
<li>added more reported/fixed bugs to the test suite</li>
|
||||||
<li>incorporated William M. Brack fix for imports and global variables as
|
<li>incorporated William M. Brack fix for imports and global variables as
|
||||||
well as patch for with-param support in apply-templates</li>
|
well as patch for with-param support in apply-templates</li>
|
||||||
<li>a bug fix on for-each</li>
|
<li>a bug fix on for-each</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>0.4.0: Mar 1 2001</h3>
|
<h3>0.4.0: Mar 1 2001</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>fourth beta test, released at the same time of libxml2-2.3.3</li>
|
<li>fourth beta test, released at the same time of libxml2-2.3.3</li>
|
||||||
<li>bug fixes</li>
|
<li>bug fixes</li>
|
||||||
<li>some optimization</li>
|
<li>some optimization</li>
|
||||||
<li>started implement extension support, not finished</li>
|
<li>started implement extension support, not finished</li>
|
||||||
<li>implemented but not tested multiple file output</li>
|
<li>implemented but not tested multiple file output</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>0.3.0: Feb 24 2001</h3>
|
<h3>0.3.0: Feb 24 2001</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>third beta test, released at the same time of libxml2-2.3.2</li>
|
<li>third beta test, released at the same time of libxml2-2.3.2</li>
|
||||||
<li>lot of bug fixes</li>
|
<li>lot of bug fixes</li>
|
||||||
<li>some optimization</li>
|
<li>some optimization</li>
|
||||||
<li>added DocBook XSL based testsuite</li>
|
<li>added DocBook XSL based testsuite</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>0.2.0: Feb 15 2001</h3>
|
<h3>0.2.0: Feb 15 2001</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>second beta version, released at the same time as libxml2-2.3.1</li>
|
<li>second beta version, released at the same time as libxml2-2.3.1</li>
|
||||||
<li>getting close to feature completion, lot of bug fixes, some in the HTML
|
<li>getting close to feature completion, lot of bug fixes, some in the HTML
|
||||||
and XPath support of libxml</li>
|
and XPath support of libxml</li>
|
||||||
<li>start becoming usable for real work. This version can now regenerate
|
<li>start becoming usable for real work. This version can now regenerate
|
||||||
the XML 2e HTML from the original XML sources and the associated
|
the XML 2e HTML from the original XML sources and the associated
|
||||||
stylesheets (in <a href="http://www.w3.org/TR/REC-xml#b4d250b6c21">section I of the XML
|
stylesheets (in <a href="http://www.w3.org/TR/REC-xml#b4d250b6c21">section I of the XML
|
||||||
REC</a>)</li>
|
REC</a>)</li>
|
||||||
<li>Still misses extension element/function/prefixes support. Support of
|
<li>Still misses extension element/function/prefixes support. Support of
|
||||||
key() and document() is not complete</li>
|
key() and document() is not complete</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>0.1.0: Feb 8 2001</h3>
|
<h3>0.1.0: Feb 8 2001</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>first beta version, released at the same time as libxml2-2.3.0</li>
|
<li>first beta version, released at the same time as libxml2-2.3.0</li>
|
||||||
<li>lots of bug fixes, first "testing" version, but incomplete</li>
|
<li>lots of bug fixes, first "testing" version, but incomplete</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>0.0.1: Jan 25 2001</h3>
|
<h3>0.0.1: Jan 25 2001</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>first alpha version released at the same time as libxml2-2.2.12</li>
|
<li>first alpha version released at the same time as libxml2-2.2.12</li>
|
||||||
<li>Framework in place, should work on simple examples, but far from being
|
<li>Framework in place, should work on simple examples, but far from being
|
||||||
feature complete</li>
|
feature complete</li>
|
||||||
</ul>
|
</ul>
|
||||||
<p><a href="bugs.html">Daniel Veillard</a></p>
|
<p><a href="bugs.html">Daniel Veillard</a></p>
|
||||||
|
@ -87,16 +87,16 @@ or libxslt wrappers or bindings:</p>
|
|||||||
and XML::LibXSLT</a>, a perl wrapper for libxml2/libxslt as part of the
|
and XML::LibXSLT</a>, a perl wrapper for libxml2/libxslt as part of the
|
||||||
<a href="http://axkit.com/">AxKit XML application server</a>
|
<a href="http://axkit.com/">AxKit XML application server</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="mailto:dkuhlman@cutter.rexx.com">Dave Kuhlman</a> provides and
|
<a href="mailto:dkuhlman@cutter.rexx.com">Dave Kuhlman</a> provides and
|
||||||
earlier version of the libxml/libxslt <a href="http://www.rexx.com/~dkuhlman">wrappers for Python</a>
|
earlier version of the libxml/libxslt <a href="http://www.rexx.com/~dkuhlman">wrappers for Python</a>
|
||||||
</li>
|
</li>
|
||||||
<li>Petr Kozelka provides <a href="http://sourceforge.net/projects/libxml2-pas">Pascal units to glue
|
<li>Petr Kozelka provides <a href="http://sourceforge.net/projects/libxml2-pas">Pascal units to glue
|
||||||
libxml2</a> with Kylix, Delphi and other Pascal compilers</li>
|
libxml2</a> with Kylix, Delphi and other Pascal compilers</li>
|
||||||
<li>Wai-Sun "Squidster" Chia provides <a href="http://www.rubycolor.org/arc/redist/">bindings for Ruby</a> and
|
<li>Wai-Sun "Squidster" Chia provides <a href="http://www.rubycolor.org/arc/redist/">bindings for Ruby</a> and
|
||||||
libxml2 bindings are also available in Ruby through the <a href="http://libgdome-ruby.berlios.de/">libgdome-ruby</a> module
|
libxml2 bindings are also available in Ruby through the <a href="http://libgdome-ruby.berlios.de/">libgdome-ruby</a> module
|
||||||
maintained by Tobias Peters.</li>
|
maintained by Tobias Peters.</li>
|
||||||
<li>Steve Ball and contributors maintains <a href="http://tclxml.sourceforge.net/">libxml2 and libxslt bindings for
|
<li>Steve Ball and contributors maintains <a href="http://tclxml.sourceforge.net/">libxml2 and libxslt bindings for
|
||||||
Tcl</a>
|
Tcl</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -109,7 +109,7 @@ interface have not yet reached the maturity of the C API.</p>
|
|||||||
<li>If you use an RPM based distribution, simply install the <a href="http://rpmfind.net/linux/rpm2html/search.php?query=libxml2-python">libxml2-python
|
<li>If you use an RPM based distribution, simply install the <a href="http://rpmfind.net/linux/rpm2html/search.php?query=libxml2-python">libxml2-python
|
||||||
RPM</a> and the <a href="http://rpmfind.net/linux/rpm2html/search.php?query=libxslt-python">libxslt-python
|
RPM</a> and the <a href="http://rpmfind.net/linux/rpm2html/search.php?query=libxslt-python">libxslt-python
|
||||||
RPM</a>.</li>
|
RPM</a>.</li>
|
||||||
<li>Otherwise use the <a href="ftp://xmlsoft.org/python/">libxml2-python
|
<li>Otherwise use the <a href="ftp://xmlsoft.org/python/">libxml2-python
|
||||||
module distribution</a> corresponding to your installed version of
|
module distribution</a> corresponding to your installed version of
|
||||||
libxml2 and libxslt. Note that to install it you will need both libxml2
|
libxml2 and libxslt. Note that to install it you will need both libxml2
|
||||||
and libxslt installed and run "python setup.py build install" in the
|
and libxslt installed and run "python setup.py build install" in the
|
||||||
@ -139,17 +139,17 @@ in that example and how is the processing done:</p>
|
|||||||
<li>
|
<li>
|
||||||
<code>styledoc</code> : is a libxml2 document tree. It is obtained by
|
<code>styledoc</code> : is a libxml2 document tree. It is obtained by
|
||||||
parsing the XML file "test.xsl" containing the stylesheet.</li>
|
parsing the XML file "test.xsl" containing the stylesheet.</li>
|
||||||
<li>
|
<li>
|
||||||
<code>style</code> : this is a precompiled stylesheet ready to be used
|
<code>style</code> : this is a precompiled stylesheet ready to be used
|
||||||
by the following transformations (note the plural form, multiple
|
by the following transformations (note the plural form, multiple
|
||||||
transformations can resuse the same stylesheet).</li>
|
transformations can resuse the same stylesheet).</li>
|
||||||
<li>
|
<li>
|
||||||
<code>doc</code> : this is the document to apply the transformation to.
|
<code>doc</code> : this is the document to apply the transformation to.
|
||||||
In this case it is simply generated by parsing it from a file but any
|
In this case it is simply generated by parsing it from a file but any
|
||||||
other processing is possible as long as one get a libxml2 Doc. Note that
|
other processing is possible as long as one get a libxml2 Doc. Note that
|
||||||
HTML tree are suitable for XSLT processing in libxslt. This is actually
|
HTML tree are suitable for XSLT processing in libxslt. This is actually
|
||||||
how this page is generated !</li>
|
how this page is generated !</li>
|
||||||
<li>
|
<li>
|
||||||
<code>result</code> : this is a document generated by applying the
|
<code>result</code> : this is a document generated by applying the
|
||||||
stylesheet to the document. Note that some of the stylesheet informations
|
stylesheet to the document. Note that some of the stylesheet informations
|
||||||
may be related to the serialization of that document and as in this
|
may be related to the serialization of that document and as in this
|
||||||
@ -217,11 +217,11 @@ string with libxml2. Note how this stylesheet:</p>
|
|||||||
<ul>
|
<ul>
|
||||||
<li>Uses a global parameter <code>bar</code>
|
<li>Uses a global parameter <code>bar</code>
|
||||||
</li>
|
</li>
|
||||||
<li>Reference the extension function f</li>
|
<li>Reference the extension function f</li>
|
||||||
<li>how the Namespace name "http://example.com/foo" has to be bound to a
|
<li>how the Namespace name "http://example.com/foo" has to be bound to a
|
||||||
prefix</li>
|
prefix</li>
|
||||||
<li>how that prefix is excluded from the output</li>
|
<li>how that prefix is excluded from the output</li>
|
||||||
<li>how the function is called from the select</li>
|
<li>how the function is called from the select</li>
|
||||||
</ul>
|
</ul>
|
||||||
<pre>style = libxslt.parseStylesheetDoc(styledoc)
|
<pre>style = libxslt.parseStylesheetDoc(styledoc)
|
||||||
doc = libxml2.parseDoc("<doc/>")
|
doc = libxml2.parseDoc("<doc/>")
|
||||||
|
@ -207,9 +207,8 @@ platform, get in touch with me to upload the package. I will keep them in the
|
|||||||
href="http://developer.gnome.org/tools/cvs.html">Gnome CVS Tools</a>
|
href="http://developer.gnome.org/tools/cvs.html">Gnome CVS Tools</a>
|
||||||
page; the CVS module is <b>libxslt</b>.</p>
|
page; the CVS module is <b>libxslt</b>.</p>
|
||||||
</li>
|
</li>
|
||||||
<li><a
|
<li><a href="ftp://xmlsoft.org/XSLT/cvs-snapshot.tar.gz">daily snapshots
|
||||||
href="ftp://xmlsoft.org/XSLT/cvs-snapshot.tar.gz">daily
|
from CVS</a> are also provided</li>
|
||||||
snapshots from CVS</a> are also provided</li>
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<h2><a name="FAQ">FAQ</a></h2>
|
<h2><a name="FAQ">FAQ</a></h2>
|
||||||
@ -236,12 +235,24 @@ platform, get in touch with me to upload the package. I will keep them in the
|
|||||||
href="http://cvs.gnome.org/lxr/source/libxslt/ChangeLog">Changelog</a> file
|
href="http://cvs.gnome.org/lxr/source/libxslt/ChangeLog">Changelog</a> file
|
||||||
for a really accurate description</h3>
|
for a really accurate description</h3>
|
||||||
|
|
||||||
|
<h3>1.0.19: July 6 2002</h3>
|
||||||
|
<ul>
|
||||||
|
<li>EXSLT: dynamic functions and date support bug fixes (Mark Vakoc)</li>
|
||||||
|
<li>xsl:number fix: Richard Jinks</li>
|
||||||
|
<li>xsl:format-numbers fix: Ken Neighbors</li>
|
||||||
|
<li>document('') fix: bug pointed by Eric van der Vlist</li>
|
||||||
|
<li>xsl:message with terminate="yes" fixes: William Brack</li>
|
||||||
|
<li>xsl:sort order support added: Ken Neighbors</li>
|
||||||
|
<li>a few other bug fixes, some of them requiring the latest version of
|
||||||
|
libxml2</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
<h3>1.0.18: May 27 2002</h3>
|
<h3>1.0.18: May 27 2002</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>a number of bug fixes: attributes, extra namespace declarations
|
<li>a number of bug fixes: attributes, extra namespace declarations
|
||||||
(DocBook), xsl:include crash (Igor), documentation (Christian Cornelssen,
|
(DocBook), xsl:include crash (Igor), documentation (Christian Cornelssen,
|
||||||
Charles Bozeman and Geert Kloosterman), element-available (Richard
|
Charles Bozeman and Geert Kloosterman), element-available (Richard
|
||||||
Jinks) </li>
|
Jinks)</li>
|
||||||
<li>xsltproc can now list teh registered extensions thanks to Mark
|
<li>xsltproc can now list teh registered extensions thanks to Mark
|
||||||
Vakoc</li>
|
Vakoc</li>
|
||||||
<li>there is a new API to save directly to a string
|
<li>there is a new API to save directly to a string
|
||||||
|
Reference in New Issue
Block a user