Skip to content
No description, website, or topics provided.
XSLT Perl XS C
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
benchmark
example
scripts travis fix #1: perl vers Jan 14, 2020
t
testcases
.gitignore add gitignore Feb 21, 2018
.hgignore Add hgignore Feb 1, 2014
.travis.yml
Changes Remove checks for libxslt versions Jan 16, 2020
LICENSE XML::LibXML ABI version check Sep 23, 2009
LibXSLT.pm
LibXSLT.xs Fix builds on older libxslts. RT #101605. Jan 19, 2015
MANIFEST Add the tag-release.pl script Apr 12, 2014
Makefile.PL replace xslt-config with pkg-config Jan 15, 2020
README Removet trailing whitespace. Apr 10, 2014
perl-libxml-mm.c
perl-libxml-mm.h Removet trailing whitespace. Apr 10, 2014
ppport.h updated Jan 28, 2008
typemap security callback interface contributed by Shane Corgatelli (RT #21887) Oct 4, 2006

README

This module is a fast XSLT library, based on the GNOME libxslt engine
that you can find at http://www.xmlsoft.org/XSLT/

Performance is currently about twice that of XML::Sablotron (based on
XSLTMark tests converted to Perl).

The libxslt processor is also highly standards compliant
implementation of XSLT 1.0.

A NOTE ON INSTALLATION
----------------------

The library depends on libxslt. You have to have both the library and
its header files installed (on various Linux/UNIX distributions thay
are usually packaged as libxslt-dev or libxslt-devel). The module can
further make use of libexslt, which is distributed with libxslt, but
on some systems packaged separately. These libraries may have their
own dependencies (usually resolved automatically by the packaging
system).

Note that if you want any global data to be shared between the libxml2
libraries used by this module and XML-LibXML, e.g. the input callback
table, then each module must link dynamically against libxml2 so that
they both use the same shared library (this is in fact default on most
UNIX/POSIX platforms).

The Makefile.PL tries to determine the correct compiler and linker
flags for its library dependencies using pkg-config and
xslt-config. If this fails, you may override the values like this

  perl Makefile.PL INC="..." LIBS="..."

where INC contains flags for the compiler (such as -I/some_path/include etc.) and LIBS contains linker flags (such as -L/some_path/lib -llibsomething ...).

WIN32 BUILDING ISSUES ---------------------

It is recommended that when building this module on Win32 you also
link dynamically against libxslt and libexslt, since linking
statically against these libraries but dynamically against libxml2 may
cause some "unresolved symbol" linker errors.

Dynamic linking, however, causes a name clash between the name of this
module's DLL (LibXSLT.dll) and that of libxslt (libxslt.dll) on
Win32's case-insensitive filesystem. So, if you link dynamically then
you'll probably have to build your libxslt DLL as, say,
libxslt_win32.dll and then make the appropriate changes to this
module's build process to look for that instead of libxslt.dll.

PATCHES AND DEVELOPER VERSION
=============================

As XML::LibXSLT is open source software help and patches are appreciated. If you
find a bug in the current release, make sure this bug still exists in the
developer version of XML::LibXSLT. This version can be downloaded from its
Mercurial repository. The repository can be cloned via:

    hg clone ssh://hg@bitbucket.org/shlomif/perl-xml-libxslt

Note this account does not allow direct commits.

Please consider the tests as correct. If any test fails it is most certainly
related to a bug.

COPYRIGHT AND LICENSE
---------------------

This is free software, you may use it and distribute it under the same
terms as Perl itself. Copyright 2001 AxKit.com Ltd.
You can’t perform that action at this time.