/[svn]/expat/expat.ml
ViewVC logotype

Contents of /expat/expat.ml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 466 - (show annotations)
Tue Jul 10 17:36:47 2007 UTC (5 years, 10 months ago) by abate
File size: 3940 byte(s)
[r2003-05-31 10:32:42 by cvscast] support for expat

Original author: cvscast
Date: 2003-05-31 10:32:43+00:00
1 (***********************************************************************)
2 (* The OcamlExpat library *)
3 (* *)
4 (* Copyright 2002, 2003 Maas-Maarten Zeeman. All rights reserved. See *)
5 (* LICENCE for details. *)
6 (***********************************************************************)
7
8 (* $Id: expat.ml,v 1.1 2003/05/31 10:32:42 cvscast Exp $ *)
9
10 type expat_parser
11
12 type xml_error =
13 XML_ERROR_NONE
14 | XML_ERROR_NO_MEMORY
15 | XML_ERROR_SYNTAX
16 | XML_ERROR_NO_ELEMENTS
17 | XML_ERROR_INVALID_TOKEN
18 | XML_ERROR_UNCLOSED_TOKEN
19 | XML_ERROR_PARTIAL_CHAR
20 | XML_ERROR_TAG_MISMATCH
21 | XML_ERROR_DUPLICATE_ATTRIBUTE
22 | XML_ERROR_JUNK_AFTER_DOC_ELEMENT
23 | XML_ERROR_PARAM_ENTITY_REF
24 | XML_ERROR_UNDEFINED_ENTITY
25 | XML_ERROR_RECURSIVE_ENTITY_REF
26 | XML_ERROR_ASYNC_ENTITY
27 | XML_ERROR_BAD_CHAR_REF
28 | XML_ERROR_BINARY_ENTITY_REF
29 | XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF
30 | XML_ERROR_MISPLACED_XML_PI
31 | XML_ERROR_UNKNOWN_ENCODING
32 | XML_ERROR_INCORRECT_ENCODING
33 | XML_ERROR_UNCLOSED_CDATA_SECTION
34 | XML_ERROR_EXTERNAL_ENTITY_HANDLING
35 | XML_ERROR_NOT_STANDALONE
36 | XML_ERROR_UNEXPECTED_STATE
37 | XML_ERROR_ENTITY_DECLARED_IN_PE
38 | XML_ERROR_FEATURE_REQUIRES_XML_DTD
39 | XML_ERROR_CANT_CHANGE_FEATURE_ONCE_PARSING
40
41 exception Expat_error of xml_error
42
43 external xml_error_to_string : xml_error -> string = "expat_XML_ErrorString"
44
45 (* exception is currently too minimalistic, but it's a start *)
46 let _ = Callback.register_exception "expat_error"
47 (Expat_error XML_ERROR_NONE)
48
49 external expat_version : unit -> string = "expat_XML_ExpatVersion"
50
51 (* calls to create a parser *)
52 external parser_create : encoding:string -> expat_parser =
53 "expat_XML_ParserCreate"
54 external parser_create_ns : encoding:string -> separator:char -> expat_parser =
55 "expat_XML_ParserCreateNS"
56
57 (* calls needed to parse *)
58 external parse : expat_parser -> string -> unit = "expat_XML_Parse"
59 external parse_sub : expat_parser -> string -> int -> int -> unit = "expat_XML_Parse_sub"
60 external final : expat_parser -> unit = "expat_XML_Final"
61
62 (* start element handler calls *)
63 external set_start_element_handler : expat_parser ->
64 (string -> (string * string) list -> unit) -> unit =
65 "expat_XML_SetStartElementHandler"
66 external reset_start_element_handler : expat_parser -> unit =
67 "expat_XML_ResetStartElementHandler"
68
69 (* end element handler calls *)
70 external set_end_element_handler : expat_parser -> (string -> unit) -> unit =
71 "expat_XML_SetEndElementHandler"
72 external reset_end_element_handler : expat_parser -> unit =
73 "expat_XML_ResetEndElementHandler"
74
75 (* character data handler calls *)
76 external set_character_data_handler : expat_parser -> (string -> unit) -> unit =
77 "expat_XML_SetCharacterDataHandler"
78 external reset_character_data_handler : expat_parser -> unit =
79 "expat_XML_ResetCharacterDataHandler"
80
81 (* processing instruction handler calls *)
82 external set_processing_instruction_handler : expat_parser ->
83 (string -> string -> unit) -> unit =
84 "expat_XML_SetProcessingInstructionHandler"
85 external reset_processing_instruction_handler : expat_parser -> unit =
86 "expat_XML_ResetProcessingInstructionHandler"
87
88 (* comment handler *)
89 external set_comment_handler : expat_parser -> (string -> unit) -> unit =
90 "expat_XML_SetCommentHandler"
91 external reset_comment_handler : expat_parser -> unit =
92 "expat_XML_ResetCommentHandler"
93
94 (* some general parser query calls *)
95 external get_current_byte_index : expat_parser -> int =
96 "expat_XML_GetCurrentByteIndex"
97 external get_current_column_number : expat_parser -> int =
98 "expat_XML_GetCurrentColumnNumber"
99 external get_current_line_number : expat_parser -> int =
100 "expat_XML_GetCurrentLineNumber"
101 external get_current_byte_count : expat_parser -> int =
102 "expat_XML_GetCurrentByteCount"
103
104
105

CVS Admin">CVS Admin
ViewVC Help
Powered by ViewVC 1.1.5