package csvfields
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=cf86add2987a1ad2891fa72f941165411f62dc0a433ce57fbc4f1e914f3750b9
md5=414b2dfea05667d13f31a2e8eb6823e6
doc/csvfields.xml-light/Xml_light/Xml/index.html
Module Xml_light.Xml
Source
Xml Light
Xml Light is a minimal Xml parser & printer for OCaml. It provide few functions to parse a basic Xml document into an OCaml data structure and to print back the data structures to an Xml document.
Xml Light has also support for DTD (Document Type Definition).
(c)Copyright 2002-2003 Nicolas Cannasse
Xml Data Structure
type xml = Types.xml =
| Element of string * (string * string) list * xml list
| PCData of string
An Xml node is either Element (tag-name, attributes, children)
or PCData text
Xml Parsing
For easily parsing an Xml data source into an xml data structure, you can use theses functions. But if you want advanced parsing usage, please look at the XmlParser
module. All the parsing functions can raise some exceptions, see the Exceptions section for more informations.
Read the content of the in_channel and parse it into an Xml data structure.
Parse the string containing an Xml document into an Xml data structure.
Xml Exceptions
Several exceptions can be raised when parsing an Xml document :
Xml.Error
is raised when an xml parsing error occurs. theXml.error_msg
tells you which error occured during parsing and theXml.error_pos
can be used to retreive the document location where the error occured at.Xml.File_not_found
is raised when and error occured while opening a file with theXml.parse_file
function or when a DTD file declared by the Xml document is not found (see theXmlParser
module for more informations on how to handle the DTD file loading).
If the Xml document is containing a DTD, then some other exceptions can be raised, see the module Dtd
for more informations.
Get the relative character range (in current line) the error occured at.
Xml Functions
tag xdata
returns the tag value of the xml node. Raise Xml.Not_element
if the xml is not an element
pcdata xdata
returns the PCData value of the xml node. Raise Xml.Not_pcdata
if the xml is not a PCData
attribs xdata
returns the attribute list of the xml node. First string if the attribute name, second string is attribute value. Raise Xml.Not_element
if the xml is not an element
attrib xdata "href"
returns the value of the "href"
attribute of the xml node (attribute matching is case-insensitive). Raise Xml.No_attribute
if the attribute does not exists in the node's attribute list Raise Xml.Not_element
if the xml is not an element
children xdata
returns the children list of the xml node Raise Xml.Not_element
if the xml is not an element
iter f xdata
calls f on all children of the xml node. Raise Xml.Not_element
if the xml is not an element
map f xdata
is equivalent to List.map f (Xml.children xdata)
Raise Xml.Not_element
if the xml is not an element
fold f init xdata
is equivalent to List.fold_left f init (Xml.children xdata)
Raise Xml.Not_element
if the xml is not an element
Xml Printing
Print the xml data structure into a compact xml string (without any user-readable formating ).
Print the xml data structure into an user-readable string with tabs and lines break between different nodes.