1 /* 2 * Summary: Locale handling 3 * Description: Interfaces for locale handling. Needed for language dependent 4 * sorting. 5 * 6 * Copy: See Copyright for the status of this software. 7 * 8 * Author: Nick Wellnhofer 9 */ 10 11 #ifndef __XML_XSLTLOCALE_H__ 12 #define __XML_XSLTLOCALE_H__ 13 14 #include <libxml/xmlstring.h> 15 16 #ifdef XSLT_LOCALE_XLOCALE 17 18 #include <locale.h> 19 #include <xlocale.h> 20 21 #ifdef __GLIBC__ 22 /*locale_t is defined only if _GNU_SOURCE is defined*/ 23 typedef __locale_t xsltLocale; 24 #else 25 typedef locale_t xsltLocale; 26 #endif 27 typedef xmlChar xsltLocaleChar; 28 29 #elif defined(XSLT_LOCALE_WINAPI) 30 31 #include <windows.h> 32 #include <winnls.h> 33 34 typedef LCID xsltLocale; 35 typedef wchar_t xsltLocaleChar; 36 37 #else 38 39 /* 40 * XSLT_LOCALE_NONE: 41 * Macro indicating that locale are not supported 42 */ 43 #ifndef XSLT_LOCALE_NONE 44 #define XSLT_LOCALE_NONE 45 #endif 46 47 typedef void *xsltLocale; 48 typedef xmlChar xsltLocaleChar; 49 50 #endif 51 52 xsltLocale xsltNewLocale(const xmlChar *langName); 53 void xsltFreeLocale(xsltLocale locale); 54 xsltLocaleChar *xsltStrxfrm(xsltLocale locale, const xmlChar *string); 55 int xsltLocaleStrcmp(xsltLocale locale, const xsltLocaleChar *str1, const xsltLocaleChar *str2); 56 57 #endif /* __XML_XSLTLOCALE_H__ */ 58