Keywords are Functional Programming, Regular Patterns, XML.
Domain is tree based structures like XML.

OX is an XML integration into Objective-Caml, providing XML transducers based on pseudo-tree view. This gives a homogeneous view of XML within OCaml code, and lets users to manipulate such terms like any other ones, without constraint.

XML Decomposition

Pattern matching provides basic mechanisms for term decomposition.

  let rec number_of_tag xml = 
    XML match xml with
    | CDATA                 -> 0
    | <_> _* as content </> -> 1 + (number_of_tag content)
    | _*                    -> Xml.fold_left (fun i elem -> i + (number_of_tag elem)) 0 xml

Embedded XML

Embedded XML term provides fragment creation.

  let mkHtm title body = 
    XML { <HTML> <HEAD> <TITLE> title </> </> <BODY> body </> </> }                 	 


[07/20/2007] OX(ML) v0.4 is available for Objective-Caml 3.11.1
[06/03/2007] OX(ML) v0.3 is available for Objective-Caml 3.10.0
[05/22/2007] OX(ML) v0.2 is available for Objective-Caml 3.9.3
[04/23/2007] Register project in SourceForge