- Troubles compiling or linking programs using libxslt
Usually the problem comes from the fact that the compiler doesn't
getthe right compilation or linking flags. There is a small shell
scriptxslt-config
which is installed as part of libxslt
usualinstall process which provides those flags. Use
xslt-config --cflags
to get the compilation flags and
xslt-config --libs
to get the linker flags. Usually this is done directly from
theMakefile as:
CFLAGS=`xslt-config --cflags`
LIBS=`xslt-config --libs`
Note also that if you use the EXSLT extensions from the program
thenyou should prepend -lexslt
to the LIBS options
- passing parameters on the xsltproc command line doesn't work
xsltproc --param test alpha foo.xsl foo.xml
the param does not get passed and ends up as ""
In a nutshell do a double escaping at the shell prompt:
xsltproc --param test "'alpha'" foo.xsl foo.xml
i.e. the string value is surrounded by " and ' then terminated by 'and
". Libxslt interpret the parameter values as XPath expressions, sothe
string ->alpha
<- is intepreted as the node setmatching
this string. You really want ->'alpha'
<- tobe passed
to the processor. And to allow this you need to escape thequotes at the
shell level using ->"'alpha'"
<- .
or use
xsltproc --stringparam test alpha foo.xsl foo.xml
- Is there C++ bindings ?
Yes for example xmlwrapp, see the related pages about bindings