14 #ifndef __XML_CHVALID_H__
15 #define __XML_CHVALID_H__
17 #include <libxml/xmlversion.h>
18 #include <libxml/xmlstring.h>
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;
48 const xmlChLRange *longRange;
55 xmlCharInRange(
unsigned int val,
const xmlChRangeGroup *group);
64 #define xmlIsBaseChar_ch(c) (((0x41 <= (c)) && ((c) <= 0x5a)) || \
65 ((0x61 <= (c)) && ((c) <= 0x7a)) || \
66 ((0xc0 <= (c)) && ((c) <= 0xd6)) || \
67 ((0xd8 <= (c)) && ((c) <= 0xf6)) || \
76 #define xmlIsBaseCharQ(c) (((c) < 0x100) ? \
77 xmlIsBaseChar_ch((c)) : \
78 xmlCharInRange((c), &xmlIsBaseCharGroup))
80 XMLPUBVAR
const xmlChRangeGroup xmlIsBaseCharGroup;
88 #define xmlIsBlank_ch(c) (((c) == 0x20) || \
89 ((0x9 <= (c)) && ((c) <= 0xa)) || \
98 #define xmlIsBlankQ(c) (((c) < 0x100) ? \
99 xmlIsBlank_ch((c)) : 0)
108 #define xmlIsChar_ch(c) (((0x9 <= (c)) && ((c) <= 0xa)) || \
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;
132 #define xmlIsCombiningQ(c) (((c) < 0x100) ? \
134 xmlCharInRange((c), &xmlIsCombiningGroup))
136 XMLPUBVAR
const xmlChRangeGroup xmlIsCombiningGroup;
144 #define xmlIsDigit_ch(c) (((0x30 <= (c)) && ((c) <= 0x39)))
152 #define xmlIsDigitQ(c) (((c) < 0x100) ? \
153 xmlIsDigit_ch((c)) : \
154 xmlCharInRange((c), &xmlIsDigitGroup))
156 XMLPUBVAR
const xmlChRangeGroup xmlIsDigitGroup;
164 #define xmlIsExtender_ch(c) (((c) == 0xb7))
172 #define xmlIsExtenderQ(c) (((c) < 0x100) ? \
173 xmlIsExtender_ch((c)) : \
174 xmlCharInRange((c), &xmlIsExtenderGroup))
176 XMLPUBVAR
const xmlChRangeGroup xmlIsExtenderGroup;
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];
199 #define xmlIsPubidChar_ch(c) (xmlIsPubidChar_tab[(c)])
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);