1*7c568831SAndroid Build Coastguard Worker /* 2*7c568831SAndroid Build Coastguard Worker * Summary: Unicode character range checking 3*7c568831SAndroid Build Coastguard Worker * Description: this module exports interfaces for the character 4*7c568831SAndroid Build Coastguard Worker * range validation APIs 5*7c568831SAndroid Build Coastguard Worker * 6*7c568831SAndroid Build Coastguard Worker * This file is automatically generated from the cvs source 7*7c568831SAndroid Build Coastguard Worker * definition files using the genChRanges.py Python script 8*7c568831SAndroid Build Coastguard Worker * 9*7c568831SAndroid Build Coastguard Worker * Generation date: Mon Mar 27 11:09:48 2006 10*7c568831SAndroid Build Coastguard Worker * Sources: chvalid.def 11*7c568831SAndroid Build Coastguard Worker * Author: William Brack <[email protected]> 12*7c568831SAndroid Build Coastguard Worker */ 13*7c568831SAndroid Build Coastguard Worker 14*7c568831SAndroid Build Coastguard Worker #ifndef __XML_CHVALID_H__ 15*7c568831SAndroid Build Coastguard Worker #define __XML_CHVALID_H__ 16*7c568831SAndroid Build Coastguard Worker 17*7c568831SAndroid Build Coastguard Worker #include <libxml/xmlversion.h> 18*7c568831SAndroid Build Coastguard Worker #include <libxml/xmlstring.h> 19*7c568831SAndroid Build Coastguard Worker 20*7c568831SAndroid Build Coastguard Worker #ifdef __cplusplus 21*7c568831SAndroid Build Coastguard Worker extern "C" { 22*7c568831SAndroid Build Coastguard Worker #endif 23*7c568831SAndroid Build Coastguard Worker 24*7c568831SAndroid Build Coastguard Worker /* 25*7c568831SAndroid Build Coastguard Worker * Define our typedefs and structures 26*7c568831SAndroid Build Coastguard Worker * 27*7c568831SAndroid Build Coastguard Worker */ 28*7c568831SAndroid Build Coastguard Worker typedef struct _xmlChSRange xmlChSRange; 29*7c568831SAndroid Build Coastguard Worker typedef xmlChSRange *xmlChSRangePtr; 30*7c568831SAndroid Build Coastguard Worker struct _xmlChSRange { 31*7c568831SAndroid Build Coastguard Worker unsigned short low; 32*7c568831SAndroid Build Coastguard Worker unsigned short high; 33*7c568831SAndroid Build Coastguard Worker }; 34*7c568831SAndroid Build Coastguard Worker 35*7c568831SAndroid Build Coastguard Worker typedef struct _xmlChLRange xmlChLRange; 36*7c568831SAndroid Build Coastguard Worker typedef xmlChLRange *xmlChLRangePtr; 37*7c568831SAndroid Build Coastguard Worker struct _xmlChLRange { 38*7c568831SAndroid Build Coastguard Worker unsigned int low; 39*7c568831SAndroid Build Coastguard Worker unsigned int high; 40*7c568831SAndroid Build Coastguard Worker }; 41*7c568831SAndroid Build Coastguard Worker 42*7c568831SAndroid Build Coastguard Worker typedef struct _xmlChRangeGroup xmlChRangeGroup; 43*7c568831SAndroid Build Coastguard Worker typedef xmlChRangeGroup *xmlChRangeGroupPtr; 44*7c568831SAndroid Build Coastguard Worker struct _xmlChRangeGroup { 45*7c568831SAndroid Build Coastguard Worker int nbShortRange; 46*7c568831SAndroid Build Coastguard Worker int nbLongRange; 47*7c568831SAndroid Build Coastguard Worker const xmlChSRange *shortRange; /* points to an array of ranges */ 48*7c568831SAndroid Build Coastguard Worker const xmlChLRange *longRange; 49*7c568831SAndroid Build Coastguard Worker }; 50*7c568831SAndroid Build Coastguard Worker 51*7c568831SAndroid Build Coastguard Worker /** 52*7c568831SAndroid Build Coastguard Worker * Range checking routine 53*7c568831SAndroid Build Coastguard Worker */ 54*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 55*7c568831SAndroid Build Coastguard Worker xmlCharInRange(unsigned int val, const xmlChRangeGroup *group); 56*7c568831SAndroid Build Coastguard Worker 57*7c568831SAndroid Build Coastguard Worker 58*7c568831SAndroid Build Coastguard Worker /** 59*7c568831SAndroid Build Coastguard Worker * xmlIsBaseChar_ch: 60*7c568831SAndroid Build Coastguard Worker * @c: char to validate 61*7c568831SAndroid Build Coastguard Worker * 62*7c568831SAndroid Build Coastguard Worker * Automatically generated by genChRanges.py 63*7c568831SAndroid Build Coastguard Worker */ 64*7c568831SAndroid Build Coastguard Worker #define xmlIsBaseChar_ch(c) (((0x41 <= (c)) && ((c) <= 0x5a)) || \ 65*7c568831SAndroid Build Coastguard Worker ((0x61 <= (c)) && ((c) <= 0x7a)) || \ 66*7c568831SAndroid Build Coastguard Worker ((0xc0 <= (c)) && ((c) <= 0xd6)) || \ 67*7c568831SAndroid Build Coastguard Worker ((0xd8 <= (c)) && ((c) <= 0xf6)) || \ 68*7c568831SAndroid Build Coastguard Worker (0xf8 <= (c))) 69*7c568831SAndroid Build Coastguard Worker 70*7c568831SAndroid Build Coastguard Worker /** 71*7c568831SAndroid Build Coastguard Worker * xmlIsBaseCharQ: 72*7c568831SAndroid Build Coastguard Worker * @c: char to validate 73*7c568831SAndroid Build Coastguard Worker * 74*7c568831SAndroid Build Coastguard Worker * Automatically generated by genChRanges.py 75*7c568831SAndroid Build Coastguard Worker */ 76*7c568831SAndroid Build Coastguard Worker #define xmlIsBaseCharQ(c) (((c) < 0x100) ? \ 77*7c568831SAndroid Build Coastguard Worker xmlIsBaseChar_ch((c)) : \ 78*7c568831SAndroid Build Coastguard Worker xmlCharInRange((c), &xmlIsBaseCharGroup)) 79*7c568831SAndroid Build Coastguard Worker 80*7c568831SAndroid Build Coastguard Worker XMLPUBVAR const xmlChRangeGroup xmlIsBaseCharGroup; 81*7c568831SAndroid Build Coastguard Worker 82*7c568831SAndroid Build Coastguard Worker /** 83*7c568831SAndroid Build Coastguard Worker * xmlIsBlank_ch: 84*7c568831SAndroid Build Coastguard Worker * @c: char to validate 85*7c568831SAndroid Build Coastguard Worker * 86*7c568831SAndroid Build Coastguard Worker * Automatically generated by genChRanges.py 87*7c568831SAndroid Build Coastguard Worker */ 88*7c568831SAndroid Build Coastguard Worker #define xmlIsBlank_ch(c) (((c) == 0x20) || \ 89*7c568831SAndroid Build Coastguard Worker ((0x9 <= (c)) && ((c) <= 0xa)) || \ 90*7c568831SAndroid Build Coastguard Worker ((c) == 0xd)) 91*7c568831SAndroid Build Coastguard Worker 92*7c568831SAndroid Build Coastguard Worker /** 93*7c568831SAndroid Build Coastguard Worker * xmlIsBlankQ: 94*7c568831SAndroid Build Coastguard Worker * @c: char to validate 95*7c568831SAndroid Build Coastguard Worker * 96*7c568831SAndroid Build Coastguard Worker * Automatically generated by genChRanges.py 97*7c568831SAndroid Build Coastguard Worker */ 98*7c568831SAndroid Build Coastguard Worker #define xmlIsBlankQ(c) (((c) < 0x100) ? \ 99*7c568831SAndroid Build Coastguard Worker xmlIsBlank_ch((c)) : 0) 100*7c568831SAndroid Build Coastguard Worker 101*7c568831SAndroid Build Coastguard Worker 102*7c568831SAndroid Build Coastguard Worker /** 103*7c568831SAndroid Build Coastguard Worker * xmlIsChar_ch: 104*7c568831SAndroid Build Coastguard Worker * @c: char to validate 105*7c568831SAndroid Build Coastguard Worker * 106*7c568831SAndroid Build Coastguard Worker * Automatically generated by genChRanges.py 107*7c568831SAndroid Build Coastguard Worker */ 108*7c568831SAndroid Build Coastguard Worker #define xmlIsChar_ch(c) (((0x9 <= (c)) && ((c) <= 0xa)) || \ 109*7c568831SAndroid Build Coastguard Worker ((c) == 0xd) || \ 110*7c568831SAndroid Build Coastguard Worker (0x20 <= (c))) 111*7c568831SAndroid Build Coastguard Worker 112*7c568831SAndroid Build Coastguard Worker /** 113*7c568831SAndroid Build Coastguard Worker * xmlIsCharQ: 114*7c568831SAndroid Build Coastguard Worker * @c: char to validate 115*7c568831SAndroid Build Coastguard Worker * 116*7c568831SAndroid Build Coastguard Worker * Automatically generated by genChRanges.py 117*7c568831SAndroid Build Coastguard Worker */ 118*7c568831SAndroid Build Coastguard Worker #define xmlIsCharQ(c) (((c) < 0x100) ? \ 119*7c568831SAndroid Build Coastguard Worker xmlIsChar_ch((c)) :\ 120*7c568831SAndroid Build Coastguard Worker (((0x100 <= (c)) && ((c) <= 0xd7ff)) || \ 121*7c568831SAndroid Build Coastguard Worker ((0xe000 <= (c)) && ((c) <= 0xfffd)) || \ 122*7c568831SAndroid Build Coastguard Worker ((0x10000 <= (c)) && ((c) <= 0x10ffff)))) 123*7c568831SAndroid Build Coastguard Worker 124*7c568831SAndroid Build Coastguard Worker XMLPUBVAR const xmlChRangeGroup xmlIsCharGroup; 125*7c568831SAndroid Build Coastguard Worker 126*7c568831SAndroid Build Coastguard Worker /** 127*7c568831SAndroid Build Coastguard Worker * xmlIsCombiningQ: 128*7c568831SAndroid Build Coastguard Worker * @c: char to validate 129*7c568831SAndroid Build Coastguard Worker * 130*7c568831SAndroid Build Coastguard Worker * Automatically generated by genChRanges.py 131*7c568831SAndroid Build Coastguard Worker */ 132*7c568831SAndroid Build Coastguard Worker #define xmlIsCombiningQ(c) (((c) < 0x100) ? \ 133*7c568831SAndroid Build Coastguard Worker 0 : \ 134*7c568831SAndroid Build Coastguard Worker xmlCharInRange((c), &xmlIsCombiningGroup)) 135*7c568831SAndroid Build Coastguard Worker 136*7c568831SAndroid Build Coastguard Worker XMLPUBVAR const xmlChRangeGroup xmlIsCombiningGroup; 137*7c568831SAndroid Build Coastguard Worker 138*7c568831SAndroid Build Coastguard Worker /** 139*7c568831SAndroid Build Coastguard Worker * xmlIsDigit_ch: 140*7c568831SAndroid Build Coastguard Worker * @c: char to validate 141*7c568831SAndroid Build Coastguard Worker * 142*7c568831SAndroid Build Coastguard Worker * Automatically generated by genChRanges.py 143*7c568831SAndroid Build Coastguard Worker */ 144*7c568831SAndroid Build Coastguard Worker #define xmlIsDigit_ch(c) (((0x30 <= (c)) && ((c) <= 0x39))) 145*7c568831SAndroid Build Coastguard Worker 146*7c568831SAndroid Build Coastguard Worker /** 147*7c568831SAndroid Build Coastguard Worker * xmlIsDigitQ: 148*7c568831SAndroid Build Coastguard Worker * @c: char to validate 149*7c568831SAndroid Build Coastguard Worker * 150*7c568831SAndroid Build Coastguard Worker * Automatically generated by genChRanges.py 151*7c568831SAndroid Build Coastguard Worker */ 152*7c568831SAndroid Build Coastguard Worker #define xmlIsDigitQ(c) (((c) < 0x100) ? \ 153*7c568831SAndroid Build Coastguard Worker xmlIsDigit_ch((c)) : \ 154*7c568831SAndroid Build Coastguard Worker xmlCharInRange((c), &xmlIsDigitGroup)) 155*7c568831SAndroid Build Coastguard Worker 156*7c568831SAndroid Build Coastguard Worker XMLPUBVAR const xmlChRangeGroup xmlIsDigitGroup; 157*7c568831SAndroid Build Coastguard Worker 158*7c568831SAndroid Build Coastguard Worker /** 159*7c568831SAndroid Build Coastguard Worker * xmlIsExtender_ch: 160*7c568831SAndroid Build Coastguard Worker * @c: char to validate 161*7c568831SAndroid Build Coastguard Worker * 162*7c568831SAndroid Build Coastguard Worker * Automatically generated by genChRanges.py 163*7c568831SAndroid Build Coastguard Worker */ 164*7c568831SAndroid Build Coastguard Worker #define xmlIsExtender_ch(c) (((c) == 0xb7)) 165*7c568831SAndroid Build Coastguard Worker 166*7c568831SAndroid Build Coastguard Worker /** 167*7c568831SAndroid Build Coastguard Worker * xmlIsExtenderQ: 168*7c568831SAndroid Build Coastguard Worker * @c: char to validate 169*7c568831SAndroid Build Coastguard Worker * 170*7c568831SAndroid Build Coastguard Worker * Automatically generated by genChRanges.py 171*7c568831SAndroid Build Coastguard Worker */ 172*7c568831SAndroid Build Coastguard Worker #define xmlIsExtenderQ(c) (((c) < 0x100) ? \ 173*7c568831SAndroid Build Coastguard Worker xmlIsExtender_ch((c)) : \ 174*7c568831SAndroid Build Coastguard Worker xmlCharInRange((c), &xmlIsExtenderGroup)) 175*7c568831SAndroid Build Coastguard Worker 176*7c568831SAndroid Build Coastguard Worker XMLPUBVAR const xmlChRangeGroup xmlIsExtenderGroup; 177*7c568831SAndroid Build Coastguard Worker 178*7c568831SAndroid Build Coastguard Worker /** 179*7c568831SAndroid Build Coastguard Worker * xmlIsIdeographicQ: 180*7c568831SAndroid Build Coastguard Worker * @c: char to validate 181*7c568831SAndroid Build Coastguard Worker * 182*7c568831SAndroid Build Coastguard Worker * Automatically generated by genChRanges.py 183*7c568831SAndroid Build Coastguard Worker */ 184*7c568831SAndroid Build Coastguard Worker #define xmlIsIdeographicQ(c) (((c) < 0x100) ? \ 185*7c568831SAndroid Build Coastguard Worker 0 :\ 186*7c568831SAndroid Build Coastguard Worker (((0x4e00 <= (c)) && ((c) <= 0x9fa5)) || \ 187*7c568831SAndroid Build Coastguard Worker ((c) == 0x3007) || \ 188*7c568831SAndroid Build Coastguard Worker ((0x3021 <= (c)) && ((c) <= 0x3029)))) 189*7c568831SAndroid Build Coastguard Worker 190*7c568831SAndroid Build Coastguard Worker XMLPUBVAR const xmlChRangeGroup xmlIsIdeographicGroup; 191*7c568831SAndroid Build Coastguard Worker XMLPUBVAR const unsigned char xmlIsPubidChar_tab[256]; 192*7c568831SAndroid Build Coastguard Worker 193*7c568831SAndroid Build Coastguard Worker /** 194*7c568831SAndroid Build Coastguard Worker * xmlIsPubidChar_ch: 195*7c568831SAndroid Build Coastguard Worker * @c: char to validate 196*7c568831SAndroid Build Coastguard Worker * 197*7c568831SAndroid Build Coastguard Worker * Automatically generated by genChRanges.py 198*7c568831SAndroid Build Coastguard Worker */ 199*7c568831SAndroid Build Coastguard Worker #define xmlIsPubidChar_ch(c) (xmlIsPubidChar_tab[(c)]) 200*7c568831SAndroid Build Coastguard Worker 201*7c568831SAndroid Build Coastguard Worker /** 202*7c568831SAndroid Build Coastguard Worker * xmlIsPubidCharQ: 203*7c568831SAndroid Build Coastguard Worker * @c: char to validate 204*7c568831SAndroid Build Coastguard Worker * 205*7c568831SAndroid Build Coastguard Worker * Automatically generated by genChRanges.py 206*7c568831SAndroid Build Coastguard Worker */ 207*7c568831SAndroid Build Coastguard Worker #define xmlIsPubidCharQ(c) (((c) < 0x100) ? \ 208*7c568831SAndroid Build Coastguard Worker xmlIsPubidChar_ch((c)) : 0) 209*7c568831SAndroid Build Coastguard Worker 210*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 211*7c568831SAndroid Build Coastguard Worker xmlIsBaseChar(unsigned int ch); 212*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 213*7c568831SAndroid Build Coastguard Worker xmlIsBlank(unsigned int ch); 214*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 215*7c568831SAndroid Build Coastguard Worker xmlIsChar(unsigned int ch); 216*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 217*7c568831SAndroid Build Coastguard Worker xmlIsCombining(unsigned int ch); 218*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 219*7c568831SAndroid Build Coastguard Worker xmlIsDigit(unsigned int ch); 220*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 221*7c568831SAndroid Build Coastguard Worker xmlIsExtender(unsigned int ch); 222*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 223*7c568831SAndroid Build Coastguard Worker xmlIsIdeographic(unsigned int ch); 224*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int 225*7c568831SAndroid Build Coastguard Worker xmlIsPubidChar(unsigned int ch); 226*7c568831SAndroid Build Coastguard Worker 227*7c568831SAndroid Build Coastguard Worker #ifdef __cplusplus 228*7c568831SAndroid Build Coastguard Worker } 229*7c568831SAndroid Build Coastguard Worker #endif 230*7c568831SAndroid Build Coastguard Worker #endif /* __XML_CHVALID_H__ */ 231