2
* Summary: Unicode character range checking
3
* Description: this module exports interfaces for the character
4
* range validation APIs
6
* This file is automatically generated from the cvs source
7
* definition files using the genChRanges.py Python script
9
* Generation date: Mon Mar 27 11:09:48 2006
10
* Sources: chvalid.def
11
* Author: William Brack <wbrack@mmm.com.hk>
14
#ifndef __XML_CHVALID_H__
15
#define __XML_CHVALID_H__
17
#include <libxml/xmlversion.h>
18
#include <libxml/xmlstring.h>
25
* Define our typedefs and structures
28
typedef struct _xmlChSRange xmlChSRange;
29
typedef xmlChSRange *xmlChSRangePtr;
35
typedef struct _xmlChLRange xmlChLRange;
36
typedef xmlChLRange *xmlChLRangePtr;
42
typedef struct _xmlChRangeGroup xmlChRangeGroup;
43
typedef xmlChRangeGroup *xmlChRangeGroupPtr;
44
struct _xmlChRangeGroup {
47
const xmlChSRange *shortRange; /* points to an array of ranges */
48
const xmlChLRange *longRange;
52
* Range checking routine
55
xmlCharInRange(unsigned int val, const xmlChRangeGroup *group);
60
* @c: char to validate
62
* Automatically generated by genChRanges.py
64
#define xmlIsBaseChar_ch(c) (((0x41 <= (c)) && ((c) <= 0x5a)) || \
65
((0x61 <= (c)) && ((c) <= 0x7a)) || \
66
((0xc0 <= (c)) && ((c) <= 0xd6)) || \
67
((0xd8 <= (c)) && ((c) <= 0xf6)) || \
72
* @c: char to validate
74
* Automatically generated by genChRanges.py
76
#define xmlIsBaseCharQ(c) (((c) < 0x100) ? \
77
xmlIsBaseChar_ch((c)) : \
78
xmlCharInRange((c), &xmlIsBaseCharGroup))
80
XMLPUBVAR const xmlChRangeGroup xmlIsBaseCharGroup;
84
* @c: char to validate
86
* Automatically generated by genChRanges.py
88
#define xmlIsBlank_ch(c) (((c) == 0x20) || \
89
((0x9 <= (c)) && ((c) <= 0xa)) || \
94
* @c: char to validate
96
* Automatically generated by genChRanges.py
98
#define xmlIsBlankQ(c) (((c) < 0x100) ? \
99
xmlIsBlank_ch((c)) : 0)
104
* @c: char to validate
106
* Automatically generated by genChRanges.py
108
#define xmlIsChar_ch(c) (((0x9 <= (c)) && ((c) <= 0xa)) || \
114
* @c: char to validate
116
* Automatically generated by genChRanges.py
118
#define xmlIsCharQ(c) (((c) < 0x100) ? \
120
(((0x100 <= (c)) && ((c) <= 0xd7ff)) || \
121
((0xe000 <= (c)) && ((c) <= 0xfffd)) || \
122
((0x10000 <= (c)) && ((c) <= 0x10ffff))))
124
XMLPUBVAR const xmlChRangeGroup xmlIsCharGroup;
128
* @c: char to validate
130
* Automatically generated by genChRanges.py
132
#define xmlIsCombiningQ(c) (((c) < 0x100) ? \
134
xmlCharInRange((c), &xmlIsCombiningGroup))
136
XMLPUBVAR const xmlChRangeGroup xmlIsCombiningGroup;
140
* @c: char to validate
142
* Automatically generated by genChRanges.py
144
#define xmlIsDigit_ch(c) (((0x30 <= (c)) && ((c) <= 0x39)))
148
* @c: char to validate
150
* Automatically generated by genChRanges.py
152
#define xmlIsDigitQ(c) (((c) < 0x100) ? \
153
xmlIsDigit_ch((c)) : \
154
xmlCharInRange((c), &xmlIsDigitGroup))
156
XMLPUBVAR const xmlChRangeGroup xmlIsDigitGroup;
160
* @c: char to validate
162
* Automatically generated by genChRanges.py
164
#define xmlIsExtender_ch(c) (((c) == 0xb7))
168
* @c: char to validate
170
* Automatically generated by genChRanges.py
172
#define xmlIsExtenderQ(c) (((c) < 0x100) ? \
173
xmlIsExtender_ch((c)) : \
174
xmlCharInRange((c), &xmlIsExtenderGroup))
176
XMLPUBVAR const xmlChRangeGroup xmlIsExtenderGroup;
180
* @c: char to validate
182
* Automatically generated by genChRanges.py
184
#define xmlIsIdeographicQ(c) (((c) < 0x100) ? \
186
(((0x4e00 <= (c)) && ((c) <= 0x9fa5)) || \
188
((0x3021 <= (c)) && ((c) <= 0x3029))))
190
XMLPUBVAR const xmlChRangeGroup xmlIsIdeographicGroup;
191
XMLPUBVAR const unsigned char xmlIsPubidChar_tab[256];
195
* @c: char to validate
197
* Automatically generated by genChRanges.py
199
#define xmlIsPubidChar_ch(c) (xmlIsPubidChar_tab[(c)])
203
* @c: char to validate
205
* Automatically generated by genChRanges.py
207
#define xmlIsPubidCharQ(c) (((c) < 0x100) ? \
208
xmlIsPubidChar_ch((c)) : 0)
210
XMLPUBFUN int XMLCALL
211
xmlIsBaseChar(unsigned int ch);
212
XMLPUBFUN int XMLCALL
213
xmlIsBlank(unsigned int ch);
214
XMLPUBFUN int XMLCALL
215
xmlIsChar(unsigned int ch);
216
XMLPUBFUN int XMLCALL
217
xmlIsCombining(unsigned int ch);
218
XMLPUBFUN int XMLCALL
219
xmlIsDigit(unsigned int ch);
220
XMLPUBFUN int XMLCALL
221
xmlIsExtender(unsigned int ch);
222
XMLPUBFUN int XMLCALL
223
xmlIsIdeographic(unsigned int ch);
224
XMLPUBFUN int XMLCALL
225
xmlIsPubidChar(unsigned int ch);
230
#endif /* __XML_CHVALID_H__ */