Module type Svg_sigs.​T

module type T = sig..end

Signature of typesafe constructors for SVG documents.


type +'a elt

SVG elements.

Element constructors are in section . Most elements constructors are either nullary, unary or star, depending on the number of children they accept. Children are usually given as a list of elements. pcdata is used for text.

The type variable 'a is used to track the element's type. This allows the OCaml typechecker to check SVG validity.

Note that the concrete implementation of this type can vary. See Svg_sigs.​T.​Xml for details.

type doc = [ `Svg ] elt

A complete SVG document.

type +'a attrib

SVG attributes

Attribute constructors are in section and their name starts with a_. Attributes are given to elements with the ~a optional argument.

Similarly to elt, attributes use the OCaml type system to enforce Html validity.

In some cases, attributes have to be disambiguated. The max attribute has two version, Svg_sigs.​T.​a_fill and Svg_sigs.​T.​a_animation_fill, depending on the element. Such disambiguated attribute will contain the name of the associated element.

module Xml : Xml_sigs.T

Underlying XML data-structure

type 'a wrap = 'a Xml.W.t

wrap is a container for elements and values.

In most cases, 'a wrap = 'a. For R modules (in eliom or js_of_ocaml), It will be React.S.t.

type 'a list_wrap = 'a Xml.W.tlist

list_wrap is a containre for list of elements.

In most cases, 'a list_wrap = 'a list. For R modules (in eliom or js_of_ocaml), It will be ReactiveData.RList.t.

type ('a, 'b) nullary = ?a:'a attrib list -> unit -> 'b elt

A nullary element is an element that doesn't have any children.

type ('a, 'b, 'c) unary = 
  ?a:'a attrib list ->
  'b elt wrap -> 'c elt

A unary element is an element that have exactly one children.

type ('a, 'b, 'c) star = 
  ?a:'a attrib list ->
  'b elt list_wrap -> 'c elt

A star element is an element that has any number of children, including zero.

module Info : Xml_sigs.Info

Various information about SVG, such as the doctype, ...

Uri

type uri = Xml.uri
val string_of_uri : (uri, string) Xml.W.ft
val uri_of_string : (string, uri) Xml.W.ft

Attributes

val a_version : string wrap -> [> `Version ] attrib

Deprecated.Removed in SVG2

val a_baseProfile : string wrap -> [> `BaseProfile ] attrib

Deprecated.Removed in SVG2

val a_x : Svg_types.coord wrap -> [> `X ] attrib
val a_y : Svg_types.coord wrap -> [> `Y ] attrib
val a_width : Svg_types.Unit.length wrap -> [> `Width ] attrib
val a_height : 
  Svg_types.Unit.length wrap ->
  [> `Height ] attrib
val a_preserveAspectRatio : string wrap -> [> `PreserveAspectRatio ] attrib
val a_contentScriptType : string wrap -> [> `ContentScriptType ] attrib

Deprecated.Removed in SVG2

val a_contentStyleType : string wrap -> [> `ContentStyleType ] attrib

Deprecated.Removed in SVG2

val a_zoomAndPan : 
  [< `Disable | `Magnify ] wrap ->
  [> `ZoomAndSpan ] attrib
val a_href : Svg_types.iri wrap -> [> `Xlink_href ] attrib

Deprecated.Use a_href

val a_requiredFeatures : 
  Svg_types.spacestrings wrap ->
  [> `RequiredFeatures ] attrib

Deprecated.Removed in SVG2

val a_requiredExtensions : 
  Svg_types.spacestrings wrap ->
  [> `RequiredExtension ] attrib
val a_systemLanguage : 
  Svg_types.commastrings wrap ->
  [> `SystemLanguage ] attrib
val a_externalRessourcesRequired : 
  bool wrap ->
  [> `ExternalRessourcesRequired ] attrib
val a_id : string wrap -> [> `Id ] attrib
val a_xml_base : Svg_types.iri wrap -> [> `Xml_Base ] attrib

Deprecated.Removed in SVG2

val a_xml_lang : Svg_types.iri wrap -> [> `Xml_Lang ] attrib
val a_xml_space : 
  [< `Default | `Preserve ] wrap ->
  [> `Xml_Space ] attrib

Deprecated.Use CSS white-space

val a_type : string wrap -> [> `Type ] attrib
val a_media : 
  Svg_types.commastrings wrap ->
  [> `Media ] attrib

Deprecated.Use a child title element

val a_class : 
  Svg_types.spacestrings wrap ->
  [> `Class ] attrib
val a_style : string wrap -> [> `Style ] attrib
val a_transform : 
  Svg_types.transforms wrap ->
  [> `Transform ] attrib
val a_viewBox : 
  Svg_types.fourfloats wrap ->
  [> `ViewBox ] attrib
