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