|
Packit |
5b56b6 |
/*
|
|
Packit |
5b56b6 |
* Summary: Unicode character range checking
|
|
Packit |
5b56b6 |
* Description: this module exports interfaces for the character
|
|
Packit |
5b56b6 |
* range validation APIs
|
|
Packit |
5b56b6 |
*
|
|
Packit |
5b56b6 |
* This file is automatically generated from the cvs source
|
|
Packit |
5b56b6 |
* definition files using the genChRanges.py Python script
|
|
Packit |
5b56b6 |
*
|
|
Packit |
5b56b6 |
* Generation date: Mon Mar 27 11:09:48 2006
|
|
Packit |
5b56b6 |
* Sources: chvalid.def
|
|
Packit |
5b56b6 |
* Author: William Brack <wbrack@mmm.com.hk>
|
|
Packit |
5b56b6 |
*/
|
|
Packit |
5b56b6 |
|
|
Packit |
5b56b6 |
#ifndef __XML_CHVALID_H__
|
|
Packit |
5b56b6 |
#define __XML_CHVALID_H__
|
|
Packit |
5b56b6 |
|
|
Packit |
5b56b6 |
#include <libxml/xmlversion.h>
|
|
Packit |
5b56b6 |
#include <libxml/xmlstring.h>
|
|
Packit |
5b56b6 |
|
|
Packit |
5b56b6 |
#ifdef __cplusplus
|
|
Packit |
5b56b6 |
extern "C" {
|
|
Packit |
5b56b6 |
#endif
|
|
Packit |
5b56b6 |
|
|
Packit |
5b56b6 |
/*
|
|
Packit |
5b56b6 |
* Define our typedefs and structures
|
|
Packit |
5b56b6 |
*
|
|
Packit |
5b56b6 |
*/
|
|
Packit |
5b56b6 |
typedef struct _xmlChSRange xmlChSRange;
|
|
Packit |
5b56b6 |
typedef xmlChSRange *xmlChSRangePtr;
|
|
Packit |
5b56b6 |
struct _xmlChSRange {
|
|
Packit |
5b56b6 |
unsigned short low;
|
|
Packit |
5b56b6 |
unsigned short high;
|
|
Packit |
5b56b6 |
};
|
|
Packit |
5b56b6 |
|
|
Packit |
5b56b6 |
typedef struct _xmlChLRange xmlChLRange;
|
|
Packit |
5b56b6 |
typedef xmlChLRange *xmlChLRangePtr;
|
|
Packit |
5b56b6 |
struct _xmlChLRange {
|
|
Packit |
5b56b6 |
unsigned int low;
|
|
Packit |
5b56b6 |
unsigned int high;
|
|
Packit |
5b56b6 |
};
|
|
Packit |
5b56b6 |
|
|
Packit |
5b56b6 |
typedef struct _xmlChRangeGroup xmlChRangeGroup;
|
|
Packit |
5b56b6 |
typedef xmlChRangeGroup *xmlChRangeGroupPtr;
|
|
Packit |
5b56b6 |
struct _xmlChRangeGroup {
|
|
Packit |
5b56b6 |
int nbShortRange;
|
|
Packit |
5b56b6 |
int nbLongRange;
|
|
Packit |
5b56b6 |
const xmlChSRange *shortRange; /* points to an array of ranges */
|
|
Packit |
5b56b6 |
const xmlChLRange *longRange;
|
|
Packit |
5b56b6 |
};
|
|
Packit |
5b56b6 |
|
|
Packit |
5b56b6 |
/**
|
|
Packit |
5b56b6 |
* Range checking routine
|
|
Packit |
5b56b6 |
*/
|
|
Packit |
5b56b6 |
XMLPUBFUN int XMLCALL
|
|
Packit |
5b56b6 |
xmlCharInRange(unsigned int val, const xmlChRangeGroup *group);
|
|
Packit |
5b56b6 |
|
|
Packit |
5b56b6 |
|
|
Packit |
5b56b6 |
/**
|
|
Packit |
5b56b6 |
* xmlIsBaseChar_ch:
|
|
Packit |
5b56b6 |
* @c: char to validate
|
|
Packit |
5b56b6 |
*
|
|
Packit |
5b56b6 |
* Automatically generated by genChRanges.py
|
|
Packit |
5b56b6 |
*/
|
|
Packit |
5b56b6 |
#define xmlIsBaseChar_ch(c) (((0x41 <= (c)) && ((c) <= 0x5a)) || \
|
|
Packit |
5b56b6 |
((0x61 <= (c)) && ((c) <= 0x7a)) || \
|
|
Packit |
5b56b6 |
((0xc0 <= (c)) && ((c) <= 0xd6)) || \
|
|
Packit |
5b56b6 |
((0xd8 <= (c)) && ((c) <= 0xf6)) || \
|
|
Packit |
5b56b6 |
(0xf8 <= (c)))
|
|
Packit |
5b56b6 |
|
|
Packit |
5b56b6 |
/**
|
|
Packit |
5b56b6 |
* xmlIsBaseCharQ:
|
|
Packit |
5b56b6 |
* @c: char to validate
|
|
Packit |
5b56b6 |
*
|
|
Packit |
5b56b6 |
* Automatically generated by genChRanges.py
|
|
Packit |
5b56b6 |
*/
|
|
Packit |
5b56b6 |
#define xmlIsBaseCharQ(c) (((c) < 0x100) ? \
|
|
Packit |
5b56b6 |
xmlIsBaseChar_ch((c)) : \
|
|
Packit |
5b56b6 |
xmlCharInRange((c), &xmlIsBaseCharGroup))
|
|
Packit |
5b56b6 |
|
|
Packit |
5b56b6 |
XMLPUBVAR const xmlChRangeGroup xmlIsBaseCharGroup;
|
|
Packit |
5b56b6 |
|
|
Packit |
5b56b6 |
/**
|
|
Packit |
5b56b6 |
* xmlIsBlank_ch:
|
|
Packit |
5b56b6 |
* @c: char to validate
|
|
Packit |
5b56b6 |
*
|
|
Packit |
5b56b6 |
* Automatically generated by genChRanges.py
|
|
Packit |
5b56b6 |
*/
|
|
Packit |
5b56b6 |
#define xmlIsBlank_ch(c) (((c) == 0x20) || \
|
|
Packit |
5b56b6 |
((0x9 <= (c)) && ((c) <= 0xa)) || \
|
|
Packit |
5b56b6 |
((c) == 0xd))
|
|
Packit |
5b56b6 |
|
|
Packit |
5b56b6 |
/**
|
|
Packit |
5b56b6 |
* xmlIsBlankQ:
|
|
Packit |
5b56b6 |
* @c: char to validate
|
|
Packit |
5b56b6 |
*
|
|
Packit |
5b56b6 |
* Automatically generated by genChRanges.py
|
|
Packit |
5b56b6 |
*/
|
|
Packit |
5b56b6 |
#define xmlIsBlankQ(c) (((c) < 0x100) ? \
|
|
Packit |
5b56b6 |
xmlIsBlank_ch((c)) : 0)
|
|
Packit |
5b56b6 |
|
|
Packit |
5b56b6 |
|
|
Packit |
5b56b6 |
/**
|
|
Packit |
5b56b6 |
* xmlIsChar_ch:
|
|
Packit |
5b56b6 |
* @c: char to validate
|
|
Packit |
5b56b6 |
*
|
|
Packit |
5b56b6 |
* Automatically generated by genChRanges.py
|
|
Packit |
5b56b6 |
*/
|
|
Packit |
5b56b6 |
#define xmlIsChar_ch(c) (((0x9 <= (c)) && ((c) <= 0xa)) || \
|
|
Packit |
5b56b6 |
((c) == 0xd) || \
|
|
Packit |
5b56b6 |
(0x20 <= (c)))
|
|
Packit |
5b56b6 |
|
|
Packit |
5b56b6 |
/**
|
|
Packit |
5b56b6 |
* xmlIsCharQ:
|
|
Packit |
5b56b6 |
* @c: char to validate
|
|
Packit |
5b56b6 |
*
|
|
Packit |
5b56b6 |
* Automatically generated by genChRanges.py
|
|
Packit |
5b56b6 |
*/
|
|
Packit |
5b56b6 |
#define xmlIsCharQ(c) (((c) < 0x100) ? \
|
|
Packit |
5b56b6 |
xmlIsChar_ch((c)) :\
|
|
Packit |
5b56b6 |
(((0x100 <= (c)) && ((c) <= 0xd7ff)) || \
|
|
Packit |
5b56b6 |
((0xe000 <= (c)) && ((c) <= 0xfffd)) || \
|
|
Packit |
5b56b6 |
((0x10000 <= (c)) && ((c) <= 0x10ffff))))
|
|
Packit |
5b56b6 |
|
|
Packit |
5b56b6 |
XMLPUBVAR const xmlChRangeGroup xmlIsCharGroup;
|
|
Packit |
5b56b6 |
|
|
Packit |
5b56b6 |
/**
|
|
Packit |
5b56b6 |
* xmlIsCombiningQ:
|
|
Packit |
5b56b6 |
* @c: char to validate
|
|
Packit |
5b56b6 |
*
|
|
Packit |
5b56b6 |
* Automatically generated by genChRanges.py
|
|
Packit |
5b56b6 |
*/
|
|
Packit |
5b56b6 |
#define xmlIsCombiningQ(c) (((c) < 0x100) ? \
|
|
Packit |
5b56b6 |
0 : \
|
|
Packit |
5b56b6 |
xmlCharInRange((c), &xmlIsCombiningGroup))
|
|
Packit |
5b56b6 |
|
|
Packit |
5b56b6 |
XMLPUBVAR const xmlChRangeGroup xmlIsCombiningGroup;
|
|
Packit |
5b56b6 |
|
|
Packit |
5b56b6 |
/**
|
|
Packit |
5b56b6 |
* xmlIsDigit_ch:
|
|
Packit |
5b56b6 |
* @c: char to validate
|
|
Packit |
5b56b6 |
*
|
|
Packit |
5b56b6 |
* Automatically generated by genChRanges.py
|
|
Packit |
5b56b6 |
*/
|
|
Packit |
5b56b6 |
#define xmlIsDigit_ch(c) (((0x30 <= (c)) && ((c) <= 0x39)))
|
|
Packit |
5b56b6 |
|
|
Packit |
5b56b6 |
/**
|
|
Packit |
5b56b6 |
* xmlIsDigitQ:
|
|
Packit |
5b56b6 |
* @c: char to validate
|
|
Packit |
5b56b6 |
*
|
|
Packit |
5b56b6 |
* Automatically generated by genChRanges.py
|
|
Packit |
5b56b6 |
*/
|
|
Packit |
5b56b6 |
#define xmlIsDigitQ(c) (((c) < 0x100) ? \
|
|
Packit |
5b56b6 |
xmlIsDigit_ch((c)) : \
|
|
Packit |
5b56b6 |
xmlCharInRange((c), &xmlIsDigitGroup))
|
|
Packit |
5b56b6 |
|
|
Packit |
5b56b6 |
XMLPUBVAR const xmlChRangeGroup xmlIsDigitGroup;
|
|
Packit |
5b56b6 |
|
|
Packit |
5b56b6 |
/**
|
|
Packit |
5b56b6 |
* xmlIsExtender_ch:
|
|
Packit |
5b56b6 |
* @c: char to validate
|
|
Packit |
5b56b6 |
*
|
|
Packit |
5b56b6 |
* Automatically generated by genChRanges.py
|
|
Packit |
5b56b6 |
*/
|
|
Packit |
5b56b6 |
#define xmlIsExtender_ch(c) (((c) == 0xb7))
|
|
Packit |
5b56b6 |
|
|
Packit |
5b56b6 |
/**
|
|
Packit |
5b56b6 |
* xmlIsExtenderQ:
|
|
Packit |
5b56b6 |
* @c: char to validate
|
|
Packit |
5b56b6 |
*
|
|
Packit |
5b56b6 |
* Automatically generated by genChRanges.py
|
|
Packit |
5b56b6 |
*/
|
|
Packit |
5b56b6 |
#define xmlIsExtenderQ(c) (((c) < 0x100) ? \
|
|
Packit |
5b56b6 |
xmlIsExtender_ch((c)) : \
|
|
Packit |
5b56b6 |
xmlCharInRange((c), &xmlIsExtenderGroup))
|
|
Packit |
5b56b6 |
|
|
Packit |
5b56b6 |
XMLPUBVAR const xmlChRangeGroup xmlIsExtenderGroup;
|
|
Packit |
5b56b6 |
|
|
Packit |
5b56b6 |
/**
|
|
Packit |
5b56b6 |
* xmlIsIdeographicQ:
|
|
Packit |
5b56b6 |
* @c: char to validate
|
|
Packit |
5b56b6 |
*
|
|
Packit |
5b56b6 |
* Automatically generated by genChRanges.py
|
|
Packit |
5b56b6 |
*/
|
|
Packit |
5b56b6 |
#define xmlIsIdeographicQ(c) (((c) < 0x100) ? \
|
|
Packit |
5b56b6 |
0 :\
|
|
Packit |
5b56b6 |
(((0x4e00 <= (c)) && ((c) <= 0x9fa5)) || \
|
|
Packit |
5b56b6 |
((c) == 0x3007) || \
|
|
Packit |
5b56b6 |
((0x3021 <= (c)) && ((c) <= 0x3029))))
|
|
Packit |
5b56b6 |
|
|
Packit |
5b56b6 |
XMLPUBVAR const xmlChRangeGroup xmlIsIdeographicGroup;
|
|
Packit |
5b56b6 |
XMLPUBVAR const unsigned char xmlIsPubidChar_tab[256];
|
|
Packit |
5b56b6 |
|
|
Packit |
5b56b6 |
/**
|
|
Packit |
5b56b6 |
* xmlIsPubidChar_ch:
|
|
Packit |
5b56b6 |
* @c: char to validate
|
|
Packit |
5b56b6 |
*
|
|
Packit |
5b56b6 |
* Automatically generated by genChRanges.py
|
|
Packit |
5b56b6 |
*/
|
|
Packit |
5b56b6 |
#define xmlIsPubidChar_ch(c) (xmlIsPubidChar_tab[(c)])
|
|
Packit |
5b56b6 |
|
|
Packit |
5b56b6 |
/**
|
|
Packit |
5b56b6 |
* xmlIsPubidCharQ:
|
|
Packit |
5b56b6 |
* @c: char to validate
|
|
Packit |
5b56b6 |
*
|
|
Packit |
5b56b6 |
* Automatically generated by genChRanges.py
|
|
Packit |
5b56b6 |
*/
|
|
Packit |
5b56b6 |
#define xmlIsPubidCharQ(c) (((c) < 0x100) ? \
|
|
Packit |
5b56b6 |
xmlIsPubidChar_ch((c)) : 0)
|
|
Packit |
5b56b6 |
|
|
Packit |
5b56b6 |
XMLPUBFUN int XMLCALL
|
|
Packit |
5b56b6 |
xmlIsBaseChar(unsigned int ch);
|
|
Packit |
5b56b6 |
XMLPUBFUN int XMLCALL
|
|
Packit |
5b56b6 |
xmlIsBlank(unsigned int ch);
|
|
Packit |
5b56b6 |
XMLPUBFUN int XMLCALL
|
|
Packit |
5b56b6 |
xmlIsChar(unsigned int ch);
|
|
Packit |
5b56b6 |
XMLPUBFUN int XMLCALL
|
|
Packit |
5b56b6 |
xmlIsCombining(unsigned int ch);
|
|
Packit |
5b56b6 |
XMLPUBFUN int XMLCALL
|
|
Packit |
5b56b6 |
xmlIsDigit(unsigned int ch);
|
|
Packit |
5b56b6 |
XMLPUBFUN int XMLCALL
|
|
Packit |
5b56b6 |
xmlIsExtender(unsigned int ch);
|
|
Packit |
5b56b6 |
XMLPUBFUN int XMLCALL
|
|
Packit |
5b56b6 |
xmlIsIdeographic(unsigned int ch);
|
|
Packit |
5b56b6 |
XMLPUBFUN int XMLCALL
|
|
Packit |
5b56b6 |
xmlIsPubidChar(unsigned int ch);
|
|
Packit |
5b56b6 |
|
|
Packit |
5b56b6 |
#ifdef __cplusplus
|
|
Packit |
5b56b6 |
}
|
|
Packit |
5b56b6 |
#endif
|
|
Packit |
5b56b6 |
#endif /* __XML_CHVALID_H__ */
|