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