Module Xml_light.Xml
Xml Data Structure
Xml Parsing
val parse_file : string -> xml
Parse the named file into an Xml data structure.
val parse_in : Stdlib.in_channel -> xml
Read the content of the in_channel and parse it into an Xml data structure.
val parse_string : string -> xml
Parse the string containing an Xml document into an Xml data structure.
val parse_string_with : XmlParser.t -> string -> xml
Xml Exceptions
type error_pos
type error_msg
= Types.error_msg
=
|
UnterminatedComment
|
UnterminatedString
|
UnterminatedEntity
|
IdentExpected
|
CloseExpected
|
NodeExpected
|
AttributeNameExpected
|
AttributeValueExpected
|
EndOfTagExpected of string
|
EOFExpected
type error
= error_msg * error_pos
exception
Error of error
exception
File_not_found of string
val error : error -> string
Get a full error message from an Xml error.
val error_msg : error_msg -> string
Get the Xml error message as a string.
val line : error_pos -> int
Get the line the error occured at.
val range : error_pos -> int * int
Get the relative character range (in current line) the error occured at.
val abs_range : error_pos -> int * int
Get the absolute character range the error occured at.
Xml Functions
val tag : xml -> string
tag xdata
returns the tag value of the xml node. RaiseXml.Not_element
if the xml is not an element
val pcdata : xml -> string
pcdata xdata
returns the PCData value of the xml node. RaiseXml.Not_pcdata
if the xml is not a PCData
val attribs : xml -> (string * string) list
attribs xdata
returns the attribute list of the xml node. First string if the attribute name, second string is attribute value. RaiseXml.Not_element
if the xml is not an element
val attrib : xml -> string -> string
attrib xdata "href"
returns the value of the"href"
attribute of the xml node (attribute matching is case-insensitive). RaiseXml.No_attribute
if the attribute does not exists in the node's attribute list RaiseXml.Not_element
if the xml is not an element
val children : xml -> xml list
children xdata
returns the children list of the xml node RaiseXml.Not_element
if the xml is not an element
val iter : (xml -> unit) -> xml -> unit
iter f xdata
calls f on all children of the xml node. RaiseXml.Not_element
if the xml is not an element
val map : (xml -> 'a) -> xml -> 'a list
map f xdata
is equivalent toList.map f (Xml.children xdata)
RaiseXml.Not_element
if the xml is not an element
val fold : ('a -> xml -> 'a) -> 'a -> xml -> 'a
fold f init xdata
is equivalent toList.fold_left f init (Xml.children xdata)
RaiseXml.Not_element
if the xml is not an element
Xml Printing
val to_string : xml -> string
Print the xml data structure into a compact xml string (without any user-readable formating ).
val to_string_fmt : xml -> string
Print the xml data structure into an user-readable string with tabs and lines break between different nodes.
val to_human_string : xml -> string
module type X = sig ... end