/* tag: Tom Lord Tue Dec 4 14:41:43 2001 (charsets.h)
*/
/* xml-charsets.h - - decls for XML's standard character sets
*
****************************************************************
* Copyright (C) 2000 Tom Lord
*
* See the file "COPYING" for further information about
* the copyright and warranty status of this work.
*/
#ifndef INCLUDE__XML__CHARSETS_H
#define INCLUDE__XML__CHARSETS_H
#include "hackerlab/bitsets/bits.h"
#include "hackerlab/bitsets/uni-bits.h"
/************************************************************************
*(h1 "XML Character Sets"
* :includes ("hackerlab/xml/charsets.h"))
*
* This section presents a collection of efficiently represented
* sets of Unicode characters. Sets are represented as shared
* bitset trees; see xref:"Shared Bitset Trees". The tree structure
* of these sets is defined by `uni_bits_tree_rule'; see xref:"Unicode
* Character Bitsets".
*
*/
/*(c xml_charset :category variable)
*
* The set of all Unicode characters which are valid
* in an XML document. This set is defined by the
* production for `Char' in *XML 1.0*.
*/
/*(c xml_is_char :category macro)
* #define xml_is_char(UNICODE)
*
* Return 1 if `UNICODE' (a Unicode code point) is a valid
* character in XML. A code point is a valid character
* if it matches the production for `Char' in *XML 1.0*, or
* equivalently, if it is a member of the bitset `xml_charset'.
*/
/*(c xml_base_charset :category variable)
*
* The set of all Unicode characters that match
* the production for `BaseChar' in *XML 1.0*.
*/
/*(c xml_combining_charset :category variable)
*
* The set of all Unicode characters that match
* the production for `CombiningChar' in *XML 1.0*.
*/
/*(c xml_digit_charset :category variable)
*
* The set of all Unicode characters that match
* the production for `Digit' in *XML 1.0*.
*/
/*(c xml_extender_charset :category variable)
*
* The set of all Unicode characters that match
* the production for `Extender' in *XML 1.0*.
*/
/*(c xml_ideographic_charset :category variable)
*
* The set of all Unicode characters that match
* the production for `Ideographic' in *XML 1.0*.
*/
extern bits xml_charset;
extern bits xml_base_charset;
extern bits xml_combining_charset;
extern bits xml_digit_charset;
extern bits xml_extender_charset;
extern bits xml_ideographic_charset;
extern bits xml_re_dot_charset;
extern bits xml_re_meta_charset;
#define xml_is_char(X) bits_is_member(xml_charset, (X))
#define xml_is_re_meta_char(X) bits_is_member(xml_re_meta_charset, (X))
/* automatically generated __STDC__ prototypes */
#endif /* INCLUDE__XML__CHARSETS_H */
syntax highlighted by Code2HTML, v. 0.9.1