val a_d : string wrap -> [> `D ] attrib
val a_pathLength : float wrap -> [> `PathLength ] attrib
val a_rx : Svg_types.Unit.length wrap -> [> `Rx ] attrib
val a_ry : Svg_types.Unit.length wrap -> [> `Ry ] attrib
val a_cx : Svg_types.Unit.length wrap -> [> `Cx ] attrib
val a_cy : Svg_types.Unit.length wrap -> [> `Cy ] attrib
val a_r : Svg_types.Unit.length wrap -> [> `R ] attrib
val a_x1 : Svg_types.coord wrap -> [> `X1 ] attrib
val a_y1 : Svg_types.coord wrap -> [> `Y1 ] attrib
val a_x2 : Svg_types.coord wrap -> [> `X2 ] attrib
val a_y2 : Svg_types.coord wrap -> [> `Y2 ] attrib
val a_points : Svg_types.coords wrap -> [> `Points ] attrib
val a_x_list : Svg_types.lengths wrap -> [> `X_list ] attrib
val a_y_list : Svg_types.lengths wrap -> [> `Y_list ] attrib
val a_dx : Svg_types.number wrap -> [> `Dx ] attrib
val a_dy : Svg_types.number wrap -> [> `Dy ] attrib
val a_dx_list : Svg_types.lengths wrap -> [> `Dx_list ] attrib
val a_dy_list : Svg_types.lengths wrap -> [> `Dy_list ] attrib
val a_lengthAdjust : 
  [< `Spacing | `SpacingAndGlyphs ] wrap ->
  [> `LengthAdjust ] attrib
val a_textLength : 
  Svg_types.Unit.length wrap ->
  [> `TextLength ] attrib
val a_text_anchor : 
  [< `End | `Inherit | `Middle | `Start ] wrap ->
  [> `Text_Anchor ] attrib
val a_text_decoration : 
  [< `Blink | `Inherit | `Line_through | `None | `Overline | `Underline ]
  wrap -> [> `Text_Decoration ] attrib
val a_text_rendering : 
  [< `Auto
   | `GeometricPrecision
   | `Inherit
   | `OptimizeLegibility
   | `OptimizeSpeed ]
  wrap -> [> `Text_Rendering ] attrib
val a_rotate : Svg_types.numbers wrap -> [> `Rotate ] attrib
val a_startOffset : 
  Svg_types.Unit.length wrap ->
  [> `StartOffset ] attrib
val a_method : 
  [< `Align | `Stretch ] wrap ->
  [> `Method ] attrib
val a_spacing : [< `Auto | `Exact ] wrap -> [> `Spacing ] attrib
val a_glyphRef : string wrap -> [> `GlyphRef ] attrib
val a_format : string wrap -> [> `Format ] attrib
val a_markerUnits : 
  [< `StrokeWidth | `UserSpaceOnUse ] wrap ->
  [> `MarkerUnits ] attrib
val a_refX : Svg_types.coord wrap -> [> `RefX ] attrib
val a_refY : Svg_types.coord wrap -> [> `RefY ] attrib
val a_markerWidth : 
  Svg_types.Unit.length wrap ->
  [> `MarkerWidth ] attrib
val a_markerHeight : 
  Svg_types.Unit.length wrap ->
  [> `MarkerHeight ] attrib
val a_orient : 
  Svg_types.Unit.angle option wrap ->
  [> `Orient ] attrib
val a_local : string wrap -> [> `Local ] attrib
val a_rendering_intent : 
  [< `Absolute_colorimetric
   | `Auto
   | `Perceptual
   | `Relative_colorimetric
   | `Saturation ]
  wrap -> [> `Rendering_Indent ] attrib
val a_gradientUnits : 
  [< `ObjectBoundingBox | `UserSpaceOnUse ] wrap ->
  [ `GradientUnits ] attrib
val a_gradientTransform : 
  Svg_types.transforms wrap ->
  [> `Gradient_Transform ] attrib
val a_spreadMethod : 
  [< `Pad | `Reflect | `Repeat ] wrap ->
  [> `SpreadMethod ] attrib
val a_fx : Svg_types.coord wrap -> [> `Fx ] attrib
val a_fy : Svg_types.coord wrap -> [> `Fy ] attrib
val a_offset : 
  [< `Number of Svg_types.number | `Percentage of Svg_types.percentage ]
  wrap -> [> `Offset ] attrib
val a_patternUnits : 
  [< `ObjectBoundingBox | `UserSpaceOnUse ] wrap ->
  [> `PatternUnits ] attrib
val a_patternContentUnits : 
  [< `ObjectBoundingBox | `UserSpaceOnUse ] wrap ->
  [> `PatternContentUnits ] attrib
val a_patternTransform : 
  Svg_types.transforms wrap ->
  [> `PatternTransform ] attrib
val a_clipPathUnits : 
  [< `ObjectBoundingBox | `UserSpaceOnUse ] wrap ->
  [> `ClipPathUnits ] attrib
