Warning: Reason support is experimental. We are looking for beta-tester and contributors.

Module Svg_f

module Svg_f : sig..end

Typesafe constructors for SVG documents (Functorial interface)


This module defines basic data types for data, attributes and element occuring in SVG documents. It is based on the specification available at http://www.w3.org/TR/SVG/.

This module is experimental, it may lack of some attributes, and the interface is very low level and do not take deeply into account the needs of SVG elements.

module Make (Xml : Xml_sigs.T) : 
  
  Svg_sigs.Twith type Xml.uri = Xml.uri
and type Xml.event_handler = Xml.event_handler
and type Xml.mouse_event_handler = Xml.mouse_event_handler
and type Xml.keyboard_event_handler = Xml.keyboard_event_handler
and type Xml.attrib = Xml.attrib
and type Xml.elt = Xml.elt
and type +'a elt = Xml.elt
and type 'a Xml.wrap = 'a
and type 'a wrap = 'a
and type 'a Xml.list_wrap = 'a list
and type 'a list_wrap = 'a list
and type 'a attrib = Xml.attrib
and type uri = Xml.uri
module MakeWrapped (W : Xml_wrap.T) 
   (Xml :
      Xml_sigs.Wrapped     with type 'a wrap = 'a W.t
       and type 'a list_wrap = 'a W.tlist
) :
  
  Svg_sigs.Twith type Xml.uri = Xml.uri
and type Xml.event_handler = Xml.event_handler
and type Xml.mouse_event_handler = Xml.mouse_event_handler
and type Xml.keyboard_event_handler = Xml.keyboard_event_handler
and type Xml.attrib = Xml.attrib
and type Xml.elt = Xml.elt
and type +'a elt = Xml.elt
and type 'a Xml.wrap = 'a W.t
and type 'a wrap = 'a W.t
and type 'a Xml.list_wrap = 'a W.tlist
and type 'a list_wrap = 'a W.tlist
and type 'a attrib = Xml.attrib
and type uri = Xml.uri

Like the Svg_f.Make functor, but allows to wrap elements inside a monad described by Xml_wrap.T.