+++ /dev/null
-(* $Id$
- * ----------------------------------------------------------------------
- *
- *)
-
-
-{
- open Pxp_types
- open Pxp_lexer_types
-
-#insert open_pxp_lex_aux_*.src
-#insert pxp_lex_aux.src
-
-}
-
-#insert pxp_lex_defs_*.def
-
-(* This lexer is used to expand and normalize attribute values: *)
-
-rule scan_content_string = parse
- '&' name ';'
- { let s = Lexing.lexeme lexbuf in
- ERef (String.sub s 1 (String.length s - 2)) }
- | "&#" ascii_digit+ ";"
- { let s = Lexing.lexeme lexbuf in
- CRef (int_of_string (String.sub s 2 (String.length s - 3))) }
- | "&#x" ascii_hexdigit+ ";"
- { let s = Lexing.lexeme lexbuf in
- CRef (int_of_string ("0x" ^ String.sub s 3 (String.length s - 4))) }
- | '&'
- { raise(WF_error("The character '&' must be written as '&'")) }
- | printable_character_except_amp_lt+
- { CharData (Lexing.lexeme lexbuf) }
- | '\009'
- { CRef 32 }
- | '\013' '\010'
- { CRef(-1) (* A special case *)
- }
- | '\013'
- { CRef 32 }
- | '\010'
- { CRef 32 }
- | '<'
- {
- (* Depending on the situation, '<' may be legal or not: *)
- CharData "<"
- }
- | eof
- { Eof }
- | _
- { raise Netconversion.Malformed_code }
-
-
-(* ======================================================================
- * History:
- *
- * $Log$
- * Revision 1.1 2000/11/17 09:57:32 lpadovan
- * Initial revision
- *
- * Revision 1.3 2000/08/14 22:18:34 gerd
- * Bad_character_stream -> Netconversion.Malformed_code
- *
- * Revision 1.2 2000/05/29 23:53:12 gerd
- * Updated because Markup_* modules have been renamed to Pxp_*.
- *
- * Revision 1.1 2000/05/20 20:33:25 gerd
- * Initial revision.
- *
- *
- *)