int
xsltp_extension_init(void)
{
    xsltp_log_debug0("init");

    xsltRegisterExtModuleFull((const xmlChar *) XSLTP_EXTENSION_STRING_NS,
                              xsltp_extension_ext_init,
                              xsltp_extension_ext_shutdown,
                              xsltp_extension_style_ext_init,
                              xsltp_extension_style_ext_shutdown);

#ifdef HAVE_GLIB
    xsltRegisterExtModuleFunction((const xmlChar *) "uc",
                                  (const xmlChar *) XSLTP_EXTENSION_STRING_NS,
                                  xsltp_extension_string_uc);
    xsltRegisterExtModuleFunction((const xmlChar *) "lc",
                                  (const xmlChar *) XSLTP_EXTENSION_STRING_NS,
                                  xsltp_extension_string_lc);
#endif
    xsltRegisterExtModuleFunction((const xmlChar *) "join",
                                  (const xmlChar *) XSLTP_EXTENSION_STRING_NS,
                                  xsltp_extension_string_join);
    xsltRegisterExtModuleFunction((const xmlChar *) "ltrim",
                                  (const xmlChar *) XSLTP_EXTENSION_STRING_NS,
                                  xsltp_extension_string_ltrim);
    xsltRegisterExtModuleFunction((const xmlChar *) "rtrim",
                                  (const xmlChar *) XSLTP_EXTENSION_STRING_NS,
                                  xsltp_extension_string_rtrim);
    xsltRegisterExtModuleFunction((const xmlChar *) "trim",
                                  (const xmlChar *) XSLTP_EXTENSION_STRING_NS,
                                  xsltp_extension_string_trim);
    return 1;
}
void
PLUGINPUBFUN xmlsoft_org_xslt_testplugin_init(void)
{
    xsltRegisterExtModuleFull((const xmlChar *) XSLT_TESTPLUGIN_URL,
                              xsltExtInitTest, xsltExtShutdownTest,
                              xsltExtStyleInitTest,
                              xsltExtStyleShutdownTest);
    xsltRegisterExtModuleFunction((const xmlChar *) "testplugin",
                                  (const xmlChar *) XSLT_TESTPLUGIN_URL,
                                  xsltExtFunctionTest);
    xsltRegisterExtModuleElement((const xmlChar *) "testplugin",
                                 (const xmlChar *) XSLT_TESTPLUGIN_URL,
                                 xsltExtElementPreCompTest,
                                 xsltExtElementTest);
}