* Extension Modules API.
*/
+/**
+ * xsltInitGlobals:
+ *
+ * Initialize the global variables for extensions
+ *
+ */
+
+XSLTPUBFUN void XSLTCALL
+ xsltInitGlobals (void);
+
/**
* xsltStyleExtInitFunction:
* @ctxt: an XSLT stylesheet
XSLTPUBFUN int XSLTCALL
xsltUnregisterExtModule (const xmlChar * URI);
-XSLTPUBFUN void * XSLTCALL
+XSLTPUBFUN void * XSLTCALL
xsltGetExtData (xsltTransformContextPtr ctxt,
const xmlChar *URI);
-XSLTPUBFUN void * XSLTCALL
+XSLTPUBFUN void * XSLTCALL
xsltStyleGetExtData (xsltStylesheetPtr style,
const xmlChar *URI);
#ifdef XSLT_REFACTORED
xsltStylesheetPtr style,
const xmlChar * URI);
#endif
-XSLTPUBFUN void XSLTCALL
- xsltShutdownCtxtExts (xsltTransformContextPtr ctxt);
+XSLTPUBFUN void XSLTCALL
+ xsltShutdownCtxtExts (xsltTransformContextPtr ctxt);
-XSLTPUBFUN void XSLTCALL
- xsltShutdownExts (xsltStylesheetPtr style);
+XSLTPUBFUN void XSLTCALL
+ xsltShutdownExts (xsltStylesheetPtr style);
-XSLTPUBFUN xsltTransformContextPtr XSLTCALL
- xsltXPathGetTransformContext
+XSLTPUBFUN xsltTransformContextPtr XSLTCALL
+ xsltXPathGetTransformContext
(xmlXPathParserContextPtr ctxt);
/*
* extension functions
*/
-XSLTPUBFUN int XSLTCALL
- xsltRegisterExtModuleFunction
+XSLTPUBFUN int XSLTCALL
+ xsltRegisterExtModuleFunction
(const xmlChar *name,
const xmlChar *URI,
xmlXPathFunction function);
-XSLTPUBFUN xmlXPathFunction XSLTCALL
- xsltExtFunctionLookup (xsltTransformContextPtr ctxt,
- const xmlChar *name,
- const xmlChar *URI);
XSLTPUBFUN xmlXPathFunction XSLTCALL
xsltExtModuleFunctionLookup (const xmlChar *name,
const xmlChar *URI);
-XSLTPUBFUN int XSLTCALL
- xsltUnregisterExtModuleFunction
+XSLTPUBFUN int XSLTCALL
+ xsltUnregisterExtModuleFunction
(const xmlChar *name,
const xmlChar *URI);
* extension elements
*/
typedef xsltElemPreCompPtr (*xsltPreComputeFunction)
- (xsltStylesheetPtr style,
+ (xsltStylesheetPtr style,
xmlNodePtr inst,
xsltTransformFunction function);
xsltNewElemPreComp (xsltStylesheetPtr style,
xmlNodePtr inst,
xsltTransformFunction function);
-XSLTPUBFUN void XSLTCALL
+XSLTPUBFUN void XSLTCALL
xsltInitElemPreComp (xsltElemPreCompPtr comp,
xsltStylesheetPtr style,
xmlNodePtr inst,
xsltTransformFunction function,
xsltElemPreCompDeallocator freeFunc);
-XSLTPUBFUN int XSLTCALL
- xsltRegisterExtModuleElement
+XSLTPUBFUN int XSLTCALL
+ xsltRegisterExtModuleElement
(const xmlChar *name,
const xmlChar *URI,
xsltPreComputeFunction precomp,
xsltTransformFunction transform);
-XSLTPUBFUN xsltTransformFunction XSLTCALL
+XSLTPUBFUN xsltTransformFunction XSLTCALL
xsltExtElementLookup (xsltTransformContextPtr ctxt,
const xmlChar *name,
const xmlChar *URI);
-XSLTPUBFUN xsltTransformFunction XSLTCALL
+XSLTPUBFUN xsltTransformFunction XSLTCALL
xsltExtModuleElementLookup
(const xmlChar *name,
const xmlChar *URI);
-XSLTPUBFUN xsltPreComputeFunction XSLTCALL
- xsltExtModuleElementPreComputeLookup
+XSLTPUBFUN xsltPreComputeFunction XSLTCALL
+ xsltExtModuleElementPreComputeLookup
(const xmlChar *name,
const xmlChar *URI);
-XSLTPUBFUN int XSLTCALL
- xsltUnregisterExtModuleElement
+XSLTPUBFUN int XSLTCALL
+ xsltUnregisterExtModuleElement
(const xmlChar *name,
const xmlChar *URI);
typedef void (*xsltTopLevelFunction) (xsltStylesheetPtr style,
xmlNodePtr inst);
-XSLTPUBFUN int XSLTCALL
+XSLTPUBFUN int XSLTCALL
xsltRegisterExtModuleTopLevel
(const xmlChar *name,
const xmlChar *URI,
xsltTopLevelFunction function);
-XSLTPUBFUN xsltTopLevelFunction XSLTCALL
- xsltExtModuleTopLevelLookup
+XSLTPUBFUN xsltTopLevelFunction XSLTCALL
+ xsltExtModuleTopLevelLookup
(const xmlChar *name,
const xmlChar *URI);
-XSLTPUBFUN int XSLTCALL
- xsltUnregisterExtModuleTopLevel
+XSLTPUBFUN int XSLTCALL
+ xsltUnregisterExtModuleTopLevel
(const xmlChar *name,
const xmlChar *URI);
/* These 2 functions are deprecated for use within modules. */
-XSLTPUBFUN int XSLTCALL
+XSLTPUBFUN int XSLTCALL
xsltRegisterExtFunction (xsltTransformContextPtr ctxt,
const xmlChar *name,
const xmlChar *URI,
xmlXPathFunction function);
-XSLTPUBFUN int XSLTCALL
+XSLTPUBFUN int XSLTCALL
xsltRegisterExtElement (xsltTransformContextPtr ctxt,
const xmlChar *name,
const xmlChar *URI,
* Those are used by the XSLT (pre)processor.
*/
-XSLTPUBFUN int XSLTCALL
+XSLTPUBFUN int XSLTCALL
xsltRegisterExtPrefix (xsltStylesheetPtr style,
const xmlChar *prefix,
const xmlChar *URI);
-XSLTPUBFUN int XSLTCALL
+XSLTPUBFUN int XSLTCALL
xsltCheckExtPrefix (xsltStylesheetPtr style,
const xmlChar *URI);
XSLTPUBFUN int XSLTCALL
xsltCheckExtURI (xsltStylesheetPtr style,
const xmlChar *URI);
-XSLTPUBFUN int XSLTCALL
+XSLTPUBFUN int XSLTCALL
xsltInitCtxtExts (xsltTransformContextPtr ctxt);
-XSLTPUBFUN void XSLTCALL
+XSLTPUBFUN void XSLTCALL
xsltFreeCtxtExts (xsltTransformContextPtr ctxt);
-XSLTPUBFUN void XSLTCALL
+XSLTPUBFUN void XSLTCALL
xsltFreeExts (xsltStylesheetPtr style);
-XSLTPUBFUN xsltElemPreCompPtr XSLTCALL
+XSLTPUBFUN xsltElemPreCompPtr XSLTCALL
xsltPreComputeExtModuleElement
(xsltStylesheetPtr style,
xmlNodePtr inst);
* Used by exslt initialisation
*/
-XSLTPUBFUN xmlHashTablePtr XSLTCALL
- xsltGetExtInfo (xsltStylesheetPtr style,
+XSLTPUBFUN xmlHashTablePtr XSLTCALL
+ xsltGetExtInfo (xsltStylesheetPtr style,
const xmlChar *URI);
/**
* Test module http://xmlsoft.org/XSLT/
*/
-XSLTPUBFUN void XSLTCALL
+XSLTPUBFUN void XSLTCALL
xsltRegisterTestModule (void);
-XSLTPUBFUN void XSLTCALL
+XSLTPUBFUN void XSLTCALL
xsltDebugDumpExtensions (FILE * output);
--- /dev/null
+/*
+ * Summary: Locale handling
+ * Description: Interfaces for locale handling. Needed for language dependent
+ * sorting.
+ *
+ * Copy: See Copyright for the status of this software.
+ *
+ * Author: Nick Wellnhofer
+ */
+
+#ifndef __XML_XSLTLOCALE_H__
+#define __XML_XSLTLOCALE_H__
+
+#include <libxml/xmlstring.h>
+
+#ifdef XSLT_LOCALE_XLOCALE
+
+#include <locale.h>
+#include <xlocale.h>
+
+#ifdef __GLIBC__
+/*locale_t is defined only if _GNU_SOURCE is defined*/
+typedef __locale_t xsltLocale;
+#else
+typedef locale_t xsltLocale;
+#endif
+typedef xmlChar xsltLocaleChar;
+
+#elif defined(XSLT_LOCALE_WINAPI)
+
+#include <windows.h>
+#include <winnls.h>
+
+typedef LCID xsltLocale;
+typedef wchar_t xsltLocaleChar;
+
+#else
+
+/*
+ * XSLT_LOCALE_NONE:
+ * Macro indicating that locale are not supported
+ */
+#ifndef XSLT_LOCALE_NONE
+#define XSLT_LOCALE_NONE
+#endif
+
+typedef void *xsltLocale;
+typedef xmlChar xsltLocaleChar;
+
+#endif
+
+xsltLocale xsltNewLocale(const xmlChar *langName);
+void xsltFreeLocale(xsltLocale locale);
+xsltLocaleChar *xsltStrxfrm(xsltLocale locale, const xmlChar *string);
+int xsltLocaleStrcmp(xsltLocale locale, const xsltLocaleChar *str1, const xsltLocaleChar *str2);
+
+#endif /* __XML_XSLTLOCALE_H__ */