Create a branch for header work.
[reactos.git] / dll / 3rdparty / libxslt / numbersInternals.h
1 /*
2 * Summary: Implementation of the XSLT number functions
3 * Description: Implementation of the XSLT number functions
4 *
5 * Copy: See Copyright for the status of this software.
6 *
7 * Author: Bjorn Reese <breese@users.sourceforge.net> and Daniel Veillard
8 */
9
10 #ifndef __XML_XSLT_NUMBERSINTERNALS_H__
11 #define __XML_XSLT_NUMBERSINTERNALS_H__
12
13 #include <libxml/tree.h>
14 #include "xsltexports.h"
15
16 #ifdef __cplusplus
17 extern "C" {
18 #endif
19
20 /**
21 * xsltNumberData:
22 *
23 * This data structure is just a wrapper to pass xsl:number data in.
24 */
25 typedef struct _xsltNumberData xsltNumberData;
26 typedef xsltNumberData *xsltNumberDataPtr;
27
28 struct _xsltNumberData {
29 const xmlChar *level;
30 const xmlChar *count;
31 const xmlChar *from;
32 const xmlChar *value;
33 const xmlChar *format;
34 int has_format;
35 int digitsPerGroup;
36 int groupingCharacter;
37 int groupingCharacterLen;
38 xmlDocPtr doc;
39 xmlNodePtr node;
40
41 /*
42 * accelerators
43 */
44 };
45
46 /**
47 * xsltFormatNumberInfo,:
48 *
49 * This data structure lists the various parameters needed to format numbers.
50 */
51 typedef struct _xsltFormatNumberInfo xsltFormatNumberInfo;
52 typedef xsltFormatNumberInfo *xsltFormatNumberInfoPtr;
53
54 struct _xsltFormatNumberInfo {
55 int integer_hash; /* Number of '#' in integer part */
56 int integer_digits; /* Number of '0' in integer part */
57 int frac_digits; /* Number of '0' in fractional part */
58 int frac_hash; /* Number of '#' in fractional part */
59 int group; /* Number of chars per display 'group' */
60 int multiplier; /* Scaling for percent or permille */
61 char add_decimal; /* Flag for whether decimal point appears in pattern */
62 char is_multiplier_set; /* Flag to catch multiple occurences of percent/permille */
63 char is_negative_pattern;/* Flag for processing -ve prefix/suffix */
64 };
65
66 #ifdef __cplusplus
67 }
68 #endif
69 #endif /* __XML_XSLT_NUMBERSINTERNALS_H__ */