- Troubles compiling or linking programs using libxslt
    
Usually the problem comes from the fact that the compiler doesn't get
    the right compilation or linking flags. There is a small shell script
    xslt-config which is installed as part of libxslt usual
    install 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 the
    Makefile as:
    CFLAGS=`xslt-config --cflags`
    LIBS=`xslt-config --libs`
    Note also that if you use the EXSLT extensions from the program then
    you 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, so
    the string ->alpha<- is intepreted as the node set
    matching this string. You really want ->'alpha'<- to
    be passed to the processor. And to allow this you need to escape the
    quotes 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