val a_maskUnits : 
  [< `ObjectBoundingBox | `UserSpaceOnUse ] wrap ->
  [> `MaskUnits ] attrib
val a_maskContentUnits : 
  [< `ObjectBoundingBox | `UserSpaceOnUse ] wrap ->
  [> `MaskContentUnits ] attrib
val a_primitiveUnits : 
  [< `ObjectBoundingBox | `UserSpaceOnUse ] wrap ->
  [> `PrimitiveUnits ] attrib
val a_filterRes : 
  Svg_types.number_optional_number wrap ->
  [> `FilterResUnits ] attrib
val a_result : string wrap -> [> `Result ] attrib
val a_in : 
  [< `BackgroundAlpha
   | `BackgroundImage
   | `FillPaint
   | `Ref of string
   | `SourceAlpha
   | `SourceGraphic
   | `StrokePaint ]
  wrap -> [> `In ] attrib
val a_in2 : 
  [< `BackgroundAlpha
   | `BackgroundImage
   | `FillPaint
   | `Ref of string
   | `SourceAlpha
   | `SourceGraphic
   | `StrokePaint ]
  wrap -> [> `In2 ] attrib
val a_azimuth : float wrap -> [> `Azimuth ] attrib
val a_elevation : float wrap -> [> `Elevation ] attrib
val a_pointsAtX : float wrap -> [> `PointsAtX ] attrib
val a_pointsAtY : float wrap -> [> `PointsAtY ] attrib
val a_pointsAtZ : float wrap -> [> `PointsAtZ ] attrib
val a_specularExponent : float wrap -> [> `SpecularExponent ] attrib
val a_specularConstant : float wrap -> [> `SpecularConstant ] attrib
val a_limitingConeAngle : float wrap -> [> `LimitingConeAngle ] attrib
val a_mode : 
  [< `Darken | `Lighten | `Multiply | `Normal | `Screen ]
  wrap -> [> `Mode ] attrib
val a_feColorMatrix_type : 
  [< `HueRotate | `LuminanceToAlpha | `Matrix | `Saturate ]
  wrap -> [> `Typefecolor ] attrib
val a_values : Svg_types.numbers wrap -> [> `Values ] attrib
val a_transfer_type : 
  [< `Discrete | `Gamma | `Identity | `Linear | `Table ] wrap ->
  [> `Type_transfert ] attrib
val a_tableValues : 
  Svg_types.numbers wrap ->
  [> `TableValues ] attrib
val a_intercept : Svg_types.number wrap -> [> `Intercept ] attrib
val a_amplitude : Svg_types.number wrap -> [> `Amplitude ] attrib
val a_exponent : Svg_types.number wrap -> [> `Exponent ] attrib
val a_transfer_offset : 
  Svg_types.number wrap ->
  [> `Offset_transfer ] attrib
val a_feComposite_operator : 
  [< `Arithmetic | `Atop | `In | `Out | `Over | `Xor ] wrap ->
  [> `OperatorComposite ] attrib
val a_k1 : Svg_types.number wrap -> [> `K1 ] attrib
val a_k2 : Svg_types.number wrap -> [> `K2 ] attrib
val a_k3 : Svg_types.number wrap -> [> `K3 ] attrib
val a_k4 : Svg_types.number wrap -> [> `K4 ] attrib
val a_order : 
  Svg_types.number_optional_number wrap ->
  [> `Order ] attrib
val a_kernelMatrix : 
  Svg_types.numbers wrap ->
  [> `KernelMatrix ] attrib
val a_divisor : Svg_types.number wrap -> [> `Divisor ] attrib
val a_bias : Svg_types.number wrap -> [> `Bias ] attrib
val a_kernelUnitLength : 
  Svg_types.number_optional_number wrap ->
  [> `KernelUnitLength ] attrib
val a_targetX : int wrap -> [> `TargetX ] attrib
val a_targetY : int wrap -> [> `TargetY ] attrib
val a_edgeMode : 
  [< `Duplicate | `None | `Wrap ] wrap ->
  [> `TargetY ] attrib
val a_preserveAlpha : bool wrap -> [> `TargetY ] attrib
val a_surfaceScale : 
  Svg_types.number wrap ->
  [> `SurfaceScale ] attrib
val a_diffuseConstant : 
  Svg_types.number wrap ->
  [> `DiffuseConstant ] attrib
val a_scale : Svg_types.number wrap -> [> `Scale ] attrib
val a_xChannelSelector : 
  [< `A | `B | `G | `R ] wrap ->
  [> `XChannelSelector ] attrib
val a_yChannelSelector : 
  [< `A | `B | `G | `R ] wrap ->
  [> `YChannelSelector ] attrib
