2 * ----------------------------------------------------------------------
6 let ws = [ ' ' '\t' '\r' '\n' ]
8 (* Note: ISO-8859-1 charset does not have 'combining characters' *)
10 let letter = ['A'-'Z' 'a'-'z' '\192'-'\214' '\216'-'\246' '\248'-'\255']
13 let ascii_digit = ['0'-'9']
14 let ascii_hexdigit = ['0'-'9' 'A'-'F' 'a'-'f']
15 let namechar = letter | digit | '.' | ':' | '-' | '_' | extender
16 let name = ( letter | '_' | ':' ) namechar*
17 let nmtoken = namechar+
19 let character = ['\009' '\010' '\013' '\032'-'\255']
21 let character_except_question_mark = (* '?' = '\063' *)
22 [ '\009' '\010' '\013' '\032'-'\062' '\064'-'\255' ]
24 let character_except_right_angle_bracket = (* '>' = '\062' *)
25 [ '\009' '\010' '\013' '\032'-'\061' '\063'-'\255' ]
27 let character_except_minus = (* '-' = '\045' *)
28 [ '\009' '\010' '\013' '\032'-'\044' '\046'-'\255' ]
30 let character_except_quot = (* '"' = '\034' *)
31 [ '\009' '\010' '\013' '\032'-'\033' '\035'-'\255' ]
33 let character_except_apos = (* '\'' = '\039' *)
34 [ '\009' '\010' '\013' '\032'-'\038' '\040'-'\255' ]
36 let pi_string = character_except_question_mark*
37 ( '?' character_except_right_angle_bracket
38 character_except_question_mark* )*
41 let comment_string = character_except_minus*
42 ('-' character_except_minus+ )*
44 let normal_character =
45 [^ '&' '<' ']' '\000'-'\008' '\010'-'\031']
47 let character_except_rbracket = (* ']' = '\093' *)
48 [ '\009' '\010' '\013' '\032'-'\092' '\094'-'\255' ]
50 let character_except_rbracket_rangle = (* ']' = '\093', '>' = '\062' *)
51 [ '\009' '\010' '\013' '\032'-'\061' '\063'-'\092' '\094'-'\255' ]
54 character_except_rbracket*
55 ( "]" character_except_rbracket+ |
56 "]]" ']'* character_except_rbracket_rangle character_except_rbracket*
59 (* cdata_string = char* - ( char* ']]>' char* ) *)
61 let printable_character_except_amp_lt =
62 (* '&' = '\038', '<' = '\060' *)
63 [ '\032'-'\037' '\039'-'\059' '\061'-'\255']
65 let printable_character_except_amp_percent =
66 (* '%' = '\037', '&' = '\038' *)
67 [ '\032'-'\036' '\039'-'\255']
69 let character_except_special =
70 (* '<'=060, ']'=093, '"'=034, '\''=039 *)
71 [ '\009' '\010' '\013' '\032'-'\033' '\035'-'\038' '\040'-'\059'
72 '\061'-'\092' '\094'-'\255' ]
74 (* ======================================================================
78 * Revision 1.1 2000/11/17 09:57:32 lpadovan
81 * Revision 1.1 2000/05/20 20:33:25 gerd