Viewing file: chvalid.h (4.71 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/** * @file * * @brief Unicode character range checking * * this module exports interfaces for the character * range validation APIs */
#ifndef __XML_CHVALID_H__ #define __XML_CHVALID_H__
#include <libxml/xmlversion.h> #include <libxml/xmlstring.h>
#ifdef __cplusplus extern "C" { #endif
/** @cond ignore */
/* * Define our typedefs and structures * */ typedef struct _xmlChSRange xmlChSRange; typedef xmlChSRange *xmlChSRangePtr; struct _xmlChSRange { unsigned short low; unsigned short high; };
typedef struct _xmlChLRange xmlChLRange; typedef xmlChLRange *xmlChLRangePtr; struct _xmlChLRange { unsigned int low; unsigned int high; };
typedef struct _xmlChRangeGroup xmlChRangeGroup; typedef xmlChRangeGroup *xmlChRangeGroupPtr; struct _xmlChRangeGroup { int nbShortRange; int nbLongRange; const xmlChSRange *shortRange; /* points to an array of ranges */ const xmlChLRange *longRange; };
XMLPUBVAR const xmlChRangeGroup xmlIsBaseCharGroup; XMLPUBVAR const xmlChRangeGroup xmlIsCharGroup; XMLPUBVAR const xmlChRangeGroup xmlIsCombiningGroup; XMLPUBVAR const xmlChRangeGroup xmlIsDigitGroup; XMLPUBVAR const xmlChRangeGroup xmlIsExtenderGroup; XMLPUBVAR const xmlChRangeGroup xmlIsIdeographicGroup; XMLPUBVAR const unsigned char xmlIsPubidChar_tab[256];
/** * Range checking routine */ XMLPUBFUN int xmlCharInRange(unsigned int val, const xmlChRangeGroup *group);
/** @endcond */
/** * Automatically generated by genChRanges.py * * @param c char to validate */ #define xmlIsBaseChar_ch(c) (((0x41 <= (c)) && ((c) <= 0x5a)) || \ ((0x61 <= (c)) && ((c) <= 0x7a)) || \ ((0xc0 <= (c)) && ((c) <= 0xd6)) || \ ((0xd8 <= (c)) && ((c) <= 0xf6)) || \ (0xf8 <= (c)))
/** * Automatically generated by genChRanges.py * * @param c char to validate */ #define xmlIsBaseCharQ(c) (((c) < 0x100) ? \ xmlIsBaseChar_ch((c)) : \ xmlCharInRange((c), &xmlIsBaseCharGroup))
/** * Automatically generated by genChRanges.py * * @param c char to validate */ #define xmlIsBlank_ch(c) (((c) == 0x20) || \ ((0x9 <= (c)) && ((c) <= 0xa)) || \ ((c) == 0xd))
/** * Automatically generated by genChRanges.py * * @param c char to validate */ #define xmlIsBlankQ(c) (((c) < 0x100) ? \ xmlIsBlank_ch((c)) : 0)
/** * Automatically generated by genChRanges.py * * @param c char to validate */ #define xmlIsChar_ch(c) (((0x9 <= (c)) && ((c) <= 0xa)) || \ ((c) == 0xd) || \ (0x20 <= (c)))
/** * Automatically generated by genChRanges.py * * @param c char to validate */ #define xmlIsCharQ(c) (((c) < 0x100) ? \ xmlIsChar_ch((c)) :\ (((0x100 <= (c)) && ((c) <= 0xd7ff)) || \ ((0xe000 <= (c)) && ((c) <= 0xfffd)) || \ ((0x10000 <= (c)) && ((c) <= 0x10ffff))))
/** * Automatically generated by genChRanges.py * * @param c char to validate */ #define xmlIsCombiningQ(c) (((c) < 0x100) ? \ 0 : \ xmlCharInRange((c), &xmlIsCombiningGroup))
/** * Automatically generated by genChRanges.py * * @param c char to validate */ #define xmlIsDigit_ch(c) (((0x30 <= (c)) && ((c) <= 0x39)))
/** * Automatically generated by genChRanges.py * * @param c char to validate */ #define xmlIsDigitQ(c) (((c) < 0x100) ? \ xmlIsDigit_ch((c)) : \ xmlCharInRange((c), &xmlIsDigitGroup))
/** * Automatically generated by genChRanges.py * * @param c char to validate */ #define xmlIsExtender_ch(c) (((c) == 0xb7))
/** * Automatically generated by genChRanges.py * * @param c char to validate */ #define xmlIsExtenderQ(c) (((c) < 0x100) ? \ xmlIsExtender_ch((c)) : \ xmlCharInRange((c), &xmlIsExtenderGroup))
/** * Automatically generated by genChRanges.py * * @param c char to validate */ #define xmlIsIdeographicQ(c) (((c) < 0x100) ? \ 0 :\ (((0x4e00 <= (c)) && ((c) <= 0x9fa5)) || \ ((c) == 0x3007) || \ ((0x3021 <= (c)) && ((c) <= 0x3029))))
/** * Automatically generated by genChRanges.py * * @param c char to validate */ #define xmlIsPubidChar_ch(c) (xmlIsPubidChar_tab[(c)])
/** * Automatically generated by genChRanges.py * * @param c char to validate */ #define xmlIsPubidCharQ(c) (((c) < 0x100) ? \ xmlIsPubidChar_ch((c)) : 0)
XML_DEPRECATED XMLPUBFUN int xmlIsBaseChar(unsigned int ch); XML_DEPRECATED XMLPUBFUN int xmlIsBlank(unsigned int ch); XML_DEPRECATED XMLPUBFUN int xmlIsChar(unsigned int ch); XML_DEPRECATED XMLPUBFUN int xmlIsCombining(unsigned int ch); XML_DEPRECATED XMLPUBFUN int xmlIsDigit(unsigned int ch); XML_DEPRECATED XMLPUBFUN int xmlIsExtender(unsigned int ch); XML_DEPRECATED XMLPUBFUN int xmlIsIdeographic(unsigned int ch); XML_DEPRECATED XMLPUBFUN int xmlIsPubidChar(unsigned int ch);
#ifdef __cplusplus } #endif #endif /* __XML_CHVALID_H__ */
|