1 /* SGML Character Use: ISO Latin 1.
2 */
3 #define EOFCHAR   '\032'      /* FUNCTION: EE (entity end: files). */
4 #define EOBCHAR   '\034'      /* NONCHAR: EOB (file entity: end of buffer. */
5 #define RSCHAR    '\012'      /* FUNCTION: RS (record start). */
6 #define RECHAR    '\015'      /* FUNCTION: RE (record end). */
7 #define TABCHAR   '\011'      /* FUNCTION: TAB (horizontal tab). */
8 #define SPCCHAR   '\040'      /* FUNCTION: SPACE (horizontal space). */
9 #define GENRECHAR '\010'      /* NONCHAR: Generated RE. */
10 #define DELCDATA  '\035'      /* NONCHAR: Delimiter for CDATA entity in
11 				 attribute value. */
12 #define DELSDATA  '\036'      /* NONCHAR: Delimiter for SDATA entity in
13 				 attribute value. */
14 #define DELNONCH  '\037'      /* NONCHAR: non-SGML character prefix. */
15 
16 /* These two macros are used to handle non-SGML characters. A non-SGML
17 by character is represented by a DELNONCH character followed by
18 SHIFTNON(original_character).  SHIFTNON must transform any character
19 in the set 0, EOFCHAR, EOBCHAR, GENRECHAR, DELCDATA, DELSDATA,
20 DELNONCH into a character that is not one of the set 0, EOFCHAR,
21 EOBCHAR.  Furthermore UNSHIFTNON(SHIFTNON(c)) must be equal to c for
22 every character c in the former set. */
23 /* This is a simple definition that works for ASCII-like character sets. */
24 #define SHIFTNON(ch) ((UNCH)(ch) | 0100)
25 #define UNSHIFTNON(ch) ((UNCH)(ch) & ~0100)
26 
27 /* A canonical NONSGML character. The character number that is shunned
28 in the reference concrete syntax and is not the number of a
29 significant (in the reference concrete syntax) character nor one of
30 the above characters nor 0. */
31 #define CANON_NONSGML 255
32 
33 /* A canonical DATACHAR character. The character number that is not
34 shunned in the reference concrete syntax and is not the number of a
35 significant (in the reference concrete syntax) SGML character nor one
36 of the above characters. */
37 #define CANON_DATACHAR 254
38