XSLT, DOM and XPath processor
![]() |
Sablotron is a fast, compact and portable XML toolkit implementing XSLT 1.0, DOM Level2 and XPath 1.0. Sablotron is an open project; other users and developers are encouraged to use it or to help us testing or improving it. The goal of this project is to create a lightweight, reliable and fast XML library processor conforming to the W3C specification, which is available for public and can be used as a base for multi-platform XML applications.
Sablotron is written in C++ and we try to keep it as portable as possible. Click here here to see Sablotron cross-reference sources. We compile Sablotron on Linux (using g++) and Windows 2000 (using MS Visual C++). GA does not directly support other platforms but as far as we know, it runs on Solaris, FreeBSD, OpenBSD, HP-UX, Irix and all Win32 systems. It should be possible to port Sablotron on other systems as well. In the event you run any other port of Sablotron, please let us know. If you want to take part in this project, please e-mail to sablotron@gingerall.com.
Sablotron sources and binaries for selected platforms can be downloaded from this site. If you want to keep yourself in touch with the latest sources, there is a CVS read-only account available. Use the repository name :pserver:cvsguest@cvs.gingerall.cz:/usr/local/cvs-master and the password suitDdsX. Check out the ga/sablot module.
On top of C API there are available wrappers or extensions for popular programming languages such as Perl or PHP. Go to the Related Software page to learn more about wrappers for other languages (Object Pascal, Ruby, Erlang, Tcl, Ada).
Sablotron uses James Clark's expat XML parser. Encoding issues are solved using the iconv library (a part of GNU C Library) which is a standard part of Linux and many Unix systems. On some other platforms (e.g. Windows) it must be installed prior to Sablotron installation (to enable code-page conversions). To enable JavaScript extensions, the JavaScript engine by Mozilla is required. See the INSTALL file for more details.
Sablotron is subject to the Mozilla Public License 1.1 or the GNU General Public License alternatively.
Sablotron Guide and Reference is the primary resource. Errors reported by Sablotron are explained here. Answers to some questions about Sablotron can be found in the Sablotron FAQ. The DOM API for JavaScript extension functions is described in Sablotron Extensions API Reference. Sablotron XPath Processor (SXP) interface is described in SXP Reference. For changes from the previous versions see the Sablotron Change Log. There is also a document describing the possible future enhancements and development directions available.
There is a Sablotron and XSLT related mailing list available. If you find a bug in Sablotron, please e-mail your report to sab-bugs@gingerall.com or create a new entry in our public bugzilla. If you want a commercial support, you can e-mail to support@gingerall.com.