val a_stdDeviation : 
  Svg_types.number_optional_number wrap ->
  [> `StdDeviation ] attrib
val a_feMorphology_operator : 
  [< `Dilate | `Erode ] wrap ->
  [> `OperatorMorphology ] attrib
val a_radius : 
  Svg_types.number_optional_number wrap ->
  [> `Radius ] attrib
val a_baseFrenquency : 
  Svg_types.number_optional_number wrap ->
  [> `BaseFrequency ] attrib
val a_numOctaves : int wrap -> [> `NumOctaves ] attrib
val a_seed : Svg_types.number wrap -> [> `Seed ] attrib
val a_stitchTiles : 
  [< `NoStitch | `Stitch ] wrap ->
  [> `StitchTiles ] attrib
val a_feTurbulence_type : 
  [< `FractalNoise | `Turbulence ] wrap ->
  [> `TypeStitch ] attrib

Deprecated.Removed in SVG2

Deprecated.Removed in SVG2

val a_target : string wrap -> [> `Xlink_target ] attrib
val a_viewTarget : string wrap -> [> `ViewTarget ] attrib

Deprecated.Removed in SVG2

val a_attributeName : string wrap -> [> `AttributeName ] attrib
val a_attributeType : 
  [< `Auto | `CSS | `XML ] wrap ->
  [> `AttributeType ] attrib
val a_begin : string wrap -> [> `Begin ] attrib
val a_dur : string wrap -> [> `Dur ] attrib
val a_min : string wrap -> [> `Min ] attrib
val a_max : string wrap -> [> `Max ] attrib
val a_restart : 
  [< `Always | `Never | `WhenNotActive ] wrap ->
  [> `Restart ] attrib
val a_repeatCount : string wrap -> [> `RepeatCount ] attrib
val a_repeatDur : string wrap -> [> `RepeatDur ] attrib
val a_fill : Svg_types.paint wrap -> [> `Fill ] attrib
val a_animation_fill : 
  [< `Freeze | `Remove ] wrap ->
  [> `Fill_Animation ] attrib
val a_calcMode : 
  [< `Discrete | `Linear | `Paced | `Spline ] wrap ->
  [> `CalcMode ] attrib
val a_animation_values : 
  Svg_types.strings wrap ->
  [> `Valuesanim ] attrib
val a_keyTimes : Svg_types.strings wrap -> [> `KeyTimes ] attrib
val a_keySplines : 
  Svg_types.strings wrap ->
  [> `KeySplines ] attrib
val a_from : string wrap -> [> `From ] attrib
val a_to : string wrap -> [> `To ] attrib
val a_by : string wrap -> [> `By ] attrib
val a_additive : 
  [< `Replace | `Sum ] wrap ->
  [> `Additive ] attrib
val a_accumulate : 
  [< `None | `Sum ] wrap ->
  [> `Accumulate ] attrib
val a_keyPoints : 
  Svg_types.numbers_semicolon wrap ->
  [> `KeyPoints ] attrib
val a_path : string wrap -> [> `Path ] attrib
val a_animateTransform_type : 
  [ `Rotate | `Scale | `SkewX | `SkewY | `Translate ] wrap ->
  [ `Typeanimatetransform ] attrib
val a_horiz_origin_x : 
  Svg_types.number wrap ->
  [> `HorizOriginX ] attrib
val a_horiz_origin_y : 
  Svg_types.number wrap ->
  [> `HorizOriginY ] attrib
val a_horiz_adv_x : Svg_types.number wrap -> [> `HorizAdvX ] attrib
val a_vert_origin_x : 
  Svg_types.number wrap ->
  [> `VertOriginX ] attrib
val a_vert_origin_y : 
  Svg_types.number wrap ->
  [> `VertOriginY ] attrib
val a_vert_adv_y : Svg_types.number wrap -> [> `VertAdvY ] attrib
val a_unicode : string wrap -> [> `Unicode ] attrib
val a_glyph_name : string wrap -> [> `glyphname ] attrib
val a_orientation : [< `H | `V ] wrap -> [> `Orientation ] attrib
val a_arabic_form : 
  [< `Initial | `Isolated | `Medial | `Terminal ] wrap ->
  [> `Arabicform ] attrib
