mirror of
https://gitlab.gnome.org/GNOME/libxslt
synced 2025-07-31 02:43:06 +03:00
updated the web site, made the transition to XHTML1 added validity
* NEWS doc/*.xsl doc/*.html: updated the web site, made the transition to XHTML1 added validity checking to the makefile rules. Daniel
This commit is contained in:
@ -1,3 +1,8 @@
|
||||
Sun Apr 27 12:46:31 CEST 2003 Daniel Veillard <daniel@veillard.com>
|
||||
|
||||
* NEWS doc/*.xsl doc/*.html: updated the web site, made the
|
||||
transition to XHTML1 added validity checking to the makefile rules.
|
||||
|
||||
Sat Apr 26 14:00:58 CEST 2003 Daniel Veillard <daniel@veillard.com>
|
||||
|
||||
* python/generator.py: fixed a problem in the generator where
|
||||
|
8
NEWS
8
NEWS
@ -5,7 +5,6 @@
|
||||
http://xmlsoft.org/XSLT/news.html
|
||||
|
||||
|
||||
|
||||
CVS only : check the Changelog at
|
||||
http://cvs.gnome.org/lxr/source/libxslt/ChangeLog
|
||||
file
|
||||
@ -174,7 +173,6 @@ for a really accurate description:
|
||||
1.0.11: Feb 8 2002:
|
||||
- Change of Licence to the MIT
|
||||
Licence
|
||||
|
||||
- Added a beta version of the Python bindings, including support to
|
||||
extend the engine with functions written in Python
|
||||
- A number of bug fixes
|
||||
@ -270,7 +268,6 @@ for a really accurate description:
|
||||
- a lot of cleanup, a lot of regression tests added or fixed
|
||||
- added a documentation for writing
|
||||
extensions
|
||||
|
||||
- fixed some variable evaluation problems (with William)
|
||||
- added profiling of stylesheet execution accessible as the xsltproc
|
||||
--profile option
|
||||
@ -314,7 +311,6 @@ for a really accurate description:
|
||||
too)
|
||||
- John Fleck added a
|
||||
tutorial
|
||||
|
||||
- Fixes for namespace handling when evaluating variables
|
||||
- XInclude global flag added to process XInclude on document() if
|
||||
requested
|
||||
@ -322,8 +318,7 @@ for a really accurate description:
|
||||
|
||||
|
||||
0.11.0: June 1 2001:
|
||||
Mostly a bug fix release.
|
||||
- integration of catalogs from xsltproc
|
||||
Mostly a bug fix release. - integration of catalogs from xsltproc
|
||||
- added --version to xsltproc for bug reporting
|
||||
- fixed errors when handling ID in external parsed entities
|
||||
- document() should hopefully work correctly but ...
|
||||
@ -437,4 +432,3 @@ Mostly a bug fix release.
|
||||
|
||||
Daniel Veillard at
|
||||
bugs.html
|
||||
|
||||
|
98
doc/API.html
98
doc/API.html
@ -1,94 +1,16 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<style type="text/css"><!--
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><style type="text/css">
|
||||
TD {font-family: Verdana,Arial,Helvetica}
|
||||
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
|
||||
H1 {font-family: Verdana,Arial,Helvetica}
|
||||
H2 {font-family: Verdana,Arial,Helvetica}
|
||||
H3 {font-family: Verdana,Arial,Helvetica}
|
||||
A:link, A:visited, A:active { text-decoration: underline }
|
||||
--></style>
|
||||
<title>The programming API</title>
|
||||
</head>
|
||||
<body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000">
|
||||
<table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr>
|
||||
<td width="100">
|
||||
<a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo"></a><a href="http://www.redhat.com"><img src="redhat.gif" alt="Red Hat Logo"></a><div align="left"><a href="http://xmlsoft.org/XSLT/"><img src="Libxslt-Logo-180x168.gif" alt="Made with Libxslt Logo"></a></div>
|
||||
</td>
|
||||
<td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center">
|
||||
<h1>The XSLT C library for Gnome</h1>
|
||||
<h2>The programming API</h2>
|
||||
</td></tr></table></td></tr></table></td>
|
||||
</tr></table>
|
||||
<table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr>
|
||||
<td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td>
|
||||
<table width="100%" border="0" cellspacing="1" cellpadding="3">
|
||||
<tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr>
|
||||
<tr><td bgcolor="#fffacd">
|
||||
<form action="search.php" enctype="application/x-www-form-urlencoded" method="GET">
|
||||
<input name="query" type="TEXT" size="20" value=""><input name="submit" type="submit" value="Search ...">
|
||||
</form>
|
||||
<ul>
|
||||
<li><a href="index.html">Home</a></li>
|
||||
<li><a href="intro.html">Introduction</a></li>
|
||||
<li><a href="docs.html">Documentation</a></li>
|
||||
<li><a href="bugs.html">Reporting bugs and getting help</a></li>
|
||||
<li><a href="help.html">How to help</a></li>
|
||||
<li><a href="downloads.html">Downloads</a></li>
|
||||
<li><a href="FAQ.html">FAQ</a></li>
|
||||
<li><a href="news.html">News</a></li>
|
||||
<li><a href="xsltproc2.html">The xsltproc tool</a></li>
|
||||
<li><a href="docbook.html">DocBook</a></li>
|
||||
<li><a href="API.html">The programming API</a></li>
|
||||
<li><a href="python.html">Python and bindings</a></li>
|
||||
<li><a href="internals.html">Library internals</a></li>
|
||||
<li><a href="extensions.html">Writing extensions</a></li>
|
||||
<li><a href="contribs.html">Contributions</a></li>
|
||||
<li>
|
||||
<a href="xslt.html">flat page</a>, <a href="site.xsl">stylesheet</a>
|
||||
</li>
|
||||
</ul>
|
||||
</td></tr>
|
||||
</table>
|
||||
<table width="100%" border="0" cellspacing="1" cellpadding="3">
|
||||
<tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr>
|
||||
<tr><td bgcolor="#fffacd"><ul>
|
||||
<li><a href="tutorial/libxslttutorial.html">Tutorial</a></li>
|
||||
<li><a href="xsltproc.html">Man page for xsltproc</a></li>
|
||||
<li><a href="http://mail.gnome.org/archives/xslt/">Mail archive</a></li>
|
||||
<li><a href="http://xmlsoft.org/">XML libxml</a></li>
|
||||
<li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li>
|
||||
<li><a href="ftp://xmlsoft.org/">FTP</a></li>
|
||||
<li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li>
|
||||
<li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li>
|
||||
<li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li>
|
||||
<li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li>
|
||||
<li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxslt">Bug Tracker</a></li>
|
||||
<li><a href="http://xsldbg.sourceforge.net/">Xsldbg Debugger</a></li>
|
||||
<li><a href="http://www.mod-xslt.com/mod-xslt/">Apache module</a></li>
|
||||
</ul></td></tr>
|
||||
</table>
|
||||
<table width="100%" border="0" cellspacing="1" cellpadding="3">
|
||||
<tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr>
|
||||
<tr><td bgcolor="#fffacd"><ul>
|
||||
<li><a href="APIchunk0.html">Alphabetic</a></li>
|
||||
<li><a href="APIconstructors.html">Constructors</a></li>
|
||||
<li><a href="APIfunctions.html">Functions/Types</a></li>
|
||||
<li><a href="APIfiles.html">Modules</a></li>
|
||||
<li><a href="APIsymbols.html">Symbols</a></li>
|
||||
</ul></td></tr>
|
||||
</table>
|
||||
</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">
|
||||
<p>Okay this section is clearly incomplete. But integrating libxslt into your
|
||||
</style><title>The programming API</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="100"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.redhat.com"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/XSLT/"><img src="Libxslt-Logo-180x168.gif" alt="Made with Libxslt Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XSLT C library for Gnome</h1><h2>The programming API</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="intro.html">Introduction</a></li><li><a href="docs.html">Documentation</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="news.html">News</a></li><li><a href="xsltproc2.html">The xsltproc tool</a></li><li><a href="docbook.html">DocBook</a></li><li><a href="API.html">The programming API</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="internals.html">Library internals</a></li><li><a href="extensions.html">Writing extensions</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="xslt.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="tutorial/libxslttutorial.html">Tutorial</a></li><li><a href="xsltproc.html">Man page for xsltproc</a></li><li><a href="http://mail.gnome.org/archives/xslt/">Mail archive</a></li><li><a href="http://xmlsoft.org/">XML libxml</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxslt">Bug Tracker</a></li><li><a href="http://xsldbg.sourceforge.net/">Xsldbg Debugger</a></li><li><a href="http://www.mod-xslt.com/mod-xslt/">Apache module</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table></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"><p>Okay this section is clearly incomplete. But integrating libxslt into your
|
||||
application should be relatively easy. First check the few steps described
|
||||
below, then for more detailed informations, look at the<a href="html/libxslt-lib.html"> generated pages</a> for the API and the source
|
||||
of libxslt/xsltproc.c and the <a href="tutorial/libxslttutorial.html">tutorial</a>.</p>
|
||||
<p>Basically doing an XSLT transformation can be done in a few steps:</p>
|
||||
<ol>
|
||||
<li>configure the parser for XSLT:
|
||||
of libxslt/xsltproc.c and the <a href="tutorial/libxslttutorial.html">tutorial</a>.</p><p>Basically doing an XSLT transformation can be done in a few steps:</p><ol><li>configure the parser for XSLT:
|
||||
<p>xmlSubstituteEntitiesDefault(1);</p>
|
||||
<p>xmlLoadExtDtdDefaultValue = 1;</p>
|
||||
</li>
|
||||
@ -97,13 +19,7 @@ of libxslt/xsltproc.c and the <a href="tutorial/libxslttutorial.html">tutorial
|
||||
<li>apply the stylesheet using xsltApplyStylesheet()</li>
|
||||
<li>save the result using xsltSaveResultToFile() if needed set
|
||||
xmlIndentTreeOutput to 1</li>
|
||||
</ol>
|
||||
<p>Steps 2,3, and 5 will probably need to be changed depending on you
|
||||
</ol><p>Steps 2,3, and 5 will probably need to be changed depending on you
|
||||
processing needs and environment for example if reading/saving from/to
|
||||
memory, or if you want to apply XInclude processing to the stylesheet or
|
||||
input documents.</p>
|
||||
<p><a href="bugs.html">Daniel Veillard</a></p>
|
||||
</td></tr></table></td></tr></table></td></tr></table></td>
|
||||
</tr></table></td></tr></table>
|
||||
</body>
|
||||
</html>
|
||||
input documents.</p><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
|
||||
|
98
doc/FAQ.html
98
doc/FAQ.html
@ -1,90 +1,13 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<style type="text/css"><!--
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><style type="text/css">
|
||||
TD {font-family: Verdana,Arial,Helvetica}
|
||||
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
|
||||
H1 {font-family: Verdana,Arial,Helvetica}
|
||||
H2 {font-family: Verdana,Arial,Helvetica}
|
||||
H3 {font-family: Verdana,Arial,Helvetica}
|
||||
A:link, A:visited, A:active { text-decoration: underline }
|
||||
--></style>
|
||||
<title>FAQ</title>
|
||||
</head>
|
||||
<body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000">
|
||||
<table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr>
|
||||
<td width="100">
|
||||
<a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo"></a><a href="http://www.redhat.com"><img src="redhat.gif" alt="Red Hat Logo"></a><div align="left"><a href="http://xmlsoft.org/XSLT/"><img src="Libxslt-Logo-180x168.gif" alt="Made with Libxslt Logo"></a></div>
|
||||
</td>
|
||||
<td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center">
|
||||
<h1>The XSLT C library for Gnome</h1>
|
||||
<h2>FAQ</h2>
|
||||
</td></tr></table></td></tr></table></td>
|
||||
</tr></table>
|
||||
<table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr>
|
||||
<td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td>
|
||||
<table width="100%" border="0" cellspacing="1" cellpadding="3">
|
||||
<tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr>
|
||||
<tr><td bgcolor="#fffacd">
|
||||
<form action="search.php" enctype="application/x-www-form-urlencoded" method="GET">
|
||||
<input name="query" type="TEXT" size="20" value=""><input name="submit" type="submit" value="Search ...">
|
||||
</form>
|
||||
<ul>
|
||||
<li><a href="index.html">Home</a></li>
|
||||
<li><a href="intro.html">Introduction</a></li>
|
||||
<li><a href="docs.html">Documentation</a></li>
|
||||
<li><a href="bugs.html">Reporting bugs and getting help</a></li>
|
||||
<li><a href="help.html">How to help</a></li>
|
||||
<li><a href="downloads.html">Downloads</a></li>
|
||||
<li><a href="FAQ.html">FAQ</a></li>
|
||||
<li><a href="news.html">News</a></li>
|
||||
<li><a href="xsltproc2.html">The xsltproc tool</a></li>
|
||||
<li><a href="docbook.html">DocBook</a></li>
|
||||
<li><a href="API.html">The programming API</a></li>
|
||||
<li><a href="python.html">Python and bindings</a></li>
|
||||
<li><a href="internals.html">Library internals</a></li>
|
||||
<li><a href="extensions.html">Writing extensions</a></li>
|
||||
<li><a href="contribs.html">Contributions</a></li>
|
||||
<li>
|
||||
<a href="xslt.html">flat page</a>, <a href="site.xsl">stylesheet</a>
|
||||
</li>
|
||||
</ul>
|
||||
</td></tr>
|
||||
</table>
|
||||
<table width="100%" border="0" cellspacing="1" cellpadding="3">
|
||||
<tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr>
|
||||
<tr><td bgcolor="#fffacd"><ul>
|
||||
<li><a href="tutorial/libxslttutorial.html">Tutorial</a></li>
|
||||
<li><a href="xsltproc.html">Man page for xsltproc</a></li>
|
||||
<li><a href="http://mail.gnome.org/archives/xslt/">Mail archive</a></li>
|
||||
<li><a href="http://xmlsoft.org/">XML libxml</a></li>
|
||||
<li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li>
|
||||
<li><a href="ftp://xmlsoft.org/">FTP</a></li>
|
||||
<li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li>
|
||||
<li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li>
|
||||
<li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li>
|
||||
<li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li>
|
||||
<li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxslt">Bug Tracker</a></li>
|
||||
<li><a href="http://xsldbg.sourceforge.net/">Xsldbg Debugger</a></li>
|
||||
<li><a href="http://www.mod-xslt.com/mod-xslt/">Apache module</a></li>
|
||||
</ul></td></tr>
|
||||
</table>
|
||||
<table width="100%" border="0" cellspacing="1" cellpadding="3">
|
||||
<tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr>
|
||||
<tr><td bgcolor="#fffacd"><ul>
|
||||
<li><a href="APIchunk0.html">Alphabetic</a></li>
|
||||
<li><a href="APIconstructors.html">Constructors</a></li>
|
||||
<li><a href="APIfunctions.html">Functions/Types</a></li>
|
||||
<li><a href="APIfiles.html">Modules</a></li>
|
||||
<li><a href="APIsymbols.html">Symbols</a></li>
|
||||
</ul></td></tr>
|
||||
</table>
|
||||
</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">
|
||||
<ol>
|
||||
<li>
|
||||
<em>passing parameters on the xsltproc command line doesn't work</em>
|
||||
</style><title>FAQ</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="100"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.redhat.com"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/XSLT/"><img src="Libxslt-Logo-180x168.gif" alt="Made with Libxslt Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XSLT C library for Gnome</h1><h2>FAQ</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="intro.html">Introduction</a></li><li><a href="docs.html">Documentation</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="news.html">News</a></li><li><a href="xsltproc2.html">The xsltproc tool</a></li><li><a href="docbook.html">DocBook</a></li><li><a href="API.html">The programming API</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="internals.html">Library internals</a></li><li><a href="extensions.html">Writing extensions</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="xslt.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="tutorial/libxslttutorial.html">Tutorial</a></li><li><a href="xsltproc.html">Man page for xsltproc</a></li><li><a href="http://mail.gnome.org/archives/xslt/">Mail archive</a></li><li><a href="http://xmlsoft.org/">XML libxml</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxslt">Bug Tracker</a></li><li><a href="http://xsldbg.sourceforge.net/">Xsldbg Debugger</a></li><li><a href="http://www.mod-xslt.com/mod-xslt/">Apache module</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table></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"><ol><li><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>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>
|
||||
@ -98,14 +21,7 @@ A:link, A:visited, A:active { text-decoration: underline }
|
||||
<p>or use</p>
|
||||
<p>xsltproc --stringparam test alpha foo.xsl foo.xml</p>
|
||||
</li>
|
||||
<li>
|
||||
<em>Is there C++ bindings ?</em>
|
||||
<p>Yes for example <a href="http://pmade.org/pjones/software/xmlwrapp/">xmlwrapp</a> , see <a href="python.html">the related pages about bindings</a>
|
||||
</p>
|
||||
<li><em>Is there C++ bindings ?</em>
|
||||
<p>Yes for example <a href="http://pmade.org/pjones/software/xmlwrapp/">xmlwrapp</a> , see <a href="python.html">the related pages about bindings</a></p>
|
||||
</li>
|
||||
</ol>
|
||||
<p><a href="bugs.html">Daniel Veillard</a></p>
|
||||
</td></tr></table></td></tr></table></td></tr></table></td>
|
||||
</tr></table></td></tr></table>
|
||||
</body>
|
||||
</html>
|
||||
</ol><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
|
||||
|
@ -36,14 +36,16 @@ web: $(PAGES) $(APIPAGES)
|
||||
$(PAGES): $(srcdir)/xslt.html $(srcdir)/site.xsl
|
||||
-@(if [ -x $(bindir)/xsltproc ] ; then \
|
||||
$(bindir)/xsltproc --html $(srcdir)/site.xsl $(srcdir)/xslt.html > index.html ; fi )
|
||||
-@(if [ -x $(bindir)/xmllint ] ; then \
|
||||
$(bindir)/xmllint --valid --noout $(PAGES) ; fi );
|
||||
|
||||
$(top_srcdir)/NEWS: $(top_srcdir)/doc/news.xsl $(top_srcdir)/doc/news.html
|
||||
-@(if [ -x $(bindir)/xsltproc ] ; then \
|
||||
$(bindir)/xsltproc --html $(top_srcdir)/doc/news.xsl $(top_srcdir)/doc/news.html > $(top_srcdir)/NEWS ; fi );
|
||||
$(bindir)/xsltproc $(top_srcdir)/doc/news.xsl $(top_srcdir)/doc/news.html > $(top_srcdir)/NEWS ; fi );
|
||||
|
||||
libxslt.xsa: $(top_srcdir)/doc/xsa.xsl $(top_srcdir)/doc/news.html
|
||||
-@(if [ -x $(bindir)/xsltproc ] ; then \
|
||||
$(bindir)/xsltproc --html $(top_srcdir)/doc/xsa.xsl $(top_srcdir)/doc/news.html > libxslt.xsa ; fi );
|
||||
$(bindir)/xsltproc $(top_srcdir)/doc/xsa.xsl $(top_srcdir)/doc/news.html > libxslt.xsa ; fi );
|
||||
|
||||
$(APIPAGES): libxslt-refs.xml site.xsl api.xsl
|
||||
-@(if [ -x $(bindir)/xsltproc ] ; then \
|
||||
|
134
doc/bugs.html
134
doc/bugs.html
@ -1,150 +1,59 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<style type="text/css"><!--
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><style type="text/css">
|
||||
TD {font-family: Verdana,Arial,Helvetica}
|
||||
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
|
||||
H1 {font-family: Verdana,Arial,Helvetica}
|
||||
H2 {font-family: Verdana,Arial,Helvetica}
|
||||
H3 {font-family: Verdana,Arial,Helvetica}
|
||||
A:link, A:visited, A:active { text-decoration: underline }
|
||||
--></style>
|
||||
<title>Reporting bugs and getting help</title>
|
||||
</head>
|
||||
<body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000">
|
||||
<table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr>
|
||||
<td width="100">
|
||||
<a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo"></a><a href="http://www.redhat.com"><img src="redhat.gif" alt="Red Hat Logo"></a><div align="left"><a href="http://xmlsoft.org/XSLT/"><img src="Libxslt-Logo-180x168.gif" alt="Made with Libxslt Logo"></a></div>
|
||||
</td>
|
||||
<td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center">
|
||||
<h1>The XSLT C library for Gnome</h1>
|
||||
<h2>Reporting bugs and getting help</h2>
|
||||
</td></tr></table></td></tr></table></td>
|
||||
</tr></table>
|
||||
<table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr>
|
||||
<td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td>
|
||||
<table width="100%" border="0" cellspacing="1" cellpadding="3">
|
||||
<tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr>
|
||||
<tr><td bgcolor="#fffacd">
|
||||
<form action="search.php" enctype="application/x-www-form-urlencoded" method="GET">
|
||||
<input name="query" type="TEXT" size="20" value=""><input name="submit" type="submit" value="Search ...">
|
||||
</form>
|
||||
<ul>
|
||||
<li><a href="index.html">Home</a></li>
|
||||
<li><a href="intro.html">Introduction</a></li>
|
||||
<li><a href="docs.html">Documentation</a></li>
|
||||
<li><a href="bugs.html">Reporting bugs and getting help</a></li>
|
||||
<li><a href="help.html">How to help</a></li>
|
||||
<li><a href="downloads.html">Downloads</a></li>
|
||||
<li><a href="FAQ.html">FAQ</a></li>
|
||||
<li><a href="news.html">News</a></li>
|
||||
<li><a href="xsltproc2.html">The xsltproc tool</a></li>
|
||||
<li><a href="docbook.html">DocBook</a></li>
|
||||
<li><a href="API.html">The programming API</a></li>
|
||||
<li><a href="python.html">Python and bindings</a></li>
|
||||
<li><a href="internals.html">Library internals</a></li>
|
||||
<li><a href="extensions.html">Writing extensions</a></li>
|
||||
<li><a href="contribs.html">Contributions</a></li>
|
||||
<li>
|
||||
<a href="xslt.html">flat page</a>, <a href="site.xsl">stylesheet</a>
|
||||
</li>
|
||||
</ul>
|
||||
</td></tr>
|
||||
</table>
|
||||
<table width="100%" border="0" cellspacing="1" cellpadding="3">
|
||||
<tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr>
|
||||
<tr><td bgcolor="#fffacd"><ul>
|
||||
<li><a href="tutorial/libxslttutorial.html">Tutorial</a></li>
|
||||
<li><a href="xsltproc.html">Man page for xsltproc</a></li>
|
||||
<li><a href="http://mail.gnome.org/archives/xslt/">Mail archive</a></li>
|
||||
<li><a href="http://xmlsoft.org/">XML libxml</a></li>
|
||||
<li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li>
|
||||
<li><a href="ftp://xmlsoft.org/">FTP</a></li>
|
||||
<li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li>
|
||||
<li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li>
|
||||
<li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li>
|
||||
<li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li>
|
||||
<li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxslt">Bug Tracker</a></li>
|
||||
<li><a href="http://xsldbg.sourceforge.net/">Xsldbg Debugger</a></li>
|
||||
<li><a href="http://www.mod-xslt.com/mod-xslt/">Apache module</a></li>
|
||||
</ul></td></tr>
|
||||
</table>
|
||||
<table width="100%" border="0" cellspacing="1" cellpadding="3">
|
||||
<tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr>
|
||||
<tr><td bgcolor="#fffacd"><ul>
|
||||
<li><a href="APIchunk0.html">Alphabetic</a></li>
|
||||
<li><a href="APIconstructors.html">Constructors</a></li>
|
||||
<li><a href="APIfunctions.html">Functions/Types</a></li>
|
||||
<li><a href="APIfiles.html">Modules</a></li>
|
||||
<li><a href="APIsymbols.html">Symbols</a></li>
|
||||
</ul></td></tr>
|
||||
</table>
|
||||
</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">
|
||||
<p>If you need help with the XSLT language itself, here are a number of
|
||||
useful resources:</p>
|
||||
<ul>
|
||||
<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>
|
||||
</li>
|
||||
</style><title>Reporting bugs and getting help</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="100"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.redhat.com"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/XSLT/"><img src="Libxslt-Logo-180x168.gif" alt="Made with Libxslt Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XSLT C library for Gnome</h1><h2>Reporting bugs and getting help</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="intro.html">Introduction</a></li><li><a href="docs.html">Documentation</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="news.html">News</a></li><li><a href="xsltproc2.html">The xsltproc tool</a></li><li><a href="docbook.html">DocBook</a></li><li><a href="API.html">The programming API</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="internals.html">Library internals</a></li><li><a href="extensions.html">Writing extensions</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="xslt.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="tutorial/libxslttutorial.html">Tutorial</a></li><li><a href="xsltproc.html">Man page for xsltproc</a></li><li><a href="http://mail.gnome.org/archives/xslt/">Mail archive</a></li><li><a href="http://xmlsoft.org/">XML libxml</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxslt">Bug Tracker</a></li><li><a href="http://xsldbg.sourceforge.net/">Xsldbg Debugger</a></li><li><a href="http://www.mod-xslt.com/mod-xslt/">Apache module</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table></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"><p>If you need help with the XSLT language itself, here are a number of
|
||||
useful resources:</p><ul><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></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>
|
||||
written by Paul Grosso and Norman Walsh is a very good on-line
|
||||
introdution to the language.</li>
|
||||
<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>
|
||||
<li>
|
||||
<a href="http://www.jenitennison.com/xslt/index.html">Jeni Tennison's
|
||||
<li><a href="http://www.jenitennison.com/xslt/index.html">Jeni Tennison's
|
||||
XSLT</a> pages provide links to a lot of answers</li>
|
||||
<li>the <a href="http://incrementaldevelopment.com/xsltrick/">Gallery of
|
||||
XSLT Tricks</a> provides non-standard use case of XSLT</li>
|
||||
<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
|
||||
seriously with XSLT in the future.</li>
|
||||
</ul>
|
||||
<p>Well, bugs or missing features are always possible, and I will make a
|
||||
</ul><p>Well, bugs or missing features are always possible, and I will make a
|
||||
point of fixing them in a timely fashion. The best way to report a bug is to
|
||||
use the <a href="http://bugzilla.gnome.org/buglist.cgi?product=libxslt">Gnome
|
||||
bug tracking database</a> (make sure to use the "libxslt" module name). I
|
||||
look at reports there regularly and it's good to have a reminder when a bug
|
||||
is still open. Be sure to specify that the bug is for the package libxslt.</p>
|
||||
<p>There is also a mailing-list <a href="mailto:xslt@gnome.org">xslt@gnome.org</a> for libxslt, with an <a href="http://mail.gnome.org/archives/xslt/">on-line archive</a>. To subscribe
|
||||
is still open. Be sure to specify that the bug is for the package libxslt.</p><p>There is also a mailing-list <a href="mailto:xslt@gnome.org">xslt@gnome.org</a> for libxslt, with an <a href="http://mail.gnome.org/archives/xslt/">on-line archive</a>. To subscribe
|
||||
to this list, please visit the <a href="http://mail.gnome.org/mailman/listinfo/xslt">associated Web</a> page
|
||||
and follow the instructions.</p>
|
||||
<p>Alternatively, you can just send the bug to the <a href="mailto:xslt@gnome.org">xslt@gnome.org</a> list, if it's really libxslt
|
||||
and follow the instructions.</p><p>Alternatively, you can just send the bug to the <a href="mailto:xslt@gnome.org">xslt@gnome.org</a> list, if it's really libxslt
|
||||
related I will approve it.. Please do not send me mail directly especially
|
||||
for portability problem, it makes things really harder to track and in some
|
||||
cases I'm not the best person to answer a given question, ask the list
|
||||
instead. <strong>Do not send code, I won't debug it</strong> (but patches are
|
||||
really appreciated!).</p>
|
||||
<p>Check the following too <span style="color: #E50000">before
|
||||
posting</span>:</p>
|
||||
<ul>
|
||||
<li>
|
||||
<a href="search.php">use the search engine</a> to get informations
|
||||
really appreciated!).</p><p>Check the following too <span style="color: #E50000">before
|
||||
posting</span>:</p><ul><li><a href="search.php">use the search engine</a> to get informations
|
||||
related to your problem.</li>
|
||||
<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>
|
||||
<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
|
||||
there is probably a fix available, similarly check the <a href="http://bugzilla.gnome.org/buglist.cgi?product=libxslt">registered
|
||||
open bugs</a>
|
||||
</li>
|
||||
open bugs</a></li>
|
||||
<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
|
||||
standard error to a file, then search in this file for the transformation
|
||||
logs just preceding the possible problem</li>
|
||||
<li>Please send the command showing the error as well as the input and
|
||||
stylesheet (as an attachment)</li>
|
||||
</ul>
|
||||
<p>Then send the bug with associated informations to reproduce it to the <a href="mailto:xslt@gnome.org">xslt@gnome.org</a> list; if it's really libxslt
|
||||
</ul><p>Then send the bug with associated informations to reproduce it to the <a href="mailto:xslt@gnome.org">xslt@gnome.org</a> list; if it's really libxslt
|
||||
related I will approve it. Please do not send mail to me directly, it makes
|
||||
things really hard to track and in some cases I am not the best person to
|
||||
answer a given question, ask on the list.</p>
|
||||
<p>To <span style="color: #E50000">be really clear about support</span>:</p>
|
||||
<ul>
|
||||
<li>Support or help <span style="color: #E50000">request MUST be sent to
|
||||
answer a given question, ask on the list.</p><p>To <span style="color: #E50000">be really clear about support</span>:</p><ul><li>Support or help <span style="color: #E50000">request MUST be sent to
|
||||
the list or on bugzilla</span> in case of problems, so that the Question
|
||||
and Answers can be shared publicly. Failing to do so carries the implicit
|
||||
message "I want free support but I don't want to share the benefits with
|
||||
@ -158,16 +67,9 @@ answer a given question, ask on the list.</p>
|
||||
for prior feedback also carries the implicit message "the time of the
|
||||
library maintainers is less valuable than my time" and might not be
|
||||
welcome.</li>
|
||||
</ul>
|
||||
<p>Of course, bugs reports with a suggested patch for fixing them will
|
||||
probably be processed faster.</p>
|
||||
<p>If you're looking for help, a quick look at <a href="http://mail.gnome.org/archives/xslt/">the list archive</a> may actually
|
||||
</ul><p>Of course, bugs reports with a suggested patch for fixing them will
|
||||
probably be processed faster.</p><p>If you're looking for help, a quick look at <a href="http://mail.gnome.org/archives/xslt/">the list archive</a> may actually
|
||||
provide the answer, I usually send source samples when answering libxslt
|
||||
usage questions. The <a href="html/libxslt-lib.html#LIBXSLT-LIB">auto-generated documentation</a> is
|
||||
not as polished as I would like (I need to learn more about Docbook), but
|
||||
it's a good starting point.</p>
|
||||
<p><a href="bugs.html">Daniel Veillard</a></p>
|
||||
</td></tr></table></td></tr></table></td></tr></table></td>
|
||||
</tr></table></td></tr></table>
|
||||
</body>
|
||||
</html>
|
||||
it's a good starting point.</p><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
|
||||
|
@ -1,119 +1,34 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<style type="text/css"><!--
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><style type="text/css">
|
||||
TD {font-family: Verdana,Arial,Helvetica}
|
||||
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
|
||||
H1 {font-family: Verdana,Arial,Helvetica}
|
||||
H2 {font-family: Verdana,Arial,Helvetica}
|
||||
H3 {font-family: Verdana,Arial,Helvetica}
|
||||
A:link, A:visited, A:active { text-decoration: underline }
|
||||
--></style>
|
||||
<title>Contributions</title>
|
||||
</head>
|
||||
<body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000">
|
||||
<table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr>
|
||||
<td width="100">
|
||||
<a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo"></a><a href="http://www.redhat.com"><img src="redhat.gif" alt="Red Hat Logo"></a><div align="left"><a href="http://xmlsoft.org/XSLT/"><img src="Libxslt-Logo-180x168.gif" alt="Made with Libxslt Logo"></a></div>
|
||||
</td>
|
||||
<td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center">
|
||||
<h1>The XSLT C library for Gnome</h1>
|
||||
<h2>Contributions</h2>
|
||||
</td></tr></table></td></tr></table></td>
|
||||
</tr></table>
|
||||
<table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr>
|
||||
<td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td>
|
||||
<table width="100%" border="0" cellspacing="1" cellpadding="3">
|
||||
<tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr>
|
||||
<tr><td bgcolor="#fffacd">
|
||||
<form action="search.php" enctype="application/x-www-form-urlencoded" method="GET">
|
||||
<input name="query" type="TEXT" size="20" value=""><input name="submit" type="submit" value="Search ...">
|
||||
</form>
|
||||
<ul>
|
||||
<li><a href="index.html">Home</a></li>
|
||||
<li><a href="intro.html">Introduction</a></li>
|
||||
<li><a href="docs.html">Documentation</a></li>
|
||||
<li><a href="bugs.html">Reporting bugs and getting help</a></li>
|
||||
<li><a href="help.html">How to help</a></li>
|
||||
<li><a href="downloads.html">Downloads</a></li>
|
||||
<li><a href="FAQ.html">FAQ</a></li>
|
||||
<li><a href="news.html">News</a></li>
|
||||
<li><a href="xsltproc2.html">The xsltproc tool</a></li>
|
||||
<li><a href="docbook.html">DocBook</a></li>
|
||||
<li><a href="API.html">The programming API</a></li>
|
||||
<li><a href="python.html">Python and bindings</a></li>
|
||||
<li><a href="internals.html">Library internals</a></li>
|
||||
<li><a href="extensions.html">Writing extensions</a></li>
|
||||
<li><a href="contribs.html">Contributions</a></li>
|
||||
<li>
|
||||
<a href="xslt.html">flat page</a>, <a href="site.xsl">stylesheet</a>
|
||||
</li>
|
||||
</ul>
|
||||
</td></tr>
|
||||
</table>
|
||||
<table width="100%" border="0" cellspacing="1" cellpadding="3">
|
||||
<tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr>
|
||||
<tr><td bgcolor="#fffacd"><ul>
|
||||
<li><a href="tutorial/libxslttutorial.html">Tutorial</a></li>
|
||||
<li><a href="xsltproc.html">Man page for xsltproc</a></li>
|
||||
<li><a href="http://mail.gnome.org/archives/xslt/">Mail archive</a></li>
|
||||
<li><a href="http://xmlsoft.org/">XML libxml</a></li>
|
||||
<li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li>
|
||||
<li><a href="ftp://xmlsoft.org/">FTP</a></li>
|
||||
<li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li>
|
||||
<li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li>
|
||||
<li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li>
|
||||
<li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li>
|
||||
<li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxslt">Bug Tracker</a></li>
|
||||
<li><a href="http://xsldbg.sourceforge.net/">Xsldbg Debugger</a></li>
|
||||
<li><a href="http://www.mod-xslt.com/mod-xslt/">Apache module</a></li>
|
||||
</ul></td></tr>
|
||||
</table>
|
||||
<table width="100%" border="0" cellspacing="1" cellpadding="3">
|
||||
<tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr>
|
||||
<tr><td bgcolor="#fffacd"><ul>
|
||||
<li><a href="APIchunk0.html">Alphabetic</a></li>
|
||||
<li><a href="APIconstructors.html">Constructors</a></li>
|
||||
<li><a href="APIfunctions.html">Functions/Types</a></li>
|
||||
<li><a href="APIfiles.html">Modules</a></li>
|
||||
<li><a href="APIsymbols.html">Symbols</a></li>
|
||||
</ul></td></tr>
|
||||
</table>
|
||||
</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">
|
||||
<ul>
|
||||
<li>Bjorn Reese is the author of the number support and worked on the
|
||||
</style><title>Contributions</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="100"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.redhat.com"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/XSLT/"><img src="Libxslt-Logo-180x168.gif" alt="Made with Libxslt Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XSLT C library for Gnome</h1><h2>Contributions</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="intro.html">Introduction</a></li><li><a href="docs.html">Documentation</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="news.html">News</a></li><li><a href="xsltproc2.html">The xsltproc tool</a></li><li><a href="docbook.html">DocBook</a></li><li><a href="API.html">The programming API</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="internals.html">Library internals</a></li><li><a href="extensions.html">Writing extensions</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="xslt.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="tutorial/libxslttutorial.html">Tutorial</a></li><li><a href="xsltproc.html">Man page for xsltproc</a></li><li><a href="http://mail.gnome.org/archives/xslt/">Mail archive</a></li><li><a href="http://xmlsoft.org/">XML libxml</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxslt">Bug Tracker</a></li><li><a href="http://xsldbg.sourceforge.net/">Xsldbg Debugger</a></li><li><a href="http://www.mod-xslt.com/mod-xslt/">Apache module</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table></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"><ul><li>Bjorn Reese is the author of the number support and worked on the
|
||||
XSLTMark support</li>
|
||||
<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
|
||||
libxslt</li>
|
||||
<li>
|
||||
<a href="mailto:igor@zlatkovic.com">Igor Zlatkovic</a> is now the
|
||||
<li><a href="mailto:igor@zlatkovic.com">Igor Zlatkovic</a> is now the
|
||||
maintainer of the Windows port, <a href="http://www.zlatkovic.com/projects/libxml/index.html">he provides
|
||||
binaries</a>
|
||||
</li>
|
||||
binaries</a></li>
|
||||
<li>Thomas Broyer provided a lot of suggestions, and drafted most of the
|
||||
extension API</li>
|
||||
<li>John Fleck maintains <a href="tutorial/libxslttutorial.html">a tutorial
|
||||
for libxslt</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="http://mail.gnome.org/archives/xml/2001-March/msg00014.html">Matt
|
||||
for libxslt</a></li>
|
||||
<li><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
|
||||
libxml2/libxslt as part of the <a href="http://axkit.com/">AxKit XML
|
||||
application server</a>
|
||||
</li>
|
||||
application server</a></li>
|
||||
<li>there is a module for <a href="http://acs-misc.sourceforge.net/nsxml.html">libxml/libxslt support
|
||||
in OpenNSD/AOLServer</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="mailto:dkuhlman@cutter.rexx.com">Dave Kuhlman</a> provides
|
||||
in OpenNSD/AOLServer</a></li>
|
||||
<li><a href="mailto:dkuhlman@cutter.rexx.com">Dave Kuhlman</a> provides
|
||||
libxml/libxslt <a href="http://www.rexx.com/~dkuhlman">wrappers for
|
||||
Python</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="mailto:Steve.Ball@zveno.com">Steve Ball</a>, <a href="http://www.zveno.com/">Zveno</a> and contributors maintain <a href="http://tclxml.sourceforge.net/">tcl bindings for libxml2 and
|
||||
Python</a></li>
|
||||
<li><a href="mailto:Steve.Ball@zveno.com">Steve Ball</a>, <a href="http://www.zveno.com/">Zveno</a> and contributors maintain <a href="http://tclxml.sourceforge.net/">tcl bindings for libxml2 and
|
||||
libxslt</a>, as well as <a href="http://tclxml.sf.net/tkxmllint.html">tkxmllint</a> a GUI for
|
||||
xmllint and <a href="http://tclxml.sf.net/tkxsltproc.html">tkxsltproc</a>
|
||||
a GUI for xsltproc.</li>
|
||||
@ -121,11 +36,4 @@ A:link, A:visited, A:active { text-decoration: underline }
|
||||
framework, Marc Liyanage provides <a href="http://www.entropy.ch/software/macosx/#testxslt">an application
|
||||
TestXSLT for XSLT and XML editing</a> including wrapper classes for the
|
||||
XML parser and XSLT processor.</li>
|
||||
</ul>
|
||||
<p></p>
|
||||
<p><a href="mailto:daniel@veillard.com">Daniel Veillard</a></p>
|
||||
<p><a href="bugs.html">Daniel Veillard</a></p>
|
||||
</td></tr></table></td></tr></table></td></tr></table></td>
|
||||
</tr></table></td></tr></table>
|
||||
</body>
|
||||
</html>
|
||||
</ul><p></p><p><a href="mailto:daniel@veillard.com">Daniel Veillard</a></p><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
|
||||
|
127
doc/docbook.html
127
doc/docbook.html
@ -1,104 +1,22 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<style type="text/css"><!--
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><style type="text/css">
|
||||
TD {font-family: Verdana,Arial,Helvetica}
|
||||
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
|
||||
H1 {font-family: Verdana,Arial,Helvetica}
|
||||
H2 {font-family: Verdana,Arial,Helvetica}
|
||||
H3 {font-family: Verdana,Arial,Helvetica}
|
||||
A:link, A:visited, A:active { text-decoration: underline }
|
||||
--></style>
|
||||
<title>DocBook</title>
|
||||
</head>
|
||||
<body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000">
|
||||
<table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr>
|
||||
<td width="100">
|
||||
<a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo"></a><a href="http://www.redhat.com"><img src="redhat.gif" alt="Red Hat Logo"></a><div align="left"><a href="http://xmlsoft.org/XSLT/"><img src="Libxslt-Logo-180x168.gif" alt="Made with Libxslt Logo"></a></div>
|
||||
</td>
|
||||
<td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center">
|
||||
<h1>The XSLT C library for Gnome</h1>
|
||||
<h2>DocBook</h2>
|
||||
</td></tr></table></td></tr></table></td>
|
||||
</tr></table>
|
||||
<table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr>
|
||||
<td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td>
|
||||
<table width="100%" border="0" cellspacing="1" cellpadding="3">
|
||||
<tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr>
|
||||
<tr><td bgcolor="#fffacd">
|
||||
<form action="search.php" enctype="application/x-www-form-urlencoded" method="GET">
|
||||
<input name="query" type="TEXT" size="20" value=""><input name="submit" type="submit" value="Search ...">
|
||||
</form>
|
||||
<ul>
|
||||
<li><a href="index.html">Home</a></li>
|
||||
<li><a href="intro.html">Introduction</a></li>
|
||||
<li><a href="docs.html">Documentation</a></li>
|
||||
<li><a href="bugs.html">Reporting bugs and getting help</a></li>
|
||||
<li><a href="help.html">How to help</a></li>
|
||||
<li><a href="downloads.html">Downloads</a></li>
|
||||
<li><a href="FAQ.html">FAQ</a></li>
|
||||
<li><a href="news.html">News</a></li>
|
||||
<li><a href="xsltproc2.html">The xsltproc tool</a></li>
|
||||
<li><a href="docbook.html">DocBook</a></li>
|
||||
<li><a href="API.html">The programming API</a></li>
|
||||
<li><a href="python.html">Python and bindings</a></li>
|
||||
<li><a href="internals.html">Library internals</a></li>
|
||||
<li><a href="extensions.html">Writing extensions</a></li>
|
||||
<li><a href="contribs.html">Contributions</a></li>
|
||||
<li>
|
||||
<a href="xslt.html">flat page</a>, <a href="site.xsl">stylesheet</a>
|
||||
</li>
|
||||
</ul>
|
||||
</td></tr>
|
||||
</table>
|
||||
<table width="100%" border="0" cellspacing="1" cellpadding="3">
|
||||
<tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr>
|
||||
<tr><td bgcolor="#fffacd"><ul>
|
||||
<li><a href="tutorial/libxslttutorial.html">Tutorial</a></li>
|
||||
<li><a href="xsltproc.html">Man page for xsltproc</a></li>
|
||||
<li><a href="http://mail.gnome.org/archives/xslt/">Mail archive</a></li>
|
||||
<li><a href="http://xmlsoft.org/">XML libxml</a></li>
|
||||
<li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li>
|
||||
<li><a href="ftp://xmlsoft.org/">FTP</a></li>
|
||||
<li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li>
|
||||
<li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li>
|
||||
<li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li>
|
||||
<li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li>
|
||||
<li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxslt">Bug Tracker</a></li>
|
||||
<li><a href="http://xsldbg.sourceforge.net/">Xsldbg Debugger</a></li>
|
||||
<li><a href="http://www.mod-xslt.com/mod-xslt/">Apache module</a></li>
|
||||
</ul></td></tr>
|
||||
</table>
|
||||
<table width="100%" border="0" cellspacing="1" cellpadding="3">
|
||||
<tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr>
|
||||
<tr><td bgcolor="#fffacd"><ul>
|
||||
<li><a href="APIchunk0.html">Alphabetic</a></li>
|
||||
<li><a href="APIconstructors.html">Constructors</a></li>
|
||||
<li><a href="APIfunctions.html">Functions/Types</a></li>
|
||||
<li><a href="APIfiles.html">Modules</a></li>
|
||||
<li><a href="APIsymbols.html">Symbols</a></li>
|
||||
</ul></td></tr>
|
||||
</table>
|
||||
</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">
|
||||
<p><img src="duck.png" align="right" alt="The duck picture"></p>
|
||||
<p>
|
||||
<a href="http://www.oasis-open.org/committees/docbook/">DocBook</a> is an
|
||||
</style><title>DocBook</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="100"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.redhat.com"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/XSLT/"><img src="Libxslt-Logo-180x168.gif" alt="Made with Libxslt Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XSLT C library for Gnome</h1><h2>DocBook</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="intro.html">Introduction</a></li><li><a href="docs.html">Documentation</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="news.html">News</a></li><li><a href="xsltproc2.html">The xsltproc tool</a></li><li><a href="docbook.html">DocBook</a></li><li><a href="API.html">The programming API</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="internals.html">Library internals</a></li><li><a href="extensions.html">Writing extensions</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="xslt.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="tutorial/libxslttutorial.html">Tutorial</a></li><li><a href="xsltproc.html">Man page for xsltproc</a></li><li><a href="http://mail.gnome.org/archives/xslt/">Mail archive</a></li><li><a href="http://xmlsoft.org/">XML libxml</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxslt">Bug Tracker</a></li><li><a href="http://xsldbg.sourceforge.net/">Xsldbg Debugger</a></li><li><a href="http://www.mod-xslt.com/mod-xslt/">Apache module</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table></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"><p><img src="duck.png" align="right" alt="The duck picture" /></p><p><a href="http://www.oasis-open.org/committees/docbook/">DocBook</a> is an
|
||||
XML/SGML vocabulary particularly well suited to books and papers about
|
||||
computer hardware and software.</p>
|
||||
<p>xsltproc and libxslt are not specifically dependant on DocBook, but since
|
||||
computer hardware and software.</p><p>xsltproc and libxslt are not specifically dependant on DocBook, but since
|
||||
a lot of people use xsltproc and libxml2 for DocBook formatting, here are a
|
||||
few pointers and informations which may be helpful:</p>
|
||||
<ul>
|
||||
<li>The <a href="http://www.oasis-open.org/committees/docbook/">DocBook
|
||||
few pointers and informations which may be helpful:</p><ul><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
|
||||
versions of the DTDs and XSLT stylesheets</li>
|
||||
<li>
|
||||
<a href="http://www.docbook.org/">DocBook: The Definitive Guide</a> is
|
||||
<li><a href="http://www.docbook.org/">DocBook: The Definitive Guide</a> is
|
||||
the official reference documentation for DocBook.</li>
|
||||
<li>
|
||||
<a href="https://sourceforge.net/docman/index.php?group_id=21935">DocBook
|
||||
<li><a href="https://sourceforge.net/docman/index.php?group_id=21935">DocBook
|
||||
Open Repository</a> contains a lot of informations about DocBook</li>
|
||||
<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/
|
||||
@ -118,25 +36,17 @@ few pointers and informations which may be helpful:</p>
|
||||
<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>
|
||||
<li>Tim Waugh's <a href="http://cyberelk.net/tim/xmlto/">xmlto front-end
|
||||
conversion script</a>
|
||||
</li>
|
||||
conversion script</a></li>
|
||||
<li>Linux Documentation Project <a href="http://www.linuxdoc.org/HOWTO/mini/DocBook-Install/">
|
||||
DocBook-Install-mini-HOWTO</a>
|
||||
</li>
|
||||
DocBook-Install-mini-HOWTO</a></li>
|
||||
<li>ScrollKeeper the open documentation cataloging project has a <a href="http://scrollkeeper.sourceforge.net/docbook.shtml">DocBook
|
||||
section</a>
|
||||
</li>
|
||||
section</a></li>
|
||||
<li>Dan York presentation on <a href="http://www.lodestar2.com/people/dyork/talks/2001/xugo/docbook/index.html">Publishing
|
||||
using DocBook XML</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p>Do not use the --docbook option of xsltproc to process XML DocBook
|
||||
using DocBook XML</a></li>
|
||||
</ul><p>Do not use the --docbook option of xsltproc to process XML DocBook
|
||||
documents, this option is only intended to provide some (limited) support of
|
||||
the SGML version of DocBook.</p>
|
||||
<p>Points which are not DocBook specific but still worth mentionning
|
||||
again:</p>
|
||||
<ul>
|
||||
<li>if you think DocBook processing time is too slow, make sure you have
|
||||
the SGML version of DocBook.</p><p>Points which are not DocBook specific but still worth mentionning
|
||||
again:</p><ul><li>if you think DocBook processing time is too slow, make sure you have
|
||||
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>
|
||||
to understand more on this subject.</li>
|
||||
@ -147,9 +57,4 @@ again:</p>
|
||||
with some forms of validity errors left, but in general it can give
|
||||
troubles on output.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<p><a href="bugs.html">Daniel Veillard</a></p>
|
||||
</td></tr></table></td></tr></table></td></tr></table></td>
|
||||
</tr></table></td></tr></table>
|
||||
</body>
|
||||
</html>
|
||||
</ul><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
|
||||
|
@ -1,100 +1,17 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<style type="text/css"><!--
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><style type="text/css">
|
||||
TD {font-family: Verdana,Arial,Helvetica}
|
||||
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
|
||||
H1 {font-family: Verdana,Arial,Helvetica}
|
||||
H2 {font-family: Verdana,Arial,Helvetica}
|
||||
H3 {font-family: Verdana,Arial,Helvetica}
|
||||
A:link, A:visited, A:active { text-decoration: underline }
|
||||
--></style>
|
||||
<title>Documentation</title>
|
||||
</head>
|
||||
<body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000">
|
||||
<table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr>
|
||||
<td width="100">
|
||||
<a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo"></a><a href="http://www.redhat.com"><img src="redhat.gif" alt="Red Hat Logo"></a><div align="left"><a href="http://xmlsoft.org/XSLT/"><img src="Libxslt-Logo-180x168.gif" alt="Made with Libxslt Logo"></a></div>
|
||||
</td>
|
||||
<td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center">
|
||||
<h1>The XSLT C library for Gnome</h1>
|
||||
<h2>Documentation</h2>
|
||||
</td></tr></table></td></tr></table></td>
|
||||
</tr></table>
|
||||
<table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr>
|
||||
<td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td>
|
||||
<table width="100%" border="0" cellspacing="1" cellpadding="3">
|
||||
<tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr>
|
||||
<tr><td bgcolor="#fffacd">
|
||||
<form action="search.php" enctype="application/x-www-form-urlencoded" method="GET">
|
||||
<input name="query" type="TEXT" size="20" value=""><input name="submit" type="submit" value="Search ...">
|
||||
</form>
|
||||
<ul>
|
||||
<li><a href="index.html">Home</a></li>
|
||||
<li><a href="intro.html">Introduction</a></li>
|
||||
<li><a href="docs.html">Documentation</a></li>
|
||||
<li><a href="bugs.html">Reporting bugs and getting help</a></li>
|
||||
<li><a href="help.html">How to help</a></li>
|
||||
<li><a href="downloads.html">Downloads</a></li>
|
||||
<li><a href="FAQ.html">FAQ</a></li>
|
||||
<li><a href="news.html">News</a></li>
|
||||
<li><a href="xsltproc2.html">The xsltproc tool</a></li>
|
||||
<li><a href="docbook.html">DocBook</a></li>
|
||||
<li><a href="API.html">The programming API</a></li>
|
||||
<li><a href="python.html">Python and bindings</a></li>
|
||||
<li><a href="internals.html">Library internals</a></li>
|
||||
<li><a href="extensions.html">Writing extensions</a></li>
|
||||
<li><a href="contribs.html">Contributions</a></li>
|
||||
<li>
|
||||
<a href="xslt.html">flat page</a>, <a href="site.xsl">stylesheet</a>
|
||||
</li>
|
||||
</ul>
|
||||
</td></tr>
|
||||
</table>
|
||||
<table width="100%" border="0" cellspacing="1" cellpadding="3">
|
||||
<tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr>
|
||||
<tr><td bgcolor="#fffacd"><ul>
|
||||
<li><a href="tutorial/libxslttutorial.html">Tutorial</a></li>
|
||||
<li><a href="xsltproc.html">Man page for xsltproc</a></li>
|
||||
<li><a href="http://mail.gnome.org/archives/xslt/">Mail archive</a></li>
|
||||
<li><a href="http://xmlsoft.org/">XML libxml</a></li>
|
||||
<li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li>
|
||||
<li><a href="ftp://xmlsoft.org/">FTP</a></li>
|
||||
<li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li>
|
||||
<li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li>
|
||||
<li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li>
|
||||
<li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li>
|
||||
<li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxslt">Bug Tracker</a></li>
|
||||
<li><a href="http://xsldbg.sourceforge.net/">Xsldbg Debugger</a></li>
|
||||
<li><a href="http://www.mod-xslt.com/mod-xslt/">Apache module</a></li>
|
||||
</ul></td></tr>
|
||||
</table>
|
||||
<table width="100%" border="0" cellspacing="1" cellpadding="3">
|
||||
<tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr>
|
||||
<tr><td bgcolor="#fffacd"><ul>
|
||||
<li><a href="APIchunk0.html">Alphabetic</a></li>
|
||||
<li><a href="APIconstructors.html">Constructors</a></li>
|
||||
<li><a href="APIfunctions.html">Functions/Types</a></li>
|
||||
<li><a href="APIfiles.html">Modules</a></li>
|
||||
<li><a href="APIsymbols.html">Symbols</a></li>
|
||||
</ul></td></tr>
|
||||
</table>
|
||||
</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">
|
||||
<p>There are some on-line resources about using libxslt:</p>
|
||||
<ol>
|
||||
<li>Check the <a href="html/libxslt-lib.html#LIBXSLT-LIB">API
|
||||
</style><title>Documentation</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="100"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.redhat.com"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/XSLT/"><img src="Libxslt-Logo-180x168.gif" alt="Made with Libxslt Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XSLT C library for Gnome</h1><h2>Documentation</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="intro.html">Introduction</a></li><li><a href="docs.html">Documentation</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="news.html">News</a></li><li><a href="xsltproc2.html">The xsltproc tool</a></li><li><a href="docbook.html">DocBook</a></li><li><a href="API.html">The programming API</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="internals.html">Library internals</a></li><li><a href="extensions.html">Writing extensions</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="xslt.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="tutorial/libxslttutorial.html">Tutorial</a></li><li><a href="xsltproc.html">Man page for xsltproc</a></li><li><a href="http://mail.gnome.org/archives/xslt/">Mail archive</a></li><li><a href="http://xmlsoft.org/">XML libxml</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxslt">Bug Tracker</a></li><li><a href="http://xsldbg.sourceforge.net/">Xsldbg Debugger</a></li><li><a href="http://www.mod-xslt.com/mod-xslt/">Apache module</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table></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"><p>There are some on-line resources about using libxslt:</p><ol><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
|
||||
doc</a>).</li>
|
||||
<li>Look at the <a href="http://mail.gnome.org/archives/xslt/">mailing-list
|
||||
archive</a>.</li>
|
||||
<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>
|
||||
</li>
|
||||
</ol>
|
||||
<p><a href="bugs.html">Daniel Veillard</a></p>
|
||||
</td></tr></table></td></tr></table></td></tr></table></td>
|
||||
</tr></table></td></tr></table>
|
||||
</body>
|
||||
</html>
|
||||
least read <a href="http://xmlsoft.org/">libxml description</a></li>
|
||||
</ol><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
|
||||
|
@ -1,88 +1,13 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<style type="text/css"><!--
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><style type="text/css">
|
||||
TD {font-family: Verdana,Arial,Helvetica}
|
||||
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
|
||||
H1 {font-family: Verdana,Arial,Helvetica}
|
||||
H2 {font-family: Verdana,Arial,Helvetica}
|
||||
H3 {font-family: Verdana,Arial,Helvetica}
|
||||
A:link, A:visited, A:active { text-decoration: underline }
|
||||
--></style>
|
||||
<title>Downloads</title>
|
||||
</head>
|
||||
<body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000">
|
||||
<table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr>
|
||||
<td width="100">
|
||||
<a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo"></a><a href="http://www.redhat.com"><img src="redhat.gif" alt="Red Hat Logo"></a><div align="left"><a href="http://xmlsoft.org/XSLT/"><img src="Libxslt-Logo-180x168.gif" alt="Made with Libxslt Logo"></a></div>
|
||||
</td>
|
||||
<td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center">
|
||||
<h1>The XSLT C library for Gnome</h1>
|
||||
<h2>Downloads</h2>
|
||||
</td></tr></table></td></tr></table></td>
|
||||
</tr></table>
|
||||
<table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr>
|
||||
<td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td>
|
||||
<table width="100%" border="0" cellspacing="1" cellpadding="3">
|
||||
<tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr>
|
||||
<tr><td bgcolor="#fffacd">
|
||||
<form action="search.php" enctype="application/x-www-form-urlencoded" method="GET">
|
||||
<input name="query" type="TEXT" size="20" value=""><input name="submit" type="submit" value="Search ...">
|
||||
</form>
|
||||
<ul>
|
||||
<li><a href="index.html">Home</a></li>
|
||||
<li><a href="intro.html">Introduction</a></li>
|
||||
<li><a href="docs.html">Documentation</a></li>
|
||||
<li><a href="bugs.html">Reporting bugs and getting help</a></li>
|
||||
<li><a href="help.html">How to help</a></li>
|
||||
<li><a href="downloads.html">Downloads</a></li>
|
||||
<li><a href="FAQ.html">FAQ</a></li>
|
||||
<li><a href="news.html">News</a></li>
|
||||
<li><a href="xsltproc2.html">The xsltproc tool</a></li>
|
||||
<li><a href="docbook.html">DocBook</a></li>
|
||||
<li><a href="API.html">The programming API</a></li>
|
||||
<li><a href="python.html">Python and bindings</a></li>
|
||||
<li><a href="internals.html">Library internals</a></li>
|
||||
<li><a href="extensions.html">Writing extensions</a></li>
|
||||
<li><a href="contribs.html">Contributions</a></li>
|
||||
<li>
|
||||
<a href="xslt.html">flat page</a>, <a href="site.xsl">stylesheet</a>
|
||||
</li>
|
||||
</ul>
|
||||
</td></tr>
|
||||
</table>
|
||||
<table width="100%" border="0" cellspacing="1" cellpadding="3">
|
||||
<tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr>
|
||||
<tr><td bgcolor="#fffacd"><ul>
|
||||
<li><a href="tutorial/libxslttutorial.html">Tutorial</a></li>
|
||||
<li><a href="xsltproc.html">Man page for xsltproc</a></li>
|
||||
<li><a href="http://mail.gnome.org/archives/xslt/">Mail archive</a></li>
|
||||
<li><a href="http://xmlsoft.org/">XML libxml</a></li>
|
||||
<li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li>
|
||||
<li><a href="ftp://xmlsoft.org/">FTP</a></li>
|
||||
<li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li>
|
||||
<li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li>
|
||||
<li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li>
|
||||
<li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li>
|
||||
<li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxslt">Bug Tracker</a></li>
|
||||
<li><a href="http://xsldbg.sourceforge.net/">Xsldbg Debugger</a></li>
|
||||
<li><a href="http://www.mod-xslt.com/mod-xslt/">Apache module</a></li>
|
||||
</ul></td></tr>
|
||||
</table>
|
||||
<table width="100%" border="0" cellspacing="1" cellpadding="3">
|
||||
<tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr>
|
||||
<tr><td bgcolor="#fffacd"><ul>
|
||||
<li><a href="APIchunk0.html">Alphabetic</a></li>
|
||||
<li><a href="APIconstructors.html">Constructors</a></li>
|
||||
<li><a href="APIfunctions.html">Functions/Types</a></li>
|
||||
<li><a href="APIfiles.html">Modules</a></li>
|
||||
<li><a href="APIsymbols.html">Symbols</a></li>
|
||||
</ul></td></tr>
|
||||
</table>
|
||||
</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">
|
||||
<p>The latest versions of libxslt can be found on <a href="ftp://xmlsoft.org/">xmlsoft.org</a> (<a href="ftp://speakeasy.rpmfind.net/pub/libxml/">Seattle</a>, <a href="ftp://fr.rpmfind.net/pub/libxml/">France</a>) or on the <a href="ftp://ftp.gnome.org/pub/GNOME/MIRRORS.html">Gnome FTP server</a> as a
|
||||
</style><title>Downloads</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="100"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.redhat.com"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/XSLT/"><img src="Libxslt-Logo-180x168.gif" alt="Made with Libxslt Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XSLT C library for Gnome</h1><h2>Downloads</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="intro.html">Introduction</a></li><li><a href="docs.html">Documentation</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="news.html">News</a></li><li><a href="xsltproc2.html">The xsltproc tool</a></li><li><a href="docbook.html">DocBook</a></li><li><a href="API.html">The programming API</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="internals.html">Library internals</a></li><li><a href="extensions.html">Writing extensions</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="xslt.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="tutorial/libxslttutorial.html">Tutorial</a></li><li><a href="xsltproc.html">Man page for xsltproc</a></li><li><a href="http://mail.gnome.org/archives/xslt/">Mail archive</a></li><li><a href="http://xmlsoft.org/">XML libxml</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxslt">Bug Tracker</a></li><li><a href="http://xsldbg.sourceforge.net/">Xsldbg Debugger</a></li><li><a href="http://www.mod-xslt.com/mod-xslt/">Apache module</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table></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"><p>The latest versions of libxslt can be found on <a href="ftp://xmlsoft.org/">xmlsoft.org</a> (<a href="ftp://speakeasy.rpmfind.net/pub/libxml/">Seattle</a>, <a href="ftp://fr.rpmfind.net/pub/libxml/">France</a>) or on the <a href="ftp://ftp.gnome.org/pub/GNOME/MIRRORS.html">Gnome FTP server</a> as a
|
||||
<a href="ftp://ftp.gnome.org/pub/GNOME/sources/libxslt/1.0/">source
|
||||
archive</a>, Antonin Sprinzl also provides <a href="ftp://gd.tuwien.ac.at/pub/libxml/">a mirror in Austria</a>. (NOTE that
|
||||
you need the <a href="http://rpmfind.net/linux/RPM/libxml2.html">libxml2</a>,
|
||||
@ -93,25 +18,12 @@ the Windows port, <a href="http://www.zlatkovic.com/projects/libxml/index.html">
|
||||
binaries</a>. <a href="mailto:Gary.Pennington@sun.com">Gary Pennington</a>
|
||||
provides <a href="http://garypennington.net/libxml2/">Solaris binaries</a>.
|
||||
<a href="mailto:Steve.Ball@zveno.com">Steve Ball</a> provides <a href="http://www.zveno.com/open_source/libxml2xslt.html">Mac Os X
|
||||
binaries</a>.</p>
|
||||
<p><a name="Contribs">Contribs:</a></p>
|
||||
<p>I do accept external contributions, especially if compiling on another
|
||||
binaries</a>.</p><p><a name="Contribs" id="Contribs">Contribs:</a></p><p>I do accept external contributions, especially if compiling on another
|
||||
platform, get in touch with me to upload the package. I will keep them in the
|
||||
<a href="ftp://xmlsoft.org/contribs/">contrib directory</a>
|
||||
</p>
|
||||
<p>Libxslt is also available from CVS:</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>The <a href="http://cvs.gnome.org/bonsai/rview.cgi?cvsroot=/cvs/gnome&dir=libxslt">Gnome
|
||||
<a href="ftp://xmlsoft.org/contribs/">contrib directory</a></p><p>Libxslt is also available from CVS:</p><ul><li><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>
|
||||
page; the CVS module is <b>libxslt</b>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<a href="ftp://xmlsoft.org/XSLT/cvs-snapshot.tar.gz">daily snapshots
|
||||
<li><a href="ftp://xmlsoft.org/XSLT/cvs-snapshot.tar.gz">daily snapshots
|
||||
from CVS</a> are also provided</li>
|
||||
</ul>
|
||||
<p><a href="bugs.html">Daniel Veillard</a></p>
|
||||
</td></tr></table></td></tr></table></td></tr></table></td>
|
||||
</tr></table></td></tr></table>
|
||||
</body>
|
||||
</html>
|
||||
</ul><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
|
||||
|
@ -1,90 +1,13 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<style type="text/css"><!--
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><style type="text/css">
|
||||
TD {font-family: Verdana,Arial,Helvetica}
|
||||
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
|
||||
H1 {font-family: Verdana,Arial,Helvetica}
|
||||
H2 {font-family: Verdana,Arial,Helvetica}
|
||||
H3 {font-family: Verdana,Arial,Helvetica}
|
||||
A:link, A:visited, A:active { text-decoration: underline }
|
||||
--></style>
|
||||
<title>Writing extensions</title>
|
||||
</head>
|
||||
<body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000">
|
||||
<table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr>
|
||||
<td width="100">
|
||||
<a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo"></a><a href="http://www.redhat.com"><img src="redhat.gif" alt="Red Hat Logo"></a><div align="left"><a href="http://xmlsoft.org/XSLT/"><img src="Libxslt-Logo-180x168.gif" alt="Made with Libxslt Logo"></a></div>
|
||||
</td>
|
||||
<td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center">
|
||||
<h1>The XSLT C library for Gnome</h1>
|
||||
<h2>Writing extensions</h2>
|
||||
</td></tr></table></td></tr></table></td>
|
||||
</tr></table>
|
||||
<table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr>
|
||||
<td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td>
|
||||
<table width="100%" border="0" cellspacing="1" cellpadding="3">
|
||||
<tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr>
|
||||
<tr><td bgcolor="#fffacd">
|
||||
<form action="search.php" enctype="application/x-www-form-urlencoded" method="GET">
|
||||
<input name="query" type="TEXT" size="20" value=""><input name="submit" type="submit" value="Search ...">
|
||||
</form>
|
||||
<ul>
|
||||
<li><a href="index.html">Home</a></li>
|
||||
<li><a href="intro.html">Introduction</a></li>
|
||||
<li><a href="docs.html">Documentation</a></li>
|
||||
<li><a href="bugs.html">Reporting bugs and getting help</a></li>
|
||||
<li><a href="help.html">How to help</a></li>
|
||||
<li><a href="downloads.html">Downloads</a></li>
|
||||
<li><a href="FAQ.html">FAQ</a></li>
|
||||
<li><a href="news.html">News</a></li>
|
||||
<li><a href="xsltproc2.html">The xsltproc tool</a></li>
|
||||
<li><a href="docbook.html">DocBook</a></li>
|
||||
<li><a href="API.html">The programming API</a></li>
|
||||
<li><a href="python.html">Python and bindings</a></li>
|
||||
<li><a href="internals.html">Library internals</a></li>
|
||||
<li><a href="extensions.html">Writing extensions</a></li>
|
||||
<li><a href="contribs.html">Contributions</a></li>
|
||||
<li>
|
||||
<a href="xslt.html">flat page</a>, <a href="site.xsl">stylesheet</a>
|
||||
</li>
|
||||
</ul>
|
||||
</td></tr>
|
||||
</table>
|
||||
<table width="100%" border="0" cellspacing="1" cellpadding="3">
|
||||
<tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr>
|
||||
<tr><td bgcolor="#fffacd"><ul>
|
||||
<li><a href="tutorial/libxslttutorial.html">Tutorial</a></li>
|
||||
<li><a href="xsltproc.html">Man page for xsltproc</a></li>
|
||||
<li><a href="http://mail.gnome.org/archives/xslt/">Mail archive</a></li>
|
||||
<li><a href="http://xmlsoft.org/">XML libxml</a></li>
|
||||
<li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li>
|
||||
<li><a href="ftp://xmlsoft.org/">FTP</a></li>
|
||||
<li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li>
|
||||
<li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li>
|
||||
<li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li>
|
||||
<li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li>
|
||||
<li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxslt">Bug Tracker</a></li>
|
||||
<li><a href="http://xsldbg.sourceforge.net/">Xsldbg Debugger</a></li>
|
||||
<li><a href="http://www.mod-xslt.com/mod-xslt/">Apache module</a></li>
|
||||
</ul></td></tr>
|
||||
</table>
|
||||
<table width="100%" border="0" cellspacing="1" cellpadding="3">
|
||||
<tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr>
|
||||
<tr><td bgcolor="#fffacd"><ul>
|
||||
<li><a href="APIchunk0.html">Alphabetic</a></li>
|
||||
<li><a href="APIconstructors.html">Constructors</a></li>
|
||||
<li><a href="APIfunctions.html">Functions/Types</a></li>
|
||||
<li><a href="APIfiles.html">Modules</a></li>
|
||||
<li><a href="APIsymbols.html">Symbols</a></li>
|
||||
</ul></td></tr>
|
||||
</table>
|
||||
</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">
|
||||
<h3>Table of content</h3>
|
||||
<ul>
|
||||
<li><a href="extensions.html#Introducti">Introduction</a></li>
|
||||
</style><title>Writing extensions</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="100"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.redhat.com"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/XSLT/"><img src="Libxslt-Logo-180x168.gif" alt="Made with Libxslt Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XSLT C library for Gnome</h1><h2>Writing extensions</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="intro.html">Introduction</a></li><li><a href="docs.html">Documentation</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="news.html">News</a></li><li><a href="xsltproc2.html">The xsltproc tool</a></li><li><a href="docbook.html">DocBook</a></li><li><a href="API.html">The programming API</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="internals.html">Library internals</a></li><li><a href="extensions.html">Writing extensions</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="xslt.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="tutorial/libxslttutorial.html">Tutorial</a></li><li><a href="xsltproc.html">Man page for xsltproc</a></li><li><a href="http://mail.gnome.org/archives/xslt/">Mail archive</a></li><li><a href="http://xmlsoft.org/">XML libxml</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxslt">Bug Tracker</a></li><li><a href="http://xsldbg.sourceforge.net/">Xsldbg Debugger</a></li><li><a href="http://www.mod-xslt.com/mod-xslt/">Apache module</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table></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"><h3>Table of content</h3><ul><li><a href="extensions.html#Introducti">Introduction</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#Registerin">Registering a module</a></li>
|
||||
@ -103,67 +26,40 @@ A:link, A:visited, A:active { text-decoration: underline }
|
||||
elements</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>
|
||||
</ul>
|
||||
<h3><a name="Introducti1">Introduction</a></h3>
|
||||
<p>This document describes the work needed to write extensions to the
|
||||
standard XSLT library for use with <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>Before starting reading this document it is highly recommended to get
|
||||
familiar with <a href="internals.html">the libxslt internals</a>.</p>
|
||||
<p>Note: this documentation is by definition incomplete and I am not good at
|
||||
spelling, grammar, so patches and suggestions are <a href="mailto:veillard@redhat.com">really welcome</a>.</p>
|
||||
<h3><a name="Basics">Basics</a></h3>
|
||||
<p>The <a href="http://www.w3.org/TR/xslt">XSLT specification</a> provides
|
||||
two <a href="http://www.w3.org/TR/xslt">ways to extend an XSLT engine</a>:</p>
|
||||
<ul>
|
||||
<li>providing <a href="http://www.w3.org/TR/xslt">new extension
|
||||
</ul><h3><a name="Introducti1" id="Introducti1">Introduction</a></h3><p>This document describes the work needed to write extensions to the
|
||||
standard XSLT library for use with <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>Before starting reading this document it is highly recommended to get
|
||||
familiar with <a href="internals.html">the libxslt internals</a>.</p><p>Note: this documentation is by definition incomplete and I am not good at
|
||||
spelling, grammar, so patches and suggestions are <a href="mailto:veillard@redhat.com">really welcome</a>.</p><h3><a name="Basics" id="Basics">Basics</a></h3><p>The <a href="http://www.w3.org/TR/xslt">XSLT specification</a> provides
|
||||
two <a href="http://www.w3.org/TR/xslt">ways to extend an XSLT engine</a>:</p><ul><li>providing <a href="http://www.w3.org/TR/xslt">new extension
|
||||
functions</a> which can be called from XPath expressions</li>
|
||||
<li>providing <a href="http://www.w3.org/TR/xslt">new extension
|
||||
elements</a> which can be inserted in stylesheets</li>
|
||||
</ul>
|
||||
<p>In both cases the extensions need to be associated to a new namespace,
|
||||
</ul><p>In both cases the extensions need to be associated to a new namespace,
|
||||
i.e. an URI used as the name for the extension's namespace (there is no need
|
||||
to have a resource there for this to work).</p>
|
||||
<p>libxslt provides a few extensions itself, either in libxslt namespace
|
||||
to have a resource there for this to work).</p><p>libxslt provides a few extensions itself, either in libxslt namespace
|
||||
"http://xmlsoft.org/XSLT/" or in other namespace for well known extensions
|
||||
provided by other XSLT processors like Saxon, Xalan or XT.</p>
|
||||
<h3><a name="Keep">Extension modules</a></h3>
|
||||
<p>Since extensions are bound to a namespace name, usually sets of extensions
|
||||
provided by other XSLT processors like Saxon, Xalan or XT.</p><h3><a name="Keep" id="Keep">Extension modules</a></h3><p>Since extensions are bound to a namespace name, usually sets of extensions
|
||||
coming from a given source are using the same namespace name defining in
|
||||
practice a group of extensions providing elements, functions or both. From
|
||||
libxslt point of view those are considered as an "extension module", and most
|
||||
of the APIs work at a module point of view.</p>
|
||||
<p>Registration of new functions or elements are bound to the activation of
|
||||
of the APIs work at a module point of view.</p><p>Registration of new functions or elements are bound to the activation of
|
||||
the module, this is currently done by declaring the namespace as an extension
|
||||
by using the attribute <code>extension-element-prefixes</code> on the
|
||||
<code><a href="http://www.w3.org/TR/xslt">xsl:stylesheet</a></code>
|
||||
element.</p>
|
||||
<p>And extension module is defined by 3 objects:</p>
|
||||
<ul>
|
||||
<li>the namespace name associated</li>
|
||||
element.</p><p>And extension module is defined by 3 objects:</p><ul><li>the namespace name associated</li>
|
||||
<li>an initialization function</li>
|
||||
<li>a shutdown function</li>
|
||||
</ul>
|
||||
<h3><a name="Registerin">Registering a module</a></h3>
|
||||
<p>Currently a libxslt module has to be compiled within the application using
|
||||
</ul><h3><a name="Registerin" id="Registerin">Registering a module</a></h3><p>Currently a libxslt module has to be compiled within the application using
|
||||
libxslt, there is no code to load dynamically shared libraries associated to
|
||||
namespace (this may be added but is likely to become a portability
|
||||
nightmare).</p>
|
||||
<p>So the current way to register a module is to link the code implementing
|
||||
it with the application and to call a registration function:</p>
|
||||
<pre>int xsltRegisterExtModule(const xmlChar *URI,
|
||||
nightmare).</p><p>So the current way to register a module is to link the code implementing
|
||||
it with the application and to call a registration function:</p><pre>int xsltRegisterExtModule(const xmlChar *URI,
|
||||
xsltExtInitFunction initFunc,
|
||||
xsltExtShutdownFunction shutdownFunc);</pre>
|
||||
<p>The associated header is read by:</p>
|
||||
<pre>#include<libxslt/extensions.h></pre>
|
||||
<p>which also defines the type for the initialization and shutdown
|
||||
functions</p>
|
||||
<h3><a name="module">Loading a module</a></h3>
|
||||
<p>Once the module URI has been registered and if the XSLT processor detects
|
||||
xsltExtShutdownFunction shutdownFunc);</pre><p>The associated header is read by:</p><pre>#include<libxslt/extensions.h></pre><p>which also defines the type for the initialization and shutdown
|
||||
functions</p><h3><a name="module" id="module">Loading a module</a></h3><p>Once the module URI has been registered and if the XSLT processor detects
|
||||
that a given stylesheet needs the functionalities of an extended module, this
|
||||
one is initialized.</p>
|
||||
<p>The xsltExtInitFunction type defines the interface for an initialization
|
||||
function:</p>
|
||||
<pre>/**
|
||||
one is initialized.</p><p>The xsltExtInitFunction type defines the interface for an initialization
|
||||
function:</p><pre>/**
|
||||
* xsltExtInitFunction:
|
||||
* @ctxt: an XSLT transformation context
|
||||
* @URI: the namespace URI for the extension
|
||||
@ -175,10 +71,7 @@ function:</p>
|
||||
* transformation
|
||||
*/
|
||||
typedef void *(*xsltExtInitFunction)(xsltTransformContextPtr ctxt,
|
||||
const xmlChar *URI);</pre>
|
||||
<p>There are 3 things to notice:</p>
|
||||
<ul>
|
||||
<li>the function gets passed the namespace name URI as an argument, this
|
||||
const xmlChar *URI);</pre><p>There are 3 things to notice:</p><ul><li>the function gets passed the namespace name URI as an argument, this
|
||||
allow a single function to provide the initialization for multiple
|
||||
logical modules</li>
|
||||
<li>it also gets passed a transformation context, the initialization is
|
||||
@ -190,28 +83,18 @@ typedef void *(*xsltExtInitFunction)(xsltTransformContextPtr ctxt,
|
||||
database which should be kept and reused along the transformation. NULL
|
||||
is a perfectly valid return, there is no way to indicate a failure at
|
||||
this level</li>
|
||||
</ul>
|
||||
<p>What this function is expected to do is:</p>
|
||||
<ul>
|
||||
<li>prepare the context for this module (like opening the database
|
||||
</ul><p>What this function is expected to do is:</p><ul><li>prepare the context for this module (like opening the database
|
||||
connection)</li>
|
||||
<li>register the extensions specific to this module</li>
|
||||
</ul>
|
||||
<h3><a name="Registerin1">Registering an extension function</a></h3>
|
||||
<p>There is a single call to do this registration:</p>
|
||||
<pre>int xsltRegisterExtFunction(xsltTransformContextPtr ctxt,
|
||||
</ul><h3><a name="Registerin1" id="Registerin1">Registering an extension function</a></h3><p>There is a single call to do this registration:</p><pre>int xsltRegisterExtFunction(xsltTransformContextPtr ctxt,
|
||||
const xmlChar *name,
|
||||
const xmlChar *URI,
|
||||
xmlXPathEvalFunc function);</pre>
|
||||
<p>The registration is bound to a single transformation instance referred by
|
||||
xmlXPathEvalFunc function);</pre><p>The registration is bound to a single transformation instance referred by
|
||||
ctxt, name is the UTF8 encoded name for the NCName of the function, and URI
|
||||
is the namespace name for the extension (no checking is done, a module could
|
||||
register functions or elements from a different namespace, but it is not
|
||||
recommended).</p>
|
||||
<h3><a name="Implementi">Implementing an extension function</a></h3>
|
||||
<p>The implementation of the function must have the signature of a libxml
|
||||
XPath function:</p>
|
||||
<pre>/**
|
||||
recommended).</p><h3><a name="Implementi" id="Implementi">Implementing an extension function</a></h3><p>The implementation of the function must have the signature of a libxml
|
||||
XPath function:</p><pre>/**
|
||||
* xmlXPathEvalFunc:
|
||||
* @ctxt: an XPath parser context
|
||||
* @nargs: the number of arguments passed to the function
|
||||
@ -221,11 +104,8 @@ XPath function:</p>
|
||||
*/
|
||||
|
||||
typedef void (*xmlXPathEvalFunc)(xmlXPathParserContextPtr ctxt,
|
||||
int nargs);</pre>
|
||||
<p>The context passed to an XPath function is not an XSLT context but an <a href="internals.html#XPath1">XPath context</a>. However it is possible to
|
||||
find one from the other:</p>
|
||||
<ul>
|
||||
<li>The function xsltXPathGetTransformContext provide this lookup facility:
|
||||
int nargs);</pre><p>The context passed to an XPath function is not an XSLT context but an <a href="internals.html#XPath1">XPath context</a>. However it is possible to
|
||||
find one from the other:</p><ul><li>The function xsltXPathGetTransformContext provide this lookup facility:
|
||||
<pre>xsltTransformContextPtr
|
||||
xsltXPathGetTransformContext
|
||||
(xmlXPathParserContextPtr ctxt);</pre>
|
||||
@ -233,50 +113,34 @@ find one from the other:</p>
|
||||
<li>The <code>xmlXPathContextPtr</code> associated to an
|
||||
<code>xsltTransformContext</code> is stored in the <code>xpathCtxt</code>
|
||||
field.</li>
|
||||
</ul>
|
||||
<p>The first thing an extension function may want to do is to check the
|
||||
</ul><p>The first thing an extension function may want to do is to check the
|
||||
arguments passed on the stack, the <code>nargs</code> will precise how many
|
||||
of them were provided on the XPath expression. The macros valuePop will
|
||||
extract them from the XPath stack:</p>
|
||||
<pre>#include <libxml/xpath.h>
|
||||
extract them from the XPath stack:</p><pre>#include <libxml/xpath.h>
|
||||
#include <libxml/xpathInternals.h>
|
||||
|
||||
xmlXPathObjectPtr obj = valuePop(ctxt); </pre>
|
||||
<p>Note that <code>ctxt</code> is the XPath context not the XSLT one. It is
|
||||
xmlXPathObjectPtr obj = valuePop(ctxt); </pre><p>Note that <code>ctxt</code> is the XPath context not the XSLT one. It is
|
||||
then possible to examine the content of the value. Check <a href="internals.html#Descriptio">the description of XPath objects</a> if
|
||||
necessary. The following is a common sequcnce checking whether the argument
|
||||
passed is a string and converting it using the built-in XPath
|
||||
<code>string()</code> function if this is not the case:</p>
|
||||
<pre>if (obj->type != XPATH_STRING) {
|
||||
<code>string()</code> function if this is not the case:</p><pre>if (obj->type != XPATH_STRING) {
|
||||
valuePush(ctxt, obj);
|
||||
xmlXPathStringFunction(ctxt, 1);
|
||||
obj = valuePop(ctxt);
|
||||
}</pre>
|
||||
<p>Most common XPath functions are available directly at the C level and are
|
||||
}</pre><p>Most common XPath functions are available directly at the C level and are
|
||||
exported either in <code><libxml/xpath.h></code> or in
|
||||
<code><libxml/xpathInternals.h></code>.</p>
|
||||
<p>The extension function may also need to retrieve the data associated to
|
||||
<code><libxml/xpathInternals.h></code>.</p><p>The extension function may also need to retrieve the data associated to
|
||||
this module instance (the database connection in the previous example) this
|
||||
can be done using the xsltGetExtData:</p>
|
||||
<pre>void * xsltGetExtData(xsltTransformContextPtr ctxt,
|
||||
const xmlChar *URI);</pre>
|
||||
<p>again the URI to be provided is the one used which was used when
|
||||
registering the module.</p>
|
||||
<p>Once the function finishes, don't forget to:</p>
|
||||
<ul>
|
||||
<li>push the return value on the stack using <code>valuePush(ctxt,
|
||||
obj)</code>
|
||||
</li>
|
||||
can be done using the xsltGetExtData:</p><pre>void * xsltGetExtData(xsltTransformContextPtr ctxt,
|
||||
const xmlChar *URI);</pre><p>again the URI to be provided is the one used which was used when
|
||||
registering the module.</p><p>Once the function finishes, don't forget to:</p><ul><li>push the return value on the stack using <code>valuePush(ctxt,
|
||||
obj)</code></li>
|
||||
<li>deallocate the parameters passed to the function using
|
||||
<code>xmlXPathFreeObject(obj)</code>
|
||||
</li>
|
||||
</ul>
|
||||
<h3><a name="Examples">Examples for extension functions</a></h3>
|
||||
<p>The module libxslt/functions.c containsthe sources of the XSLT built-in
|
||||
<code>xmlXPathFreeObject(obj)</code></li>
|
||||
</ul><h3><a name="Examples" id="Examples">Examples for extension functions</a></h3><p>The module libxslt/functions.c containsthe sources of the XSLT built-in
|
||||
functions, including document(), key(), generate-id(), etc. as well as a full
|
||||
example module at the end. Here is the test function implementation for the
|
||||
libxslt:test function:</p>
|
||||
<pre>/**
|
||||
libxslt:test function:</p><pre>/**
|
||||
* xsltExtFunctionTest:
|
||||
* @ctxt: the XPath Parser context
|
||||
* @nargs: the number of arguments
|
||||
@ -305,24 +169,16 @@ xsltExtFunctionTest(xmlXPathParserContextPtr ctxt, int nargs)
|
||||
xsltGenericDebug(xsltGenericDebugContext,
|
||||
"libxslt:test() called with %d args\n", nargs);
|
||||
#endif
|
||||
}</pre>
|
||||
<h3><a name="Registerin2">Registering an extension element</a></h3>
|
||||
<p>There is a single call to do this registration:</p>
|
||||
<pre>int xsltRegisterExtElement(xsltTransformContextPtr ctxt,
|
||||
}</pre><h3><a name="Registerin2" id="Registerin2">Registering an extension element</a></h3><p>There is a single call to do this registration:</p><pre>int xsltRegisterExtElement(xsltTransformContextPtr ctxt,
|
||||
const xmlChar *name,
|
||||
const xmlChar *URI,
|
||||
xsltTransformFunction function);</pre>
|
||||
<p>It is similar to the mechanism used to register an extension function,
|
||||
xsltTransformFunction function);</pre><p>It is similar to the mechanism used to register an extension function,
|
||||
except that the signature of an extension element implementation is
|
||||
different.</p>
|
||||
<p>The registration is bound to a single transformation instance referred by
|
||||
different.</p><p>The registration is bound to a single transformation instance referred by
|
||||
ctxt, name is the UTF8 encoded name for the NCName of the element, and URI is
|
||||
the namespace name for the extension (no checking is done, a module could
|
||||
register elements for a different namespace, but it is not recommended).</p>
|
||||
<h3><a name="Implementi1">Implementing an extension element</a></h3>
|
||||
<p>The implementation of the element must have the signature of an XSLT
|
||||
transformation function:</p>
|
||||
<pre>/**
|
||||
register elements for a different namespace, but it is not recommended).</p><h3><a name="Implementi1" id="Implementi1">Implementing an extension element</a></h3><p>The implementation of the element must have the signature of an XSLT
|
||||
transformation function:</p><pre>/**
|
||||
* xsltTransformFunction:
|
||||
* @ctxt: the XSLT transformation context
|
||||
* @node: the input node
|
||||
@ -336,19 +192,16 @@ typedef void (*xsltTransformFunction)
|
||||
(xsltTransformContextPtr ctxt,
|
||||
xmlNodePtr node,
|
||||
xmlNodePtr inst,
|
||||
xsltStylePreCompPtr comp);</pre>
|
||||
<p>The first argument is the XSLT transformation context. The second and
|
||||
xsltStylePreCompPtr comp);</pre><p>The first argument is the XSLT transformation context. The second and
|
||||
third arguments are xmlNodePtr i.e. internal memory <a href="internals.html#libxml">representation of XML nodes</a>. They are
|
||||
respectively <code>node</code> from the the input document being transformed
|
||||
by the stylesheet and <code>inst</code> the extension element in the
|
||||
stylesheet. The last argument is <code>comp</code> a pointer to a precompiled
|
||||
representation of <code>inst</code> but usually for extension function this
|
||||
value is <code>NULL</code> by default (it could be added and associated to
|
||||
the instruction in <code>inst->_private</code>).</p>
|
||||
<p>The same functions are available from a function implementing an extension
|
||||
the instruction in <code>inst->_private</code>).</p><p>The same functions are available from a function implementing an extension
|
||||
element as in an extension function, including
|
||||
<code>xsltGetExtData()</code>.</p>
|
||||
<p>The goal of extension element being usually to enrich the generated
|
||||
<code>xsltGetExtData()</code>.</p><p>The goal of extension element being usually to enrich the generated
|
||||
output, it is expected that they will grow the currently generated output
|
||||
tree, this can be done by grabbing ctxt->insert which is the current
|
||||
libxml node being generated (Note this can also be the intermediate value
|
||||
@ -356,13 +209,10 @@ tree being built for example to initialize a variable, the processing should
|
||||
be similar). The functions for libxml tree manipulation from <a href="http://xmlsoft.org/html/libxml-tree.html"><libxml/tree.h></a> can
|
||||
be employed to extend or modify the tree, but it is required to preserve the
|
||||
insertion node and its ancestors since there is existing pointers to those
|
||||
elements still in use in the XSLT template execution stack.</p>
|
||||
<h3><a name="Example">Example for extension elements</a></h3>
|
||||
<p>The module libxslt/transform.c containsthe sources of the XSLT built-in
|
||||
elements still in use in the XSLT template execution stack.</p><h3><a name="Example" id="Example">Example for extension elements</a></h3><p>The module libxslt/transform.c containsthe sources of the XSLT built-in
|
||||
elements, including xsl:element, xsl:attribute, xsl:if, etc. There is a small
|
||||
but full example in functions.c providing the implementation for the
|
||||
libxslt:test element, it will output a comment in the result tree:</p>
|
||||
<pre>/**
|
||||
libxslt:test element, it will output a comment in the result tree:</p><pre>/**
|
||||
* xsltExtElementTest:
|
||||
* @ctxt: an XSLT processing context
|
||||
* @node: The current node
|
||||
@ -402,13 +252,10 @@ xsltExtElementTest(xsltTransformContextPtr ctxt, xmlNodePtr node,
|
||||
xmlNewComment((const xmlChar *)
|
||||
"libxslt:test element test worked");
|
||||
xmlAddChild(ctxt->insert, comment);
|
||||
}</pre>
|
||||
<h3><a name="shutdown">The shutdown of a module</a></h3>
|
||||
<p>When the XSLT processor ends a transformation, the shutdown function (if
|
||||
}</pre><h3><a name="shutdown" id="shutdown">The shutdown of a module</a></h3><p>When the XSLT processor ends a transformation, the shutdown function (if
|
||||
it exists) of all the modules initialized are called.The
|
||||
xsltExtShutdownFunction type defines the interface for a shutdown
|
||||
function:</p>
|
||||
<pre>/**
|
||||
function:</p><pre>/**
|
||||
* xsltExtShutdownFunction:
|
||||
* @ctxt: an XSLT transformation context
|
||||
* @URI: the namespace URI for the extension
|
||||
@ -418,25 +265,14 @@ function:</p>
|
||||
*/
|
||||
typedef void (*xsltExtShutdownFunction) (xsltTransformContextPtr ctxt,
|
||||
const xmlChar *URI,
|
||||
void *data);</pre>
|
||||
<p>this is really similar to a module initialization function except a third
|
||||
void *data);</pre><p>this is really similar to a module initialization function except a third
|
||||
argument is passed, it's the value that was returned by the initialization
|
||||
function. This allow to deallocate resources from the module for example
|
||||
close the connection to the database to keep the same example.</p>
|
||||
<h3><a name="Future">Future work</a></h3>
|
||||
<p>Well some of the pieces missing:</p>
|
||||
<ul>
|
||||
<li>a way to load shared libraries to instanciate new modules</li>
|
||||
close the connection to the database to keep the same example.</p><h3><a name="Future" id="Future">Future work</a></h3><p>Well some of the pieces missing:</p><ul><li>a way to load shared libraries to instanciate new modules</li>
|
||||
<li>a better detection of extension function usage and their registration
|
||||
without having to use the extension prefix which ought to be reserved to
|
||||
element extensions.</li>
|
||||
<li>more examples</li>
|
||||
<li>implementations of the <a href="http://www.exslt.org/">EXSLT</a> common
|
||||
extension libraries, Thomas Broyer nearly finished implementing them.</li>
|
||||
</ul>
|
||||
<p></p>
|
||||
<p><a href="bugs.html">Daniel Veillard</a></p>
|
||||
</td></tr></table></td></tr></table></td></tr></table></td>
|
||||
</tr></table></td></tr></table>
|
||||
</body>
|
||||
</html>
|
||||
</ul><p></p><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
|
||||
|
@ -1,92 +1,15 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<style type="text/css"><!--
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><style type="text/css">
|
||||
TD {font-family: Verdana,Arial,Helvetica}
|
||||
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
|
||||
H1 {font-family: Verdana,Arial,Helvetica}
|
||||
H2 {font-family: Verdana,Arial,Helvetica}
|
||||
H3 {font-family: Verdana,Arial,Helvetica}
|
||||
A:link, A:visited, A:active { text-decoration: underline }
|
||||
--></style>
|
||||
<title>How to help</title>
|
||||
</head>
|
||||
<body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000">
|
||||
<table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr>
|
||||
<td width="100">
|
||||
<a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo"></a><a href="http://www.redhat.com"><img src="redhat.gif" alt="Red Hat Logo"></a><div align="left"><a href="http://xmlsoft.org/XSLT/"><img src="Libxslt-Logo-180x168.gif" alt="Made with Libxslt Logo"></a></div>
|
||||
</td>
|
||||
<td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center">
|
||||
<h1>The XSLT C library for Gnome</h1>
|
||||
<h2>How to help</h2>
|
||||
</td></tr></table></td></tr></table></td>
|
||||
</tr></table>
|
||||
<table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr>
|
||||
<td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td>
|
||||
<table width="100%" border="0" cellspacing="1" cellpadding="3">
|
||||
<tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr>
|
||||
<tr><td bgcolor="#fffacd">
|
||||
<form action="search.php" enctype="application/x-www-form-urlencoded" method="GET">
|
||||
<input name="query" type="TEXT" size="20" value=""><input name="submit" type="submit" value="Search ...">
|
||||
</form>
|
||||
<ul>
|
||||
<li><a href="index.html">Home</a></li>
|
||||
<li><a href="intro.html">Introduction</a></li>
|
||||
<li><a href="docs.html">Documentation</a></li>
|
||||
<li><a href="bugs.html">Reporting bugs and getting help</a></li>
|
||||
<li><a href="help.html">How to help</a></li>
|
||||
<li><a href="downloads.html">Downloads</a></li>
|
||||
<li><a href="FAQ.html">FAQ</a></li>
|
||||
<li><a href="news.html">News</a></li>
|
||||
<li><a href="xsltproc2.html">The xsltproc tool</a></li>
|
||||
<li><a href="docbook.html">DocBook</a></li>
|
||||
<li><a href="API.html">The programming API</a></li>
|
||||
<li><a href="python.html">Python and bindings</a></li>
|
||||
<li><a href="internals.html">Library internals</a></li>
|
||||
<li><a href="extensions.html">Writing extensions</a></li>
|
||||
<li><a href="contribs.html">Contributions</a></li>
|
||||
<li>
|
||||
<a href="xslt.html">flat page</a>, <a href="site.xsl">stylesheet</a>
|
||||
</li>
|
||||
</ul>
|
||||
</td></tr>
|
||||
</table>
|
||||
<table width="100%" border="0" cellspacing="1" cellpadding="3">
|
||||
<tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr>
|
||||
<tr><td bgcolor="#fffacd"><ul>
|
||||
<li><a href="tutorial/libxslttutorial.html">Tutorial</a></li>
|
||||
<li><a href="xsltproc.html">Man page for xsltproc</a></li>
|
||||
<li><a href="http://mail.gnome.org/archives/xslt/">Mail archive</a></li>
|
||||
<li><a href="http://xmlsoft.org/">XML libxml</a></li>
|
||||
<li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li>
|
||||
<li><a href="ftp://xmlsoft.org/">FTP</a></li>
|
||||
<li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li>
|
||||
<li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li>
|
||||
<li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li>
|
||||
<li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li>
|
||||
<li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxslt">Bug Tracker</a></li>
|
||||
<li><a href="http://xsldbg.sourceforge.net/">Xsldbg Debugger</a></li>
|
||||
<li><a href="http://www.mod-xslt.com/mod-xslt/">Apache module</a></li>
|
||||
</ul></td></tr>
|
||||
</table>
|
||||
<table width="100%" border="0" cellspacing="1" cellpadding="3">
|
||||
<tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr>
|
||||
<tr><td bgcolor="#fffacd"><ul>
|
||||
<li><a href="APIchunk0.html">Alphabetic</a></li>
|
||||
<li><a href="APIconstructors.html">Constructors</a></li>
|
||||
<li><a href="APIfunctions.html">Functions/Types</a></li>
|
||||
<li><a href="APIfiles.html">Modules</a></li>
|
||||
<li><a href="APIsymbols.html">Symbols</a></li>
|
||||
</ul></td></tr>
|
||||
</table>
|
||||
</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">
|
||||
<p>You can help the project in various ways, the best thing to do first is to
|
||||
</style><title>How to help</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="100"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.redhat.com"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/XSLT/"><img src="Libxslt-Logo-180x168.gif" alt="Made with Libxslt Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XSLT C library for Gnome</h1><h2>How to help</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="intro.html">Introduction</a></li><li><a href="docs.html">Documentation</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="news.html">News</a></li><li><a href="xsltproc2.html">The xsltproc tool</a></li><li><a href="docbook.html">DocBook</a></li><li><a href="API.html">The programming API</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="internals.html">Library internals</a></li><li><a href="extensions.html">Writing extensions</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="xslt.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="tutorial/libxslttutorial.html">Tutorial</a></li><li><a href="xsltproc.html">Man page for xsltproc</a></li><li><a href="http://mail.gnome.org/archives/xslt/">Mail archive</a></li><li><a href="http://xmlsoft.org/">XML libxml</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxslt">Bug Tracker</a></li><li><a href="http://xsldbg.sourceforge.net/">Xsldbg Debugger</a></li><li><a href="http://www.mod-xslt.com/mod-xslt/">Apache module</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table></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"><p>You can help the project in various ways, the best thing to do first is to
|
||||
subscribe to the mailing-list as explained before, check the <a href="http://mail.gnome.org/archives/xslt/">archives </a>and the <a href="http://bugzilla.gnome.org/buglist.cgi?product=libxslt">Gnome bug
|
||||
database:</a>:</p>
|
||||
<ol>
|
||||
<li>provide patches when you find problems</li>
|
||||
database:</a>:</p><ol><li>provide patches when you find problems</li>
|
||||
<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
|
||||
and</li>
|
||||
@ -98,9 +21,4 @@ database:</a>:</p>
|
||||
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
|
||||
fix will fit in nicely :-)</li>
|
||||
</ol>
|
||||
<p><a href="bugs.html">Daniel Veillard</a></p>
|
||||
</td></tr></table></td></tr></table></td></tr></table></td>
|
||||
</tr></table></td></tr></table>
|
||||
</body>
|
||||
</html>
|
||||
</ol><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
|
||||
|
284
doc/index.html
284
doc/index.html
@ -1,87 +1,224 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
|
||||
<html>
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<style type="text/css"><!--
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
|
||||
<style type="text/css">
|
||||
TD {font-family: Verdana,Arial,Helvetica}
|
||||
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
|
||||
H1 {font-family: Verdana,Arial,Helvetica}
|
||||
H2 {font-family: Verdana,Arial,Helvetica}
|
||||
H3 {font-family: Verdana,Arial,Helvetica}
|
||||
A:link, A:visited, A:active { text-decoration: underline }
|
||||
--></style>
|
||||
</style>
|
||||
<title>The XSLT C library for Gnome</title>
|
||||
</head>
|
||||
<body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000">
|
||||
<table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr>
|
||||
<table border="0" width="100%" cellpadding="5" cellspacing="0" align="center">
|
||||
<tr>
|
||||
<td width="100">
|
||||
<a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo"></a><a href="http://www.redhat.com"><img src="redhat.gif" alt="Red Hat Logo"></a><div align="left"><a href="http://xmlsoft.org/XSLT/"><img src="Libxslt-Logo-180x168.gif" alt="Made with Libxslt Logo"></a></div>
|
||||
<a href="http://www.gnome.org/">
|
||||
<img src="gnome2.png" alt="Gnome2 Logo" />
|
||||
</a>
|
||||
<a href="http://www.redhat.com">
|
||||
<img src="redhat.gif" alt="Red Hat Logo" />
|
||||
</a>
|
||||
<div align="left">
|
||||
<a href="http://xmlsoft.org/XSLT/">
|
||||
<img src="Libxslt-Logo-180x168.gif" alt="Made with Libxslt Logo" />
|
||||
</a>
|
||||
</div>
|
||||
</td>
|
||||
<td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center">
|
||||
<td>
|
||||
<table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000">
|
||||
<tr>
|
||||
<td>
|
||||
<table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<h1>The XSLT C library for Gnome</h1>
|
||||
<h2>libxslt</h2>
|
||||
</td></tr></table></td></tr></table></td>
|
||||
</tr></table>
|
||||
<table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr>
|
||||
<td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table border="0" cellpadding="4" cellspacing="0" width="100%" align="center">
|
||||
<tr>
|
||||
<td bgcolor="#8b7765">
|
||||
<table border="0" cellspacing="0" cellpadding="2" width="100%">
|
||||
<tr>
|
||||
<td valign="top" width="200" bgcolor="#8b7765">
|
||||
<table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
|
||||
<tr>
|
||||
<td>
|
||||
<table width="100%" border="0" cellspacing="1" cellpadding="3">
|
||||
<tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr>
|
||||
<tr><td bgcolor="#fffacd">
|
||||
<form action="search.php" enctype="application/x-www-form-urlencoded" method="GET">
|
||||
<input name="query" type="TEXT" size="20" value=""><input name="submit" type="submit" value="Search ...">
|
||||
<tr>
|
||||
<td colspan="1" bgcolor="#eecfa1" align="center">
|
||||
<center>
|
||||
<b>Main Menu</b>
|
||||
</center>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td bgcolor="#fffacd">
|
||||
<form action="search.php" enctype="application/x-www-form-urlencoded" method="get">
|
||||
<input name="query" type="text" size="20" value="" />
|
||||
<input name="submit" type="submit" value="Search ..." />
|
||||
</form>
|
||||
<ul>
|
||||
<li><a href="index.html">Home</a></li>
|
||||
<li><a href="intro.html">Introduction</a></li>
|
||||
<li><a href="docs.html">Documentation</a></li>
|
||||
<li><a href="bugs.html">Reporting bugs and getting help</a></li>
|
||||
<li><a href="help.html">How to help</a></li>
|
||||
<li><a href="downloads.html">Downloads</a></li>
|
||||
<li><a href="FAQ.html">FAQ</a></li>
|
||||
<li><a href="news.html">News</a></li>
|
||||
<li><a href="xsltproc2.html">The xsltproc tool</a></li>
|
||||
<li><a href="docbook.html">DocBook</a></li>
|
||||
<li><a href="API.html">The programming API</a></li>
|
||||
<li><a href="python.html">Python and bindings</a></li>
|
||||
<li><a href="internals.html">Library internals</a></li>
|
||||
<li><a href="extensions.html">Writing extensions</a></li>
|
||||
<li><a href="contribs.html">Contributions</a></li>
|
||||
<li>
|
||||
<a href="xslt.html">flat page</a>, <a href="site.xsl">stylesheet</a>
|
||||
<a href="index.html">Home</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="intro.html">Introduction</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="docs.html">Documentation</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="bugs.html">Reporting bugs and getting help</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="help.html">How to help</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="downloads.html">Downloads</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="FAQ.html">FAQ</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="news.html">News</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="xsltproc2.html">The xsltproc tool</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="docbook.html">DocBook</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="API.html">The programming API</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="python.html">Python and bindings</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="internals.html">Library internals</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="extensions.html">Writing extensions</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="contribs.html">Contributions</a>
|
||||
</li>
|
||||
<li><a href="xslt.html">flat page</a>, <a href="site.xsl">stylesheet</a></li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table width="100%" border="0" cellspacing="1" cellpadding="3">
|
||||
<tr>
|
||||
<td colspan="1" bgcolor="#eecfa1" align="center">
|
||||
<center>
|
||||
<b>Related links</b>
|
||||
</center>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td bgcolor="#fffacd">
|
||||
<ul>
|
||||
<li>
|
||||
<a href="tutorial/libxslttutorial.html">Tutorial</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="xsltproc.html">Man page for xsltproc</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="http://mail.gnome.org/archives/xslt/">Mail archive</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="http://xmlsoft.org/">XML libxml</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="ftp://xmlsoft.org/">FTP</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="http://garypennington.net/libxml2/">Solaris binaries</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="http://bugzilla.gnome.org/buglist.cgi?product=libxslt">Bug Tracker</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="http://xsldbg.sourceforge.net/">Xsldbg Debugger</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="http://www.mod-xslt.com/mod-xslt/">Apache module</a>
|
||||
</li>
|
||||
</ul>
|
||||
</td></tr>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table width="100%" border="0" cellspacing="1" cellpadding="3">
|
||||
<tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr>
|
||||
<tr><td bgcolor="#fffacd"><ul>
|
||||
<li><a href="tutorial/libxslttutorial.html">Tutorial</a></li>
|
||||
<li><a href="xsltproc.html">Man page for xsltproc</a></li>
|
||||
<li><a href="http://mail.gnome.org/archives/xslt/">Mail archive</a></li>
|
||||
<li><a href="http://xmlsoft.org/">XML libxml</a></li>
|
||||
<li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li>
|
||||
<li><a href="ftp://xmlsoft.org/">FTP</a></li>
|
||||
<li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li>
|
||||
<li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li>
|
||||
<li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li>
|
||||
<li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li>
|
||||
<li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxslt">Bug Tracker</a></li>
|
||||
<li><a href="http://xsldbg.sourceforge.net/">Xsldbg Debugger</a></li>
|
||||
<li><a href="http://www.mod-xslt.com/mod-xslt/">Apache module</a></li>
|
||||
</ul></td></tr>
|
||||
<tr>
|
||||
<td colspan="1" bgcolor="#eecfa1" align="center">
|
||||
<center>
|
||||
<b>API Indexes</b>
|
||||
</center>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td bgcolor="#fffacd">
|
||||
<ul>
|
||||
<li>
|
||||
<a href="APIchunk0.html">Alphabetic</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="APIconstructors.html">Constructors</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="APIfunctions.html">Functions/Types</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="APIfiles.html">Modules</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="APIsymbols.html">Symbols</a>
|
||||
</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table width="100%" border="0" cellspacing="1" cellpadding="3">
|
||||
<tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr>
|
||||
<tr><td bgcolor="#fffacd"><ul>
|
||||
<li><a href="APIchunk0.html">Alphabetic</a></li>
|
||||
<li><a href="APIconstructors.html">Constructors</a></li>
|
||||
<li><a href="APIfunctions.html">Functions/Types</a></li>
|
||||
<li><a href="APIfiles.html">Modules</a></li>
|
||||
<li><a href="APIsymbols.html">Symbols</a></li>
|
||||
</ul></td></tr>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</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>
|
||||
<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">
|
||||
<p>Libxslt is the <a href="http://www.w3.org/TR/xslt">XSLT</a> C library
|
||||
developed for the Gnome project. XSLT itself is a an XML language to define
|
||||
transformation for XML. Libxslt is based on <a href="http://xmlsoft.org/">libxml2</a> the XML C library developed for the
|
||||
@ -91,17 +228,30 @@ functions and some of Saxon's evaluate and expressions extensions.</p>
|
||||
the command line processing tool. This library is free software and can be
|
||||
reused in commercial applications (see the <a href="intro.html">intro</a>)</p>
|
||||
<p>External documents:</p>
|
||||
<ul>
|
||||
<li>John Fleck wrote <a href="tutorial/libxslttutorial.html">a tutorial for
|
||||
libxslt</a>
|
||||
</li>
|
||||
<ul><li>John Fleck wrote <a href="tutorial/libxslttutorial.html">a tutorial for
|
||||
libxslt</a></li>
|
||||
<li><a href="xsltproc.html">xsltproc user manual</a></li>
|
||||
<li><a href="http://xmlsoft.org/">the libxml documentation</a></li>
|
||||
</ul>
|
||||
<p></p>
|
||||
<p>Logo designed by <a href="mailto:liyanage@access.ch">Marc Liyanage</a>.</p>
|
||||
<p><a href="bugs.html">Daniel Veillard</a></p>
|
||||
</td></tr></table></td></tr></table></td></tr></table></td>
|
||||
</tr></table></td></tr></table>
|
||||
<p>
|
||||
<a href="bugs.html">Daniel Veillard</a>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,90 +1,13 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<style type="text/css"><!--
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><style type="text/css">
|
||||
TD {font-family: Verdana,Arial,Helvetica}
|
||||
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
|
||||
H1 {font-family: Verdana,Arial,Helvetica}
|
||||
H2 {font-family: Verdana,Arial,Helvetica}
|
||||
H3 {font-family: Verdana,Arial,Helvetica}
|
||||
A:link, A:visited, A:active { text-decoration: underline }
|
||||
--></style>
|
||||
<title>Library internals</title>
|
||||
</head>
|
||||
<body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000">
|
||||
<table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr>
|
||||
<td width="100">
|
||||
<a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo"></a><a href="http://www.redhat.com"><img src="redhat.gif" alt="Red Hat Logo"></a><div align="left"><a href="http://xmlsoft.org/XSLT/"><img src="Libxslt-Logo-180x168.gif" alt="Made with Libxslt Logo"></a></div>
|
||||
</td>
|
||||
<td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center">
|
||||
<h1>The XSLT C library for Gnome</h1>
|
||||
<h2>Library internals</h2>
|
||||
</td></tr></table></td></tr></table></td>
|
||||
</tr></table>
|
||||
<table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr>
|
||||
<td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td>
|
||||
<table width="100%" border="0" cellspacing="1" cellpadding="3">
|
||||
<tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr>
|
||||
<tr><td bgcolor="#fffacd">
|
||||
<form action="search.php" enctype="application/x-www-form-urlencoded" method="GET">
|
||||
<input name="query" type="TEXT" size="20" value=""><input name="submit" type="submit" value="Search ...">
|
||||
</form>
|
||||
<ul>
|
||||
<li><a href="index.html">Home</a></li>
|
||||
<li><a href="intro.html">Introduction</a></li>
|
||||
<li><a href="docs.html">Documentation</a></li>
|
||||
<li><a href="bugs.html">Reporting bugs and getting help</a></li>
|
||||
<li><a href="help.html">How to help</a></li>
|
||||
<li><a href="downloads.html">Downloads</a></li>
|
||||
<li><a href="FAQ.html">FAQ</a></li>
|
||||
<li><a href="news.html">News</a></li>
|
||||
<li><a href="xsltproc2.html">The xsltproc tool</a></li>
|
||||
<li><a href="docbook.html">DocBook</a></li>
|
||||
<li><a href="API.html">The programming API</a></li>
|
||||
<li><a href="python.html">Python and bindings</a></li>
|
||||
<li><a href="internals.html">Library internals</a></li>
|
||||
<li><a href="extensions.html">Writing extensions</a></li>
|
||||
<li><a href="contribs.html">Contributions</a></li>
|
||||
<li>
|
||||
<a href="xslt.html">flat page</a>, <a href="site.xsl">stylesheet</a>
|
||||
</li>
|
||||
</ul>
|
||||
</td></tr>
|
||||
</table>
|
||||
<table width="100%" border="0" cellspacing="1" cellpadding="3">
|
||||
<tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr>
|
||||
<tr><td bgcolor="#fffacd"><ul>
|
||||
<li><a href="tutorial/libxslttutorial.html">Tutorial</a></li>
|
||||
<li><a href="xsltproc.html">Man page for xsltproc</a></li>
|
||||
<li><a href="http://mail.gnome.org/archives/xslt/">Mail archive</a></li>
|
||||
<li><a href="http://xmlsoft.org/">XML libxml</a></li>
|
||||
<li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li>
|
||||
<li><a href="ftp://xmlsoft.org/">FTP</a></li>
|
||||
<li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li>
|
||||
<li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li>
|
||||
<li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li>
|
||||
<li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li>
|
||||
<li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxslt">Bug Tracker</a></li>
|
||||
<li><a href="http://xsldbg.sourceforge.net/">Xsldbg Debugger</a></li>
|
||||
<li><a href="http://www.mod-xslt.com/mod-xslt/">Apache module</a></li>
|
||||
</ul></td></tr>
|
||||
</table>
|
||||
<table width="100%" border="0" cellspacing="1" cellpadding="3">
|
||||
<tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr>
|
||||
<tr><td bgcolor="#fffacd"><ul>
|
||||
<li><a href="APIchunk0.html">Alphabetic</a></li>
|
||||
<li><a href="APIconstructors.html">Constructors</a></li>
|
||||
<li><a href="APIfunctions.html">Functions/Types</a></li>
|
||||
<li><a href="APIfiles.html">Modules</a></li>
|
||||
<li><a href="APIsymbols.html">Symbols</a></li>
|
||||
</ul></td></tr>
|
||||
</table>
|
||||
</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">
|
||||
<h3>Table of contents</h3>
|
||||
<ul>
|
||||
<li><a href="internals.html#Introducti">Introduction</a></li>
|
||||
</style><title>Library internals</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="100"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.redhat.com"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/XSLT/"><img src="Libxslt-Logo-180x168.gif" alt="Made with Libxslt Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XSLT C library for Gnome</h1><h2>Library internals</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="intro.html">Introduction</a></li><li><a href="docs.html">Documentation</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="news.html">News</a></li><li><a href="xsltproc2.html">The xsltproc tool</a></li><li><a href="docbook.html">DocBook</a></li><li><a href="API.html">The programming API</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="internals.html">Library internals</a></li><li><a href="extensions.html">Writing extensions</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="xslt.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="tutorial/libxslttutorial.html">Tutorial</a></li><li><a href="xsltproc.html">Man page for xsltproc</a></li><li><a href="http://mail.gnome.org/archives/xslt/">Mail archive</a></li><li><a href="http://xmlsoft.org/">XML libxml</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxslt">Bug Tracker</a></li><li><a href="http://xsldbg.sourceforge.net/">Xsldbg Debugger</a></li><li><a href="http://www.mod-xslt.com/mod-xslt/">Apache module</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table></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"><h3>Table of contents</h3><ul><li><a href="internals.html#Introducti">Introduction</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#libxml">The libxml nodes</a></li>
|
||||
@ -101,133 +24,90 @@ A:link, A:visited, A:active { text-decoration: underline }
|
||||
<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#TODOs">TODOs</a></li>
|
||||
</ul>
|
||||
<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>Note: this documentation is by definition incomplete and I am not good at
|
||||
spelling, grammar, so patches and suggestions are <a href="mailto:veillard@redhat.com">really welcome</a>.</p>
|
||||
<h3><a name="Basics1">Basics</a></h3>
|
||||
<p>XSLT is a transformation language. It takes an input document and a
|
||||
stylesheet document and generates an output document:</p>
|
||||
<p align="center"><img src="processing.gif" alt="the XSLT processing model"></p>
|
||||
<p>Libxslt is written in C. It relies on <a href="http://www.xmlsoft.org/">libxml</a>, the XML C library for Gnome, for
|
||||
the following operations:</p>
|
||||
<ul>
|
||||
<li>parsing files</li>
|
||||
</ul><h3><a name="Introducti2" id="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>Note: this documentation is by definition incomplete and I am not good at
|
||||
spelling, grammar, so patches and suggestions are <a href="mailto:veillard@redhat.com">really welcome</a>.</p><h3><a name="Basics1" id="Basics1">Basics</a></h3><p>XSLT is a transformation language. It takes an input document and a
|
||||
stylesheet document and generates an output document:</p><p align="center"><img src="processing.gif" alt="the XSLT processing model" /></p><p>Libxslt is written in C. It relies on <a href="http://www.xmlsoft.org/">libxml</a>, the XML C library for Gnome, for
|
||||
the following operations:</p><ul><li>parsing files</li>
|
||||
<li>building the in-memory DOM structure associated with the documents
|
||||
handled</li>
|
||||
<li>the XPath implementation</li>
|
||||
<li>serializing back the result document to XML and HTML. (Text is handled
|
||||
directly.)</li>
|
||||
</ul>
|
||||
<h3><a name="Keep1">Keep it simple stupid</a></h3>
|
||||
<p>Libxslt is not very specialized. It is built under the assumption that all
|
||||
</ul><h3><a name="Keep1" id="Keep1">Keep it simple stupid</a></h3><p>Libxslt is not very specialized. It is built under the assumption that all
|
||||
nodes from the source and output document can fit in the virtual memory of
|
||||
the system. There is a big trade-off there. It is fine for reasonably sized
|
||||
documents but may not be suitable for large sets of data. The gain is that it
|
||||
can be used in a relatively versatile way. The input or output may never be
|
||||
serialized, but the size of documents it can handle are limited by the size
|
||||
of the memory available.</p>
|
||||
<p>More specialized memory handling approaches are possible, like building
|
||||
of the memory available.</p><p>More specialized memory handling approaches are possible, like building
|
||||
the input tree from a serialization progressively as it is consumed,
|
||||
factoring repetitive patterns, or even on-the-fly generation of the output as
|
||||
the input is parsed but it is possible only for a limited subset of the
|
||||
stylesheets. In general the implementation of libxslt follows the following
|
||||
pattern:</p>
|
||||
<ul>
|
||||
<li>KISS (keep it simple stupid)</li>
|
||||
pattern:</p><ul><li>KISS (keep it simple stupid)</li>
|
||||
<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
|
||||
result</li>
|
||||
</ul>
|
||||
<p>The result is not that bad, clearly one can do a better job but more
|
||||
</ul><p>The result is not that bad, clearly one can do a better job but more
|
||||
specialized too. Most optimization like building the tree on-demand would
|
||||
need serious changes to the libxml XPath framework. An easy step would be to
|
||||
serialize the output directly (or call a set of SAX-like output handler to
|
||||
keep this a flexible interface) and hence avoid the memory consumption of the
|
||||
result.</p>
|
||||
<h3><a name="libxml">The libxml nodes</a></h3>
|
||||
<p>DOM-like trees, as used and generated by libxml and libxslt, are
|
||||
result.</p><h3><a name="libxml" id="libxml">The libxml nodes</a></h3><p>DOM-like trees, as used and generated by libxml and libxslt, are
|
||||
relatively complex. Most node types follow the given structure except a few
|
||||
variations depending on the node type:</p>
|
||||
<p align="center"><img src="node.gif" alt="description of a libxml node"></p>
|
||||
<p>Nodes carry a <strong>name</strong> and the node <strong>type</strong>
|
||||
indicates the kind of node it represents, the most common ones are:</p>
|
||||
<ul>
|
||||
<li>document nodes</li>
|
||||
variations depending on the node type:</p><p align="center"><img src="node.gif" alt="description of a libxml node" /></p><p>Nodes carry a <strong>name</strong> and the node <strong>type</strong>
|
||||
indicates the kind of node it represents, the most common ones are:</p><ul><li>document nodes</li>
|
||||
<li>element nodes</li>
|
||||
<li>text nodes</li>
|
||||
</ul>
|
||||
<p>For the XSLT processing, entity nodes should not be generated (i.e. they
|
||||
</ul><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
|
||||
"navigation" informations:</p>
|
||||
<ul>
|
||||
<li>the containing <strong>doc</strong>ument</li>
|
||||
"navigation" informations:</p><ul><li>the containing <strong>doc</strong>ument</li>
|
||||
<li>the <strong>parent</strong> node</li>
|
||||
<li>the first <strong>children</strong> node</li>
|
||||
<li>the <strong>last</strong> children node</li>
|
||||
<li>the <strong>prev</strong>ious sibling</li>
|
||||
<li>the following sibling (<strong>next</strong>)</li>
|
||||
</ul>
|
||||
<p>Elements nodes carries the list of attributes in the properties, an
|
||||
</ul><p>Elements nodes carries the list of attributes in the properties, an
|
||||
attribute itself holds the navigation pointers and the children list (the
|
||||
attribute value is not represented as a simple string to allow usage of
|
||||
entities references).</p>
|
||||
<p>The <strong>ns</strong> points to the namespace declaration for the
|
||||
entities references).</p><p>The <strong>ns</strong> points to the namespace declaration for the
|
||||
namespace associated to the node, <strong>nsDef</strong> is the linked list
|
||||
of namespace declaration present on element nodes.</p>
|
||||
<p>Most nodes also carry an <strong>_private</strong> pointer which can be
|
||||
used by the application to hold specific data on this node.</p>
|
||||
<h3><a name="XSLT">The XSLT processing steps</a></h3>
|
||||
<p>There are a few steps which are clearly decoupled at the interface
|
||||
level:</p>
|
||||
<ol>
|
||||
<li>parse the stylesheet and generate a DOM tree</li>
|
||||
of namespace declaration present on element nodes.</p><p>Most nodes also carry an <strong>_private</strong> pointer which can be
|
||||
used by the application to hold specific data on this node.</p><h3><a name="XSLT" id="XSLT">The XSLT processing steps</a></h3><p>There are a few steps which are clearly decoupled at the interface
|
||||
level:</p><ol><li>parse the stylesheet and generate a DOM tree</li>
|
||||
<li>take the stylesheet tree and build a compiled version of it (the
|
||||
compilation phase)</li>
|
||||
<li>take the input and generate a DOM tree</li>
|
||||
<li>process the stylesheet against the input tree and generate an output
|
||||
tree</li>
|
||||
<li>serialize the output tree</li>
|
||||
</ol>
|
||||
<p>A few things should be noted here:</p>
|
||||
<ul>
|
||||
<li>the steps 1/ 3/ and 5/ are optional</li>
|
||||
</ol><p>A few things should be noted here:</p><ul><li>the steps 1/ 3/ and 5/ are optional</li>
|
||||
<li>the stylesheet obtained at 2/ can be reused by multiple processing 4/
|
||||
(and this should also work in threaded programs)</li>
|
||||
<li>the tree provided in 2/ should never be freed using xmlFreeDoc, but by
|
||||
freeing the stylesheet.</li>
|
||||
<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>
|
||||
</ul>
|
||||
<h3><a name="XSLT1">The XSLT stylesheet compilation</a></h3>
|
||||
<p>This is the second step described. It takes a stylesheet tree, and
|
||||
</ul><h3><a name="XSLT1" id="XSLT1">The XSLT stylesheet compilation</a></h3><p>This is the second step described. It takes a stylesheet tree, and
|
||||
"compiles" it. This associates to each node a structure stored in the
|
||||
_private field and containing information computed in the stylesheet:</p>
|
||||
<p align="center"><img src="stylesheet.gif" alt="a compiled XSLT stylesheet"></p>
|
||||
<p>One xsltStylesheet structure is generated per document parsed for the
|
||||
_private field and containing information computed in the stylesheet:</p><p align="center"><img src="stylesheet.gif" alt="a compiled XSLT stylesheet" /></p><p>One xsltStylesheet structure is generated per document parsed for the
|
||||
stylesheet. XSLT documents allow includes and imports of other documents,
|
||||
imports are stored in the <strong>imports</strong> list (hence keeping the
|
||||
tree hierarchy of includes which is very important for a proper XSLT
|
||||
processing model) and includes are stored in the <strong>doclist</strong>
|
||||
list. An imported stylesheet has a parent link to allow browsing of the
|
||||
tree.</p>
|
||||
<p>The DOM tree associated to the document is stored in <strong>doc</strong>.
|
||||
tree.</p><p>The DOM tree associated to the document is stored in <strong>doc</strong>.
|
||||
It is preprocessed to remove ignorable empty nodes and all the nodes in the
|
||||
XSLT namespace are subject to precomputing. This usually consist of
|
||||
extracting all the context information from the context tree (attributes,
|
||||
namespaces, XPath expressions), and storing them in an xsltStylePreComp
|
||||
structure associated to the <strong>_private</strong> field of the node.</p>
|
||||
<p>A couple of notable exceptions to this are XSLT template nodes (more on
|
||||
structure associated to the <strong>_private</strong> field of the node.</p><p>A couple of notable exceptions to this are XSLT template nodes (more on
|
||||
this later) and attribute value templates. If they are actually templates,
|
||||
the value cannot be computed at compilation time. (Some preprocessing could
|
||||
be done like isolation and preparsing of the XPath subexpressions but it's
|
||||
not done, yet.)</p>
|
||||
<p>The xsltStylePreComp structure also allows storing of the precompiled form
|
||||
not done, yet.)</p><p>The xsltStylePreComp structure also allows storing of the precompiled form
|
||||
of an XPath expression that can be associated to an XSLT element (more on
|
||||
this later).</p>
|
||||
<h3><a name="XSLT2">The XSLT template compilation</a></h3>
|
||||
<p>A proper handling of templates lookup is one of the keys of fast XSLT
|
||||
this later).</p><h3><a name="XSLT2" id="XSLT2">The XSLT template compilation</a></h3><p>A proper handling of templates lookup is one of the keys of fast XSLT
|
||||
processing. (Given a node in the source document this is the process of
|
||||
finding which templates should be applied to this node.) Libxslt follows the
|
||||
hint suggested in the <a href="http://www.w3.org/TR/xslt#patterns">5.2
|
||||
@ -236,14 +116,11 @@ as an XPath expression but tokenizes it and compiles it as a set of rules to
|
||||
be evaluated on a candidate node. There usually is an indication of the node
|
||||
name in the last step of this evaluation and this is used as a key check for
|
||||
the match. As a result libxslt builds a relatively more complex set of
|
||||
structures for the templates:</p>
|
||||
<p align="center"><img src="templates.gif" alt="The templates related structure"></p>
|
||||
<p>Let's describe a bit more closely what is built. First the xsltStylesheet
|
||||
structures for the templates:</p><p align="center"><img src="templates.gif" alt="The templates related structure" /></p><p>Let's describe a bit more closely what is built. First the xsltStylesheet
|
||||
structure holds a pointer to the template hash table. All the XSLT patterns
|
||||
compiled in this stylesheet are indexed by the value of the the target
|
||||
element (or attribute, pi ...) name, so when a element or an attribute "foo"
|
||||
needs to be processed the lookup is done using the name as a key.</p>
|
||||
<p>Each of the patterns is compiled into an xsltCompMatch structure. It holds
|
||||
needs to be processed the lookup is done using the name as a key.</p><p>Each of the patterns is compiled into an xsltCompMatch structure. It holds
|
||||
the set of rules based on the tokenization of the pattern stored in reverse
|
||||
order (matching is easier this way). It also holds some information about the
|
||||
previous matches used to speed up the process when one iterates over a set of
|
||||
@ -251,54 +128,41 @@ siblings. (This optimization may be defeated by trashing when running
|
||||
threaded computation, it's unclear that this is a big deal in practice.)
|
||||
Predicate expressions are not compiled at this stage, they may be at run-time
|
||||
if needed, but in this case they are compiled as full XPath expressions (the
|
||||
use of some fixed predicate can probably be optimized, they are not yet).</p>
|
||||
<p>The xsltCompMatch are then stored in the hash table, the clash list is
|
||||
use of some fixed predicate can probably be optimized, they are not yet).</p><p>The xsltCompMatch are then stored in the hash table, the clash list is
|
||||
itself sorted by priority of the template to implement "naturally" the XSLT
|
||||
priority rules.</p>
|
||||
<p>Associated to the compiled pattern is the xsltTemplate itself containing
|
||||
priority rules.</p><p>Associated to the compiled pattern is the xsltTemplate itself containing
|
||||
the information required for the processing of the pattern including, of
|
||||
course, a pointer to the list of elements used for building the pattern
|
||||
result.</p>
|
||||
<p>Last but not least a number of patterns do not fit in the hash table
|
||||
result.</p><p>Last but not least a number of patterns do not fit in the hash table
|
||||
because they are not associated to a name, this is the case for patterns
|
||||
applying to the root, any element, any attributes, text nodes, pi nodes, keys
|
||||
etc. Those are stored independently in the stylesheet structure as separate
|
||||
linked lists of xsltCompMatch.</p>
|
||||
<h3><a name="processing">The processing itself</a></h3>
|
||||
<p>The processing is defined by the XSLT specification (the basis of the
|
||||
linked lists of xsltCompMatch.</p><h3><a name="processing" id="processing">The processing itself</a></h3><p>The processing is defined by the XSLT specification (the basis of the
|
||||
algorithm is explained in <a href="http://www.w3.org/TR/xslt#section-Introduction">the Introduction</a>
|
||||
section). Basically it works by taking the root of the input document and
|
||||
applying the following algorithm:</p>
|
||||
<ol>
|
||||
<li>Finding the template applying to it. This is a lookup in the template
|
||||
applying the following algorithm:</p><ol><li>Finding the template applying to it. This is a lookup in the template
|
||||
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
|
||||
if there isn't a higher priority rule to apply</li>
|
||||
<li>If there is no template, apply the default rule (recurse on the
|
||||
children)</li>
|
||||
<li>else walk the content list of the selected templates, for each of them:
|
||||
<ul>
|
||||
<li>if the node is in the XSLT namespace then the node has a _private
|
||||
<ul><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
|
||||
code</li>
|
||||
<li>if the node is in an extension namespace, look up the associated
|
||||
behavior</li>
|
||||
<li>otherwise copy the node.</li>
|
||||
</ul>
|
||||
<p>The closure is usually done through the XSLT
|
||||
</ul><p>The closure is usually done through the XSLT
|
||||
<strong>apply-templates</strong> construct recursing by applying the
|
||||
adequate template on the input node children or on the result of an
|
||||
associated XPath selection lookup.</p>
|
||||
</li>
|
||||
</ol>
|
||||
<p>Note that large parts of the input tree may not be processed by a given
|
||||
</ol><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.
|
||||
(This often is the case when a Table of Contents is built).</p>
|
||||
<p>The module <code>transform.c</code> is the one implementing most of this
|
||||
(This often is the case when a Table of Contents is built).</p><p>The module <code>transform.c</code> is the one implementing most of this
|
||||
logic. <strong>xsltApplyStylesheet()</strong> is the entry point, it
|
||||
allocates an xsltTransformContext containing the following:</p>
|
||||
<ul>
|
||||
<li>a pointer to the stylesheet being processed</li>
|
||||
allocates an xsltTransformContext containing the following:</p><ul><li>a pointer to the stylesheet being processed</li>
|
||||
<li>a stack of templates</li>
|
||||
<li>a stack of variables and parameters</li>
|
||||
<li>an XPath context</li>
|
||||
@ -308,25 +172,18 @@ allocates an xsltTransformContext containing the following:</p>
|
||||
<li>current selected node list</li>
|
||||
<li>the current insertion points in the output document</li>
|
||||
<li>a couple of hash tables for extension elements and functions</li>
|
||||
</ul>
|
||||
<p>Then a new document gets allocated (HTML or XML depending on the type of
|
||||
</ul><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
|
||||
evaluated. Then <strong>xsltProcessOneNode()</strong> which implements the
|
||||
1-2-3 algorithm is called on the root element of the input. Step 1/ is
|
||||
implemented by calling <strong>xsltGetTemplate()</strong>, step 2/ is
|
||||
implemented by <strong>xsltDefaultProcessOneNode()</strong> and step 3/ is
|
||||
implemented by <strong>xsltApplyOneTemplate()</strong>.</p>
|
||||
<h3><a name="XPath">XPath expression compilation</a></h3>
|
||||
<p>The XPath support is actually implemented in the libxml module (where it
|
||||
implemented by <strong>xsltApplyOneTemplate()</strong>.</p><h3><a name="XPath" id="XPath">XPath expression compilation</a></h3><p>The XPath support is actually implemented in the libxml module (where it
|
||||
is reused by the XPointer implementation). XPath is a relatively classic
|
||||
expression language. The only uncommon feature is that it is working on XML
|
||||
trees and hence has specific syntax and types to handle them.</p>
|
||||
<p>XPath expressions are compiled using <strong>xmlXPathCompile()</strong>.
|
||||
trees and hence has specific syntax and types to handle them.</p><p>XPath expressions are compiled using <strong>xmlXPathCompile()</strong>.
|
||||
It will take an expression string in input and generate a structure
|
||||
containing the parsed expression tree, for example the expression:</p>
|
||||
<pre>/doc/chapter[title='Introduction']</pre>
|
||||
<p>will be compiled as</p>
|
||||
<pre>Compiled Expression : 10 elements
|
||||
containing the parsed expression tree, for example the expression:</p><pre>/doc/chapter[title='Introduction']</pre><p>will be compiled as</p><pre>Compiled Expression : 10 elements
|
||||
SORT
|
||||
COLLECT 'child' 'name' 'node' chapter
|
||||
COLLECT 'child' 'name' 'node' doc
|
||||
@ -338,29 +195,22 @@ containing the parsed expression tree, for example the expression:</p>
|
||||
NODE
|
||||
ELEM Object is a string : Introduction
|
||||
COLLECT 'child' 'name' 'node' title
|
||||
NODE</pre>
|
||||
<p>This can be tested using the <code>testXPath</code> command (in the
|
||||
libxml codebase) using the <code>--tree</code> option.</p>
|
||||
<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
|
||||
NODE</pre><p>This can be tested using the <code>testXPath</code> command (in the
|
||||
libxml codebase) using the <code>--tree</code> option.</p><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+p=saxon">Michael
|
||||
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
|
||||
much gain since the expressions tends to be relatively simple in general and
|
||||
stylesheets are still hand generated. Optimizations at the interpretation
|
||||
sounds likely to be more efficient.</p>
|
||||
<h3><a name="XPath1">XPath interpretation</a></h3>
|
||||
<p>The interpreter is implemented by <strong>xmlXPathCompiledEval()</strong>
|
||||
sounds likely to be more efficient.</p><h3><a name="XPath1" id="XPath1">XPath interpretation</a></h3><p>The interpreter is implemented by <strong>xmlXPathCompiledEval()</strong>
|
||||
which is the front-end to <strong>xmlXPathCompOpEval()</strong> the function
|
||||
implementing the evaluation of the expression tree. This evaluation follows
|
||||
the KISS approach again. It's recursive and calls
|
||||
<strong>xmlXPathNodeCollectAndTest()</strong> to collect nodes set when
|
||||
evaluating a <code>COLLECT</code> node.</p>
|
||||
<p>An evaluation is done within the framework of an XPath context stored in
|
||||
evaluating a <code>COLLECT</code> node.</p><p>An evaluation is done within the framework of an XPath context stored in
|
||||
an <strong>xmlXPathContext</strong> structure, in the framework of a
|
||||
transformation the context is maintained within the XSLT context. Its content
|
||||
follows the requirements from the XPath specification:</p>
|
||||
<ul>
|
||||
<li>the current document</li>
|
||||
follows the requirements from the XPath specification:</p><ul><li>the current document</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 functions</li>
|
||||
@ -369,117 +219,73 @@ follows the requirements from the XPath specification:</p>
|
||||
<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
|
||||
hash table but it is not used in the XSLT transformation).</li>
|
||||
</ul>
|
||||
<p>For the purpose of XSLT an <strong>extra</strong> pointer has been added
|
||||
</ul><p>For the purpose of XSLT an <strong>extra</strong> pointer has been added
|
||||
allowing to retrieve the XSLT transformation context. When an XPath
|
||||
evaluation is about to be performed, an XPath parser context is allocated
|
||||
containing and XPath object stack (this is actually an XPath evaluation
|
||||
context, this is a remain of the time where there was no separate parsing and
|
||||
evaluation phase in the XPath implementation). Here is an overview of the set
|
||||
of contexts associated to an XPath evaluation within an XSLT
|
||||
transformation:</p>
|
||||
<p align="center"><img src="contexts.gif" alt="The set of contexts associated "></p>
|
||||
<p>Clearly this is a bit too complex and confusing and should be refactored
|
||||
transformation:</p><p align="center"><img src="contexts.gif" alt="The set of contexts associated " /></p><p>Clearly this is a bit too complex and confusing and should be refactored
|
||||
at the next set of binary incompatible releases of libxml. For example the
|
||||
xmlXPathCtxt has a lot of unused parts and should probably be merged with
|
||||
xmlXPathParserCtxt.</p>
|
||||
<h3><a name="Descriptio">Description of XPath Objects</a></h3>
|
||||
<p>An XPath expression manipulates XPath objects. XPath defines the default
|
||||
xmlXPathParserCtxt.</p><h3><a name="Descriptio" id="Descriptio">Description of XPath Objects</a></h3><p>An XPath expression manipulates XPath objects. XPath defines the default
|
||||
types boolean, numbers, strings and node sets. XSLT adds the result tree
|
||||
fragment type which is basically an unmodifiable node set.</p>
|
||||
<p>Implementation-wise, libxml follows again a KISS approach, the
|
||||
fragment type which is basically an unmodifiable node set.</p><p>Implementation-wise, libxml follows again a KISS approach, the
|
||||
xmlXPathObject is a structure containing a type description and the various
|
||||
possibilities. (Using an enum could have gained some bytes.) In the case of
|
||||
node sets (or result tree fragments), it points to a separate xmlNodeSet
|
||||
object which contains the list of pointers to the document nodes:</p>
|
||||
<p align="center"><img src="object.gif" alt="An Node set object pointing to "></p>
|
||||
<p>The <a href="http://xmlsoft.org/html/libxml-xpath.html">XPath API</a> (and
|
||||
object which contains the list of pointers to the document nodes:</p><p align="center"><img src="object.gif" alt="An Node set object pointing to " /></p><p>The <a href="http://xmlsoft.org/html/libxml-xpath.html">XPath API</a> (and
|
||||
its <a href="http://xmlsoft.org/html/libxml-xpathinternals.html">'internal'
|
||||
part</a>) includes a number of functions to create, copy, compare, convert or
|
||||
free XPath objects.</p>
|
||||
<h3><a name="XPath3">XPath functions</a></h3>
|
||||
<p>All the XPath functions available to the interpreter are registered in the
|
||||
free XPath objects.</p><h3><a name="XPath3" id="XPath3">XPath functions</a></h3><p>All the XPath functions available to the interpreter are registered in the
|
||||
function hash table linked from the XPath context. They all share the same
|
||||
signature:</p>
|
||||
<pre>void xmlXPathFunc (xmlXPathParserContextPtr ctxt, int nargs);</pre>
|
||||
<p>The first argument is the XPath interpretation context, holding the
|
||||
signature:</p><pre>void xmlXPathFunc (xmlXPathParserContextPtr ctxt, int nargs);</pre><p>The first argument is the XPath interpretation context, holding the
|
||||
interpretation stack. The second argument defines the number of objects
|
||||
passed on the stack for the function to consume (last argument is on top of
|
||||
the stack).</p>
|
||||
<p>Basically an XPath function does the following:</p>
|
||||
<ul>
|
||||
<li>check <code>nargs</code> for proper handling of errors or functions
|
||||
the stack).</p><p>Basically an XPath function does the following:</p><ul><li>check <code>nargs</code> for proper handling of errors or functions
|
||||
with variable numbers of parameters</li>
|
||||
<li>pop the parameters from the stack using <code>obj =
|
||||
valuePop(ctxt);</code>
|
||||
</li>
|
||||
valuePop(ctxt);</code></li>
|
||||
<li>do the function specific computation</li>
|
||||
<li>push the result parameter on the stack using <code>valuePush(ctxt,
|
||||
res);</code>
|
||||
</li>
|
||||
res);</code></li>
|
||||
<li>free up the input parameters with
|
||||
<code>xmlXPathFreeObject(obj);</code>
|
||||
</li>
|
||||
<code>xmlXPathFreeObject(obj);</code></li>
|
||||
<li>return</li>
|
||||
</ul>
|
||||
<p>Sometime the work can be done directly by modifying in-situ the top object
|
||||
on the stack <code>ctxt->value</code>.</p>
|
||||
<h3><a name="stack">The XSLT variables stack frame</a></h3>
|
||||
<p>Not to be confused with XPath object stack, this stack holds the XSLT
|
||||
</ul><p>Sometime the work can be done directly by modifying in-situ the top object
|
||||
on the stack <code>ctxt->value</code>.</p><h3><a name="stack" id="stack">The XSLT variables stack frame</a></h3><p>Not to be confused with XPath object stack, this stack holds the XSLT
|
||||
variables and parameters as they are defined through the recursive calls of
|
||||
call-template, apply-templates and default templates. This is used to define
|
||||
the scope of variables being called.</p>
|
||||
<p>This part seems to be the most urgent attention right now, first it is
|
||||
the scope of variables being called.</p><p>This part seems to be the most urgent attention right now, first it is
|
||||
done in a very inefficient way since the location of the variables and
|
||||
parameters within the stylesheet tree is still done at run time (it really
|
||||
should be done statically at compile time), and I am still unsure that my
|
||||
understanding of the template variables and parameter scope is actually
|
||||
right.</p>
|
||||
<p>This part of the documentation is still to be written once this part of
|
||||
the code will be stable. <span style="background-color: #FF0000">TODO</span>
|
||||
</p>
|
||||
<h3><a name="Extension">Extension support</a></h3>
|
||||
<p>There is a separate document explaining <a href="extensions.html">how the
|
||||
extension support works</a>.</p>
|
||||
<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
|
||||
right.</p><p>This part of the documentation is still to be written once this part of
|
||||
the code will be stable. <span style="background-color: #FF0000">TODO</span></p><h3><a name="Extension" id="Extension">Extension support</a></h3><p>There is a separate document explaining <a href="extensions.html">how the
|
||||
extension support works</a>.</p><h3><a name="Futher" id="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+p=saxon">a
|
||||
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
|
||||
would probably have avoided a few mistakes and progressed faster). A lot of
|
||||
the ideas in his papers should be implemented or at least tried in
|
||||
libxslt.</p>
|
||||
<p>The <a href="http://xmlsoft.org/">libxml documentation</a>, especially <a href="http://xmlsoft.org/xmlio.html">the I/O interfaces</a> and the <a href="http://xmlsoft.org/xmlmem.html">memory management</a>.</p>
|
||||
<h3><a name="TODOs">TODOs</a></h3>
|
||||
<p>redesign the XSLT stack frame handling. Far too much work is done at
|
||||
libxslt.</p><p>The <a href="http://xmlsoft.org/">libxml documentation</a>, especially <a href="http://xmlsoft.org/xmlio.html">the I/O interfaces</a> and the <a href="http://xmlsoft.org/xmlmem.html">memory management</a>.</p><h3><a name="TODOs" id="TODOs">TODOs</a></h3><p>redesign the XSLT stack frame handling. Far too much work is done at
|
||||
execution time. Similarly for the attribute value templates handling, at
|
||||
least the embedded subexpressions ought to be precompiled.</p>
|
||||
<p>Allow output to be saved to a SAX like output (this notion of SAX like API
|
||||
for output should be added directly to libxml).</p>
|
||||
<p>Implement and test some of the optimization explained by Michael Kay
|
||||
especially:</p>
|
||||
<ul>
|
||||
<li>static slot allocation on the stack frame</li>
|
||||
least the embedded subexpressions ought to be precompiled.</p><p>Allow output to be saved to a SAX like output (this notion of SAX like API
|
||||
for output should be added directly to libxml).</p><p>Implement and test some of the optimization explained by Michael Kay
|
||||
especially:</p><ul><li>static slot allocation on the stack frame</li>
|
||||
<li>specific boolean interpretation of an XPath expression</li>
|
||||
<li>some of the sorting optimization</li>
|
||||
<li>Lazy evaluation of location path. (this may require more changes but
|
||||
sounds really interesting. XT does this too.)</li>
|
||||
<li>Optimization of an expression tree (This could be done as a completely
|
||||
independent module.)</li>
|
||||
</ul>
|
||||
<p></p>
|
||||
<p>Error reporting, there is a lot of case where the XSLT specification
|
||||
</ul><p></p><p>Error reporting, there is a lot of case where the XSLT specification
|
||||
specify that a given construct is an error are not checked adequately by
|
||||
libxslt. Basically one should do a complete pass on the XSLT spec again and
|
||||
add all tests to the stylesheet compilation. Using the DTD provided in the
|
||||
appendix and making direct checks using the libxml validation API sounds a
|
||||
good idea too (though one should take care of not raising errors for
|
||||
elements/attributes in different namespaces).</p>
|
||||
<p>Double check all the places where the stylesheet compiled form might be
|
||||
elements/attributes in different namespaces).</p><p>Double check all the places where the stylesheet compiled form might be
|
||||
modified at run time (extra removal of blanks nodes, hint on the
|
||||
xsltCompMatch).</p>
|
||||
<p></p>
|
||||
<p><a href="bugs.html">Daniel Veillard</a></p>
|
||||
</td></tr></table></td></tr></table></td></tr></table></td>
|
||||
</tr></table></td></tr></table>
|
||||
</body>
|
||||
</html>
|
||||
xsltCompMatch).</p><p></p><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
|
||||
|
@ -1,106 +1,22 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<style type="text/css"><!--
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><style type="text/css">
|
||||
TD {font-family: Verdana,Arial,Helvetica}
|
||||
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
|
||||
H1 {font-family: Verdana,Arial,Helvetica}
|
||||
H2 {font-family: Verdana,Arial,Helvetica}
|
||||
H3 {font-family: Verdana,Arial,Helvetica}
|
||||
A:link, A:visited, A:active { text-decoration: underline }
|
||||
--></style>
|
||||
<title>Introduction</title>
|
||||
</head>
|
||||
<body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000">
|
||||
<table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr>
|
||||
<td width="100">
|
||||
<a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo"></a><a href="http://www.redhat.com"><img src="redhat.gif" alt="Red Hat Logo"></a><div align="left"><a href="http://xmlsoft.org/XSLT/"><img src="Libxslt-Logo-180x168.gif" alt="Made with Libxslt Logo"></a></div>
|
||||
</td>
|
||||
<td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center">
|
||||
<h1>The XSLT C library for Gnome</h1>
|
||||
<h2>Introduction</h2>
|
||||
</td></tr></table></td></tr></table></td>
|
||||
</tr></table>
|
||||
<table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr>
|
||||
<td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td>
|
||||
<table width="100%" border="0" cellspacing="1" cellpadding="3">
|
||||
<tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr>
|
||||
<tr><td bgcolor="#fffacd">
|
||||
<form action="search.php" enctype="application/x-www-form-urlencoded" method="GET">
|
||||
<input name="query" type="TEXT" size="20" value=""><input name="submit" type="submit" value="Search ...">
|
||||
</form>
|
||||
<ul>
|
||||
<li><a href="index.html">Home</a></li>
|
||||
<li><a href="intro.html">Introduction</a></li>
|
||||
<li><a href="docs.html">Documentation</a></li>
|
||||
<li><a href="bugs.html">Reporting bugs and getting help</a></li>
|
||||
<li><a href="help.html">How to help</a></li>
|
||||
<li><a href="downloads.html">Downloads</a></li>
|
||||
<li><a href="FAQ.html">FAQ</a></li>
|
||||
<li><a href="news.html">News</a></li>
|
||||
<li><a href="xsltproc2.html">The xsltproc tool</a></li>
|
||||
<li><a href="docbook.html">DocBook</a></li>
|
||||
<li><a href="API.html">The programming API</a></li>
|
||||
<li><a href="python.html">Python and bindings</a></li>
|
||||
<li><a href="internals.html">Library internals</a></li>
|
||||
<li><a href="extensions.html">Writing extensions</a></li>
|
||||
<li><a href="contribs.html">Contributions</a></li>
|
||||
<li>
|
||||
<a href="xslt.html">flat page</a>, <a href="site.xsl">stylesheet</a>
|
||||
</li>
|
||||
</ul>
|
||||
</td></tr>
|
||||
</table>
|
||||
<table width="100%" border="0" cellspacing="1" cellpadding="3">
|
||||
<tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr>
|
||||
<tr><td bgcolor="#fffacd"><ul>
|
||||
<li><a href="tutorial/libxslttutorial.html">Tutorial</a></li>
|
||||
<li><a href="xsltproc.html">Man page for xsltproc</a></li>
|
||||
<li><a href="http://mail.gnome.org/archives/xslt/">Mail archive</a></li>
|
||||
<li><a href="http://xmlsoft.org/">XML libxml</a></li>
|
||||
<li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li>
|
||||
<li><a href="ftp://xmlsoft.org/">FTP</a></li>
|
||||
<li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li>
|
||||
<li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li>
|
||||
<li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li>
|
||||
<li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li>
|
||||
<li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxslt">Bug Tracker</a></li>
|
||||
<li><a href="http://xsldbg.sourceforge.net/">Xsldbg Debugger</a></li>
|
||||
<li><a href="http://www.mod-xslt.com/mod-xslt/">Apache module</a></li>
|
||||
</ul></td></tr>
|
||||
</table>
|
||||
<table width="100%" border="0" cellspacing="1" cellpadding="3">
|
||||
<tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr>
|
||||
<tr><td bgcolor="#fffacd"><ul>
|
||||
<li><a href="APIchunk0.html">Alphabetic</a></li>
|
||||
<li><a href="APIconstructors.html">Constructors</a></li>
|
||||
<li><a href="APIfunctions.html">Functions/Types</a></li>
|
||||
<li><a href="APIfiles.html">Modules</a></li>
|
||||
<li><a href="APIsymbols.html">Symbols</a></li>
|
||||
</ul></td></tr>
|
||||
</table>
|
||||
</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">
|
||||
<p>This document describes <a href="http://xmlsoft.org/XSLT/">libxslt</a>,
|
||||
</style><title>Introduction</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="100"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.redhat.com"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/XSLT/"><img src="Libxslt-Logo-180x168.gif" alt="Made with Libxslt Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XSLT C library for Gnome</h1><h2>Introduction</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="intro.html">Introduction</a></li><li><a href="docs.html">Documentation</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="news.html">News</a></li><li><a href="xsltproc2.html">The xsltproc tool</a></li><li><a href="docbook.html">DocBook</a></li><li><a href="API.html">The programming API</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="internals.html">Library internals</a></li><li><a href="extensions.html">Writing extensions</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="xslt.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="tutorial/libxslttutorial.html">Tutorial</a></li><li><a href="xsltproc.html">Man page for xsltproc</a></li><li><a href="http://mail.gnome.org/archives/xslt/">Mail archive</a></li><li><a href="http://xmlsoft.org/">XML libxml</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxslt">Bug Tracker</a></li><li><a href="http://xsldbg.sourceforge.net/">Xsldbg Debugger</a></li><li><a href="http://www.mod-xslt.com/mod-xslt/">Apache module</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table></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"><p>This document describes <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>Here are some key points about libxslt:</p>
|
||||
<ul>
|
||||
<li>Libxslt is a C implementation</li>
|
||||
<a href="http://www.gnome.org/">Gnome</a> project.</p><p>Here are some key points about libxslt:</p><ul><li>Libxslt is a C implementation</li>
|
||||
<li>Libxslt is based on libxml for XML parsing, tree manipulation and XPath
|
||||
support</li>
|
||||
<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
|
||||
Linux/Unix/Windows.</li>
|
||||
<li>This library is released under the <a href="http://www.opensource.org/licenses/mit-license.html">MIT
|
||||
Licence</a>
|
||||
</li>
|
||||
Licence</a></li>
|
||||
<li>Though not designed primarily with performances in mind, libxslt seems
|
||||
to be a relatively fast processor.</li>
|
||||
</ul>
|
||||
<p><a href="bugs.html">Daniel Veillard</a></p>
|
||||
</td></tr></table></td></tr></table></td></tr></table></td>
|
||||
</tr></table></td></tr></table>
|
||||
</body>
|
||||
</html>
|
||||
</ul><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
|
||||
|
22
doc/libxslt.xsa
Normal file
22
doc/libxslt.xsa
Normal file
@ -0,0 +1,22 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE xsa PUBLIC "-//LM Garshol//DTD XML Software Autoupdate 1.0//EN//XML" "http://www.garshol.priv.no/download/xsa/xsa.dtd">
|
||||
<xsa>
|
||||
<vendor>
|
||||
<name>Daniel Veillard</name>
|
||||
<email>daniel@veillard.com</email>
|
||||
<url>http://veillard.com/</url>
|
||||
</vendor>
|
||||
<product id="libxslt">
|
||||
<name>libxslt</name>
|
||||
<version>1.0.29</version>
|
||||
<last-release> Apr 1 2003</last-release>
|
||||
<info-url>http://xmlsoft.org/XSLT/</info-url>
|
||||
<changes> - performance improvements especially for large flat documents
|
||||
- bug fixes: Result Value Tree handling, XML IDs, keys(), extra namespace
|
||||
declarations with xsl:elements.
|
||||
- portability: python and trio fixes (Albert Chin), python on Solaris
|
||||
(Ben Phillips)
|
||||
|
||||
</changes>
|
||||
</product>
|
||||
</xsa>
|
325
doc/news.html
325
doc/news.html
@ -1,127 +1,34 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<style type="text/css"><!--
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><style type="text/css">
|
||||
TD {font-family: Verdana,Arial,Helvetica}
|
||||
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
|
||||
H1 {font-family: Verdana,Arial,Helvetica}
|
||||
H2 {font-family: Verdana,Arial,Helvetica}
|
||||
H3 {font-family: Verdana,Arial,Helvetica}
|
||||
A:link, A:visited, A:active { text-decoration: underline }
|
||||
--></style>
|
||||
<title>News</title>
|
||||
</head>
|
||||
<body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000">
|
||||
<table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr>
|
||||
<td width="100">
|
||||
<a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo"></a><a href="http://www.redhat.com"><img src="redhat.gif" alt="Red Hat Logo"></a><div align="left"><a href="http://xmlsoft.org/XSLT/"><img src="Libxslt-Logo-180x168.gif" alt="Made with Libxslt Logo"></a></div>
|
||||
</td>
|
||||
<td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center">
|
||||
<h1>The XSLT C library for Gnome</h1>
|
||||
<h2>News</h2>
|
||||
</td></tr></table></td></tr></table></td>
|
||||
</tr></table>
|
||||
<table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr>
|
||||
<td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td>
|
||||
<table width="100%" border="0" cellspacing="1" cellpadding="3">
|
||||
<tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr>
|
||||
<tr><td bgcolor="#fffacd">
|
||||
<form action="search.php" enctype="application/x-www-form-urlencoded" method="GET">
|
||||
<input name="query" type="TEXT" size="20" value=""><input name="submit" type="submit" value="Search ...">
|
||||
</form>
|
||||
<ul>
|
||||
<li><a href="index.html">Home</a></li>
|
||||
<li><a href="intro.html">Introduction</a></li>
|
||||
<li><a href="docs.html">Documentation</a></li>
|
||||
<li><a href="bugs.html">Reporting bugs and getting help</a></li>
|
||||
<li><a href="help.html">How to help</a></li>
|
||||
<li><a href="downloads.html">Downloads</a></li>
|
||||
<li><a href="FAQ.html">FAQ</a></li>
|
||||
<li><a href="news.html">News</a></li>
|
||||
<li><a href="xsltproc2.html">The xsltproc tool</a></li>
|
||||
<li><a href="docbook.html">DocBook</a></li>
|
||||
<li><a href="API.html">The programming API</a></li>
|
||||
<li><a href="python.html">Python and bindings</a></li>
|
||||
<li><a href="internals.html">Library internals</a></li>
|
||||
<li><a href="extensions.html">Writing extensions</a></li>
|
||||
<li><a href="contribs.html">Contributions</a></li>
|
||||
<li>
|
||||
<a href="xslt.html">flat page</a>, <a href="site.xsl">stylesheet</a>
|
||||
</li>
|
||||
</ul>
|
||||
</td></tr>
|
||||
</table>
|
||||
<table width="100%" border="0" cellspacing="1" cellpadding="3">
|
||||
<tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr>
|
||||
<tr><td bgcolor="#fffacd"><ul>
|
||||
<li><a href="tutorial/libxslttutorial.html">Tutorial</a></li>
|
||||
<li><a href="xsltproc.html">Man page for xsltproc</a></li>
|
||||
<li><a href="http://mail.gnome.org/archives/xslt/">Mail archive</a></li>
|
||||
<li><a href="http://xmlsoft.org/">XML libxml</a></li>
|
||||
<li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li>
|
||||
<li><a href="ftp://xmlsoft.org/">FTP</a></li>
|
||||
<li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li>
|
||||
<li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li>
|
||||
<li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li>
|
||||
<li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li>
|
||||
<li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxslt">Bug Tracker</a></li>
|
||||
<li><a href="http://xsldbg.sourceforge.net/">Xsldbg Debugger</a></li>
|
||||
<li><a href="http://www.mod-xslt.com/mod-xslt/">Apache module</a></li>
|
||||
</ul></td></tr>
|
||||
</table>
|
||||
<table width="100%" border="0" cellspacing="1" cellpadding="3">
|
||||
<tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr>
|
||||
<tr><td bgcolor="#fffacd"><ul>
|
||||
<li><a href="APIchunk0.html">Alphabetic</a></li>
|
||||
<li><a href="APIconstructors.html">Constructors</a></li>
|
||||
<li><a href="APIfunctions.html">Functions/Types</a></li>
|
||||
<li><a href="APIfiles.html">Modules</a></li>
|
||||
<li><a href="APIsymbols.html">Symbols</a></li>
|
||||
</ul></td></tr>
|
||||
</table>
|
||||
</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">
|
||||
<h3>CVS only : check the <a href="http://cvs.gnome.org/lxr/source/libxslt/ChangeLog">Changelog</a> file
|
||||
for a really accurate description</h3>
|
||||
<h3>1.0.29: Apr 1 2003</h3>
|
||||
<ul>
|
||||
<li>performance improvements especially for large flat documents</li>
|
||||
</style><title>News</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="100"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.redhat.com"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/XSLT/"><img src="Libxslt-Logo-180x168.gif" alt="Made with Libxslt Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XSLT C library for Gnome</h1><h2>News</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="intro.html">Introduction</a></li><li><a href="docs.html">Documentation</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="news.html">News</a></li><li><a href="xsltproc2.html">The xsltproc tool</a></li><li><a href="docbook.html">DocBook</a></li><li><a href="API.html">The programming API</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="internals.html">Library internals</a></li><li><a href="extensions.html">Writing extensions</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="xslt.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="tutorial/libxslttutorial.html">Tutorial</a></li><li><a href="xsltproc.html">Man page for xsltproc</a></li><li><a href="http://mail.gnome.org/archives/xslt/">Mail archive</a></li><li><a href="http://xmlsoft.org/">XML libxml</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxslt">Bug Tracker</a></li><li><a href="http://xsldbg.sourceforge.net/">Xsldbg Debugger</a></li><li><a href="http://www.mod-xslt.com/mod-xslt/">Apache module</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table></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"><h3>CVS only : check the <a href="http://cvs.gnome.org/lxr/source/libxslt/ChangeLog">Changelog</a> file
|
||||
for a really accurate description</h3><h3>1.0.29: Apr 1 2003</h3><ul><li>performance improvements especially for large flat documents</li>
|
||||
<li>bug fixes: Result Value Tree handling, XML IDs, keys(), extra namespace
|
||||
declarations with xsl:elements.</li>
|
||||
<li>portability: python and trio fixes (Albert Chin), python on Solaris
|
||||
(Ben Phillips) </li>
|
||||
</ul>
|
||||
<h3>1.0.28: Mar 24 2003</h3>
|
||||
<ul>
|
||||
<li>fixed node() in patterns semantic.</li>
|
||||
</ul><h3>1.0.28: Mar 24 2003</h3><ul><li>fixed node() in patterns semantic.</li>
|
||||
<li>fixed a memory access problem in format-number()</li>
|
||||
<li>fixed stack overflow in recursive global variable or params</li>
|
||||
<li>cleaned up Result Value Tree handling, and fixed a couple of old bugs
|
||||
in the process</li>
|
||||
</ul>
|
||||
<h3>1.0.27: Feb 24 2003</h3>
|
||||
<ul>
|
||||
<li>bug fixes: spurious xmlns:nsX="" generation, serialization bug (in
|
||||
</ul><h3>1.0.27: Feb 24 2003</h3><ul><li>bug fixes: spurious xmlns:nsX="" generation, serialization bug (in
|
||||
libxml2), a namespace copy problem, errors in the RPM spec prereqs</li>
|
||||
<li>Windows path canonicalization and document cache fix (Igor)</li>
|
||||
</ul>
|
||||
<h3>1.0.26: Feb 10 2003</h3>
|
||||
<ul>
|
||||
<li>Fixed 3 serious bugs in document() and stylesheet compilation which
|
||||
</ul><h3>1.0.26: Feb 10 2003</h3><ul><li>Fixed 3 serious bugs in document() and stylesheet compilation which
|
||||
could lead to a crash</li>
|
||||
</ul>
|
||||
<h3>1.0.25: Feb 5 2003</h3>
|
||||
<ul>
|
||||
<li>Bug fix: double-free for standalone stylesheets introduced in 1.0.24, C
|
||||
</ul><h3>1.0.25: Feb 5 2003</h3><ul><li>Bug fix: double-free for standalone stylesheets introduced in 1.0.24, C
|
||||
syntax pbm, 3 bugs reported by Eric van der Vlist</li>
|
||||
<li>Some XPath and XInclude related problems were actually fixed in
|
||||
libxml2-2.5.2</li>
|
||||
<li>Documentation: emphasize taht --docbook is not for XML docs.</li>
|
||||
</ul>
|
||||
<h3>1.0.24: Jan 14 2003</h3>
|
||||
<ul>
|
||||
<li>bug fixes: imported global varables, python bindings (St<53>phane Bidoul),
|
||||
</ul><h3>1.0.24: Jan 14 2003</h3><ul><li>bug fixes: imported global varables, python bindings (St<53>phane Bidoul),
|
||||
EXSLT memory leak (Charles Bozeman), namespace generation on
|
||||
xsl:attribute, space handling with imports (Daniel Stodden),
|
||||
extension-element-prefixes (Josh Parsons), comments within xsl:text (Matt
|
||||
@ -137,10 +44,7 @@ for a really accurate description</h3>
|
||||
<li>added ESXLT URI (un)escaping (J<>rg Walter)</li>
|
||||
<li>Some memory leaks have been found and fixed</li>
|
||||
<li>document() now support fragment identifiers in URIs</li>
|
||||
</ul>
|
||||
<h3>1.0.23: Nov 17 2002</h3>
|
||||
<ul>
|
||||
<li>Windows build cleanup (Igor)</li>
|
||||
</ul><h3>1.0.23: Nov 17 2002</h3><ul><li>Windows build cleanup (Igor)</li>
|
||||
<li>Unix build and RPM packaging cleanup</li>
|
||||
<li>Improvement of the python bindings: extension functions and activating
|
||||
EXSLT</li>
|
||||
@ -148,19 +52,13 @@ for a really accurate description</h3>
|
||||
functions, CData nodes, key(), @*[...] patterns</li>
|
||||
<li>Documentation improvements (John Fleck)</li>
|
||||
<li>added libxslt.m4 (Thomas Schraitle)</li>
|
||||
</ul>
|
||||
<h3>1.0.22: Oct 18 2002</h3>
|
||||
<ul>
|
||||
<li>Updates on the Windows Makefiles</li>
|
||||
</ul><h3>1.0.22: Oct 18 2002</h3><ul><li>Updates on the Windows Makefiles</li>
|
||||
<li>Added a security module, and a related set of new options to
|
||||
xsltproc</li>
|
||||
<li>Allowed per transformation error handler.</li>
|
||||
<li>Fixed a few bugs: node() semantic, URI escaping, media-type, attribute
|
||||
lists</li>
|
||||
</ul>
|
||||
<h3>1.0.21: Sep 26 2002</h3>
|
||||
<ul>
|
||||
<li>Bug fixes: match="node()", date:difference() (Igor and Charlie
|
||||
</ul><h3>1.0.21: Sep 26 2002</h3><ul><li>Bug fixes: match="node()", date:difference() (Igor and Charlie
|
||||
Bozeman), disable-output-escaping</li>
|
||||
<li>Python bindings: style.saveResultToString() from Ralf Mattes</li>
|
||||
<li>Logos from Marc Liyanage</li>
|
||||
@ -168,20 +66,14 @@ for a really accurate description</h3>
|
||||
<li>Makefile: DESTDIR fix from Christophe Merlet, AMD x86_64 (Mandrake),
|
||||
Windows (Igor), Python detection</li>
|
||||
<li>Documentation improvements: John Fleck</li>
|
||||
</ul>
|
||||
<h3>1.0.20: Aug 23 2002</h3>
|
||||
<ul>
|
||||
<li>Windows makefile updates (Igor) and x86-64 (Frederic Crozat)</li>
|
||||
</ul><h3>1.0.20: Aug 23 2002</h3><ul><li>Windows makefile updates (Igor) and x86-64 (Frederic Crozat)</li>
|
||||
<li>fixed HTML meta tag saving for Mac/IE users</li>
|
||||
<li>possible leak patches from Nathan Myers</li>
|
||||
<li>try to handle document('') as best as possible depending in the
|
||||
cases</li>
|
||||
<li>Fixed the DocBook stylesheets handling problem</li>
|
||||
<li>Fixed a few XSLT reported errors</li>
|
||||
</ul>
|
||||
<h3>1.0.19: July 6 2002</h3>
|
||||
<ul>
|
||||
<li>EXSLT: dynamic functions and date support bug fixes (Mark Vakoc)</li>
|
||||
</ul><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>
|
||||
@ -189,10 +81,7 @@ for a really accurate description</h3>
|
||||
<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>
|
||||
<ul>
|
||||
<li>a number of bug fixes: attributes, extra namespace declarations
|
||||
</ul><h3>1.0.18: May 27 2002</h3><ul><li>a number of bug fixes: attributes, extra namespace declarations
|
||||
(DocBook), xsl:include crash (Igor), documentation (Christian Cornelssen,
|
||||
Charles Bozeman and Geert Kloosterman), element-available (Richard
|
||||
Jinks)</li>
|
||||
@ -201,72 +90,44 @@ for a really accurate description</h3>
|
||||
<li>there is a new API to save directly to a string
|
||||
xsltSaveResultToString() by Morus Walter</li>
|
||||
<li>specific error registration function for the python API</li>
|
||||
</ul>
|
||||
<h3>1.0.17: April 29 2002</h3>
|
||||
<ul>
|
||||
<li>cleanup in code, XSLT debugger support and Makefiles for Windows by
|
||||
</ul><h3>1.0.17: April 29 2002</h3><ul><li>cleanup in code, XSLT debugger support and Makefiles for Windows by
|
||||
Igor</li>
|
||||
<li>a C++ portability fix by Mark Vakoc</li>
|
||||
<li>EXSLT date improvement and regression tests by Charles Bozeman</li>
|
||||
<li>attempt to fix a bug in xsltProcessUserParamInternal</li>
|
||||
</ul>
|
||||
<h3>1.0.16: April 15 2002</h3>
|
||||
<ul>
|
||||
<li>Bug fixes: strip-space, URL in HTML output, error when xsltproc can't
|
||||
</ul><h3>1.0.16: April 15 2002</h3><ul><li>Bug fixes: strip-space, URL in HTML output, error when xsltproc can't
|
||||
save</li>
|
||||
<li>portability fixes: OSF/1, IEEE on alphas, Windows, Python bindings</li>
|
||||
</ul>
|
||||
<h3>1.0.15: Mar 25 2002</h3>
|
||||
<ul>
|
||||
<li>Bugfixes: XPath, python Makefile, recursive attribute sets, @foo[..]
|
||||
</ul><h3>1.0.15: Mar 25 2002</h3><ul><li>Bugfixes: XPath, python Makefile, recursive attribute sets, @foo[..]
|
||||
templates</li>
|
||||
<li>Debug of memory alocation with valgind</li>
|
||||
<li>serious profiling leading to significant improvement for DocBook
|
||||
processing</li>
|
||||
<li>revamp of the Windows build</li>
|
||||
</ul>
|
||||
<h3>1.0.14: Mar 18 2002</h3>
|
||||
<ul>
|
||||
<li>Improvement in the XPath engine (libxml2-2.4.18)</li>
|
||||
</ul><h3>1.0.14: Mar 18 2002</h3><ul><li>Improvement in the XPath engine (libxml2-2.4.18)</li>
|
||||
<li>Nasty bug fix related to exslt:node-set</li>
|
||||
<li>Fixed the python Makefiles, cleanup of doc comments, Windows
|
||||
portability fixes</li>
|
||||
</ul>
|
||||
<h3>1.0.13: Mar 8 2002</h3>
|
||||
<ul>
|
||||
<li>a number of bug fixes including "namespace node have no parents"</li>
|
||||
</ul><h3>1.0.13: Mar 8 2002</h3><ul><li>a number of bug fixes including "namespace node have no parents"</li>
|
||||
<li>Improvement of the Python bindings</li>
|
||||
<li>Charles Bozeman provided fixes and regression tests for exslt date
|
||||
functions.</li>
|
||||
</ul>
|
||||
<h3>1.0.12: Feb 11 2002</h3>
|
||||
<ul>
|
||||
<li>Fixed the makefiles especially the python module ones</li>
|
||||
</ul><h3>1.0.12: Feb 11 2002</h3><ul><li>Fixed the makefiles especially the python module ones</li>
|
||||
<li>half a dozen bugs fixes including 2 old ones</li>
|
||||
</ul>
|
||||
<h3>1.0.11: Feb 8 2002</h3>
|
||||
<ul>
|
||||
<li>Change of Licence to the <a href="http://www.opensource.org/licenses/mit-license.html">MIT
|
||||
Licence</a>
|
||||
</li>
|
||||
</ul><h3>1.0.11: Feb 8 2002</h3><ul><li>Change of Licence to the <a href="http://www.opensource.org/licenses/mit-license.html">MIT
|
||||
Licence</a></li>
|
||||
<li>Added a beta version of the Python bindings, including support to
|
||||
extend the engine with functions written in Python</li>
|
||||
<li>A number of bug fixes</li>
|
||||
<li>Charlie Bozeman provided more EXSLT functions</li>
|
||||
<li>Portability fixes</li>
|
||||
</ul>
|
||||
<h3>1.0.10: Jan 14 2002</h3>
|
||||
<ul>
|
||||
<li>Windows fixes for Win32 from Igor</li>
|
||||
</ul><h3>1.0.10: Jan 14 2002</h3><ul><li>Windows fixes for Win32 from Igor</li>
|
||||
<li>Fixed the Solaris compilation trouble (Albert)</li>
|
||||
<li>Documentation changes and updates: John Fleck</li>
|
||||
<li>Added a stringparam option to avoid escaping hell at the shell
|
||||
level</li>
|
||||
<li>A few bug fixes</li>
|
||||
</ul>
|
||||
<h3>1.0.9: Dec 7 2001</h3>
|
||||
<ul>
|
||||
<li>Makefile patches from Peter Williams</li>
|
||||
</ul><h3>1.0.9: Dec 7 2001</h3><ul><li>Makefile patches from Peter Williams</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>xsltproc return codes are now significant, John Fleck updated the
|
||||
@ -276,75 +137,47 @@ for a really accurate description</h3>
|
||||
<li>fixed a bug raised by Nik Clayton when using doctypes with HTML
|
||||
output</li>
|
||||
<li>patches from Keith Isdale to interface with xsltdebugger</li>
|
||||
</ul>
|
||||
<h3>1.0.8: Nov 26 2001</h3>
|
||||
<ul>
|
||||
<li>fixed an annoying header problem, removed a few bugs and some code
|
||||
</ul><h3>1.0.8: Nov 26 2001</h3><ul><li>fixed an annoying header problem, removed a few bugs and some code
|
||||
cleanup</li>
|
||||
<li>patches for Windows and update of Windows Makefiles by Igor</li>
|
||||
<li>OpenVMS port instructions from John A Fotheringham</li>
|
||||
<li>fixed some Makefiles annoyance and libraries prelinking
|
||||
informations</li>
|
||||
</ul>
|
||||
<h3>1.0.7: Nov 10 2001</h3>
|
||||
<ul>
|
||||
<li>remove a compilation problem with LIBXSLT_PUBLIC</li>
|
||||
</ul><h3>1.0.7: Nov 10 2001</h3><ul><li>remove a compilation problem with LIBXSLT_PUBLIC</li>
|
||||
<li>Finishing the integration steps for Keith Isdale debugger</li>
|
||||
<li>fixes the handling of indent="no" on HTML output</li>
|
||||
<li>fixes on the configure script and RPM spec file</li>
|
||||
</ul>
|
||||
<h3>1.0.6: Oct 30 2001</h3>
|
||||
<ul>
|
||||
<li>bug fixes on number formatting (Thomas), date/time functions (Bruce
|
||||
</ul><h3>1.0.6: Oct 30 2001</h3><ul><li>bug fixes on number formatting (Thomas), date/time functions (Bruce
|
||||
Miller)</li>
|
||||
<li>update of the Windows Makefiles (Igor)</li>
|
||||
<li>fixed DOCTYPE generation rules for HTML output (me)</li>
|
||||
</ul>
|
||||
<h3>1.0.5: Oct 10 2001</h3>
|
||||
<ul>
|
||||
<li>some portability fixes, including Windows makefile updates from
|
||||
</ul><h3>1.0.5: Oct 10 2001</h3><ul><li>some portability fixes, including Windows makefile updates from
|
||||
Igor</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
|
||||
contribution from Darren Graves)</li>
|
||||
<li>better handling of XPath evaluation errors</li>
|
||||
</ul>
|
||||
<h3>1.0.4: Sep 12 2001</h3>
|
||||
<ul>
|
||||
<li>Documentation updates from John fleck</li>
|
||||
</ul><h3>1.0.4: Sep 12 2001</h3><ul><li>Documentation updates from John fleck</li>
|
||||
<li>bug fixes (DocBook FO generation should be fixed) and portability
|
||||
improvements</li>
|
||||
<li>Thomas Broyer improved the existing EXSLT support and added String,
|
||||
Time and Date core functions support</li>
|
||||
</ul>
|
||||
<h3>1.0.3: Aug 23 2001</h3>
|
||||
<ul>
|
||||
<li>XML Catalog support see the doc</li>
|
||||
</ul><h3>1.0.3: Aug 23 2001</h3><ul><li>XML Catalog support see the doc</li>
|
||||
<li>New NaN/Infinity floating point code</li>
|
||||
<li>A few bug fixes</li>
|
||||
</ul>
|
||||
<h3>1.0.2: Aug 15 2001</h3>
|
||||
<ul>
|
||||
<li>lot of bug fixes, increased the testsuite</li>
|
||||
</ul><h3>1.0.2: Aug 15 2001</h3><ul><li>lot of bug fixes, increased the testsuite</li>
|
||||
<li>a large chunk of EXSLT is implemented</li>
|
||||
<li>improvements on the extension framework</li>
|
||||
<li>documentation improvements</li>
|
||||
<li>Windows MSC projects files should be up-to-date</li>
|
||||
<li>handle attributes inherited from the DTD by default</li>
|
||||
</ul>
|
||||
<h3>1.0.1: July 24 2001</h3>
|
||||
<ul>
|
||||
<li>initial EXSLT framework</li>
|
||||
</ul><h3>1.0.1: July 24 2001</h3><ul><li>initial EXSLT framework</li>
|
||||
<li>better error reporting</li>
|
||||
<li>fixed the profiler on Windows</li>
|
||||
<li>bug fixes</li>
|
||||
</ul>
|
||||
<h3>1.0.0: July 10 2001</h3>
|
||||
<ul>
|
||||
<li>a lot of cleanup, a lot of regression tests added or fixed</li>
|
||||
</ul><h3>1.0.0: July 10 2001</h3><ul><li>a lot of cleanup, a lot of regression tests added or fixed</li>
|
||||
<li>added a documentation for <a href="extensions.html">writing
|
||||
extensions</a>
|
||||
</li>
|
||||
extensions</a></li>
|
||||
<li>fixed some variable evaluation problems (with William)</li>
|
||||
<li>added profiling of stylesheet execution accessible as the xsltproc
|
||||
--profile option</li>
|
||||
@ -354,19 +187,13 @@ for a really accurate description</h3>
|
||||
expected</li>
|
||||
<li>added support of embedded stylesheet as described in section 2.7 of the
|
||||
spec</li>
|
||||
</ul>
|
||||
<h3>0.14.0: July 5 2001</h3>
|
||||
<ul>
|
||||
<li>lot of bug fixes, and code cleanup</li>
|
||||
</ul><h3>0.14.0: July 5 2001</h3><ul><li>lot of bug fixes, and code cleanup</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>the Windows MSC environment should be complete</li>
|
||||
<li>tested and optimized with a really large document (DocBook Definitive
|
||||
Guide) libxml/libxslt should really be faster on serious workloads</li>
|
||||
</ul>
|
||||
<h3>0.13.0: June 26 2001</h3>
|
||||
<ul>
|
||||
<li>lots of cleanups</li>
|
||||
</ul><h3>0.13.0: June 26 2001</h3><ul><li>lots of cleanups</li>
|
||||
<li>fixed a C++ compilation problem</li>
|
||||
<li>couple of fixes to xsltSaveTo()</li>
|
||||
<li>try to fix Docbook-xslt-1.4 and chunking, updated the regression test
|
||||
@ -377,36 +204,25 @@ for a really accurate description</h3>
|
||||
<li>William fixed bugs in templates and for-each functions</li>
|
||||
<li>added a new interface xsltRunStylesheet() for a more flexible output
|
||||
(incomplete), added -o option to xsltproc</li>
|
||||
</ul>
|
||||
<h3>0.12.0: June 18 2001</h3>
|
||||
<ul>
|
||||
<li>fixed a dozen of bugs reported</li>
|
||||
</ul><h3>0.12.0: June 18 2001</h3><ul><li>fixed a dozen of bugs reported</li>
|
||||
<li>HTML generation should be quite better (requires libxml-2.3.11 upgrade
|
||||
too)</li>
|
||||
<li>William fixed some problems with document()</li>
|
||||
<li>Fix namespace nodes selection and copy (requires libxml-2.3.11 upgrade
|
||||
too)</li>
|
||||
<li>John Fleck added a<a href="tutorial/libxslttutorial.html">
|
||||
tutorial</a>
|
||||
</li>
|
||||
tutorial</a></li>
|
||||
<li>Fixes for namespace handling when evaluating variables</li>
|
||||
<li>XInclude global flag added to process XInclude on document() if
|
||||
requested</li>
|
||||
<li>made xsltproc --version more detailed</li>
|
||||
</ul>
|
||||
<h3>0.11.0: June 1 2001</h3>
|
||||
<p>Mostly a bug fix release.</p>
|
||||
<ul>
|
||||
<li>integration of catalogs from xsltproc</li>
|
||||
</ul><h3>0.11.0: June 1 2001</h3><p>Mostly a bug fix release.</p><ul><li>integration of catalogs from xsltproc</li>
|
||||
<li>added --version to xsltproc for bug reporting</li>
|
||||
<li>fixed errors when handling ID in external parsed entities</li>
|
||||
<li>document() should hopefully work correctly but ...</li>
|
||||
<li>fixed bug with PI and comments processing</li>
|
||||
<li>William fixed the XPath string functions when using unicode</li>
|
||||
</ul>
|
||||
<h3>0.10.0: May 19 2001</h3>
|
||||
<ul>
|
||||
<li>cleanups to make stylesheet read-only (not 100% complete)</li>
|
||||
</ul><h3>0.10.0: May 19 2001</h3><ul><li>cleanups to make stylesheet read-only (not 100% complete)</li>
|
||||
<li>fixed URI resolution in document()</li>
|
||||
<li>force all XPath expression to be compiled at stylesheet parsing time,
|
||||
even if unused ...</li>
|
||||
@ -421,10 +237,7 @@ for a really accurate description</h3>
|
||||
<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
|
||||
submitting them</li>
|
||||
</ul>
|
||||
<h3>0.9.0: May 3 2001</h3>
|
||||
<ul>
|
||||
<li>lot of various bugfixes, extended the regression suite</li>
|
||||
</ul><h3>0.9.0: May 3 2001</h3><ul><li>lot of various bugfixes, extended the regression suite</li>
|
||||
<li>xsltproc should work with multiple params</li>
|
||||
<li>added an option to use xsltproc with HTML input</li>
|
||||
<li>improved the stylesheet compilation, processing of complex stylesheets
|
||||
@ -433,10 +246,7 @@ for a really accurate description</h3>
|
||||
programs should work now</li>
|
||||
<li>fixed another batch of namespace handling problems</li>
|
||||
<li>Implemented multiple level of sorting</li>
|
||||
</ul>
|
||||
<h3>0.8.0: Apr 22 2001</h3>
|
||||
<ul>
|
||||
<li>fixed ansidecl.h problem</li>
|
||||
</ul><h3>0.8.0: Apr 22 2001</h3><ul><li>fixed ansidecl.h problem</li>
|
||||
<li>fixed unparsed-entity-uri() and generate-id()</li>
|
||||
<li>sort semantic fixes and priority prob from William M. Brack</li>
|
||||
<li>fixed namespace handling problems in XPath expression computations
|
||||
@ -444,24 +254,15 @@ for a really accurate description</h3>
|
||||
<li>fixes to current() and key()</li>
|
||||
<li>other, smaller fixes, lots of testing with N Walsh DocBook HTML
|
||||
stylesheets</li>
|
||||
</ul>
|
||||
<h3>0.7.0: Apr 10 2001</h3>
|
||||
<ul>
|
||||
<li>cleanup using stricter compiler flags</li>
|
||||
</ul><h3>0.7.0: Apr 10 2001</h3><ul><li>cleanup using stricter compiler flags</li>
|
||||
<li>command line parameter passing</li>
|
||||
<li>fix to xsltApplyTemplates from William M. Brack</li>
|
||||
<li>added the XSLTMark in the regression tests as well as document()</li>
|
||||
</ul>
|
||||
<h3>0.6.0: Mar 22 2001</h3>
|
||||
<ul>
|
||||
<li>another beta</li>
|
||||
</ul><h3>0.6.0: Mar 22 2001</h3><ul><li>another beta</li>
|
||||
<li>requires 2.3.5, which provide XPath expression compilation support</li>
|
||||
<li>document() extension should function properly</li>
|
||||
<li>fixed a number or reported bugs</li>
|
||||
</ul>
|
||||
<h3>0.5.0: Mar 10 2001</h3>
|
||||
<ul>
|
||||
<li>fifth beta</li>
|
||||
</ul><h3>0.5.0: Mar 10 2001</h3><ul><li>fifth beta</li>
|
||||
<li>some optimization work, for the moment 2 XSLT transform cannot use the
|
||||
same stylesheet at the same time (to be fixed)</li>
|
||||
<li>fixed problems with handling of tree results</li>
|
||||
@ -470,25 +271,16 @@ for a really accurate description</h3>
|
||||
<li>incorporated William M. Brack fix for imports and global variables as
|
||||
well as patch for with-param support in apply-templates</li>
|
||||
<li>a bug fix on for-each</li>
|
||||
</ul>
|
||||
<h3>0.4.0: Mar 1 2001</h3>
|
||||
<ul>
|
||||
<li>fourth beta test, released at the same time of libxml2-2.3.3</li>
|
||||
</ul><h3>0.4.0: Mar 1 2001</h3><ul><li>fourth beta test, released at the same time of libxml2-2.3.3</li>
|
||||
<li>bug fixes</li>
|
||||
<li>some optimization</li>
|
||||
<li>started implement extension support, not finished</li>
|
||||
<li>implemented but not tested multiple file output</li>
|
||||
</ul>
|
||||
<h3>0.3.0: Feb 24 2001</h3>
|
||||
<ul>
|
||||
<li>third beta test, released at the same time of libxml2-2.3.2</li>
|
||||
</ul><h3>0.3.0: Feb 24 2001</h3><ul><li>third beta test, released at the same time of libxml2-2.3.2</li>
|
||||
<li>lot of bug fixes</li>
|
||||
<li>some optimization</li>
|
||||
<li>added DocBook XSL based testsuite</li>
|
||||
</ul>
|
||||
<h3>0.2.0: Feb 15 2001</h3>
|
||||
<ul>
|
||||
<li>second beta version, released at the same time as libxml2-2.3.1</li>
|
||||
</ul><h3>0.2.0: Feb 15 2001</h3><ul><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
|
||||
and XPath support of libxml</li>
|
||||
<li>start becoming usable for real work. This version can now regenerate
|
||||
@ -497,20 +289,9 @@ for a really accurate description</h3>
|
||||
REC</a>)</li>
|
||||
<li>Still misses extension element/function/prefixes support. Support of
|
||||
key() and document() is not complete</li>
|
||||
</ul>
|
||||
<h3>0.1.0: Feb 8 2001</h3>
|
||||
<ul>
|
||||
<li>first beta version, released at the same time as libxml2-2.3.0</li>
|
||||
</ul><h3>0.1.0: Feb 8 2001</h3><ul><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>
|
||||
</ul>
|
||||
<h3>0.0.1: Jan 25 2001</h3>
|
||||
<ul>
|
||||
<li>first alpha version released at the same time as libxml2-2.2.12</li>
|
||||
</ul><h3>0.0.1: Jan 25 2001</h3><ul><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
|
||||
feature complete</li>
|
||||
</ul>
|
||||
<p><a href="bugs.html">Daniel Veillard</a></p>
|
||||
</td></tr></table></td></tr></table></td></tr></table></td>
|
||||
</tr></table></td></tr></table>
|
||||
</body>
|
||||
</html>
|
||||
</ul><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
|
||||
|
19
doc/news.xsl
19
doc/news.xsl
@ -1,5 +1,7 @@
|
||||
<?xml version="1.0"?>
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:xhtml="http://www.w3.org/1999/xhtml"
|
||||
version="1.0">
|
||||
<xsl:output method="text" encoding="ISO-8859-1"/>
|
||||
|
||||
<xsl:template match="/">
|
||||
@ -10,26 +12,27 @@
|
||||
http://xmlsoft.org/XSLT/news.html
|
||||
|
||||
</xsl:text>
|
||||
<xsl:apply-templates select="//h3[1]/.."/>
|
||||
<xsl:apply-templates select="//xhtml:h3[1]/.."/>
|
||||
</xsl:template>
|
||||
<xsl:template match="h3">
|
||||
<xsl:template match="xhtml:h3">
|
||||
<xsl:text>
|
||||
</xsl:text>
|
||||
<xsl:apply-templates/>
|
||||
<xsl:text>:</xsl:text>
|
||||
<xsl:text>:
|
||||
</xsl:text>
|
||||
</xsl:template>
|
||||
<xsl:template match="ul">
|
||||
<xsl:apply-templates select=".//li"/>
|
||||
<xsl:template match="xhtml:ul">
|
||||
<xsl:apply-templates select=".//xhtml:li"/>
|
||||
<xsl:text>
|
||||
</xsl:text>
|
||||
</xsl:template>
|
||||
<xsl:template match="li">
|
||||
<xsl:template match="xhtml:li">
|
||||
<xsl:text> - </xsl:text>
|
||||
<xsl:value-of select="."/>
|
||||
<xsl:text>
|
||||
</xsl:text>
|
||||
</xsl:template>
|
||||
<xsl:template match="a">
|
||||
<xsl:template match="xhtml:a">
|
||||
<xsl:value-of select="."/>
|
||||
<xsl:text> at
|
||||
</xsl:text>
|
||||
|
211
doc/python.html
211
doc/python.html
@ -1,139 +1,45 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<style type="text/css"><!--
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><style type="text/css">
|
||||
TD {font-family: Verdana,Arial,Helvetica}
|
||||
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
|
||||
H1 {font-family: Verdana,Arial,Helvetica}
|
||||
H2 {font-family: Verdana,Arial,Helvetica}
|
||||
H3 {font-family: Verdana,Arial,Helvetica}
|
||||
A:link, A:visited, A:active { text-decoration: underline }
|
||||
--></style>
|
||||
<title>Python and bindings</title>
|
||||
</head>
|
||||
<body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000">
|
||||
<table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr>
|
||||
<td width="100">
|
||||
<a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo"></a><a href="http://www.redhat.com"><img src="redhat.gif" alt="Red Hat Logo"></a><div align="left"><a href="http://xmlsoft.org/XSLT/"><img src="Libxslt-Logo-180x168.gif" alt="Made with Libxslt Logo"></a></div>
|
||||
</td>
|
||||
<td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center">
|
||||
<h1>The XSLT C library for Gnome</h1>
|
||||
<h2>Python and bindings</h2>
|
||||
</td></tr></table></td></tr></table></td>
|
||||
</tr></table>
|
||||
<table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr>
|
||||
<td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td>
|
||||
<table width="100%" border="0" cellspacing="1" cellpadding="3">
|
||||
<tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr>
|
||||
<tr><td bgcolor="#fffacd">
|
||||
<form action="search.php" enctype="application/x-www-form-urlencoded" method="GET">
|
||||
<input name="query" type="TEXT" size="20" value=""><input name="submit" type="submit" value="Search ...">
|
||||
</form>
|
||||
<ul>
|
||||
<li><a href="index.html">Home</a></li>
|
||||
<li><a href="intro.html">Introduction</a></li>
|
||||
<li><a href="docs.html">Documentation</a></li>
|
||||
<li><a href="bugs.html">Reporting bugs and getting help</a></li>
|
||||
<li><a href="help.html">How to help</a></li>
|
||||
<li><a href="downloads.html">Downloads</a></li>
|
||||
<li><a href="FAQ.html">FAQ</a></li>
|
||||
<li><a href="news.html">News</a></li>
|
||||
<li><a href="xsltproc2.html">The xsltproc tool</a></li>
|
||||
<li><a href="docbook.html">DocBook</a></li>
|
||||
<li><a href="API.html">The programming API</a></li>
|
||||
<li><a href="python.html">Python and bindings</a></li>
|
||||
<li><a href="internals.html">Library internals</a></li>
|
||||
<li><a href="extensions.html">Writing extensions</a></li>
|
||||
<li><a href="contribs.html">Contributions</a></li>
|
||||
<li>
|
||||
<a href="xslt.html">flat page</a>, <a href="site.xsl">stylesheet</a>
|
||||
</li>
|
||||
</ul>
|
||||
</td></tr>
|
||||
</table>
|
||||
<table width="100%" border="0" cellspacing="1" cellpadding="3">
|
||||
<tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr>
|
||||
<tr><td bgcolor="#fffacd"><ul>
|
||||
<li><a href="tutorial/libxslttutorial.html">Tutorial</a></li>
|
||||
<li><a href="xsltproc.html">Man page for xsltproc</a></li>
|
||||
<li><a href="http://mail.gnome.org/archives/xslt/">Mail archive</a></li>
|
||||
<li><a href="http://xmlsoft.org/">XML libxml</a></li>
|
||||
<li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li>
|
||||
<li><a href="ftp://xmlsoft.org/">FTP</a></li>
|
||||
<li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li>
|
||||
<li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li>
|
||||
<li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li>
|
||||
<li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li>
|
||||
<li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxslt">Bug Tracker</a></li>
|
||||
<li><a href="http://xsldbg.sourceforge.net/">Xsldbg Debugger</a></li>
|
||||
<li><a href="http://www.mod-xslt.com/mod-xslt/">Apache module</a></li>
|
||||
</ul></td></tr>
|
||||
</table>
|
||||
<table width="100%" border="0" cellspacing="1" cellpadding="3">
|
||||
<tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr>
|
||||
<tr><td bgcolor="#fffacd"><ul>
|
||||
<li><a href="APIchunk0.html">Alphabetic</a></li>
|
||||
<li><a href="APIconstructors.html">Constructors</a></li>
|
||||
<li><a href="APIfunctions.html">Functions/Types</a></li>
|
||||
<li><a href="APIfiles.html">Modules</a></li>
|
||||
<li><a href="APIsymbols.html">Symbols</a></li>
|
||||
</ul></td></tr>
|
||||
</table>
|
||||
</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">
|
||||
<p>There is a number of language bindings and wrappers available for libxml2,
|
||||
</style><title>Python and bindings</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="100"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.redhat.com"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/XSLT/"><img src="Libxslt-Logo-180x168.gif" alt="Made with Libxslt Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XSLT C library for Gnome</h1><h2>Python and bindings</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="intro.html">Introduction</a></li><li><a href="docs.html">Documentation</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="news.html">News</a></li><li><a href="xsltproc2.html">The xsltproc tool</a></li><li><a href="docbook.html">DocBook</a></li><li><a href="API.html">The programming API</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="internals.html">Library internals</a></li><li><a href="extensions.html">Writing extensions</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="xslt.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="tutorial/libxslttutorial.html">Tutorial</a></li><li><a href="xsltproc.html">Man page for xsltproc</a></li><li><a href="http://mail.gnome.org/archives/xslt/">Mail archive</a></li><li><a href="http://xmlsoft.org/">XML libxml</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxslt">Bug Tracker</a></li><li><a href="http://xsldbg.sourceforge.net/">Xsldbg Debugger</a></li><li><a href="http://www.mod-xslt.com/mod-xslt/">Apache module</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table></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"><p>There is a number of language bindings and wrappers available for libxml2,
|
||||
the list below is not exhaustive. Please contact the <a href="http://mail.gnome.org/mailman/listinfo/xml-bindings">xml-bindings@gnome.org</a>
|
||||
(<a href="http://mail.gnome.org/archives/xml-bindings/">archives</a>) in
|
||||
order to get updates to this list or to discuss the specific topic of libxml2
|
||||
or libxslt wrappers or bindings:</p>
|
||||
<ul>
|
||||
<li>
|
||||
<a href="http://mail.gnome.org/archives/xml/2001-March/msg00014.html">Matt
|
||||
or libxslt wrappers or bindings:</p><ul><li><a href="http://mail.gnome.org/archives/xml/2001-March/msg00014.html">Matt
|
||||
Sergeant</a> developped <a href="http://axkit.org/download/">XML::LibXML
|
||||
and XML::LibXSLT</a>, Perl wrappers for libxml2/libxslt as part of the <a href="http://axkit.com/">AxKit XML application server</a>
|
||||
</li>
|
||||
<li>
|
||||
<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>
|
||||
</li>
|
||||
and XML::LibXSLT</a>, Perl wrappers for libxml2/libxslt as part of the <a href="http://axkit.com/">AxKit XML application server</a></li>
|
||||
<li><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></li>
|
||||
<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>
|
||||
<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
|
||||
maintained by Tobias Peters.</li>
|
||||
<li>Steve Ball and contributors maintains <a href="http://tclxml.sourceforge.net/">libxml2 and libxslt bindings for
|
||||
Tcl</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="mailto:xmlwrapp@pmade.org">Peter Jones</a> maintains C++
|
||||
bindings for libxslt within <a href="http://pmade.org/pjones/software/xmlwrapp/">xmlwrapp</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="phillim2@comcast.net">Mike Phillips</a> provides a module
|
||||
Tcl</a></li>
|
||||
<li><a href="mailto:xmlwrapp@pmade.org">Peter Jones</a> maintains C++
|
||||
bindings for libxslt within <a href="http://pmade.org/pjones/software/xmlwrapp/">xmlwrapp</a></li>
|
||||
<li><a href="phillim2@comcast.net">Mike Phillips</a> provides a module
|
||||
using <a href="http://siasl.dyndns.org/projects/projects.html">libxslt
|
||||
for PHP</a>.</li>
|
||||
<li>
|
||||
<a href="http://savannah.gnu.org/projects/classpathx/">LibxmlJ</a> is
|
||||
<li><a href="http://savannah.gnu.org/projects/classpathx/">LibxmlJ</a> is
|
||||
an effort to create a 100% JAXP-compatible Java wrapper for libxml2 and
|
||||
libxslt as part of GNU ClasspathX project.</li>
|
||||
</ul>
|
||||
<p>The libxslt Python module depends on the <a href="http://xmlsoft.org/python.html">libxml2 Python</a> module.</p>
|
||||
<p>The distribution includes a set of Python bindings, which are garanteed to
|
||||
</ul><p>The libxslt Python module depends on the <a href="http://xmlsoft.org/python.html">libxml2 Python</a> module.</p><p>The distribution includes a set of Python bindings, which are garanteed to
|
||||
be maintained as part of the library in the future, though the Python
|
||||
interface have not yet reached the completeness of the C API.</p>
|
||||
<p>
|
||||
<a href="mailto:stephane.bidoul@softwareag.com">St<EFBFBD>phane Bidoul</a>
|
||||
interface have not yet reached the completeness of the C API.</p><p><a href="mailto:stephane.bidoul@softwareag.com">St<EFBFBD>phane Bidoul</a>
|
||||
maintains <a href="http://users.skynet.be/sbi/libxml-python/">a Windows port
|
||||
of the Python bindings</a>.</p>
|
||||
<p>Note to people interested in building bindings, the API is formalized as
|
||||
of the Python bindings</a>.</p><p>Note to people interested in building bindings, the API is formalized as
|
||||
<a href="libxslt-api.xml">an XML API description file</a> which allows to
|
||||
automate a large part of the Python bindings, this includes function
|
||||
descriptions, enums, structures, typedefs, etc... The Python script used to
|
||||
build the bindings is python/generator.py in the source distribution.</p>
|
||||
<p>To install the Python bindings there are 2 options:</p>
|
||||
<ul>
|
||||
<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
|
||||
build the bindings is python/generator.py in the source distribution.</p><p>To install the Python bindings there are 2 options:</p><ul><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>.</li>
|
||||
<li>Otherwise use the <a href="ftp://xmlsoft.org/python/">libxml2-python
|
||||
@ -141,14 +47,10 @@ build the bindings is python/generator.py in the source distribution.</p>
|
||||
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
|
||||
module tree.</li>
|
||||
</ul>
|
||||
<p>The distribution includes a set of examples and regression tests for the
|
||||
</ul><p>The distribution includes a set of examples and regression tests for the
|
||||
python bindings in the <code>python/tests</code> directory. Here are some
|
||||
excepts from those tests:</p>
|
||||
<h3>basic.py:</h3>
|
||||
<p>This is a basic test of XSLT interfaces: loading a stylesheet and a
|
||||
document, transforming the document and saving the result.</p>
|
||||
<pre>import libxml2
|
||||
excepts from those tests:</p><h3>basic.py:</h3><p>This is a basic test of XSLT interfaces: loading a stylesheet and a
|
||||
document, transforming the document and saving the result.</p><pre>import libxml2
|
||||
import libxslt
|
||||
|
||||
styledoc = libxml2.parseFile("test.xsl")
|
||||
@ -158,39 +60,28 @@ result = style.applyStylesheet(doc, None)
|
||||
style.saveResultToFilename("foo", result, 0)
|
||||
style.freeStylesheet()
|
||||
doc.freeDoc()
|
||||
result.freeDoc()</pre>
|
||||
<p>The Python module is called libxslt, you will also need the libxml2 module
|
||||
result.freeDoc()</pre><p>The Python module is called libxslt, you will also need the libxml2 module
|
||||
for the operations on XML trees. Let's have a look at the objects manipulated
|
||||
in that example and how is the processing done:</p>
|
||||
<ul>
|
||||
<li>
|
||||
<code>styledoc</code> : is a libxml2 document tree. It is obtained by
|
||||
in that example and how is the processing done:</p><ul><li><code>styledoc</code> : is a libxml2 document tree. It is obtained by
|
||||
parsing the XML file "test.xsl" containing the stylesheet.</li>
|
||||
<li>
|
||||
<code>style</code> : this is a precompiled stylesheet ready to be used
|
||||
<li><code>style</code> : this is a precompiled stylesheet ready to be used
|
||||
by the following transformations (note the plural form, multiple
|
||||
transformations can resuse the same stylesheet).</li>
|
||||
<li>
|
||||
<code>doc</code> : this is the document to apply the transformation to.
|
||||
<li><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
|
||||
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
|
||||
how this page is generated !</li>
|
||||
<li>
|
||||
<code>result</code> : this is a document generated by applying the
|
||||
<li><code>result</code> : this is a document generated by applying the
|
||||
stylesheet to the document. Note that some of the stylesheet informations
|
||||
may be related to the serialization of that document and as in this
|
||||
example a specific saveResultToFilename() method of the stylesheet should
|
||||
be used to save it to a file (in that case to "foo").</li>
|
||||
</ul>
|
||||
<p>Also note the need to explicitely deallocate documents with freeDoc()
|
||||
</ul><p>Also note the need to explicitely deallocate documents with freeDoc()
|
||||
except for the stylesheet document which is freed when its compiled form is
|
||||
garbage collected.</p>
|
||||
<h3>extfunc.py:</h3>
|
||||
<p>This one is a far more complex test. It shows how to modify the behaviour
|
||||
garbage collected.</p><h3>extfunc.py:</h3><p>This one is a far more complex test. It shows how to modify the behaviour
|
||||
of an XSLT transformation by passing parameters and how to extend the XSLT
|
||||
engine with functions defined in python:</p>
|
||||
<pre>import libxml2
|
||||
engine with functions defined in python:</p><pre>import libxml2
|
||||
import libxslt
|
||||
import string
|
||||
|
||||
@ -211,8 +102,7 @@ def f(ctx, str):
|
||||
|
||||
return string.upper(str)
|
||||
|
||||
libxslt.registerExtModuleFunction("foo", "http://example.com/foo", f)</pre>
|
||||
<p>This code defines and register an extension function. Note that the
|
||||
libxslt.registerExtModuleFunction("foo", "http://example.com/foo", f)</pre><p>This code defines and register an extension function. Note that the
|
||||
function can be bound to any name (foo) and how the binding is also
|
||||
associated to a namespace name "http://example.com/foo". From an XSLT point
|
||||
of view the function just returns an upper case version of the string passed
|
||||
@ -220,14 +110,12 @@ as a parameter. But the first part of the function also read some contextual
|
||||
information from the current XSLT processing environement, in that case it
|
||||
looks for the current insertion node in the resulting output (either the
|
||||
resulting document or the Result Value Tree being generated), and saves it to
|
||||
a global variable for checking that the access actually worked.</p>
|
||||
<p>For more informations on the xpathParserContext and transformContext
|
||||
a global variable for checking that the access actually worked.</p><p>For more informations on the xpathParserContext and transformContext
|
||||
objects check the <a href="internals.html">libray internals description</a>.
|
||||
The pctxt is actually an object from a class derived from the
|
||||
libxml2.xpathParserContext() with just a couple more properties including the
|
||||
possibility to look up the XSLT transformation context from the XPath
|
||||
context.</p>
|
||||
<pre>styledoc = libxml2.parseDoc("""
|
||||
context.</p><pre>styledoc = libxml2.parseDoc("""
|
||||
<xsl:stylesheet version='1.0'
|
||||
xmlns:xsl='http://www.w3.org/1999/XSL/Transform'
|
||||
xmlns:foo='http://example.com/foo'
|
||||
@ -238,28 +126,21 @@ context.</p>
|
||||
<article><xsl:value-of select='foo:foo($bar)'/></article>
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
||||
""")</pre>
|
||||
<p>Here is a simple example of how to read an XML document from a python
|
||||
string with libxml2. Note how this stylesheet:</p>
|
||||
<ul>
|
||||
<li>Uses a global parameter <code>bar</code>
|
||||
</li>
|
||||
""")</pre><p>Here is a simple example of how to read an XML document from a python
|
||||
string with libxml2. Note how this stylesheet:</p><ul><li>Uses a global parameter <code>bar</code></li>
|
||||
<li>Reference the extension function f</li>
|
||||
<li>how the Namespace name "http://example.com/foo" has to be bound to a
|
||||
prefix</li>
|
||||
<li>how that prefix is excluded from the output</li>
|
||||
<li>how the function is called from the select</li>
|
||||
</ul>
|
||||
<pre>style = libxslt.parseStylesheetDoc(styledoc)
|
||||
</ul><pre>style = libxslt.parseStylesheetDoc(styledoc)
|
||||
doc = libxml2.parseDoc("<doc/>")
|
||||
result = style.applyStylesheet(doc, { "bar": "'success'" })
|
||||
style.freeStylesheet()
|
||||
doc.freeDoc()</pre>
|
||||
<p>that part is identical, to the basic example except that the
|
||||
doc.freeDoc()</pre><p>that part is identical, to the basic example except that the
|
||||
transformation is passed a dictionnary of parameters. Note that the string
|
||||
passed "success" had to be quoted, otherwise it is interpreted as an XPath
|
||||
query for the childs of root named "success".</p>
|
||||
<pre>root = result.children
|
||||
query for the childs of root named "success".</p><pre>root = result.children
|
||||
if root.name != "article":
|
||||
print "Unexpected root node name"
|
||||
sys.exit(1)
|
||||
@ -270,22 +151,12 @@ if nodeName != 'article':
|
||||
print "The function callback failed to access its context"
|
||||
sys.exit(1)
|
||||
|
||||
result.freeDoc()</pre>
|
||||
<p>That part just verifies that the transformation worked, that the parameter
|
||||
result.freeDoc()</pre><p>That part just verifies that the transformation worked, that the parameter
|
||||
got properly passed to the engine, that the function f() got called and that
|
||||
it properly accessed the context to find the name of the insertion node.</p>
|
||||
<h3>pyxsltproc.py:</h3>
|
||||
<p>this module is a bit too long to be described there but it is basically a
|
||||
it properly accessed the context to find the name of the insertion node.</p><h3>pyxsltproc.py:</h3><p>this module is a bit too long to be described there but it is basically a
|
||||
rewrite of the xsltproc command line interface of libxslt in Python. It
|
||||
provides nearly all the functionalities of xsltproc and can be used as a base
|
||||
module to write Python customized XSLT processors. One of the thing to notice
|
||||
are:</p>
|
||||
<pre>libxml2.lineNumbersDefault(1)
|
||||
libxml2.substituteEntitiesDefault(1)</pre>
|
||||
<p>those two calls in the main() function are needed to force the libxml2
|
||||
processor to generate DOM trees compliant with the XPath data model.</p>
|
||||
<p><a href="bugs.html">Daniel Veillard</a></p>
|
||||
</td></tr></table></td></tr></table></td></tr></table></td>
|
||||
</tr></table></td></tr></table>
|
||||
</body>
|
||||
</html>
|
||||
are:</p><pre>libxml2.lineNumbersDefault(1)
|
||||
libxml2.substituteEntitiesDefault(1)</pre><p>those two calls in the main() function are needed to force the libxml2
|
||||
processor to generate DOM trees compliant with the XPath data model.</p><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
|
||||
|
16
doc/site.xsl
16
doc/site.xsl
@ -1,6 +1,8 @@
|
||||
<?xml version="1.0"?>
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
||||
<xsl:output method="html" version="4.01" encoding="ISO-8859-1"/>
|
||||
<xsl:output method="xml" encoding="ISO-8859-1" indent="yes"
|
||||
doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
|
||||
<!--
|
||||
- returns the filename associated to an ID in the original file
|
||||
-->
|
||||
@ -65,8 +67,8 @@
|
||||
-->
|
||||
<xsl:variable name="toc">
|
||||
<form action="search.php"
|
||||
enctype="application/x-www-form-urlencoded" method="GET">
|
||||
<input name="query" type="TEXT" size="20" value=""/>
|
||||
enctype="application/x-www-form-urlencoded" method="get">
|
||||
<input name="query" type="text" size="20" value=""/>
|
||||
<input name="submit" type="submit" value="Search ..."/>
|
||||
</form>
|
||||
<ul>
|
||||
@ -180,14 +182,14 @@
|
||||
- Write the styles in the head
|
||||
-->
|
||||
<xsl:template name="style">
|
||||
<style type="text/css"><xsl:text disable-output-escaping="yes"><!--</xsl:text>
|
||||
<style type="text/css">
|
||||
TD {font-family: Verdana,Arial,Helvetica}
|
||||
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
|
||||
H1 {font-family: Verdana,Arial,Helvetica}
|
||||
H2 {font-family: Verdana,Arial,Helvetica}
|
||||
H3 {font-family: Verdana,Arial,Helvetica}
|
||||
A:link, A:visited, A:active { text-decoration: underline }
|
||||
<xsl:text disable-output-escaping="yes">--></xsl:text></style>
|
||||
</style>
|
||||
</xsl:template>
|
||||
<!--
|
||||
- Write the title box on top
|
||||
@ -270,7 +272,9 @@ A:link, A:visited, A:active { text-decoration: underline }
|
||||
<xsl:variable name="title">
|
||||
<xsl:value-of select="$header"/>
|
||||
</xsl:variable>
|
||||
<xsl:document href="{$filename}" method="html" version="4.01" encoding="ISO-8859-1">
|
||||
<xsl:document href="{$filename}" method="xml" encoding="ISO-8859-1"
|
||||
doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<xsl:call-template name="style"/>
|
||||
|
19
doc/xsa.xsl
19
doc/xsa.xsl
@ -4,7 +4,8 @@
|
||||
latest News entry.
|
||||
See http://www.garshol.priv.no/download/xsa/ for a description of XSA
|
||||
-->
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
|
||||
xmlns:xhtml="http://www.w3.org/1999/xhtml" exclude-result-prefixes="xhtml">
|
||||
<xsl:output method="xml"
|
||||
doctype-public="-//LM Garshol//DTD XML Software Autoupdate 1.0//EN//XML"
|
||||
doctype-system="http://www.garshol.priv.no/download/xsa/xsa.dtd"
|
||||
@ -19,29 +20,29 @@
|
||||
</vendor>
|
||||
<product id="libxslt">
|
||||
<name>libxslt</name>
|
||||
<version><xsl:value-of select="substring-before(//h3[2], ':')"/></version>
|
||||
<last-release><xsl:value-of select="substring-after(//h3[2], ':')"/></last-release>
|
||||
<version><xsl:value-of select="substring-before(//xhtml:h3[2], ':')"/></version>
|
||||
<last-release><xsl:value-of select="substring-after(//xhtml:h3[2], ':')"/></last-release>
|
||||
<info-url>http://xmlsoft.org/XSLT/</info-url>
|
||||
<changes>
|
||||
<xsl:apply-templates select="//h3[2]/following-sibling::*[1]"/>
|
||||
<xsl:apply-templates select="//xhtml:h3[2]/following-sibling::*[1]"/>
|
||||
</changes>
|
||||
</product>
|
||||
</xsa>
|
||||
</xsl:template>
|
||||
<xsl:template match="h3">
|
||||
<xsl:template match="xhtml:h3">
|
||||
</xsl:template>
|
||||
<xsl:template match="ul">
|
||||
<xsl:apply-templates select=".//li"/>
|
||||
<xsl:template match="xhtml:ul">
|
||||
<xsl:apply-templates select=".//xhtml:li"/>
|
||||
<xsl:text>
|
||||
</xsl:text>
|
||||
</xsl:template>
|
||||
<xsl:template match="li">
|
||||
<xsl:template match="xhtml:li">
|
||||
<xsl:text> - </xsl:text>
|
||||
<xsl:value-of select="."/>
|
||||
<xsl:text>
|
||||
</xsl:text>
|
||||
</xsl:template>
|
||||
<xsl:template match="a">
|
||||
<xsl:template match="xhtml:a">
|
||||
<xsl:value-of select="."/>
|
||||
<xsl:text> at
|
||||
</xsl:text>
|
||||
|
@ -1,94 +1,17 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<style type="text/css"><!--
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><style type="text/css">
|
||||
TD {font-family: Verdana,Arial,Helvetica}
|
||||
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
|
||||
H1 {font-family: Verdana,Arial,Helvetica}
|
||||
H2 {font-family: Verdana,Arial,Helvetica}
|
||||
H3 {font-family: Verdana,Arial,Helvetica}
|
||||
A:link, A:visited, A:active { text-decoration: underline }
|
||||
--></style>
|
||||
<title>The xsltproc tool</title>
|
||||
</head>
|
||||
<body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000">
|
||||
<table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr>
|
||||
<td width="100">
|
||||
<a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo"></a><a href="http://www.redhat.com"><img src="redhat.gif" alt="Red Hat Logo"></a><div align="left"><a href="http://xmlsoft.org/XSLT/"><img src="Libxslt-Logo-180x168.gif" alt="Made with Libxslt Logo"></a></div>
|
||||
</td>
|
||||
<td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center">
|
||||
<h1>The XSLT C library for Gnome</h1>
|
||||
<h2>The xsltproc tool</h2>
|
||||
</td></tr></table></td></tr></table></td>
|
||||
</tr></table>
|
||||
<table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr>
|
||||
<td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td>
|
||||
<table width="100%" border="0" cellspacing="1" cellpadding="3">
|
||||
<tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr>
|
||||
<tr><td bgcolor="#fffacd">
|
||||
<form action="search.php" enctype="application/x-www-form-urlencoded" method="GET">
|
||||
<input name="query" type="TEXT" size="20" value=""><input name="submit" type="submit" value="Search ...">
|
||||
</form>
|
||||
<ul>
|
||||
<li><a href="index.html">Home</a></li>
|
||||
<li><a href="intro.html">Introduction</a></li>
|
||||
<li><a href="docs.html">Documentation</a></li>
|
||||
<li><a href="bugs.html">Reporting bugs and getting help</a></li>
|
||||
<li><a href="help.html">How to help</a></li>
|
||||
<li><a href="downloads.html">Downloads</a></li>
|
||||
<li><a href="FAQ.html">FAQ</a></li>
|
||||
<li><a href="news.html">News</a></li>
|
||||
<li><a href="xsltproc2.html">The xsltproc tool</a></li>
|
||||
<li><a href="docbook.html">DocBook</a></li>
|
||||
<li><a href="API.html">The programming API</a></li>
|
||||
<li><a href="python.html">Python and bindings</a></li>
|
||||
<li><a href="internals.html">Library internals</a></li>
|
||||
<li><a href="extensions.html">Writing extensions</a></li>
|
||||
<li><a href="contribs.html">Contributions</a></li>
|
||||
<li>
|
||||
<a href="xslt.html">flat page</a>, <a href="site.xsl">stylesheet</a>
|
||||
</li>
|
||||
</ul>
|
||||
</td></tr>
|
||||
</table>
|
||||
<table width="100%" border="0" cellspacing="1" cellpadding="3">
|
||||
<tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr>
|
||||
<tr><td bgcolor="#fffacd"><ul>
|
||||
<li><a href="tutorial/libxslttutorial.html">Tutorial</a></li>
|
||||
<li><a href="xsltproc.html">Man page for xsltproc</a></li>
|
||||
<li><a href="http://mail.gnome.org/archives/xslt/">Mail archive</a></li>
|
||||
<li><a href="http://xmlsoft.org/">XML libxml</a></li>
|
||||
<li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li>
|
||||
<li><a href="ftp://xmlsoft.org/">FTP</a></li>
|
||||
<li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li>
|
||||
<li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li>
|
||||
<li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li>
|
||||
<li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li>
|
||||
<li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxslt">Bug Tracker</a></li>
|
||||
<li><a href="http://xsldbg.sourceforge.net/">Xsldbg Debugger</a></li>
|
||||
<li><a href="http://www.mod-xslt.com/mod-xslt/">Apache module</a></li>
|
||||
</ul></td></tr>
|
||||
</table>
|
||||
<table width="100%" border="0" cellspacing="1" cellpadding="3">
|
||||
<tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr>
|
||||
<tr><td bgcolor="#fffacd"><ul>
|
||||
<li><a href="APIchunk0.html">Alphabetic</a></li>
|
||||
<li><a href="APIconstructors.html">Constructors</a></li>
|
||||
<li><a href="APIfunctions.html">Functions/Types</a></li>
|
||||
<li><a href="APIfiles.html">Modules</a></li>
|
||||
<li><a href="APIsymbols.html">Symbols</a></li>
|
||||
</ul></td></tr>
|
||||
</table>
|
||||
</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">
|
||||
<p>This program is the simplest way to use libxslt: from the command line. It
|
||||
is also used for doing the regression tests of the library.</p>
|
||||
<p>It takes as first argument the path or URL to an XSLT stylesheet, the next
|
||||
</style><title>The xsltproc tool</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="100"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.redhat.com"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/XSLT/"><img src="Libxslt-Logo-180x168.gif" alt="Made with Libxslt Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XSLT C library for Gnome</h1><h2>The xsltproc tool</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="intro.html">Introduction</a></li><li><a href="docs.html">Documentation</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="news.html">News</a></li><li><a href="xsltproc2.html">The xsltproc tool</a></li><li><a href="docbook.html">DocBook</a></li><li><a href="API.html">The programming API</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="internals.html">Library internals</a></li><li><a href="extensions.html">Writing extensions</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="xslt.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="tutorial/libxslttutorial.html">Tutorial</a></li><li><a href="xsltproc.html">Man page for xsltproc</a></li><li><a href="http://mail.gnome.org/archives/xslt/">Mail archive</a></li><li><a href="http://xmlsoft.org/">XML libxml</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxslt">Bug Tracker</a></li><li><a href="http://xsldbg.sourceforge.net/">Xsldbg Debugger</a></li><li><a href="http://www.mod-xslt.com/mod-xslt/">Apache module</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table></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"><p>This program is the simplest way to use libxslt: from the command line. It
|
||||
is also used for doing the regression tests of the library.</p><p>It takes as first argument the path or URL to an XSLT stylesheet, the next
|
||||
arguments are filenames or URIs of the inputs to be processed. The output of
|
||||
the processing is redirected on the standard output. There is actually a few
|
||||
more options available:</p>
|
||||
<pre>orchis:~ -> xsltproc
|
||||
more options available:</p><pre>orchis:~ -> xsltproc
|
||||
Usage: xsltproc [options] stylesheet file [file ...]
|
||||
Options:
|
||||
--version or -V: show the version of libxml and libxslt used
|
||||
@ -108,9 +31,4 @@ Usage: xsltproc [options] stylesheet file [file ...]
|
||||
--catalogs : use the catalogs from $SGML_CATALOG_FILES
|
||||
--xinclude : do XInclude processing on document intput
|
||||
--profile or --norman : dump profiling informations
|
||||
orchis:~ -></pre>
|
||||
<p><a href="bugs.html">Daniel Veillard</a></p>
|
||||
</td></tr></table></td></tr></table></td></tr></table></td>
|
||||
</tr></table></td></tr></table>
|
||||
</body>
|
||||
</html>
|
||||
orchis:~ -></pre><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
|
||||
|
Reference in New Issue
Block a user