Module Svg_types
SVG types with variants, goes with Svg_sigs.T.
This module defines basic data types for data, attributes and element occurring 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.
Categories of elements and attributes
This part defines the categories of elements and attributes
Elements
type animation_element = [ | `AnimateColor| `AnimateMotion| `AnimateTransform| `Animate| `Set
]type descriptive_element = [ | `Desc| `Metadata| `Title
]type basic_shape_element = [ | `Circle| `Ellipse| `Line| `Polygon| `Polyline| `Rect
]type container_element = [ | `A| `Defs| `Glyph| `G| `Marker| `Mask| `MissingGlyph| `Pattern| `Svg| `Switch| `Symbol
]type filter_primitive_element = [ | `FeBlend| `FeColorMatrix| `FeComponentTransfer| `FeComposite| `FeConvolveMatrix| `FeDiffuseLighting| `FeDisplacementMap| `FeFlood| `FeGaussianBlur| `FeImage| `FeMerge| `FeMorphology| `FeOffset| `FeSpecularLighting| `FeTile| `FeTurbulence
]type light_source_element = [ | `FeDistantLight| `FePointLight| `FeSpotLight
]type shape_element = [ | `Circle| `Ellipse| `Line| `Path| `Polyline| `Polygon| `Rect
]type structural_element = [ | `Defs| `G| `Svg| `Symbol| `Use
]type text_content_element = [ | `AltGlyph| `TextPath| `Text| `Tref| `Tspan
]type text_content_child_element = [ | `AltGlyph| `TextPath| `Tref| `Tspan
]type gradient_element = [ | `Lineargradient| `Radialgradient
]type graphics_element = [ | `Circle| `Ellipse| `Image| `Line| `Path| `Polygon| `Polyline| `Rect| `Text| `Use
]type graphics_ref_element = [ | `Image| `Use
]Attributes
type conditional_processing_attr = [ | `RequiredExtensions| `RequiredFeatures| `SystemLanguage
]type core_attr = [ | `Id| `Xml_base| `Xml_lang| `Xml_space| `User_data
]type transfer_attr = [ | `Type_transfert| `TableValues| `Slope| `Intercept| `Amplitude| `Exponent| `Offset_transfer
]type document_event_attr = [ | `OnAbort| `OnError| `OnResize| `OnScroll| `OnUnload| `OnZoom
]type filter_primitive_attr = [ | `Height| `Result| `Width| `X| `Y
]type animation_event_attr = [ | `OnBegin| `OnEnd| `OnRepeat| `OnLoad
]type animation_attr_target_attr = [ | `AttributeType| `AttributeName
]type animation_timing_attr = [ | `Begin| `Dur| `End| `Min| `Max| `Restart| `RepeatCount| `RepeatDur| `Fill_Animation
]type animation_value_attr = [ | `CalcMode| `Valuesanim| `KeyTimes| `KeySplines| `From| `To| `By
]type animation_addition_attr = [ | `Additive| `Accumulate
]type presentation_attr = [ | `Alignment_Baseline| `Baseline_Shift| `Clip| `Clip_Path| `Clip_Rule| `Color| `Color_Interpolation| `Color_interpolation_filters| `Color_profile| `Color_rendering| `Cursor| `Direction| `Display| `Dominant_Baseline| `Enable_background| `Fill| `Fill_opacity| `Fill_rule| `Filter| `Flood_Color| `Flood_Opacity| `Font_Family| `Font_Size| `Font_Size_Adjust| `Font_Stretch| `Font_Style| `Font_Variant| `Font_Weight| `Glyph_Orientation_Horizontal| `Glyph_Orientation_Vertical| `Image_Rendering| `Kerning| `Letter_Spacing| `Lighting_Color| `Marker_End| `Marker_Mid| `Marker_Start| `Mask| `Opacity| `Overflow| `Pointer_Events| `Shape_Rendering| `Stop_Color| `Stop_Opacity| `Stroke| `Stroke_Dasharray| `Stroke_Dashoffset| `Stroke_Linecap| `Stroke_Linejoin| `Stroke_Miterlimit| `Stroke_Opacity| `Stroke_Width| `Text_Anchor| `Text_Decoration| `Text_Rendering| `Unicode_Bidi| `Visibility| `Word_Spacing| `Writing_Mode
]type graphical_event_attr = [ | `OnActivate| `OnClick| `OnFocusIn| `OnFocusOut| `OnLoad| `OnMouseDown| `OnMouseMove| `OnMouseOut| `OnMouseOver| `OnMouseUp
]type xlink_attr = [ | `Xlink_href| `Xlink_type| `Xlink_role| `Xlink_arcrole| `Xlink_title| `Xlink_show| `Xlink_actuate
]Generic data types
type iri = stringAn IRI reference is an Internationalized Resource Identifier with an optional fragment identifier, as defined in Internationalized Resource Identifiers RFC3987. An IRI reference serves as a reference to a resource or (with a fragment identifier) to a secondary resource. See References and the ‘defs’ element..
Units
module Unit : sig ... endSVG defines several units to measure time, length, angles.
type coord = Unit.lengthtype number = floattype percentage = floattype strings = string listtype color = stringtype icccolor = stringtype fill_rule = [ | `Nonzero| `Evenodd
]type transform = [ | `Matrix of float * float * float * float * float * float| `Translate of float * float option| `Scale of float * float option| `Rotate of Unit.angle * (float * float) option| `SkewX of Unit.angle| `SkewY of Unit.angle
]type spacestrings = string listtype commastrings = string listtype transforms = transform listtype fourfloats = float * float * float * floattype lengths = Unit.length listtype numbers = float listtype numbers_semicolon = float listtype coords = (float * float) listtype rotate = float listtype pcdata = [ | `PCDATA
]type txt = [ | `PCDATA
]Element
type svg = [ | `Svg
]type svg_content = [ | animation_element| descriptive_element| shape_element| structural_element| gradient_element| `A| `AltGlyphDef| `ClipPath| `Color_Profile| `Cursor| `Filter| `Font| `Font_Face| `ForeignObject| `Image| `Marker| `Mask| `Pattern| `Script| `Style| `Switch| `Text| `View
]type svg_attr = [ | conditional_processing_attr| core_attr| document_event_attr| graphical_event_attr| presentation_attr| `Class| `Style| `ExternalResourcesRequired| `X| `Y| `Width| `Height| `ViewBox| `PreserveAspectRatio| `ZoomAndPan| `Version| `BaseProfile| `ContentScriptType| `ContentStyleType| `X| `Y
]type g = [ | `G
]type g_content = [ | animation_element| descriptive_element| shape_element| structural_element| gradient_element| `A| `AltGlyphDef| `ClipPath| `Color_Profile| `Cursor| `Filter| `Font| `Font_Face| `ForeignObject| `Image| `Marker| `Mask| `Pattern| `Script| `Style| `Switch| `Text| `View
]type g_attr = [ | conditional_processing_attr| core_attr| graphical_event_attr| presentation_attr| `Class| `Style| `ExternalResourcesRequired| `Transform
]type defs = [ | `Defs
]type defs_content = [ | animation_element| descriptive_element| shape_element| structural_element| gradient_element| `A| `AltGlyphDef| `ClipPath| `Color_Profile| `Cursor| `Filter| `Font| `Font_Face| `ForeignObject| `Image| `Marker| `Mask| `Pattern| `Script| `Style| `Switch| `Text| `View
]type defs_attr = [ | conditional_processing_attr| core_attr| graphical_event_attr| presentation_attr| `Class| `Style| `ExternalResourcesRequired| `Transform
]type desc = [ | `Desc
]type desc_content = [ | `PCDATA
]type title = [ | `Title
]type title_content = [ | `PCDATA
]type title_attr = desc_attrtype symbol = [ | `Symbol
]type symbol_content = [ | animation_element| descriptive_element| structural_element| gradient_element| `A| `AltGlyphDef| `ClipPath| `Color_Profile| `Cursor| `Filter| `Font| `Font_Face| `ForeignObject| `Image| `Marker| `Mask| `Pattern| `Script| `Style| `Switch| `Text| `View
]type symbol_attr = [ | `Class| `Style| `ExternalResourcesRequired| `PreserveAspectRatio| `ViewBox
]type use = [ | `Use
]type use_attr = [ | core_attr| conditional_processing_attr| graphical_event_attr| presentation_attr| xlink_attr| `Class| `Style| `ExternalResourcesRequired| `Transform| `X| `Y| `Width| `Height| `Xlink_href
]type image = [ | `Image
]type image_attr = [ | core_attr| conditional_processing_attr| graphical_event_attr| xlink_attr| presentation_attr| `Class| `Style| `ExternalResourcesRequired| `PreserveAspectRatio| `Transform| `X| `Y| `Width| `Height| `Xlink_href
]type switch = [ | `Switch
]type switch_content = [ | animation_element| descriptive_element| shape_element| `A| `ForeignObject| `G| `Image| `Svg| `Switch| `Text| `Use
]type switch_attr = [ | conditional_processing_attr| core_attr| graphical_event_attr| presentation_attr| `Class| `Style| `ExternalResourcesRequired| `Transform
]type style = [ | `Style
]type style_content = [ | `PCDATA
]type path = [ | `Path
]type path_attr = [ | conditional_processing_attr| core_attr| graphical_event_attr| presentation_attr| `Class| `Style| `ExternalResourcesRequired| `Transform| `D| `PathLength
]type rect = [ | `Rect
]type rect_attr = [ | conditional_processing_attr| core_attr| graphical_event_attr| presentation_attr| `Class| `Style| `ExternalResourcesRequired| `Transform| `X| `Y| `Width| `Height| `Rx| `Ry
]type circle = [ | `Circle
]type circle_attr = [ | conditional_processing_attr| core_attr| graphical_event_attr| presentation_attr| `Class| `Style| `ExternalResourcesRequired| `Transform| `R| `Cx| `Cy
]type ellipse = [ | `Ellipse
]type ellipse_attr = [ | conditional_processing_attr| core_attr| graphical_event_attr| presentation_attr| `Class| `Style| `ExternalResourcesRequired| `Transform| `Rx| `Ry| `Cx| `Cy
]type line = [ | `Line
]type line_attr = [ | conditional_processing_attr| core_attr| graphical_event_attr| presentation_attr| `Class| `Style| `ExternalResourcesRequired| `Transform| `X1| `Y1| `X2| `Y2
]type polyline = [ | `Polyline
]type polyline_attr = [ | conditional_processing_attr| core_attr| graphical_event_attr| presentation_attr| `Class| `Style| `ExternalResourcesRequired| `Transform| `Points
]type polygon = [ | `Polygon
]type polygon_attr = [ | conditional_processing_attr| core_attr| graphical_event_attr| presentation_attr| `Class| `Style| `ExternalResourcesRequired| `Transform| `Points
]type text = [ | `Text
]type text_content = [ | animation_element| descriptive_element| text_content_child_element| `PCDATA| `A
]type text_attr = [ | conditional_processing_attr| core_attr| graphical_event_attr| presentation_attr| `Class| `Transform| `LengthAdjust| `X_list| `Y_list| `Dx_list| `Dy_list| `Rotate| `TextLength
]type tspan = [ | `Tspan
]type tspan_content = [ | descriptive_element| core_attr| `PCDATA| `A| `AltGlyph| `Animate| `AnimateColor| `Set| `Tref| `Tspan
]type tspan_attr = [ | core_attr| conditional_processing_attr| graphical_event_attr| presentation_attr| `Class| `Style| `ExternalResourcesRequired| `X_list| `Y_list| `Dx_list| `Dy_list| `Rotate| `TextLength| `LengthAdjust
]type tref = [ | `Tref
]type tref_attr = [ | conditional_processing_attr| core_attr| graphical_event_attr| presentation_attr| xlink_attr| `Class| `Style| `ExternalResourcesRequired| `Xlink_href
]type textpath = [ | `TextPath
]type textpath_content = [ | descriptive_element| `PCDATA| `A| `AltGlyph| `Animate| `AnimateColor| `Set| `Tref| `Tspan
]type textpath_attr = [ | conditional_processing_attr| core_attr| graphical_event_attr| presentation_attr| xlink_attr| `Class| `Style| `ExternalResourcesRequired| `Xlink_href| `StartOffset| `Method| `Spacing
]type altglyph = [ | `AltGlyph
]type altglyph_content = [ | `PCDATA
]type altglyph_attr = [ | conditional_processing_attr| core_attr| graphical_event_attr| presentation_attr| xlink_attr| `Class| `Style| `ExternalResourcesRequired| `X_list| `Y_list| `Dx_list| `Dy_list| `GlyphRef| `Format| `Rotate| `Xlink_href
]type altglyphdef = [ | `AltGlyphDef
]type altglyphitem = [ | `AltGlyphItem
]type altglyphitem_content = [ | `GlyphRef
]type glyphref = [ | `GlyphRef
]type glyphref_attr = [ | core_attr| presentation_attr| xlink_attr| `Class| `Style| `X| `Y| `Dx| `Dy| `GlyphRef| `Format| `Xlink_href
]type marker = [ | `Marker
]type marker_content = [ | animation_element| descriptive_element| shape_element| structural_element| gradient_element| `A| `AltGlyphDef| `ClipPath| `Color_Profile| `Cursor| `Filter| `Font| `Font_Face| `ForeignObject| `Image| `Marker| `Mask| `Pattern| `Script| `Style| `Switch| `Text| `View
]type marker_attr = [ | core_attr| presentation_attr| `Class| `Style| `ExternalResourcesRequired| `ViewBox| `PreserveAspectRatio| `RefX| `RefY| `MarkerUnits| `MarkerWidth| `MarkerHeight| `Orient
]type colorprofile = [ | `Color_Profile
]type lineargradient = [ | `Lineargradient
]type lineargradient_attr = [ | core_attr| presentation_attr| xlink_attr| `Class| `Style| `ExternalResourcesRequired| `X1| `Y1| `X2| `Y2| `GradientUnits| `GradientTransform| `SpreadMethod| `Xlink_href
]type radialgradient = [ | `Radialgradient
]type radialgradient_attr = [ | core_attr| presentation_attr| xlink_attr| `Class| `Style| `ExternalResourcesRequired| `Cx| `Cy| `R| `Fx| `Fy| `GradientUnits| `GradientTransform| `SpreadMethod| `Xlink_href
]type stop = [ | `Stop
]type stop_content = [ | `Animate| `AnimateColor| `Set
]type pattern = [ | `Pattern
]type pattern_content = [ | animation_element| descriptive_element| shape_element| structural_element| gradient_element| `A| `AltGlyphDef| `ClipPath| `Color_Profile| `Cursor| `Filter| `Font| `Font_Face| `ForeignObject| `Image| `Marker| `Mask| `Pattern| `Script| `Style| `Switch| `Text| `View
]type pattern_attr = [ | conditional_processing_attr| core_attr| presentation_attr| xlink_attr| `Class| `Style| `ExternalResourcesRequired| `ViewBox| `PreserveAspectRatio| `X| `Y| `Width| `Height| `PatternUnits| `PatternContentUnits| `PatternTransform| `Xlink_href
]type clippath = [ | `ClipPath
]type clippath_attr = [ | conditional_processing_attr| core_attr| presentation_attr| `Class| `Style| `ExternalResourcesRequired| `Transform| `ClipPathUnits
]type mask = [ | `Mask
]type mask_content = [ | animation_element| descriptive_element| shape_element| structural_element| gradient_element| `A| `AltGlyphDef| `ClipPath| `Color_Profile| `Cursor| `Filter| `Font| `Font_Face| `ForeignObject| `Image| `Marker| `Mask| `Pattern| `Script| `Style| `Switch| `Text| `View
]type mask_attr = [ | conditional_processing_attr| core_attr| presentation_attr| `Class| `Style| `ExternalResourcesRequired| `X| `Y| `Width| `Height| `MaskUnits| `MaskContentUnits
]type filter = [ | `Filter
]type filter_attr = [ | core_attr| presentation_attr| xlink_attr| `Class| `Style| `ExternalResourcesRequired| `X| `Y| `Width| `Height| `FilterRes| `FilterUnits| `PrimitiveUnits| `Xlink_href
]type fedistantlight = [ | `FeDistantLight
]type fedistantlight_content = [ | `Animate| `Set
]type fepointlight = [ | `FePointLight
]type fepointlight_content = [ | `Animate| `Set
]type fespotlight = [ | `FeSpotLight
]type fespotlight_content = [ | `Animate| `Set
]type fespotlight_attr = [ | core_attr| `X| `Y| `Z| `PointsAtX| `PointsAtY| `PointsAtZ| `SpecularExponent| `LimitingConeAngle
]type feblend = [ | `FeBlend
]type feblend_content = [ | `Animate| `Set
]type feblend_attr = [ | core_attr| presentation_attr| filter_primitive_attr| `Class| `Style| `In| `In2| `Mode
]type fecolormatrix = [ | `FeColorMatrix
]type fecolormatrix_content = [ | `Animate| `Set
]type fecolormatrix_attr = [ | core_attr| presentation_attr| filter_primitive_attr| `Class| `Style| `Typefecolor| `Values| `In
]type fecomponenttransfer = [ | `FeComponentTransfer
]type fecomponenttransfer_content = [ | `FeFuncA| `FeFuncB| `FeFuncG| `FeFuncR
]type fecomponenttransfer_attr = [ | core_attr| presentation_attr| filter_primitive_attr| `Class| `Style| `In
]type fefunca = [ | `FeFuncA
]type fefunca_content = [ | `Animate| `Set
]type fefuncg = [ | `FeFuncG
]type fefuncg_content = [ | `Animate| `Set
]type fefuncb = [ | `FeFuncB
]type fefuncb_content = [ | `Animate| `Set
]type fefuncr = [ | `FeFuncR
]type fefuncr_content = [ | `Animate| `Set
]type fecomposite = [ | `FeComposite
]type fecomposite_content = [ | `Animate| `Set
]type fecomposite_attr = [ | core_attr| presentation_attr| filter_primitive_attr| `Class| `Style| `In| `In2| `OperatorComposite| `K1| `K2| `K3| `K4
]type feconvolvematrix = [ | `FeConvolveMatrix
]type feconvolvematrix_content = [ | `Animate| `Set
]type feconvolvematrix_attr = [ | core_attr| presentation_attr| filter_primitive_attr| `Class| `Style| `In| `Order| `KernelMatrix| `Divisor| `Bias| `TargetX| `TargetY| `EdgeMode| `KernelUnitLength| `PreserveAlpha
]type fediffuselighting = [ | `FeDiffuseLighting
]type fediffuselighting_attr = [ | core_attr| filter_primitive_attr| presentation_attr| `Class| `Style| `In| `SurfaceScale| `DiffuseConstant| `KernelUnitLength
]type fedisplacementmap = [ | `FeDisplacementMap
]type fedisplacementmap_content = [ | `Animate| `Set
]type fedisplacementmap_attr = [ | core_attr| filter_primitive_attr| presentation_attr| `Class| `Style| `In| `In2| `Scale| `XChannelSelector| `YChannelSelector
]type feflood = [ | `FeFlood
]type feflood_content = [ | `Animate| `AnimateColor| `Set
]type fegaussianblur = [ | `FeGaussianBlur
]type fegaussianblur_content = [ | `Animate| `AnimateColor| `Set
]type fegaussianblur_attr = [ | core_attr| presentation_attr| filter_primitive_attr| `Class| `Style| `In| `StdDeviation
]type feimage = [ | `FeImage
]type feimage_content = [ | `Animate| `AnimateColor| `Set
]type feimage_attr = [ | core_attr| presentation_attr| filter_primitive_attr| xlink_attr| `Xlink_href| `Class| `Style| `ExternalResourcesRequired| `PreserveAspectRatio
]type femerge = [ | `FeMerge
]type femerge_content = [ | `FeMergeNode
]type femorphology = [ | `FeMorphology
]type femorphology_content = [ | `Animate| `Set
]type femorphology_attr = [ | core_attr| presentation_attr| filter_primitive_attr| `OperatorMorphology| `Class| `Style| `In| `Radius
]type feoffset = [ | `FeOffset
]type feoffset_content = [ | `Animate| `Set
]type feoffset_attr = [ | core_attr| presentation_attr| filter_primitive_attr| `Class| `Style| `Dx| `Dy| `In
]type fespecularlighting = [ | `FeSpecularLighting
]type fespecularlighting_attr = [ | core_attr| presentation_attr| filter_primitive_attr| `Class| `Style| `In| `SurfaceScale| `SpecularConstant| `SpecularExponent| `KernelUnitLength
]type fetile = [ | `FeTile
]type fetile_content = [ | `Animate| `Set
]type feturbulence = [ | `FeTurbulence
]type feturbulence_content = [ | `Animate| `Set
]type feturbulence_attr = [ | core_attr| presentation_attr| filter_primitive_attr| `Class| `Style| `BaseFrequency| `NumOctaves| `Seed| `StitchTiles| `TypeStitch
]type cursor = [ | `Cursor
]type cursor_content = descriptive_elementtype cursor_attr = [ | core_attr| conditional_processing_attr| xlink_attr| `X| `Y| `ExternalResourcesRequired| `Xlink_href
]type a = [ | `A
]type a_content = [ | animation_element| descriptive_element| shape_element| structural_element| gradient_element| `A| `AltGlyphDef| `ClipPath| `Color_Profile| `Cursor| `Filter| `Font| `Font_Face| `ForeignObject| `Image| `Marker| `Mask| `Pattern| `Script| `Style| `Switch| `Text| `View
]type a_attr = [ | core_attr| conditional_processing_attr| xlink_attr| graphical_event_attr| presentation_attr| `Class| `Style| `ExternalResourcesRequired| `Transform| `Xlink_href| `Xlink_show| `Xlink_actuate| `Target
]type view = [ | `View
]type view_content = descriptive_elementtype view_attr = [ | core_attr| `ExternalResourcesRequired| `ViewBox| `PreserveAspectRatio| `ZoomAndPan| `ViewTarget
]type script = [ | `Script
]type script_content = [ | `PCDATA
]type animate = [ | `Animate
]type animate_content = descriptive_elementtype animate_attr = [ | conditional_processing_attr| core_attr| animation_event_attr| xlink_attr| animation_attr_target_attr| animation_timing_attr| animation_value_attr| animation_addition_attr| `ExternalResourcesRequired
]type set = [ | `Set
]type set_content = descriptive_elementtype set_attr = [ | core_attr| conditional_processing_attr| xlink_attr| animation_event_attr| animation_attr_target_attr| animation_timing_attr| `To| `ExternalResourcesRequired
]type animatemotion = [ | `AnimateMotion
]type animatemotion_attr = [ | conditional_processing_attr| core_attr| animation_event_attr| xlink_attr| animation_timing_attr| animation_value_attr| animation_addition_attr| `ExternalResourcesRequired| `Path| `KeyPoints| `Rotate| `Origin
]type mpath = [ | `Mpath
]type mpath_content = descriptive_elementtype animatecolor = [ | `AnimateColor
]type animatecolor_content = descriptive_elementtype animatecolor_attr = [ | conditional_processing_attr| core_attr| animation_event_attr| xlink_attr| animation_attr_target_attr| animation_timing_attr| animation_value_attr| animation_addition_attr| `ExternalResourcesRequired
]type animatetransform = [ | `AnimateTransform
]type animatetransform_content = descriptive_elementtype animatetransform_attr = [ | conditional_processing_attr| core_attr| animation_event_attr| xlink_attr| animation_attr_target_attr| animation_timing_attr| animation_value_attr| animation_addition_attr| `ExternalResourcesRequired| `Typeanimatetransform
]type font = [ | `Font
]type font_attr = [ | core_attr| presentation_attr| `Class| `Style| `ExternalResourcesRequired| `HorizOriginX| `HorizOriginY| `HorizAdvX| `VertOriginX| `VertOriginY| `VertAdvY
]type glyph = [ | `Glyph
]type glyph_content = [ | animation_element| descriptive_element| shape_element| structural_element| gradient_element| `A| `AltGlyphDef| `ClipPath| `Color_Profile| `Cursor| `Filter| `Font| `Font_Face| `ForeignObject| `Image| `Marker| `Mask| `Pattern| `Script| `Style| `Switch| `Text| `View
]type glyph_attr = [ | core_attr| presentation_attr| `Class| `Style| `D| `HorizAdvX| `VertOriginX| `VertOriginY| `VertAdvY| `Unicode| `GlyphName| `Orientation| `ArabicForm| `Lang
]type missingglyph = [ | `MissingGlyph
]type missingglyph_content = [ | animation_element| descriptive_element| shape_element| structural_element| gradient_element| `A| `AltGlyphDef| `ClipPath| `Color_Profile| `Cursor| `Filter| `Font| `Font_Face| `ForeignObject| `Image| `Marker| `Mask| `Pattern| `Script| `Style| `Switch| `Text| `View
]type missingglyph_attr = [ | core_attr| presentation_attr| `Class| `Style| `D| `HorizAdvX| `VertOriginX| `VertOriginY| `VertAdvY
]type hkern = [ | `Hkern
]type vkern = [ | `Vkern
]type font_face = [ | `Font_Face
]type font_face_attr = [ | core_attr| `Font_Family| `Font_Style| `Font_Variant| `Font_Weight| `Font_Stretch| `Font_Size| `UnicodeRange| `UnitsPerEm| `Panose1| `Stemv| `Stemh| `Slope| `CapHeight| `XHeight| `AccentHeight| `Ascent| `Descent| `Widths| `Bbox| `Ideographic| `Alphabetic| `Mathematical| `Hanging| `VIdeographic| `VAlphabetic| `VMathematical| `VHanging| `UnderlinePosition| `UnderlineThickness| `StrikethroughPosition| `StrikethroughThickness| `OverlinePosition| `OverlineThickness
]type font_face_src = [ | `Font_Face_Src
]type font_face_src_content = [ | `Font_Face_Name| `Font_Face_Uri
]type font_face_src_attr = core_attrtype font_face_uri = [ | `Font_Face_Uri
]type font_face_uri_content = [ | `Font_Face_Format
]type font_face_format = [ | `Font_Face_Format
]type font_face_name = [ | `Font_Face_Name
]type metadata = [ | `Metadata
]type foreignobject = [ | `ForeignObject
]type foreignobject_attr = [ | core_attr| conditional_processing_attr| graphical_event_attr| presentation_attr| `Class| `Style| `ExternalResourcesRequired| `Transform| `X| `Y| `Width| `Height
]type alignment_baseline = [ | `After_edge| `Alphabetic| `Auto| `Baseline| `Before_edge| `Central| `Hanging| `Ideographic| `Inherit| `Mathematical| `Middle| `Text_after_edge| `Text_before_edge
]type dominant_baseline = [ | `Auto| `Use_script| `No_change| `Reset_size| `Ideographic| `Alphabetic| `Hanging| `Mathematical| `Central| `Middle| `Text_after_edge| `Text_before_edge| `Inherit
]type in_value = [ | `SourceGraphic| `SourceAlpha| `BackgroundImage| `BackgroundAlpha| `FillPaint| `StrokePaint| `Ref of string
]type big_variant = [ | `A| `Absolute_colorimetric| `Align| `Always| `Atop| `Arithmetic| `Auto| `B| `Bevel| `Blink| `Butt| `CSS| `Darken| `Default| `Dilate| `Disable| `Discrete| `Duplicate| `End| `Erode| `Exact| `FractalNoise| `Freeze| `HueRotate| `G| `Gamma| `GeometricPrecision| `H| `Identity| `In| `Inherit| `Initial| `Isolated| `Lighten| `Line_through| `Linear| `LuminanceToAlpha| `Magnify| `Matrix| `Medial| `Middle| `Miter| `Multiply| `Never| `New| `None| `Normal| `NoStitch| `ObjectBoundingBox| `OnLoad| `OnRequest| `OptimizeLegibility| `OptimizeSpeed| `Other| `Out| `Over| `Overline| `Paced| `Pad| `Perceptual| `Preserve| `R| `Reflect| `Remove| `Repeat| `Replace| `Relative_colorimetric| `Rotate| `Round| `Saturate| `Saturation| `Scale| `Screen| `SkewX| `SkewY| `Spacing| `SpacingAndGlyphs| `Spline| `Square| `Start| `Stitch| `Stretch| `StrokeWidth| `Sum| `Table| `Terminal| `Translate| `Turbulence| `Underline| `UserSpaceOnUse| `V| `WhenNotActive| `Wrap| `XML| `Xor
]Deprecated
type animation = animatetype animation_content = animate_contenttype animation_attr = animate_attr