val a_lang : string wrap -> [> `Lang ] attrib
val a_u1 : string wrap -> [> `U1 ] attrib
val a_u2 : string wrap -> [> `U2 ] attrib
val a_g1 : string wrap -> [> `G1 ] attrib
val a_g2 : string wrap -> [> `G2 ] attrib
val a_k : string wrap -> [> `K ] attrib
val a_font_family : string wrap -> [> `Font_Family ] attrib
val a_font_style : string wrap -> [> `Font_Style ] attrib
val a_font_variant : string wrap -> [> `Font_Variant ] attrib
val a_font_weight : string wrap -> [> `Font_Weight ] attrib
val a_font_stretch : string wrap -> [> `Font_Stretch ] attrib
val a_font_size : string wrap -> [> `Font_Size ] attrib
val a_unicode_range : string wrap -> [> `UnicodeRange ] attrib
val a_units_per_em : string wrap -> [> `UnitsPerEm ] attrib
val a_stemv : Svg_types.number wrap -> [> `Stemv ] attrib
val a_stemh : Svg_types.number wrap -> [> `Stemh ] attrib
val a_slope : Svg_types.number wrap -> [> `Slope ] attrib
val a_cap_height : Svg_types.number wrap -> [> `CapHeight ] attrib
val a_x_height : Svg_types.number wrap -> [> `XHeight ] attrib
val a_accent_height : 
  Svg_types.number wrap ->
  [> `AccentHeight ] attrib
val a_ascent : Svg_types.number wrap -> [> `Ascent ] attrib
val a_widths : string wrap -> [> `Widths ] attrib
val a_bbox : string wrap -> [> `Bbox ] attrib
val a_ideographic : 
  Svg_types.number wrap ->
  [> `Ideographic ] attrib
val a_alphabetic : Svg_types.number wrap -> [> `Alphabetic ] attrib
val a_mathematical : 
  Svg_types.number wrap ->
  [> `Mathematical ] attrib
val a_hanging : Svg_types.number wrap -> [> `Hanging ] attrib
val a_videographic : 
  Svg_types.number wrap ->
  [> `VIdeographic ] attrib
val a_v_alphabetic : 
  Svg_types.number wrap ->
  [> `VAlphabetic ] attrib
val a_v_mathematical : 
  Svg_types.number wrap ->
  [> `VMathematical ] attrib
val a_v_hanging : Svg_types.number wrap -> [> `VHanging ] attrib
val a_underline_position : 
  Svg_types.number wrap ->
  [> `UnderlinePosition ] attrib
val a_underline_thickness : 
  Svg_types.number wrap ->
  [> `UnderlineThickness ] attrib
val a_strikethrough_position : 
  Svg_types.number wrap ->
  [> `StrikethroughPosition ] attrib
val a_strikethrough_thickness : 
  Svg_types.number wrap ->
  [> `StrikethroughThickness ] attrib
val a_overline_position : 
  Svg_types.number wrap ->
  [> `OverlinePosition ] attrib
val a_overline_thickness : 
  Svg_types.number wrap ->
  [> `OverlineThickness ] attrib
val a_string : string wrap -> [> `String ] attrib
val a_name : string wrap -> [> `Name ] attrib
val a_alignment_baseline : 
  [< `After_edge
   | `Alphabetic
   | `Auto
   | `Baseline
   | `Before_edge
   | `Central
   | `Hanging
   | `Ideographic
   | `Inherit
   | `Mathematical
   | `Middle
   | `Text_after_edge
   | `Text_before_edge ]
  wrap -> [> `Alignment_Baseline ] attrib
val a_dominant_baseline : 
  [< `Alphabetic
   | `Auto
   | `Central
   | `Hanging
   | `Ideographic
   | `Inherit
   | `Mathematical
   | `Middle
   | `No_change
   | `Reset_size
   | `Text_after_edge
   | `Text_before_edge
   | `Use_script ]
  wrap -> [> `Dominant_Baseline ] attrib
val a_stop_color : Svg_types.color wrap -> [> `Stop_Color ] attrib
val a_stop_opacity : 
  Svg_types.number wrap ->
  [> `Stop_Opacity ] attrib
val a_stroke : Svg_types.paint wrap -> [> `Stroke ] attrib
val a_stroke_width : 
  Svg_types.Unit.length wrap ->
  [> `Stroke_Width ] attrib
val a_stroke_linecap : 
  [< `Butt | `Round | `Square ] wrap ->
  [> `Stroke_Linecap ] attrib
val a_stroke_linejoin : 
  [< `Bever | `Miter | `Round ] wrap ->
  [> `Stroke_Linejoin ] attrib
val a_stroke_miterlimit : float wrap -> [> `Stroke_Miterlimit ] attrib
val a_stroke_dasharray : 
  Svg_types.Unit.length list wrap ->
  [> `Stroke_Dasharray ] attrib
val a_stroke_dashoffset : 
  Svg_types.Unit.length wrap ->
  [> `Stroke_Dashoffset ] attrib
