Path: blob/master/venv/Lib/site-packages/lxml/includes/libxml/chvalid.h
811 views
/*1* Summary: Unicode character range checking2* Description: this module exports interfaces for the character3* range validation APIs4*5* This file is automatically generated from the cvs source6* definition files using the genChRanges.py Python script7*8* Generation date: Mon Mar 27 11:09:48 20069* Sources: chvalid.def10* Author: William Brack <[email protected]>11*/1213#ifndef __XML_CHVALID_H__14#define __XML_CHVALID_H__1516#include <libxml/xmlversion.h>17#include <libxml/xmlstring.h>1819#ifdef __cplusplus20extern "C" {21#endif2223/*24* Define our typedefs and structures25*26*/27typedef struct _xmlChSRange xmlChSRange;28typedef xmlChSRange *xmlChSRangePtr;29struct _xmlChSRange {30unsigned short low;31unsigned short high;32};3334typedef struct _xmlChLRange xmlChLRange;35typedef xmlChLRange *xmlChLRangePtr;36struct _xmlChLRange {37unsigned int low;38unsigned int high;39};4041typedef struct _xmlChRangeGroup xmlChRangeGroup;42typedef xmlChRangeGroup *xmlChRangeGroupPtr;43struct _xmlChRangeGroup {44int nbShortRange;45int nbLongRange;46const xmlChSRange *shortRange; /* points to an array of ranges */47const xmlChLRange *longRange;48};4950/**51* Range checking routine52*/53XMLPUBFUN int XMLCALL54xmlCharInRange(unsigned int val, const xmlChRangeGroup *group);555657/**58* xmlIsBaseChar_ch:59* @c: char to validate60*61* Automatically generated by genChRanges.py62*/63#define xmlIsBaseChar_ch(c) (((0x41 <= (c)) && ((c) <= 0x5a)) || \64((0x61 <= (c)) && ((c) <= 0x7a)) || \65((0xc0 <= (c)) && ((c) <= 0xd6)) || \66((0xd8 <= (c)) && ((c) <= 0xf6)) || \67(0xf8 <= (c)))6869/**70* xmlIsBaseCharQ:71* @c: char to validate72*73* Automatically generated by genChRanges.py74*/75#define xmlIsBaseCharQ(c) (((c) < 0x100) ? \76xmlIsBaseChar_ch((c)) : \77xmlCharInRange((c), &xmlIsBaseCharGroup))7879XMLPUBVAR const xmlChRangeGroup xmlIsBaseCharGroup;8081/**82* xmlIsBlank_ch:83* @c: char to validate84*85* Automatically generated by genChRanges.py86*/87#define xmlIsBlank_ch(c) (((c) == 0x20) || \88((0x9 <= (c)) && ((c) <= 0xa)) || \89((c) == 0xd))9091/**92* xmlIsBlankQ:93* @c: char to validate94*95* Automatically generated by genChRanges.py96*/97#define xmlIsBlankQ(c) (((c) < 0x100) ? \98xmlIsBlank_ch((c)) : 0)99100101/**102* xmlIsChar_ch:103* @c: char to validate104*105* Automatically generated by genChRanges.py106*/107#define xmlIsChar_ch(c) (((0x9 <= (c)) && ((c) <= 0xa)) || \108((c) == 0xd) || \109(0x20 <= (c)))110111/**112* xmlIsCharQ:113* @c: char to validate114*115* Automatically generated by genChRanges.py116*/117#define xmlIsCharQ(c) (((c) < 0x100) ? \118xmlIsChar_ch((c)) :\119(((0x100 <= (c)) && ((c) <= 0xd7ff)) || \120((0xe000 <= (c)) && ((c) <= 0xfffd)) || \121((0x10000 <= (c)) && ((c) <= 0x10ffff))))122123XMLPUBVAR const xmlChRangeGroup xmlIsCharGroup;124125/**126* xmlIsCombiningQ:127* @c: char to validate128*129* Automatically generated by genChRanges.py130*/131#define xmlIsCombiningQ(c) (((c) < 0x100) ? \1320 : \133xmlCharInRange((c), &xmlIsCombiningGroup))134135XMLPUBVAR const xmlChRangeGroup xmlIsCombiningGroup;136137/**138* xmlIsDigit_ch:139* @c: char to validate140*141* Automatically generated by genChRanges.py142*/143#define xmlIsDigit_ch(c) (((0x30 <= (c)) && ((c) <= 0x39)))144145/**146* xmlIsDigitQ:147* @c: char to validate148*149* Automatically generated by genChRanges.py150*/151#define xmlIsDigitQ(c) (((c) < 0x100) ? \152xmlIsDigit_ch((c)) : \153xmlCharInRange((c), &xmlIsDigitGroup))154155XMLPUBVAR const xmlChRangeGroup xmlIsDigitGroup;156157/**158* xmlIsExtender_ch:159* @c: char to validate160*161* Automatically generated by genChRanges.py162*/163#define xmlIsExtender_ch(c) (((c) == 0xb7))164165/**166* xmlIsExtenderQ:167* @c: char to validate168*169* Automatically generated by genChRanges.py170*/171#define xmlIsExtenderQ(c) (((c) < 0x100) ? \172xmlIsExtender_ch((c)) : \173xmlCharInRange((c), &xmlIsExtenderGroup))174175XMLPUBVAR const xmlChRangeGroup xmlIsExtenderGroup;176177/**178* xmlIsIdeographicQ:179* @c: char to validate180*181* Automatically generated by genChRanges.py182*/183#define xmlIsIdeographicQ(c) (((c) < 0x100) ? \1840 :\185(((0x4e00 <= (c)) && ((c) <= 0x9fa5)) || \186((c) == 0x3007) || \187((0x3021 <= (c)) && ((c) <= 0x3029))))188189XMLPUBVAR const xmlChRangeGroup xmlIsIdeographicGroup;190XMLPUBVAR const unsigned char xmlIsPubidChar_tab[256];191192/**193* xmlIsPubidChar_ch:194* @c: char to validate195*196* Automatically generated by genChRanges.py197*/198#define xmlIsPubidChar_ch(c) (xmlIsPubidChar_tab[(c)])199200/**201* xmlIsPubidCharQ:202* @c: char to validate203*204* Automatically generated by genChRanges.py205*/206#define xmlIsPubidCharQ(c) (((c) < 0x100) ? \207xmlIsPubidChar_ch((c)) : 0)208209XMLPUBFUN int XMLCALL210xmlIsBaseChar(unsigned int ch);211XMLPUBFUN int XMLCALL212xmlIsBlank(unsigned int ch);213XMLPUBFUN int XMLCALL214xmlIsChar(unsigned int ch);215XMLPUBFUN int XMLCALL216xmlIsCombining(unsigned int ch);217XMLPUBFUN int XMLCALL218xmlIsDigit(unsigned int ch);219XMLPUBFUN int XMLCALL220xmlIsExtender(unsigned int ch);221XMLPUBFUN int XMLCALL222xmlIsIdeographic(unsigned int ch);223XMLPUBFUN int XMLCALL224xmlIsPubidChar(unsigned int ch);225226#ifdef __cplusplus227}228#endif229#endif /* __XML_CHVALID_H__ */230231232