val a_stroke_opacity : float wrap -> [> `Stroke_Opacity ] attrib

Events

Javascript events

val a_onabort : Xml.event_handler -> [> `OnAbort ] attrib
val a_onactivate : Xml.event_handler -> [> `OnActivate ] attrib
val a_onbegin : Xml.event_handler -> [> `OnBegin ] attrib
val a_onend : Xml.event_handler -> [> `OnEnd ] attrib
val a_onerror : Xml.event_handler -> [> `OnError ] attrib
val a_onfocusin : Xml.event_handler -> [> `OnFocusIn ] attrib
val a_onfocusout : Xml.event_handler -> [> `OnFocusOut ] attrib
val a_onload : Xml.event_handler -> [> `OnLoad ] attrib

Deprecated.Removed in SVG2

val a_onrepeat : Xml.event_handler -> [> `OnRepeat ] attrib
val a_onresize : Xml.event_handler -> [> `OnResize ] attrib
val a_onscroll : Xml.event_handler -> [> `OnScroll ] attrib
val a_onunload : Xml.event_handler -> [> `OnUnload ] attrib
val a_onzoom : Xml.event_handler -> [> `OnZoom ] attrib

Javascript mouse events

val a_onclick : Xml.mouse_event_handler -> [> `OnClick ] attrib
val a_onmousedown : Xml.mouse_event_handler -> [> `OnMouseDown ] attrib
val a_onmouseup : Xml.mouse_event_handler -> [> `OnMouseUp ] attrib
val a_onmouseover : Xml.mouse_event_handler -> [> `OnMouseOver ] attrib
val a_onmouseout : Xml.mouse_event_handler -> [> `OnMouseOut ] attrib
val a_onmousemove : Xml.mouse_event_handler -> [> `OnMouseMove ] attrib

Elements

val pcdata : string wrap -> [> `PCDATA ] elt
val svg : 
  ([< Svg_types.svg_attr ], [< Svg_types.svg_content ],
   [> Svg_types.svg ])
  star
val g : 
  ([< Svg_types.g_attr ], [< Svg_types.g_content ], [> Svg_types.g ])
  star
val defs : 
  ([< Svg_types.defs_attr ], [< Svg_types.defs_content ],
   [> Svg_types.defs ])
  star
val desc : 
  ([< Svg_types.desc_attr ], [< Svg_types.desc_content ],
   [> Svg_types.desc ])
  unary
val title : 
  ([< Svg_types.title_attr ], [< Svg_types.title_content ],
   [> Svg_types.title ])
  unary
val symbol : 
  ([< Svg_types.symbol_attr ], [< Svg_types.symbol_content ],
   [> Svg_types.symbol ])
  star
val use : 
  ([< Svg_types.use_attr ], [< Svg_types.use_content ],
   [> Svg_types.use ])
  star
val image : 
  ([< Svg_types.image_attr ], [< Svg_types.image_content ],
   [> Svg_types.image ])
  star
val switch : 
  ([< Svg_types.switch_attr ], [< Svg_types.switch_content ],
   [> Svg_types.switch ])
  star
val style : 
  ([< Svg_types.style_attr ], [< Svg_types.style_content ],
   [> Svg_types.style ])
  unary
val path : 
  ([< Svg_types.path_attr ], [< Svg_types.path_content ],
   [> Svg_types.path ])
  star
val rect : 
  ([< Svg_types.rect_attr ], [< Svg_types.rect_content ],
   [> Svg_types.rect ])
  star
val circle : 
  ([< Svg_types.circle_attr ], [< Svg_types.circle_content ],
   [> Svg_types.circle ])
  star
val ellipse : 
  ([< Svg_types.ellipse_attr ], [< Svg_types.ellipse_content ],
   [> Svg_types.ellipse ])
  star
val line : 
  ([< Svg_types.line_attr ], [< Svg_types.line_content ],
   [> Svg_types.line ])
  star
val polyline : 
  ([< Svg_types.polyline_attr ], [< Svg_types.polyline_content ],
   [> Svg_types.polyline ])
  star
val polygon : 
  ([< Svg_types.polygon_attr ], [< Svg_types.polygon_content ],
   [> Svg_types.polygon ])
  star
val text : 
  ([< Svg_types.text_attr ], [< Svg_types.text_content ],
   [> Svg_types.text ])
  star
val tspan : 
  ([< Svg_types.tspan_attr ], [< Svg_types.tspan_content ],
   [> Svg_types.tspan ])
  star
val tref : 
  ([< Svg_types.tref_attr ], [< Svg_types.tref_content ],
   [> Svg_types.tref ])
  star

Deprecated.Removed in SVG2

val textPath : 
  ([< Svg_types.textpath_attr ], [< Svg_types.textpath_content ],
   [> Svg_types.textpath ])
  star
val altGlyph : 
  ([< Svg_types.altglyph_attr ], [< Svg_types.altglyph_content ],
   [> Svg_types.altglyph ])
  unary

Deprecated.Removed in SVG2

type altglyphdef_content = 
  [ `Item of Svg_types.altglyphitem elt list
  | `Ref of Svg_types.glyphref elt list ]
val altGlyphDef : 
  ([< Svg_types.altglyphdef_attr ], [< altglyphdef_content ],
   [> Svg_types.altglyphdef ])
  unary

Deprecated.Removed in SVG2

val altGlyphItem : 
  ([< Svg_types.altglyphitem_attr ],
   [< Svg_types.altglyphitem_content ], [> Svg_types.altglyphitem ])
  star

Deprecated.Removed in SVG2

val glyphRef : 
  ([< Svg_types.glyphref_attr ], [> Svg_types.glyphref ])
  nullary

Deprecated.Removed in SVG2

val marker : 
  ([< Svg_types.marker_attr ], [< Svg_types.marker_content ],
   [> Svg_types.marker ])
  star
val color_profile : 
  ([< Svg_types.colorprofile_attr ],
   [< Svg_types.colorprofile_content ], [> Svg_types.colorprofile ])
  star

Deprecated.Removed in SVG2

val linearGradient : 
  ([< Svg_types.lineargradient_attr ],
   [< Svg_types.lineargradient_content ], [> Svg_types.lineargradient ])
  star
val radialGradient : 
  ([< Svg_types.radialgradient_attr ],
   [< Svg_types.radialgradient_content ], [> Svg_types.radialgradient ])
  star
val stop : 
  ([< Svg_types.stop_attr ], [< Svg_types.stop_content ],
   [> Svg_types.stop ])
  star
val pattern : 
  ([< Svg_types.pattern_attr ], [< Svg_types.pattern_content ],
   [> Svg_types.pattern ])
  star
val clipPath : 
  ([< Svg_types.clippath_attr ], [< Svg_types.clippath_content ],
   [> Svg_types.clippath ])
  star
val filter : 
  ([< Svg_types.filter_attr ], [< Svg_types.filter_content ],
   [> Svg_types.filter ])
  star
val feDistantLight : 
  ([< Svg_types.fedistantlight_attr ],
   [< Svg_types.fedistantlight_content ], [> Svg_types.fedistantlight ])
  star
val fePointLight : 
  ([< Svg_types.fepointlight_attr ],
   [< Svg_types.fepointlight_content ], [> Svg_types.fepointlight ])
  star
val feSpotLight : 
  ([< Svg_types.fespotlight_attr ], [< Svg_types.fespotlight_content ],
   [> Svg_types.fespotlight ])
  star
val feBlend : 
  ([< Svg_types.feblend_attr ], [< Svg_types.feblend_content ],
   [> Svg_types.feblend ])
  star
val feColorMatrix : 
  ([< Svg_types.fecolormatrix_attr ],
   [< Svg_types.fecolormatrix_content ], [> Svg_types.fecolormatrix ])
  star
val feComponentTransfer : 
  ([< Svg_types.fecomponenttransfer_attr ],
   [< Svg_types.fecomponenttransfer_content ],
   [> Svg_types.fecomponenttransfer ])
  star
val feFuncA : 
  ([< Svg_types.fefunca_attr ], [< Svg_types.fefunca_content ],
   [> Svg_types.fefunca ])
  star
val feFuncG : 
  ([< Svg_types.fefuncg_attr ], [< Svg_types.fefuncg_content ],
   [> Svg_types.fefuncg ])
  star
val feFuncB : 
  ([< Svg_types.fefuncb_attr ], [< Svg_types.fefuncb_content ],
   [> Svg_types.fefuncb ])
  star
val feFuncR : 
  ([< Svg_types.fefuncr_attr ], [< Svg_types.fefuncr_content ],
   [> Svg_types.fefuncr ])
  star
val feComposite : 
  ([< Svg_types.fecomposite_attr ], [< Svg_types.fecomposite_content ],
   [> Svg_types.fecomposite ])
  star
val feConvolveMatrix : 
  ([< Svg_types.feconvolvematrix_attr ],
   [< Svg_types.feconvolvematrix_content ],
   [> Svg_types.feconvolvematrix ])
  star
val feDiffuseLighting : 
  ([< Svg_types.fediffuselighting_attr ],
   [< Svg_types.fediffuselighting_content ],
   [> Svg_types.fediffuselighting ])
  star
val feDisplacementMap : 
  ([< Svg_types.fedisplacementmap_attr ],
   [< Svg_types.fedisplacementmap_content ],
   [> Svg_types.fedisplacementmap ])
  star
val feFlood : 
  ([< Svg_types.feflood_attr ], [< Svg_types.feflood_content ],
   [> Svg_types.feflood ])
  star
val feGaussianBlur : 
  ([< Svg_types.fegaussianblur_attr ],
   [< Svg_types.fegaussianblur_content ], [> Svg_types.fegaussianblur ])
  star
val feImage : 
  ([< Svg_types.feimage_attr ], [< Svg_types.feimage_content ],
   [> Svg_types.feimage ])
  star
val feMerge : 
  ([< Svg_types.femerge_attr ], [< Svg_types.femerge_content ],
   [> Svg_types.femerge ])
  star
val feMorphology : 
  ([< Svg_types.femorphology_attr ],
   [< Svg_types.femorphology_content ], [> Svg_types.femorphology ])
  star
val feOffset : 
  ([< Svg_types.feoffset_attr ], [< Svg_types.feoffset_content ],
   [> Svg_types.feoffset ])
  star
val feSpecularLighting : 
  ([< Svg_types.fespecularlighting_attr ],
   [< Svg_types.fespecularlighting_content ],
   [> Svg_types.fespecularlighting ])
  star
val feTile : 
  ([< Svg_types.fetile_attr ], [< Svg_types.fetile_content ],
   [> Svg_types.fetile ])
  star
val feTurbulence : 
  ([< Svg_types.feturbulence_attr ],
   [< Svg_types.feturbulence_content ], [> Svg_types.feturbulence ])
  star
val cursor : 
  ([< Svg_types.cursor_attr ], [< Svg_types.cursor_content ],
   [> Svg_types.cursor ])
  star
val a : 
  ([< Svg_types.a_attr ], [< Svg_types.a_content ], [> Svg_types.a ])
  star
val view : 
  ([< Svg_types.view_attr ], [< Svg_types.view_content ],
   [> Svg_types.view ])
  star
val script : 
  ([< Svg_types.script_attr ], [< Svg_types.script_content ],
   [> Svg_types.script ])
  unary
val animation : 
  ([< Svg_types.animation_attr ], [< Svg_types.animation_content ],
   [> Svg_types.animation ])
  star
val set : 
  ([< Svg_types.set_attr ], [< Svg_types.set_content ],
   [> Svg_types.set ])
  star
val animateMotion : 
  ([< Svg_types.animatemotion_attr ],
   [< Svg_types.animatemotion_content ], [> Svg_types.animatemotion ])
  star
val mpath : 
  ([< Svg_types.mpath_attr ], [< Svg_types.mpath_content ],
   [> Svg_types.mpath ])
  star
val animateColor : 
  ([< Svg_types.animatecolor_attr ],
   [< Svg_types.animatecolor_content ], [> Svg_types.animatecolor ])
  star
val animateTransform : 
  ([< Svg_types.animatetransform_attr ],
   [< Svg_types.animatetransform_content ],
   [> Svg_types.animatetransform ])
  star
val font : 
  ([< Svg_types.font_attr ], [< Svg_types.font_content ],
   [> Svg_types.font ])
  star

Deprecated.Removed in SVG2

val glyph : 
  ([< Svg_types.glyph_attr ], [< Svg_types.glyph_content ],
   [> Svg_types.glyph ])
  star

Deprecated.Removed in SVG2

val missing_glyph : 
  ([< Svg_types.missingglyph_attr ],
   [< Svg_types.missingglyph_content ], [> Svg_types.missingglyph ])
  star

Deprecated.Removed in SVG2

val hkern : ([< Svg_types.hkern_attr ], [> Svg_types.hkern ]) nullary

Deprecated.Removed in SVG2

val vkern : ([< Svg_types.vkern_attr ], [> Svg_types.vkern ]) nullary

Deprecated.Removed in SVG2

val font_face : 
  ([< Svg_types.font_face_attr ], [> Svg_types.font_face ])
  nullary

Deprecated.Removed in SVG2

val font_face_src : 
  ([< Svg_types.font_face_src_attr ],
   [< Svg_types.font_face_src_content ], [> Svg_types.font_face_src ])
  star

Deprecated.Removed in SVG2

val font_face_uri : 
  ([< Svg_types.font_face_uri_attr ],
   [< Svg_types.font_face_uri_content ], [> Svg_types.font_face_uri ])
  star

Deprecated.Removed in SVG2

val font_face_format : 
  ([< Svg_types.font_face_format_attr ],
   [> Svg_types.font_face_format ])
  nullary

Deprecated.Removed in SVG2

val font_face_name : 
  ([< Svg_types.font_face_name_attr ], [> Svg_types.font_face_name ])
  nullary

Deprecated.Removed in SVG2

val metadata : 
  ?a:Svg_types.metadata_attr attrib list ->
  Xml.elt list_wrap -> [> Svg_types.metadata ] elt
val foreignObject : 
  ?a:Svg_types.foreignobject_attr attrib list ->
  Xml.elt list_wrap ->
  [> Svg_types.foreignobject ] elt

Conversion with untyped representation

val tot : Xml.elt -> 'a elt
val totl : Xml.elt list_wrap -> 'a elt list_wrap
val toelt : 'a elt -> Xml.elt
val toeltl : 'a elt list_wrap -> Xml.elt list_wrap
val doc_toelt : doc -> Xml.elt
val to_xmlattribs : 'a attrib list -> Xml.attrib list
val to_attrib : Xml.attrib -> 'a attrib
module Unsafe : sig..end

Unsafe features.