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

Module Svg_types

module Svg_types : sig..end

SVG types with variants, goes with Svg_sigs.T.


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.

Categories of elements and attributes

This part defines the categories of elements and attributes

Elements

type animation_element = 
  [ `Animate | `AnimateColor | `AnimateMotion | `AnimateTransform | `Set ]
type descriptive_element = [ `Desc | `Metadata | `Title ]
type basic_shape_element = [ `Circle | `Ellipse | `Line | `Polygon | `Polyline | `Rect ]
type container_element = 
  [ `A
  | `Defs
  | `G
  | `Glyph
  | `Marker
  | `Mask
  | `Missing_glyph
  | `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 | `Polygon | `Polyline | `Rect ]
type structural_element = [ `Defs | `G | `Svg | `Symbol | `Use ]
type text_content_element = [ `AltGlyph | `Text | `TextPath | `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 ]
type transfer_attr = 
  [ `Amplitude
  | `Exponent
  | `Intercept
  | `Offset_transfer
  | `Slope
  | `TableValues
  | `Type_transfert ]
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 | `OnLoad | `OnRepeat ]
type animation_attr_target_attr = [ `AttributeName | `AttributeType ]
type animation_timing_attr = 
  [ `Begin
  | `Dur
  | `End
  | `Fill_Animation
  | `Max
  | `Min
  | `RepeatCount
  | `RepeatDur
  | `Restart ]
type animation_value_attr = 
  [ `By
  | `CalcMode
  | `From
  | `KeySplines
  | `KeyTimes
  | `To
  | `Valuesanim ]
type animation_addition_attr = [ `Accumulate | `Additive ]
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 ]

Generic data types

type iri = string

An 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..end

SVG defines several units to measure time, length, angles.

type coord = Unit.length
type number = float
type number_optional_number = number * number option
type percentage = float
type strings = string list
type color = string
type icccolor = string
type paint_whitout_icc = 
  [ `Color of color * icccolor option
  | `CurrentColor
  | `None ]
type paint = 
  [ `Color of color * icccolor option
  | `CurrentColor
  | `Icc of iri * paint_whitout_icc option
  | `None ]
type transform = 
  [ `Matrix of float * float * float * float * float * float
  | `Rotate of Unit.angle * (float * float) option
  | `Scale of float * float option
  | `SkewX of Unit.angle
  | `SkewY of Unit.angle
  | `Translate of float * float option ]
type spacestrings = string list
type commastrings = string list
type transforms = transform list
type fourfloats = float * float * float * float
type lengths = Unit.length list
type numbers = float list
type numbers_semicolon = float list
type coords = (float * float) list
type rotate = float list
type pcdata = [ `PCDATA ]
type txt = [ `PCDATA ]

Element

type svg = [ `Svg ]
type svg_content = 
  [ `A
  | `AltGlyphDef
  | `Animate
  | `AnimateColor
  | `AnimateMotion
  | `AnimateTransform
  | `Circle
  | `ClipPath
  | `Color_Profile
  | `Cursor
  | `Defs
  | `Desc
  | `Ellipse
  | `Filter
  | `Font
  | `Font_Face
  | `ForeignObject
  | `G
  | `Image
  | `Line
  | `Lineargradient
  | `Marker
  | `Mask
  | `Metadata
  | `Path
  | `Pattern
  | `Polygon
  | `Polyline
  | `Radialgradient
  | `Rect
  | `Script
  | `Set
  | `Style
  | `Svg
  | `Switch
  | `Symbol
  | `Text
  | `Title
  | `Use
  | `View ]
type svg_attr = 
  [ `Alignment_Baseline
  | `BaseProfile
  | `Baseline_Shift
  | `Class
  | `Clip
  | `Clip_Path
  | `Clip_Rule
  | `Color
  | `Color_Interpolation
  | `Color_interpolation_filters
  | `Color_profile
  | `Color_rendering
  | `ContentScriptType
  | `ContentStyleType
  | `Cursor
  | `Direction
  | `Display
  | `Dominant_Baseline
  | `Enable_background
  | `ExternalResourcesRequired
  | `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
  | `Height
  | `Id
  | `Image_Rendering
  | `Kerning
  | `Letter_Spacing
  | `Lighting_Color
  | `Marker_End
  | `Marker_Mid
  | `Marker_Start
  | `Mask
  | `OnAbort
  | `OnActivate
  | `OnClick
  | `OnError
  | `OnFocusIn
  | `OnFocusOut
  | `OnLoad
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `OnResize
  | `OnScroll
  | `OnUnload
  | `OnZoom
  | `Opacity
  | `Overflow
  | `Pointer_Events
  | `PreserveAspectRatio
  | `RequiredExtensions
  | `RequiredFeatures
  | `Shape_Rendering
  | `Stop_Color
  | `Stop_Opacity
  | `Stroke
  | `Stroke_Dasharray
  | `Stroke_Dashoffset
  | `Stroke_Linecap
  | `Stroke_Linejoin
  | `Stroke_Miterlimit
  | `Stroke_Opacity
  | `Stroke_Width
  | `Style
  | `SystemLanguage
  | `Text_Anchor
  | `Text_Decoration
  | `Text_Rendering
  | `Unicode_Bidi
  | `Version
  | `ViewBox
  | `Visibility
  | `Width
  | `Word_Spacing
  | `Writing_Mode
  | `X
  | `Xml_base
  | `Xml_lang
  | `Xml_space
  | `Y
  | `ZoomAndPlan ]
type g = [ `G ]
type g_content = 
  [ `A
  | `AltGlyphDef
  | `Animate
  | `AnimateColor
  | `AnimateMotion
  | `AnimateTransform
  | `Circle
  | `ClipPath
  | `Color_Profile
  | `Cursor
  | `Defs
  | `Desc
  | `Ellipse
  | `Filter
  | `Font
  | `Font_Face
  | `ForeignObject
  | `G
  | `Image
  | `Line
  | `Lineargradient
  | `Marker
  | `Mask
  | `Metadata
  | `Path
  | `Pattern
  | `Polygon
  | `Polyline
  | `Radialgradient
  | `Rect
  | `Script
  | `Set
  | `Style
  | `Svg
  | `Switch
  | `Symbol
  | `Text
  | `Title
  | `Use
  | `View ]
type g_attr = 
  [ `Alignment_Baseline
  | `Baseline_Shift
  | `Class
  | `Clip
  | `Clip_Path
  | `Clip_Rule
  | `Color
  | `Color_Interpolation
  | `Color_interpolation_filters
  | `Color_profile
  | `Color_rendering
  | `Cursor
  | `Direction
  | `Display
  | `Dominant_Baseline
  | `Enable_background
  | `ExternalResourcesRequired
  | `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
  | `Id
  | `Image_Rendering
  | `Kerning
  | `Letter_Spacing
  | `Lighting_Color
  | `Marker_End
  | `Marker_Mid
  | `Marker_Start
  | `Mask
  | `OnActivate
  | `OnClick
  | `OnFocusIn
  | `OnFocusOut
  | `OnLoad
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `Opacity
  | `Overflow
  | `Pointer_Events
  | `RequiredExtensions
  | `RequiredFeatures
  | `Shape_Rendering
  | `Stop_Color
  | `Stop_Opacity
  | `Stroke
  | `Stroke_Dasharray
  | `Stroke_Dashoffset
  | `Stroke_Linecap
  | `Stroke_Linejoin
  | `Stroke_Miterlimit
  | `Stroke_Opacity
  | `Stroke_Width
  | `Style
  | `SystemLanguage
  | `Text_Anchor
  | `Text_Decoration
  | `Text_Rendering
  | `Transform
  | `Unicode_Bidi
  | `Visibility
  | `Word_Spacing
  | `Writing_Mode
  | `Xml_base
  | `Xml_lang
  | `Xml_space ]
type defs = [ `Defs ]
type defs_content = 
  [ `A
  | `AltGlyphDef
  | `Animate
  | `AnimateColor
  | `AnimateMotion
  | `AnimateTransform
  | `Circle
  | `ClipPath
  | `Color_Profile
  | `Cursor
  | `Defs
  | `Desc
  | `Ellipse
  | `Filter
  | `Font
  | `Font_Face
  | `ForeignObject
  | `G
  | `Image
  | `Line
  | `Lineargradient
  | `Marker
  | `Mask
  | `Metadata
  | `Path
  | `Pattern
  | `Polygon
  | `Polyline
  | `Radialgradient
  | `Rect
  | `Script
  | `Set
  | `Style
  | `Svg
  | `Switch
  | `Symbol
  | `Text
  | `Title
  | `Use
  | `View ]
type defs_attr = 
  [ `Alignment_Baseline
  | `Baseline_Shift
  | `Class
  | `Clip
  | `Clip_Path
  | `Clip_Rule
  | `Color
  | `Color_Interpolation
  | `Color_interpolation_filters
  | `Color_profile
  | `Color_rendering
  | `Cursor
  | `Direction
  | `Display
  | `Dominant_Baseline
  | `Enable_background
  | `ExternalResourcesRequired
  | `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
  | `Id
  | `Image_Rendering
  | `Kerning
  | `Letter_Spacing
  | `Lighting_Color
  | `Marker_End
  | `Marker_Mid
  | `Marker_Start
  | `Mask
  | `OnActivate
  | `OnClick
  | `OnFocusIn
  | `OnFocusOut
  | `OnLoad
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `Opacity
  | `Overflow
  | `Pointer_Events
  | `RequiredExtensions
  | `RequiredFeatures
  | `Shape_Rendering
  | `Stop_Color
  | `Stop_Opacity
  | `Stroke
  | `Stroke_Dasharray
  | `Stroke_Dashoffset
  | `Stroke_Linecap
  | `Stroke_Linejoin
  | `Stroke_Miterlimit
  | `Stroke_Opacity
  | `Stroke_Width
  | `Style
  | `SystemLanguage
  | `Text_Anchor
  | `Text_Decoration
  | `Text_Rendering
  | `Transform
  | `Unicode_Bidi
  | `Visibility
  | `Word_Spacing
  | `Writing_Mode
  | `Xml_base
  | `Xml_lang
  | `Xml_space ]
type desc = [ `Desc ]
type desc_content = [ `PCDATA ]
type desc_attr = [ `Class | `Id | `Style | `Xml_base | `Xml_lang | `Xml_space ]
type title = [ `Title ]
type title_content = [ `PCDATA ]
type title_attr = desc_attr
type symbol = [ `Symbol ]
type symbol_content = 
  [ `A
  | `AltGlyphDef
  | `Animate
  | `AnimateColor
  | `AnimateMotion
  | `AnimateTransform
  | `ClipPath
  | `Color_Profile
  | `Cursor
  | `Defs
  | `Desc
  | `Filter
  | `Font
  | `Font_Face
  | `ForeignObject
  | `G
  | `Image
  | `Lineargradient
  | `Marker
  | `Mask
  | `Metadata
  | `Pattern
  | `Radialgradient
  | `Script
  | `Set
  | `Style
  | `Svg
  | `Switch
  | `Symbol
  | `Text
  | `Title
  | `Use
  | `View ]
type symbol_attr = 
  [ `Class
  | `ExternalResourcesRequired
  | `PreserveAspectRatio
  | `Style
  | `ViewBox ]
type use = [ `Use ]
type use_content = 
  [ `Animate
  | `AnimateColor
  | `AnimateMotion
  | `AnimateTransform
  | `Desc
  | `Metadata
  | `Set
  | `Title ]
type use_attr = 
  [ `Alignment_Baseline
  | `Baseline_Shift
  | `Class
  | `Clip
  | `Clip_Path
  | `Clip_Rule
  | `Color
  | `Color_Interpolation
  | `Color_interpolation_filters
  | `Color_profile
  | `Color_rendering
  | `Cursor
  | `Direction
  | `Display
  | `Dominant_Baseline
  | `Enable_background
  | `ExternalResourcesRequired
  | `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
  | `Height
  | `Id
  | `Image_Rendering
  | `Kerning
  | `Letter_Spacing
  | `Lighting_Color
  | `Marker_End
  | `Marker_Mid
  | `Marker_Start
  | `Mask
  | `OnActivate
  | `OnClick
  | `OnFocusIn
  | `OnFocusOut
  | `OnLoad
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `Opacity
  | `Overflow
  | `Pointer_Events
  | `RequiredExtensions
  | `RequiredFeatures
  | `Shape_Rendering
  | `Stop_Color
  | `Stop_Opacity
  | `Stroke
  | `Stroke_Dasharray
  | `Stroke_Dashoffset
  | `Stroke_Linecap
  | `Stroke_Linejoin
  | `Stroke_Miterlimit
  | `Stroke_Opacity
  | `Stroke_Width
  | `Style
  | `SystemLanguage
  | `Text_Anchor
  | `Text_Decoration
  | `Text_Rendering
  | `Transform
  | `Unicode_Bidi
  | `Visibility
  | `Width
  | `Word_Spacing
  | `Writing_Mode
  | `X
  | `Xlink_actuate
  | `Xlink_arcrole
  | `Xlink_href
  | `Xlink_role
  | `Xlink_show
  | `Xlink_title
  | `Xlink_type
  | `Xml_base
  | `Xml_lang
  | `Xml_space
  | `Y ]
type image = [ `Image ]
type image_content = 
  [ `Animate
  | `AnimateColor
  | `AnimateMotion
  | `AnimateTransform
  | `Desc
  | `Metadata
  | `Set
  | `Title ]
type image_attr = 
  [ `Alignment_Baseline
  | `Baseline_Shift
  | `Class
  | `Clip
  | `Clip_Path
  | `Clip_Rule
  | `Color
  | `Color_Interpolation
  | `Color_interpolation_filters
  | `Color_profile
  | `Color_rendering
  | `Cursor
  | `Direction
  | `Display
  | `Dominant_Baseline
  | `Enable_background
  | `ExternalResourcesRequired
  | `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
  | `Height
  | `Id
  | `Image_Rendering
  | `Kerning
  | `Letter_Spacing
  | `Lighting_Color
  | `Marker_End
  | `Marker_Mid
  | `Marker_Start
  | `Mask
  | `OnActivate
  | `OnClick
  | `OnFocusIn
  | `OnFocusOut
  | `OnLoad
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `Opacity
  | `Overflow
  | `Pointer_Events
  | `PreserveAspectRatio
  | `RequiredExtensions
  | `RequiredFeatures
  | `Shape_Rendering
  | `Stop_Color
  | `Stop_Opacity
  | `Stroke
  | `Stroke_Dasharray
  | `Stroke_Dashoffset
  | `Stroke_Linecap
  | `Stroke_Linejoin
  | `Stroke_Miterlimit
  | `Stroke_Opacity
  | `Stroke_Width
  | `Style
  | `SystemLanguage
  | `Text_Anchor
  | `Text_Decoration
  | `Text_Rendering
  | `Transform
  | `Unicode_Bidi
  | `Visibility
  | `Width
  | `Word_Spacing
  | `Writing_Mode
  | `X
  | `Xlink_actuate
  | `Xlink_arcrole
  | `Xlink_href
  | `Xlink_role
  | `Xlink_show
  | `Xlink_title
  | `Xlink_type
  | `Xml_base
  | `Xml_lang
  | `Xml_space
  | `Y ]
type switch = [ `Switch ]
type switch_content = 
  [ `A
  | `Animate
  | `AnimateColor
  | `AnimateMotion
  | `AnimateTransform
  | `Circle
  | `Desc
  | `Ellipse
  | `ForeignObject
  | `G
  | `Image
  | `Line
  | `Metadata
  | `Path
  | `Polygon
  | `Polyline
  | `Rect
  | `Set
  | `Svg
  | `Switch
  | `Text
  | `Title
  | `Use ]
type switch_attr = 
  [ `Alignment_Baseline
  | `Baseline_Shift
  | `Class
  | `Clip
  | `Clip_Path
  | `Clip_Rule
  | `Color
  | `Color_Interpolation
  | `Color_interpolation_filters
  | `Color_profile
  | `Color_rendering
  | `Cursor
  | `Direction
  | `Display
  | `Dominant_Baseline
  | `Enable_background
  | `ExternalResourcesRequired
  | `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
  | `Id
  | `Image_Rendering
  | `Kerning
  | `Letter_Spacing
  | `Lighting_Color
  | `Marker_End
  | `Marker_Mid
  | `Marker_Start
  | `Mask
  | `OnActivate
  | `OnClick
  | `OnFocusIn
  | `OnFocusOut
  | `OnLoad
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `Opacity
  | `Overflow
  | `Pointer_Events
  | `RequiredExtensions
  | `RequiredFeatures
  | `Shape_Rendering
  | `Stop_Color
  | `Stop_Opacity
  | `Stroke
  | `Stroke_Dasharray
  | `Stroke_Dashoffset
  | `Stroke_Linecap
  | `Stroke_Linejoin
  | `Stroke_Miterlimit
  | `Stroke_Opacity
  | `Stroke_Width
  | `Style
  | `SystemLanguage
  | `Text_Anchor
  | `Text_Decoration
  | `Text_Rendering
  | `Transform
  | `Unicode_Bidi
  | `Visibility
  | `Word_Spacing
  | `Writing_Mode
  | `Xml_base
  | `Xml_lang
  | `Xml_space ]
type style = [ `Style ]
type style_content = [ `PCDATA ]
type style_attr = 
  [ `Id | `Media | `Title | `Type | `Xml_base | `Xml_lang | `Xml_space ]
type path = [ `Path ]
type path_content = 
  [ `Animate
  | `AnimateColor
  | `AnimateMotion
  | `AnimateTransform
  | `Desc
  | `Metadata
  | `Set
  | `Title ]
type path_attr = 
  [ `Alignment_Baseline
  | `Baseline_Shift
  | `Class
  | `Clip
  | `Clip_Path
  | `Clip_Rule
  | `Color
  | `Color_Interpolation
  | `Color_interpolation_filters
  | `Color_profile
  | `Color_rendering
  | `Cursor
  | `D
  | `Direction
  | `Display
  | `Dominant_Baseline
  | `Enable_background
  | `ExternalResourcesRequired
  | `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
  | `Id
  | `Image_Rendering
  | `Kerning
  | `Letter_Spacing
  | `Lighting_Color
  | `Marker_End
  | `Marker_Mid
  | `Marker_Start
  | `Mask
  | `OnActivate
  | `OnClick
  | `OnFocusIn
  | `OnFocusOut
  | `OnLoad
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `Opacity
  | `Overflow
  | `PathLength
  | `Pointer_Events
  | `RequiredExtensions
  | `RequiredFeatures
  | `Shape_Rendering
  | `Stop_Color
  | `Stop_Opacity
  | `Stroke
  | `Stroke_Dasharray
  | `Stroke_Dashoffset
  | `Stroke_Linecap
  | `Stroke_Linejoin
  | `Stroke_Miterlimit
  | `Stroke_Opacity
  | `Stroke_Width
  | `Style
  | `SystemLanguage
  | `Text_Anchor
  | `Text_Decoration
  | `Text_Rendering
  | `Transform
  | `Unicode_Bidi
  | `Visibility
  | `Word_Spacing
  | `Writing_Mode
  | `Xml_base
  | `Xml_lang
  | `Xml_space ]
type rect = [ `Rect ]
type rect_content = 
  [ `Animate
  | `AnimateColor
  | `AnimateMotion
  | `AnimateTransform
  | `Desc
  | `Metadata
  | `Set
  | `Title ]
type rect_attr = 
  [ `Alignment_Baseline
  | `Baseline_Shift
  | `Class
  | `Clip
  | `Clip_Path
  | `Clip_Rule
  | `Color
  | `Color_Interpolation
  | `Color_interpolation_filters
  | `Color_profile
  | `Color_rendering
  | `Cursor
  | `Direction
  | `Display
  | `Dominant_Baseline
  | `Enable_background
  | `ExternalResourcesRequired
  | `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
  | `Height
  | `Id
  | `Image_Rendering
  | `Kerning
  | `Letter_Spacing
  | `Lighting_Color
  | `Marker_End
  | `Marker_Mid
  | `Marker_Start
  | `Mask
  | `OnActivate
  | `OnClick
  | `OnFocusIn
  | `OnFocusOut
  | `OnLoad
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `Opacity
  | `Overflow
  | `Pointer_Events
  | `RequiredExtensions
  | `RequiredFeatures
  | `Rx
  | `Ry
  | `Shape_Rendering
  | `Stop_Color
  | `Stop_Opacity
  | `Stroke
  | `Stroke_Dasharray
  | `Stroke_Dashoffset
  | `Stroke_Linecap
  | `Stroke_Linejoin
  | `Stroke_Miterlimit
  | `Stroke_Opacity
  | `Stroke_Width
  | `Style
  | `SystemLanguage
  | `Text_Anchor
  | `Text_Decoration
  | `Text_Rendering
  | `Transform
  | `Unicode_Bidi
  | `Visibility
  | `Width
  | `Word_Spacing
  | `Writing_Mode
  | `X
  | `Xml_base
  | `Xml_lang
  | `Xml_space
  | `Y ]
type circle = [ `Circle ]
type circle_content = 
  [ `Animate
  | `AnimateColor
  | `AnimateMotion
  | `AnimateTransform
  | `Desc
  | `Metadata
  | `Set
  | `Title ]
type circle_attr = 
  [ `Alignment_Baseline
  | `Baseline_Shift
  | `Class
  | `Clip
  | `Clip_Path
  | `Clip_Rule
  | `Color
  | `Color_Interpolation
  | `Color_interpolation_filters
  | `Color_profile
  | `Color_rendering
  | `Cursor
  | `Cx
  | `Cy
  | `Direction
  | `Display
  | `Dominant_Baseline
  | `Enable_background
  | `ExternalResourcesRequired
  | `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
  | `Id
  | `Image_Rendering
  | `Kerning
  | `Letter_Spacing
  | `Lighting_Color
  | `Marker_End
  | `Marker_Mid
  | `Marker_Start
  | `Mask
  | `OnActivate
  | `OnClick
  | `OnFocusIn
  | `OnFocusOut
  | `OnLoad
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `Opacity
  | `Overflow
  | `Pointer_Events
  | `R
  | `RequiredExtensions
  | `RequiredFeatures
  | `Shape_Rendering
  | `Stop_Color
  | `Stop_Opacity
  | `Stroke
  | `Stroke_Dasharray
  | `Stroke_Dashoffset
  | `Stroke_Linecap
  | `Stroke_Linejoin
  | `Stroke_Miterlimit
  | `Stroke_Opacity
  | `Stroke_Width
  | `Style
  | `SystemLanguage
  | `Text_Anchor
  | `Text_Decoration
  | `Text_Rendering
  | `Transform
  | `Unicode_Bidi
  | `Visibility
  | `Word_Spacing
  | `Writing_Mode
  | `Xml_base
  | `Xml_lang
  | `Xml_space ]
type ellipse = [ `Ellipse ]
type ellipse_content = 
  [ `Animate
  | `AnimateColor
  | `AnimateMotion
  | `AnimateTransform
  | `Desc
  | `Metadata
  | `Set
  | `Title ]
type ellipse_attr = 
  [ `Alignment_Baseline
  | `Baseline_Shift
  | `Class
  | `Clip
  | `Clip_Path
  | `Clip_Rule
  | `Color
  | `Color_Interpolation
  | `Color_interpolation_filters
  | `Color_profile
  | `Color_rendering
  | `Cursor
  | `Cx
  | `Cy
  | `Direction
  | `Display
  | `Dominant_Baseline
  | `Enable_background
  | `ExternalResourcesRequired
  | `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
  | `Id
  | `Image_Rendering
  | `Kerning
  | `Letter_Spacing
  | `Lighting_Color
  | `Marker_End
  | `Marker_Mid
  | `Marker_Start
  | `Mask
  | `OnActivate
  | `OnClick
  | `OnFocusIn
  | `OnFocusOut
  | `OnLoad
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `Opacity
  | `Overflow
  | `Pointer_Events
  | `RequiredExtensions
  | `RequiredFeatures
  | `Rx
  | `Ry
  | `Shape_Rendering
  | `Stop_Color
  | `Stop_Opacity
  | `Stroke
  | `Stroke_Dasharray
  | `Stroke_Dashoffset
  | `Stroke_Linecap
  | `Stroke_Linejoin
  | `Stroke_Miterlimit
  | `Stroke_Opacity
  | `Stroke_Width
  | `Style
  | `SystemLanguage
  | `Text_Anchor
  | `Text_Decoration
  | `Text_Rendering
  | `Transform
  | `Unicode_Bidi
  | `Visibility
  | `Word_Spacing
  | `Writing_Mode
  | `Xml_base
  | `Xml_lang
  | `Xml_space ]
type line = [ `Line ]
type line_content = 
  [ `Animate
  | `AnimateColor
  | `AnimateMotion
  | `AnimateTransform
  | `Desc
  | `Metadata
  | `Set
  | `Title ]
type line_attr = 
  [ `Alignment_Baseline
  | `Baseline_Shift
  | `Class
  | `Clip
  | `Clip_Path
  | `Clip_Rule
  | `Color
  | `Color_Interpolation
  | `Color_interpolation_filters
  | `Color_profile
  | `Color_rendering
  | `Cursor
  | `Direction
  | `Display
  | `Dominant_Baseline
  | `Enable_background
  | `ExternalResourcesRequired
  | `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
  | `Id
  | `Image_Rendering
  | `Kerning
  | `Letter_Spacing
  | `Lighting_Color
  | `Marker_End
  | `Marker_Mid
  | `Marker_Start
  | `Mask
  | `OnActivate
  | `OnClick
  | `OnFocusIn
  | `OnFocusOut
  | `OnLoad
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `Opacity
  | `Overflow
  | `Pointer_Events
  | `RequiredExtensions
  | `RequiredFeatures
  | `Shape_Rendering
  | `Stop_Color
  | `Stop_Opacity
  | `Stroke
  | `Stroke_Dasharray
  | `Stroke_Dashoffset
  | `Stroke_Linecap
  | `Stroke_Linejoin
  | `Stroke_Miterlimit
  | `Stroke_Opacity
  | `Stroke_Width
  | `Style
  | `SystemLanguage
  | `Text_Anchor
  | `Text_Decoration
  | `Text_Rendering
  | `Transform
  | `Unicode_Bidi
  | `Visibility
  | `Word_Spacing
  | `Writing_Mode
  | `X1
  | `X2
  | `Xml_base
  | `Xml_lang
  | `Xml_space
  | `Y1
  | `Y2 ]
type polyline = [ `Polyline ]
type polyline_content = 
  [ `Animate
  | `AnimateColor
  | `AnimateMotion
  | `AnimateTransform
  | `Desc
  | `Metadata
  | `Set
  | `Title ]
type polyline_attr = 
  [ `Alignment_Baseline
  | `Baseline_Shift
  | `Class
  | `Clip
  | `Clip_Path
  | `Clip_Rule
  | `Color
  | `Color_Interpolation
  | `Color_interpolation_filters
  | `Color_profile
  | `Color_rendering
  | `Cursor
  | `Direction
  | `Display
  | `Dominant_Baseline
  | `Enable_background
  | `ExternalResourcesRequired
  | `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
  | `Id
  | `Image_Rendering
  | `Kerning
  | `Letter_Spacing
  | `Lighting_Color
  | `Marker_End
  | `Marker_Mid
  | `Marker_Start
  | `Mask
  | `OnActivate
  | `OnClick
  | `OnFocusIn
  | `OnFocusOut
  | `OnLoad
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `Opacity
  | `Overflow
  | `Pointer_Events
  | `Points
  | `RequiredExtensions
  | `RequiredFeatures
  | `Shape_Rendering
  | `Stop_Color
  | `Stop_Opacity
  | `Stroke
  | `Stroke_Dasharray
  | `Stroke_Dashoffset
  | `Stroke_Linecap
  | `Stroke_Linejoin
  | `Stroke_Miterlimit
  | `Stroke_Opacity
  | `Stroke_Width
  | `Style
  | `SystemLanguage
  | `Text_Anchor
  | `Text_Decoration
  | `Text_Rendering
  | `Transform
  | `Unicode_Bidi
  | `Visibility
  | `Word_Spacing
  | `Writing_Mode
  | `Xml_base
  | `Xml_lang
  | `Xml_space ]
type polygon = [ `Polygon ]
type polygon_content = 
  [ `Animate
  | `AnimateColor
  | `AnimateMotion
  | `AnimateTransform
  | `Desc
  | `Metadata
  | `Set
  | `Title ]
type polygon_attr = 
  [ `Alignment_Baseline
  | `Baseline_Shift
  | `Class
  | `Clip
  | `Clip_Path
  | `Clip_Rule
  | `Color
  | `Color_Interpolation
  | `Color_interpolation_filters
  | `Color_profile
  | `Color_rendering
  | `Cursor
  | `Direction
  | `Display
  | `Dominant_Baseline
  | `Enable_background
  | `ExternalResourcesRequired
  | `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
  | `Id
  | `Image_Rendering
  | `Kerning
  | `Letter_Spacing
  | `Lighting_Color
  | `Marker_End
  | `Marker_Mid
  | `Marker_Start
  | `Mask
  | `OnActivate
  | `OnClick
  | `OnFocusIn
  | `OnFocusOut
  | `OnLoad
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `Opacity
  | `Overflow
  | `Pointer_Events
  | `Points
  | `RequiredExtensions
  | `RequiredFeatures
  | `Shape_Rendering
  | `Stop_Color
  | `Stop_Opacity
  | `Stroke
  | `Stroke_Dasharray
  | `Stroke_Dashoffset
  | `Stroke_Linecap
  | `Stroke_Linejoin
  | `Stroke_Miterlimit
  | `Stroke_Opacity
  | `Stroke_Width
  | `Style
  | `SystemLanguage
  | `Text_Anchor
  | `Text_Decoration
  | `Text_Rendering
  | `Transform
  | `Unicode_Bidi
  | `Visibility
  | `Word_Spacing
  | `Writing_Mode
  | `Xml_base
  | `Xml_lang
  | `Xml_space ]
type text = [ `Text ]
type text_content = 
  [ `A
  | `AltGlyph
  | `Animate
  | `AnimateColor
  | `AnimateMotion
  | `AnimateTransform
  | `Desc
  | `Metadata
  | `PCDATA
  | `Set
  | `TextPath
  | `Title
  | `Tref
  | `Tspan ]
type text_attr = 
  [ `Alignment_Baseline
  | `Baseline_Shift
  | `Class
  | `Clip
  | `Clip_Path
  | `Clip_Rule
  | `Color
  | `Color_Interpolation
  | `Color_interpolation_filters
  | `Color_profile
  | `Color_rendering
  | `Cursor
  | `Direction
  | `Display
  | `Dominant_Baseline
  | `Dx_list
  | `Dy_list
  | `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
  | `Id
  | `Image_Rendering
  | `Kerning
  | `LengthAdjust
  | `Letter_Spacing
  | `Lighting_Color
  | `Marker_End
  | `Marker_Mid
  | `Marker_Start
  | `Mask
  | `OnActivate
  | `OnClick
  | `OnFocusIn
  | `OnFocusOut
  | `OnLoad
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `Opacity
  | `Overflow
  | `Pointer_Events
  | `RequiredExtensions
  | `RequiredFeatures
  | `Rotate
  | `Shape_Rendering
  | `Stop_Color
  | `Stop_Opacity
  | `Stroke
  | `Stroke_Dasharray
  | `Stroke_Dashoffset
  | `Stroke_Linecap
  | `Stroke_Linejoin
  | `Stroke_Miterlimit
  | `Stroke_Opacity
  | `Stroke_Width
  | `SystemLanguage
  | `TextLength
  | `Text_Anchor
  | `Text_Decoration
  | `Text_Rendering
  | `Transform
  | `Unicode_Bidi
  | `Visibility
  | `Word_Spacing
  | `Writing_Mode
  | `X_list
  | `Xml_base
  | `Xml_lang
  | `Xml_space
  | `Y_list ]
type tspan = [ `Tspan ]
type tspan_content = 
  [ `A
  | `AltGlyph
  | `Animate
  | `AnimateColor
  | `Desc
  | `Id
  | `Metadata
  | `PCDATA
  | `Set
  | `Title
  | `Tref
  | `Tspan
  | `Xml_base
  | `Xml_lang
  | `Xml_space ]
type tspan_attr = 
  [ `Alignment_Baseline
  | `Baseline_Shift
  | `Class
  | `Clip
  | `Clip_Path
  | `Clip_Rule
  | `Color
  | `Color_Interpolation
  | `Color_interpolation_filters
  | `Color_profile
  | `Color_rendering
  | `Cursor
  | `Direction
  | `Display
  | `Dominant_Baseline
  | `Dx_list
  | `Dy_list
  | `Enable_background
  | `ExternalResourcesRequired
  | `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
  | `Id
  | `Image_Rendering
  | `Kerning
  | `LengthAdjust
  | `Letter_Spacing
  | `Lighting_Color
  | `Marker_End
  | `Marker_Mid
  | `Marker_Start
  | `Mask
  | `OnActivate
  | `OnClick
  | `OnFocusIn
  | `OnFocusOut
  | `OnLoad
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `Opacity
  | `Overflow
  | `Pointer_Events
  | `RequiredExtensions
  | `RequiredFeatures
  | `Rotate
  | `Shape_Rendering
  | `Stop_Color
  | `Stop_Opacity
  | `Stroke
  | `Stroke_Dasharray
  | `Stroke_Dashoffset
  | `Stroke_Linecap
  | `Stroke_Linejoin
  | `Stroke_Miterlimit
  | `Stroke_Opacity
  | `Stroke_Width
  | `Style
  | `SystemLanguage
  | `TextLength
  | `Text_Anchor
  | `Text_Decoration
  | `Text_Rendering
  | `Unicode_Bidi
  | `Visibility
  | `Word_Spacing
  | `Writing_Mode
  | `X_list
  | `Xml_base
  | `Xml_lang
  | `Xml_space
  | `Y_list ]
type tref = [ `Tref ]
type tref_content = [ `Animate | `AnimateColor | `Desc | `Metadata | `Set | `Title ]
type tref_attr = 
  [ `Alignment_Baseline
  | `Baseline_Shift
  | `Class
  | `Clip
  | `Clip_Path
  | `Clip_Rule
  | `Color
  | `Color_Interpolation
  | `Color_interpolation_filters
  | `Color_profile
  | `Color_rendering
  | `Cursor
  | `Direction
  | `Display
  | `Dominant_Baseline
  | `Enable_background
  | `ExternalResourcesRequired
  | `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
  | `Id
  | `Image_Rendering
  | `Kerning
  | `Letter_Spacing
  | `Lighting_Color
  | `Marker_End
  | `Marker_Mid
  | `Marker_Start
  | `Mask
  | `OnActivate
  | `OnClick
  | `OnFocusIn
  | `OnFocusOut
  | `OnLoad
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `Opacity
  | `Overflow
  | `Pointer_Events
  | `RequiredExtensions
  | `RequiredFeatures
  | `Shape_Rendering
  | `Stop_Color
  | `Stop_Opacity
  | `Stroke
  | `Stroke_Dasharray
  | `Stroke_Dashoffset
  | `Stroke_Linecap
  | `Stroke_Linejoin
  | `Stroke_Miterlimit
  | `Stroke_Opacity
  | `Stroke_Width
  | `Style
  | `SystemLanguage
  | `Text_Anchor
  | `Text_Decoration
  | `Text_Rendering
  | `Unicode_Bidi
  | `Visibility
  | `Word_Spacing
  | `Writing_Mode
  | `Xlink_actuate
  | `Xlink_arcrole
  | `Xlink_href
  | `Xlink_role
  | `Xlink_show
  | `Xlink_title
  | `Xlink_type
  | `Xml_base
  | `Xml_lang
  | `Xml_space ]
type textpath = [ `TextPath ]
type textpath_content = 
  [ `A
  | `AltGlyph
  | `Animate
  | `AnimateColor
  | `Desc
  | `Metadata
  | `PCDATA
  | `Set
  | `Title
  | `Tref
  | `Tspan ]
type textpath_attr = 
  [ `Alignment_Baseline
  | `Baseline_Shift
  | `Class
  | `Clip
  | `Clip_Path
  | `Clip_Rule
  | `Color
  | `Color_Interpolation
  | `Color_interpolation_filters
  | `Color_profile
  | `Color_rendering
  | `Cursor
  | `Direction
  | `Display
  | `Dominant_Baseline
  | `Enable_background
  | `ExternalResourcesRequired
  | `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
  | `Id
  | `Image_Rendering
  | `Kerning
  | `Letter_Spacing
  | `Lighting_Color
  | `Marker_End
  | `Marker_Mid
  | `Marker_Start
  | `Mask
  | `Method
  | `OnActivate
  | `OnClick
  | `OnFocusIn
  | `OnFocusOut
  | `OnLoad
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `Opacity
  | `Overflow
  | `Pointer_Events
  | `RequiredExtensions
  | `RequiredFeatures
  | `Shape_Rendering
  | `Spacing
  | `StartOffset
  | `Stop_Color
  | `Stop_Opacity
  | `Stroke
  | `Stroke_Dasharray
  | `Stroke_Dashoffset
  | `Stroke_Linecap
  | `Stroke_Linejoin
  | `Stroke_Miterlimit
  | `Stroke_Opacity
  | `Stroke_Width
  | `Style
  | `SystemLanguage
  | `Text_Anchor
  | `Text_Decoration
  | `Text_Rendering
  | `Unicode_Bidi
  | `Visibility
  | `Word_Spacing
  | `Writing_Mode
  | `Xlink_actuate
  | `Xlink_arcrole
  | `Xlink_href
  | `Xlink_role
  | `Xlink_show
  | `Xlink_title
  | `Xlink_type
  | `Xml_base
  | `Xml_lang
  | `Xml_space ]
type altglyph = [ `AltGlyph ]
type altglyph_content = [ `PCDATA ]
type altglyph_attr = 
  [ `Alignment_Baseline
  | `Baseline_Shift
  | `Class
  | `Clip
  | `Clip_Path
  | `Clip_Rule
  | `Color
  | `Color_Interpolation
  | `Color_interpolation_filters
  | `Color_profile
  | `Color_rendering
  | `Cursor
  | `Direction
  | `Display
  | `Dominant_Baseline
  | `Dx_list
  | `Dy_list
  | `Enable_background
  | `ExternalResourcesRequired
  | `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
  | `Format
  | `GlyphRef
  | `Glyph_Orientation_Horizontal
  | `Glyph_Orientation_Vertical
  | `Id
  | `Image_Rendering
  | `Kerning
  | `Letter_Spacing
  | `Lighting_Color
  | `Marker_End
  | `Marker_Mid
  | `Marker_Start
  | `Mask
  | `OnActivate
  | `OnClick
  | `OnFocusIn
  | `OnFocusOut
  | `OnLoad
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `Opacity
  | `Overflow
  | `Pointer_Events
  | `RequiredExtensions
  | `RequiredFeatures
  | `Rotate
  | `Shape_Rendering
  | `Stop_Color
  | `Stop_Opacity
  | `Stroke
  | `Stroke_Dasharray
  | `Stroke_Dashoffset
  | `Stroke_Linecap
  | `Stroke_Linejoin
  | `Stroke_Miterlimit
  | `Stroke_Opacity
  | `Stroke_Width
  | `Style
  | `SystemLanguage
  | `Text_Anchor
  | `Text_Decoration
  | `Text_Rendering
  | `Unicode_Bidi
  | `Visibility
  | `Word_Spacing
  | `Writing_Mode
  | `X_list
  | `Xlink_actuate
  | `Xlink_arcrole
  | `Xlink_href
  | `Xlink_role
  | `Xlink_show
  | `Xlink_title
  | `Xlink_type
  | `Xml_base
  | `Xml_lang
  | `Xml_space
  | `Y_list ]
type altglyphdef = [ `AltGlyphDef ]
type altglyphdef_attr = core_attr
type altglyphitem = [ `AltGlyphItem ]
type altglyphitem_content = [ `glyphRef ]
type altglyphitem_attr = core_attr
type glyphref = [ `GlyphRef ]
type glyphref_attr = 
  [ `Alignment_Baseline
  | `Baseline_Shift
  | `Class
  | `Clip
  | `Clip_Path
  | `Clip_Rule
  | `Color
  | `Color_Interpolation
  | `Color_interpolation_filters
  | `Color_profile
  | `Color_rendering
  | `Cursor
  | `Direction
  | `Display
  | `Dominant_Baseline
  | `Dx
  | `Dy
  | `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
  | `Format
  | `GlyphRef
  | `Glyph_Orientation_Horizontal
  | `Glyph_Orientation_Vertical
  | `Id
  | `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
  | `Style
  | `Text_Anchor
  | `Text_Decoration
  | `Text_Rendering
  | `Unicode_Bidi
  | `Visibility
  | `Word_Spacing
  | `Writing_Mode
  | `X
  | `Xlink_actuate
  | `Xlink_arcrole
  | `Xlink_href
  | `Xlink_role
  | `Xlink_show
  | `Xlink_title
  | `Xlink_type
  | `Xml_base
  | `Xml_lang
  | `Xml_space
  | `Y ]
type marker = [ `Marker ]
type marker_content = 
  [ `A
  | `AltGlyphDef
  | `Animate
  | `AnimateColor
  | `AnimateMotion
  | `AnimateTransform
  | `Circle
  | `ClipPath
  | `Color_Profile
  | `Cursor
  | `Defs
  | `Desc
  | `Ellipse
  | `Filter
  | `Font
  | `Font_Face
  | `ForeignObject
  | `G
  | `Image
  | `Line
  | `Lineargradient
  | `Marker
  | `Mask
  | `Metadata
  | `Path
  | `Pattern
  | `Polygon
  | `Polyline
  | `Radialgradient
  | `Rect
  | `Script
  | `Set
  | `Style
  | `Svg
  | `Switch
  | `Symbol
  | `Text
  | `Title
  | `Use
  | `View ]
type marker_attr = 
  [ `Alignment_Baseline
  | `Baseline_Shift
  | `Class
  | `Clip
  | `Clip_Path
  | `Clip_Rule
  | `Color
  | `Color_Interpolation
  | `Color_interpolation_filters
  | `Color_profile
  | `Color_rendering
  | `Cursor
  | `Direction
  | `Display
  | `Dominant_Baseline
  | `Enable_background
  | `ExternalResourcesRequired
  | `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
  | `Id
  | `Image_Rendering
  | `Kerning
  | `Letter_Spacing
  | `Lighting_Color
  | `MarkerHeight
  | `MarkerUnits
  | `MarkerWidth
  | `Marker_End
  | `Marker_Mid
  | `Marker_Start
  | `Mask
  | `Opacity
  | `Orient
  | `Overflow
  | `Pointer_Events
  | `PreserveAspectRatio
  | `RefX
  | `RefY
  | `Shape_Rendering
  | `Stop_Color
  | `Stop_Opacity
  | `Stroke
  | `Stroke_Dasharray
  | `Stroke_Dashoffset
  | `Stroke_Linecap
  | `Stroke_Linejoin
  | `Stroke_Miterlimit
  | `Stroke_Opacity
  | `Stroke_Width
  | `Style
  | `Text_Anchor
  | `Text_Decoration
  | `Text_Rendering
  | `Unicode_Bidi
  | `ViewBox
  | `Visibility
  | `Word_Spacing
  | `Writing_Mode
  | `Xml_base
  | `Xml_lang
  | `Xml_space ]
type colorprofile = [ `ColorProfile ]
type colorprofile_content = descriptive_element
type colorprofile_attr = 
  [ `Id
  | `Local
  | `Name
  | `Rendering_Intent
  | `Xlink_actuate
  | `Xlink_arcrole
  | `Xlink_href
  | `Xlink_role
  | `Xlink_show
  | `Xlink_title
  | `Xlink_type
  | `Xml_base
  | `Xml_lang
  | `Xml_space ]
type lineargradient = [ `Lineargradient ]
type lineargradient_content = 
  [ `Animate
  | `AnimateTransform
  | `Desc
  | `Metadata
  | `Set
  | `Stop
  | `Title ]
type lineargradient_attr = 
  [ `Alignment_Baseline
  | `Baseline_Shift
  | `Class
  | `Clip
  | `Clip_Path
  | `Clip_Rule
  | `Color
  | `Color_Interpolation
  | `Color_interpolation_filters
  | `Color_profile
  | `Color_rendering
  | `Cursor
  | `Direction
  | `Display
  | `Dominant_Baseline
  | `Enable_background
  | `ExternalResourcesRequired
  | `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
  | `GradientTransform
  | `GradientUnits
  | `Id
  | `Image_Rendering
  | `Kerning
  | `Letter_Spacing
  | `Lighting_Color
  | `Marker_End
  | `Marker_Mid
  | `Marker_Start
  | `Mask
  | `Opacity
  | `Overflow
  | `Pointer_Events
  | `Shape_Rendering
  | `SpreadMethod
  | `Stop_Color
  | `Stop_Opacity
  | `Stroke
  | `Stroke_Dasharray
  | `Stroke_Dashoffset
  | `Stroke_Linecap
  | `Stroke_Linejoin
  | `Stroke_Miterlimit
  | `Stroke_Opacity
  | `Stroke_Width
  | `Style
  | `Text_Anchor
  | `Text_Decoration
  | `Text_Rendering
  | `Unicode_Bidi
  | `Visibility
  | `Word_Spacing
  | `Writing_Mode
  | `X1
  | `X2
  | `Xlink_actuate
  | `Xlink_arcrole
  | `Xlink_href
  | `Xlink_role
  | `Xlink_show
  | `Xlink_title
  | `Xlink_type
  | `Xml_base
  | `Xml_lang
  | `Xml_space
  | `Y1
  | `Y2 ]
type radialgradient = [ `Radialgradient ]
type radialgradient_content = 
  [ `Animate
  | `AnimateTransform
  | `Desc
  | `Metadata
  | `Set
  | `Stop
  | `Title ]
type radialgradient_attr = 
  [ `Alignment_Baseline
  | `Baseline_Shift
  | `Class
  | `Clip
  | `Clip_Path
  | `Clip_Rule
  | `Color
  | `Color_Interpolation
  | `Color_interpolation_filters
  | `Color_profile
  | `Color_rendering
  | `Cursor
  | `Cx
  | `Cy
  | `Direction
  | `Display
  | `Dominant_Baseline
  | `Enable_background
  | `ExternalResourcesRequired
  | `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
  | `Fx
  | `Fy
  | `Glyph_Orientation_Horizontal
  | `Glyph_Orientation_Vertical
  | `GradientTransform
  | `GradientUnits
  | `Id
  | `Image_Rendering
  | `Kerning
  | `Letter_Spacing
  | `Lighting_Color
  | `Marker_End
  | `Marker_Mid
  | `Marker_Start
  | `Mask
  | `Opacity
  | `Overflow
  | `Pointer_Events
  | `R
  | `Shape_Rendering
  | `SpreadMethod
  | `Stop_Color
  | `Stop_Opacity
  | `Stroke
  | `Stroke_Dasharray
  | `Stroke_Dashoffset
  | `Stroke_Linecap
  | `Stroke_Linejoin
  | `Stroke_Miterlimit
  | `Stroke_Opacity
  | `Stroke_Width
  | `Style
  | `Text_Anchor
  | `Text_Decoration
  | `Text_Rendering
  | `Unicode_Bidi
  | `Visibility
  | `Word_Spacing
  | `Writing_Mode
  | `Xlink_actuate
  | `Xlink_arcrole
  | `Xlink_href
  | `Xlink_role
  | `Xlink_show
  | `Xlink_title
  | `Xlink_type
  | `Xml_base
  | `Xml_lang
  | `Xml_space ]
type stop = [ `Stop ]
type stop_content = [ `Animate | `Animate_Color | `Set ]
type stop_attr = 
  [ `Alignment_Baseline
  | `Baseline_Shift
  | `Class
  | `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
  | `Id
  | `Image_Rendering
  | `Kerning
  | `Letter_Spacing
  | `Lighting_Color
  | `Marker_End
  | `Marker_Mid
  | `Marker_Start
  | `Mask
  | `Offset
  | `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
  | `Style
  | `Text_Anchor
  | `Text_Decoration
  | `Text_Rendering
  | `Unicode_Bidi
  | `Visibility
  | `Word_Spacing
  | `Writing_Mode
  | `Xml_base
  | `Xml_lang
  | `Xml_space ]
type pattern = [ `Pattern ]
type pattern_content = 
  [ `A
  | `AltGlyphDef
  | `Animate
  | `AnimateColor
  | `AnimateMotion
  | `AnimateTransform
  | `Circle
  | `ClipPath
  | `Color_Profile
  | `Cursor
  | `Defs
  | `Desc
  | `Ellipse
  | `Filter
  | `Font
  | `Font_Face
  | `ForeignObject
  | `G
  | `Image
  | `Line
  | `Lineargradient
  | `Marker
  | `Mask
  | `Metadata
  | `Path
  | `Pattern
  | `Polygon
  | `Polyline
  | `Radialgradient
  | `Rect
  | `Script
  | `Set
  | `Style
  | `Svg
  | `Switch
  | `Symbol
  | `Text
  | `Title
  | `Use
  | `View ]
type pattern_attr = 
  [ `Alignment_Baseline
  | `Baseline_Shift
  | `Class
  | `Clip
  | `Clip_Path
  | `Clip_Rule
  | `Color
  | `Color_Interpolation
  | `Color_interpolation_filters
  | `Color_profile
  | `Color_rendering
  | `Cursor
  | `Direction
  | `Display
  | `Dominant_Baseline
  | `Enable_background
  | `ExternalResourcesRequired
  | `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
  | `Height
  | `Id
  | `Image_Rendering
  | `Kerning
  | `Letter_Spacing
  | `Lighting_Color
  | `Marker_End
  | `Marker_Mid
  | `Marker_Start
  | `Mask
  | `Opacity
  | `Overflow
  | `PatternContentUnits
  | `PatternTransform
  | `PatternUnits
  | `Pointer_Events
  | `PreserveAspectRatio
  | `RequiredExtensions
  | `RequiredFeatures
  | `Shape_Rendering
  | `Stop_Color
  | `Stop_Opacity
  | `Stroke
  | `Stroke_Dasharray
  | `Stroke_Dashoffset
  | `Stroke_Linecap
  | `Stroke_Linejoin
  | `Stroke_Miterlimit
  | `Stroke_Opacity
  | `Stroke_Width
  | `Style
  | `SystemLanguage
  | `Text_Anchor
  | `Text_Decoration
  | `Text_Rendering
  | `Unicode_Bidi
  | `ViewBox
  | `Visibility
  | `Width
  | `Word_Spacing
  | `Writing_Mode
  | `X
  | `Xlink_actuate
  | `Xlink_arcrole
  | `Xlink_href
  | `Xlink_role
  | `Xlink_show
  | `Xlink_title
  | `Xlink_type
  | `Xml_base
  | `Xml_lang
  | `Xml_space
  | `Y ]
type clippath = [ `ClipPath ]
type clippath_attr = 
  [ `Alignment_Baseline
  | `Baseline_Shift
  | `Class
  | `Clip
  | `ClipPathUnits
  | `Clip_Path
  | `Clip_Rule
  | `Color
  | `Color_Interpolation
  | `Color_interpolation_filters
  | `Color_profile
  | `Color_rendering
  | `Cursor
  | `Direction
  | `Display
  | `Dominant_Baseline
  | `Enable_background
  | `ExternalResourcesRequired
  | `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
  | `Id
  | `Image_Rendering
  | `Kerning
  | `Letter_Spacing
  | `Lighting_Color
  | `Marker_End
  | `Marker_Mid
  | `Marker_Start
  | `Mask
  | `Opacity
  | `Overflow
  | `Pointer_Events
  | `RequiredExtensions
  | `RequiredFeatures
  | `Shape_Rendering
  | `Stop_Color
  | `Stop_Opacity
  | `Stroke
  | `Stroke_Dasharray
  | `Stroke_Dashoffset
  | `Stroke_Linecap
  | `Stroke_Linejoin
  | `Stroke_Miterlimit
  | `Stroke_Opacity
  | `Stroke_Width
  | `Style
  | `SystemLanguage
  | `Text_Anchor
  | `Text_Decoration
  | `Text_Rendering
  | `Transform
  | `Unicode_Bidi
  | `Visibility
  | `Word_Spacing
  | `Writing_Mode
  | `Xml_base
  | `Xml_lang
  | `Xml_space ]
type clippath_content = 
  [ `Animate
  | `AnimateColor
  | `AnimateMotion
  | `AnimateTransform
  | `Circle
  | `Desc
  | `Ellipse
  | `Line
  | `Metadata
  | `Path
  | `Polygon
  | `Polyline
  | `Rect
  | `Set
  | `Text
  | `Title
  | `Use ]
type mask = [ `Mask ]
type mask_content = 
  [ `A
  | `AltGlyphDef
  | `Animate
  | `AnimateColor
  | `AnimateMotion
  | `AnimateTransform
  | `Circle
  | `ClipPath
  | `Color_Profile
  | `Cursor
  | `Defs
  | `Desc
  | `Ellipse
  | `Filter
  | `Font
  | `Font_Face
  | `ForeignObject
  | `G
  | `Image
  | `Line
  | `Lineargradient
  | `Marker
  | `Mask
  | `Metadata
  | `Path
  | `Pattern
  | `Polygon
  | `Polyline
  | `Radialgradient
  | `Rect
  | `Script
  | `Set
  | `Style
  | `Svg
  | `Switch
  | `Symbol
  | `Text
  | `Title
  | `Use
  | `View ]
type mask_attr = 
  [ `Alignment_Baseline
  | `Baseline_Shift
  | `Class
  | `Clip
  | `Clip_Path
  | `Clip_Rule
  | `Color
  | `Color_Interpolation
  | `Color_interpolation_filters
  | `Color_profile
  | `Color_rendering
  | `Cursor
  | `Direction
  | `Display
  | `Dominant_Baseline
  | `Enable_background
  | `ExternalResourcesRequired
  | `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
  | `Height
  | `Id
  | `Image_Rendering
  | `Kerning
  | `Letter_Spacing
  | `Lighting_Color
  | `Marker_End
  | `Marker_Mid
  | `Marker_Start
  | `Mask
  | `MaskContentUnits
  | `MaskUnits
  | `Opacity
  | `Overflow
  | `Pointer_Events
  | `RequiredExtensions
  | `RequiredFeatures
  | `Shape_Rendering
  | `Stop_Color
  | `Stop_Opacity
  | `Stroke
  | `Stroke_Dasharray
  | `Stroke_Dashoffset
  | `Stroke_Linecap
  | `Stroke_Linejoin
  | `Stroke_Miterlimit
  | `Stroke_Opacity
  | `Stroke_Width
  | `Style
  | `SystemLanguage
  | `Text_Anchor
  | `Text_Decoration
  | `Text_Rendering
  | `Unicode_Bidi
  | `Visibility
  | `Width
  | `Word_Spacing
  | `Writing_Mode
  | `X
  | `Xml_base
  | `Xml_lang
  | `Xml_space
  | `Y ]
type filter = [ `Filter ]
type filter_content = 
  [ `Animate
  | `Desc
  | `FeBlend
  | `FeColorMatrix
  | `FeComponentTransfer
  | `FeComposite
  | `FeConvolveMatrix
  | `FeDiffuseLighting
  | `FeDisplacementMap
  | `FeFlood
  | `FeGaussianBlur
  | `FeImage
  | `FeMerge
  | `FeMorphology
  | `FeOffset
  | `FeSpecularLighting
  | `FeTile
  | `FeTurbulence
  | `Metadata
  | `Set
  | `Title ]
type filter_attr = 
  [ `Alignment_Baseline
  | `Baseline_Shift
  | `Class
  | `Clip
  | `Clip_Path
  | `Clip_Rule
  | `Color
  | `Color_Interpolation
  | `Color_interpolation_filters
  | `Color_profile
  | `Color_rendering
  | `Cursor
  | `Direction
  | `Display
  | `Dominant_Baseline
  | `Enable_background
  | `ExternalResourcesRequired
  | `Fill
  | `Fill_opacity
  | `Fill_rule
  | `Filter
  | `FilterRes
  | `FilterUnits
  | `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
  | `Height
  | `Id
  | `Image_Rendering
  | `Kerning
  | `Letter_Spacing
  | `Lighting_Color
  | `Marker_End
  | `Marker_Mid
  | `Marker_Start
  | `Mask
  | `Opacity
  | `Overflow
  | `Pointer_Events
  | `PrimitiveUnits
  | `Shape_Rendering
  | `Stop_Color
  | `Stop_Opacity
  | `Stroke
  | `Stroke_Dasharray
  | `Stroke_Dashoffset
  | `Stroke_Linecap
  | `Stroke_Linejoin
  | `Stroke_Miterlimit
  | `Stroke_Opacity
  | `Stroke_Width
  | `Style
  | `Text_Anchor
  | `Text_Decoration
  | `Text_Rendering
  | `Unicode_Bidi
  | `Visibility
  | `Width
  | `Word_Spacing
  | `Writing_Mode
  | `X
  | `Xlink_actuate
  | `Xlink_arcrole
  | `Xlink_href
  | `Xlink_role
  | `Xlink_show
  | `Xlink_title
  | `Xlink_type
  | `Xml_base
  | `Xml_lang
  | `Xml_space
  | `Y ]
type fedistantlight = [ `FeDistantLight ]
type fedistantlight_content = [ `Animate | `Set ]
type fedistantlight_attr = 
  [ `Azimuth | `Elevation | `Id | `Xml_base | `Xml_lang | `Xml_space ]
type fepointlight = [ `FePointLight ]
type fepointlight_content = [ `Animate | `Set ]
type fepointlight_attr = [ `Id | `X | `Xml_base | `Xml_lang | `Xml_space | `Y | `Z ]
type fespotlight = [ `FeSpotLight ]
type fespotlight_content = [ `Animate | `Set ]
type fespotlight_attr = 
  [ `Id
  | `LimitingConeAngle
  | `PointsAtX
  | `PointsAtY
  | `PointsAtZ
  | `SpecularExponent
  | `X
  | `Xml_base
  | `Xml_lang
  | `Xml_space
  | `Y
  | `Z ]
type feblend = [ `FeBlend ]
type feblend_content = [ `Animate | `Set ]
type feblend_attr = 
  [ `Alignment_Baseline
  | `Baseline_Shift
  | `Class
  | `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
  | `Height
  | `Id
  | `Image_Rendering
  | `In
  | `In2
  | `Kerning
  | `Letter_Spacing
  | `Lighting_Color
  | `Marker_End
  | `Marker_Mid
  | `Marker_Start
  | `Mask
  | `Mode
  | `Opacity
  | `Overflow
  | `Pointer_Events
  | `Result
  | `Shape_Rendering
  | `Stop_Color
  | `Stop_Opacity
  | `Stroke
  | `Stroke_Dasharray
  | `Stroke_Dashoffset
  | `Stroke_Linecap
  | `Stroke_Linejoin
  | `Stroke_Miterlimit
  | `Stroke_Opacity
  | `Stroke_Width
  | `Style
  | `Text_Anchor
  | `Text_Decoration
  | `Text_Rendering
  | `Unicode_Bidi
  | `Visibility
  | `Width
  | `Word_Spacing
  | `Writing_Mode
  | `X
  | `Xml_base
  | `Xml_lang
  | `Xml_space
  | `Y ]
type fecolormatrix = [ `FeColorMatrix ]
type fecolormatrix_content = [ `Animate | `Set ]
type fecolormatrix_attr = 
  [ `Alignment_Baseline
  | `Baseline_Shift
  | `Class
  | `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
  | `Height
  | `Id
  | `Image_Rendering
  | `In
  | `Kerning
  | `Letter_Spacing
  | `Lighting_Color
  | `Marker_End
  | `Marker_Mid
  | `Marker_Start
  | `Mask
  | `Opacity
  | `Overflow
  | `Pointer_Events
  | `Result
  | `Shape_Rendering
  | `Stop_Color
  | `Stop_Opacity
  | `Stroke
  | `Stroke_Dasharray
  | `Stroke_Dashoffset
  | `Stroke_Linecap
  | `Stroke_Linejoin
  | `Stroke_Miterlimit
  | `Stroke_Opacity
  | `Stroke_Width
  | `Style
  | `Text_Anchor
  | `Text_Decoration
  | `Text_Rendering
  | `Typefecolor
  | `Unicode_Bidi
  | `Values
  | `Visibility
  | `Width
  | `Word_Spacing
  | `Writing_Mode
  | `X
  | `Xml_base
  | `Xml_lang
  | `Xml_space
  | `Y ]
type fecomponenttransfer = [ `FeComponentTransfer ]
type fecomponenttransfer_content = [ `FeFuncA | `FeFuncB | `FeFuncG | `FeFuncR ]
type fecomponenttransfer_attr = 
  [ `Alignment_Baseline
  | `Baseline_Shift
  | `Class
  | `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
  | `Height
  | `Id
  | `Image_Rendering
  | `In
  | `Kerning
  | `Letter_Spacing
  | `Lighting_Color
  | `Marker_End
  | `Marker_Mid
  | `Marker_Start
  | `Mask
  | `Opacity
  | `Overflow
  | `Pointer_Events
  | `Result
  | `Shape_Rendering
  | `Stop_Color
  | `Stop_Opacity
  | `Stroke
  | `Stroke_Dasharray
  | `Stroke_Dashoffset
  | `Stroke_Linecap
  | `Stroke_Linejoin
  | `Stroke_Miterlimit
  | `Stroke_Opacity
  | `Stroke_Width
  | `Style
  | `Text_Anchor
  | `Text_Decoration
  | `Text_Rendering
  | `Unicode_Bidi
  | `Visibility
  | `Width
  | `Word_Spacing
  | `Writing_Mode
  | `X
  | `Xml_base
  | `Xml_lang
  | `Xml_space
  | `Y ]
type fefunca = [ `FeFuncA ]
type fefunca_content = [ `Animate | `Set ]
type fefunca_attr = 
  [ `Amplitude
  | `Exponent
  | `Id
  | `Intercept
  | `Offset_transfer
  | `Slope
  | `TableValues
  | `Type_transfert
  | `Xml_base
  | `Xml_lang
  | `Xml_space ]
type fefuncg = [ `FeFuncA ]
type fefuncg_content = [ `Animate | `Set ]
type fefuncg_attr = 
  [ `Amplitude
  | `Exponent
  | `Id
  | `Intercept
  | `Offset_transfer
  | `Slope
  | `TableValues
  | `Type_transfert
  | `Xml_base
  | `Xml_lang
  | `Xml_space ]
type fefuncb = [ `FeFuncA ]
type fefuncb_content = [ `Animate | `Set ]
type fefuncb_attr = 
  [ `Amplitude
  | `Exponent
  | `Id
  | `Intercept
  | `Offset_transfer
  | `Slope
  | `TableValues
  | `Type_transfert
  | `Xml_base
  | `Xml_lang
  | `Xml_space ]
type fefuncr = [ `FeFuncA ]
type fefuncr_content = [ `Animate | `Set ]
type fefuncr_attr = 
  [ `Amplitude
  | `Exponent
  | `Id
  | `Intercept
  | `Offset_transfer
  | `Slope
  | `TableValues
  | `Type_transfert
  | `Xml_base
  | `Xml_lang
  | `Xml_space ]
type fecomposite = [ `FeComposite ]
type fecomposite_content = [ `Animate | `Set ]
type fecomposite_attr = 
  [ `Alignment_Baseline
  | `Baseline_Shift
  | `Class
  | `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
  | `Height
  | `Id
  | `Image_Rendering
  | `In
  | `In2
  | `K1
  | `K2
  | `K3
  | `K4
  | `Kerning
  | `Letter_Spacing
  | `Lighting_Color
  | `Marker_End
  | `Marker_Mid
  | `Marker_Start
  | `Mask
  | `Opacity
  | `OperatorComposite
  | `Overflow
  | `Pointer_Events
  | `Result
  | `Shape_Rendering
  | `Stop_Color
  | `Stop_Opacity
  | `Stroke
  | `Stroke_Dasharray
  | `Stroke_Dashoffset
  | `Stroke_Linecap
  | `Stroke_Linejoin
  | `Stroke_Miterlimit
  | `Stroke_Opacity
  | `Stroke_Width
  | `Style
  | `Text_Anchor
  | `Text_Decoration
  | `Text_Rendering
  | `Unicode_Bidi
  | `Visibility
  | `Width
  | `Word_Spacing
  | `Writing_Mode
  | `X
  | `Xml_base
  | `Xml_lang
  | `Xml_space
  | `Y ]
type feconvolvematrix = [ `FeConvolveMatrix ]
type feconvolvematrix_content = [ `Animate | `Set ]
type feconvolvematrix_attr = 
  [ `Alignment_Baseline
  | `Baseline_Shift
  | `Bias
  | `Class
  | `Clip
  | `Clip_Path
  | `Clip_Rule
  | `Color
  | `Color_Interpolation
  | `Color_interpolation_filters
  | `Color_profile
  | `Color_rendering
  | `Cursor
  | `Direction
  | `Display
  | `Divisor
  | `Dominant_Baseline
  | `EdgeMode
  | `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
  | `Height
  | `Id
  | `Image_Rendering
  | `In
  | `KernelMatrix
  | `KernelUnitLength
  | `Kerning
  | `Letter_Spacing
  | `Lighting_Color
  | `Marker_End
  | `Marker_Mid
  | `Marker_Start
  | `Mask
  | `Opacity
  | `Order
  | `Overflow
  | `Pointer_Events
  | `PreserveAlpha
  | `Result
  | `Shape_Rendering
  | `Stop_Color
  | `Stop_Opacity
  | `Stroke
  | `Stroke_Dasharray
  | `Stroke_Dashoffset
  | `Stroke_Linecap
  | `Stroke_Linejoin
  | `Stroke_Miterlimit
  | `Stroke_Opacity
  | `Stroke_Width
  | `Style
  | `TargetX
  | `TargetY
  | `Text_Anchor
  | `Text_Decoration
  | `Text_Rendering
  | `Unicode_Bidi
  | `Visibility
  | `Width
  | `Word_Spacing
  | `Writing_Mode
  | `X
  | `Xml_base
  | `Xml_lang
  | `Xml_space
  | `Y ]
type fediffuselighting = [ `FeDiffuseLighting ]
type fediffuselighting_content = 
  [ `Desc
  | `FeDistantLight
  | `FePointLight
  | `FeSpotLight
  | `Metadata
  | `Title ]
type fediffuselighting_attr = 
  [ `Alignment_Baseline
  | `Baseline_Shift
  | `Class
  | `Clip
  | `Clip_Path
  | `Clip_Rule
  | `Color
  | `Color_Interpolation
  | `Color_interpolation_filters
  | `Color_profile
  | `Color_rendering
  | `Cursor
  | `DiffuseConstant
  | `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
  | `Height
  | `Id
  | `Image_Rendering
  | `In
  | `KernelUnitLength
  | `Kerning
  | `Letter_Spacing
  | `Lighting_Color
  | `Marker_End
  | `Marker_Mid
  | `Marker_Start
  | `Mask
  | `Opacity
  | `Overflow
  | `Pointer_Events
  | `Result
  | `Shape_Rendering
  | `Stop_Color
  | `Stop_Opacity
  | `Stroke
  | `Stroke_Dasharray
  | `Stroke_Dashoffset
  | `Stroke_Linecap
  | `Stroke_Linejoin
  | `Stroke_Miterlimit
  | `Stroke_Opacity
  | `Stroke_Width
  | `Style
  | `SurfaceScale
  | `Text_Anchor
  | `Text_Decoration
  | `Text_Rendering
  | `Unicode_Bidi
  | `Visibility
  | `Width
  | `Word_Spacing
  | `Writing_Mode
  | `X
  | `Xml_base
  | `Xml_lang
  | `Xml_space
  | `Y ]
type fedisplacementmap = [ `FeDisplacementMap ]
type fedisplacementmap_content = [ `Animate | `Set ]
type fedisplacementmap_attr = 
  [ `Alignment_Baseline
  | `Baseline_Shift
  | `Class
  | `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
  | `Height
  | `Id
  | `Image_Rendering
  | `In
  | `In2
  | `Kerning
  | `Letter_Spacing
  | `Lighting_Color
  | `Marker_End
  | `Marker_Mid
  | `Marker_Start
  | `Mask
  | `Opacity
  | `Overflow
  | `Pointer_Events
  | `Result
  | `Scale
  | `Shape_Rendering
  | `Stop_Color
  | `Stop_Opacity
  | `Stroke
  | `Stroke_Dasharray
  | `Stroke_Dashoffset
  | `Stroke_Linecap
  | `Stroke_Linejoin
  | `Stroke_Miterlimit
  | `Stroke_Opacity
  | `Stroke_Width
  | `Style
  | `Text_Anchor
  | `Text_Decoration
  | `Text_Rendering
  | `Unicode_Bidi
  | `Visibility
  | `Width
  | `Word_Spacing
  | `Writing_Mode
  | `X
  | `XChannelSelector
  | `Xml_base
  | `Xml_lang
  | `Xml_space
  | `Y
  | `YChannelSelector ]
type feflood = [ `FeFlood ]
type feflood_content = [ `Animate | `AnimateColor | `Set ]
type feflood_attr = 
  [ `Alignment_Baseline
  | `Baseline_Shift
  | `Class
  | `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
  | `Height
  | `Id
  | `Image_Rendering
  | `Kerning
  | `Letter_Spacing
  | `Lighting_Color
  | `Marker_End
  | `Marker_Mid
  | `Marker_Start
  | `Mask
  | `Opacity
  | `Overflow
  | `Pointer_Events
  | `Result
  | `Shape_Rendering
  | `Stop_Color
  | `Stop_Opacity
  | `Stroke
  | `Stroke_Dasharray
  | `Stroke_Dashoffset
  | `Stroke_Linecap
  | `Stroke_Linejoin
  | `Stroke_Miterlimit
  | `Stroke_Opacity
  | `Stroke_Width
  | `Style
  | `Text_Anchor
  | `Text_Decoration
  | `Text_Rendering
  | `Unicode_Bidi
  | `Visibility
  | `Width
  | `Word_Spacing
  | `Writing_Mode
  | `X
  | `Xml_base
  | `Xml_lang
  | `Xml_space
  | `Y ]
type fegaussianblur = [ `FeGaussianBlur ]
type fegaussianblur_content = [ `Animate | `AnimateColor | `Set ]
type fegaussianblur_attr = 
  [ `Alignment_Baseline
  | `Baseline_Shift
  | `Class
  | `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
  | `Height
  | `Id
  | `Image_Rendering
  | `In
  | `Kerning
  | `Letter_Spacing
  | `Lighting_Color
  | `Marker_End
  | `Marker_Mid
  | `Marker_Start
  | `Mask
  | `Opacity
  | `Overflow
  | `Pointer_Events
  | `Result
  | `Shape_Rendering
  | `StdDeviation
  | `Stop_Color
  | `Stop_Opacity
  | `Stroke
  | `Stroke_Dasharray
  | `Stroke_Dashoffset
  | `Stroke_Linecap
  | `Stroke_Linejoin
  | `Stroke_Miterlimit
  | `Stroke_Opacity
  | `Stroke_Width
  | `Style
  | `Text_Anchor
  | `Text_Decoration
  | `Text_Rendering
  | `Unicode_Bidi
  | `Visibility
  | `Width
  | `Word_Spacing
  | `Writing_Mode
  | `X
  | `Xml_base
  | `Xml_lang
  | `Xml_space
  | `Y ]
type feimage = [ `FeImage ]
type feimage_content = [ `Animate | `AnimateColor | `Set ]
type feimage_attr = 
  [ `Alignment_Baseline
  | `Baseline_Shift
  | `Class
  | `Clip
  | `Clip_Path
  | `Clip_Rule
  | `Color
  | `Color_Interpolation
  | `Color_interpolation_filters
  | `Color_profile
  | `Color_rendering
  | `Cursor
  | `Direction
  | `Display
  | `Dominant_Baseline
  | `Enable_background
  | `ExternalResourcesRequired
  | `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
  | `Height
  | `Id
  | `Image_Rendering
  | `Kerning
  | `Letter_Spacing
  | `Lighting_Color
  | `Marker_End
  | `Marker_Mid
  | `Marker_Start
  | `Mask
  | `Opacity
  | `Overflow
  | `Pointer_Events
  | `PreserveAspectRadio
  | `Result
  | `Shape_Rendering
  | `Stop_Color
  | `Stop_Opacity
  | `Stroke
  | `Stroke_Dasharray
  | `Stroke_Dashoffset
  | `Stroke_Linecap
  | `Stroke_Linejoin
  | `Stroke_Miterlimit
  | `Stroke_Opacity
  | `Stroke_Width
  | `Style
  | `Text_Anchor
  | `Text_Decoration
  | `Text_Rendering
  | `Unicode_Bidi
  | `Visibility
  | `Width
  | `Word_Spacing
  | `Writing_Mode
  | `X
  | `Xlink_actuate
  | `Xlink_arcrole
  | `Xlink_href
  | `Xlink_role
  | `Xlink_show
  | `Xlink_title
  | `Xlink_type
  | `Xml_base
  | `Xml_lang
  | `Xml_space
  | `Y ]
type femerge = [ `FeMerge ]
type femerge_content = [ `FeMergeNode ]
type femerge_attr = 
  [ `Alignment_Baseline
  | `Baseline_Shift
  | `Class
  | `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
  | `Height
  | `Id
  | `Image_Rendering
  | `Kerning
  | `Letter_Spacing
  | `Lighting_Color
  | `Marker_End
  | `Marker_Mid
  | `Marker_Start
  | `Mask
  | `Opacity
  | `Overflow
  | `Pointer_Events
  | `Result
  | `Shape_Rendering
  | `Stop_Color
  | `Stop_Opacity
  | `Stroke
  | `Stroke_Dasharray
  | `Stroke_Dashoffset
  | `Stroke_Linecap
  | `Stroke_Linejoin
  | `Stroke_Miterlimit
  | `Stroke_Opacity
  | `Stroke_Width
  | `Style
  | `Text_Anchor
  | `Text_Decoration
  | `Text_Rendering
  | `Unicode_Bidi
  | `Visibility
  | `Width
  | `Word_Spacing
  | `Writing_Mode
  | `X
  | `Xml_base
  | `Xml_lang
  | `Xml_space
  | `Y ]
type femorphology = [ `FeMorphology ]
type femorphology_content = [ `Animate | `Set ]
type femorphology_attr = 
  [ `Alignment_Baseline
  | `Baseline_Shift
  | `Class
  | `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
  | `Height
  | `Id
  | `Image_Rendering
  | `In
  | `Kerning
  | `Letter_Spacing
  | `Lighting_Color
  | `Marker_End
  | `Marker_Mid
  | `Marker_Start
  | `Mask
  | `Opacity
  | `OperatorMorphology
  | `Overflow
  | `Pointer_Events
  | `Radius
  | `Result
  | `Shape_Rendering
  | `Stop_Color
  | `Stop_Opacity
  | `Stroke
  | `Stroke_Dasharray
  | `Stroke_Dashoffset
  | `Stroke_Linecap
  | `Stroke_Linejoin
  | `Stroke_Miterlimit
  | `Stroke_Opacity
  | `Stroke_Width
  | `Style
  | `Text_Anchor
  | `Text_Decoration
  | `Text_Rendering
  | `Unicode_Bidi
  | `Visibility
  | `Width
  | `Word_Spacing
  | `Writing_Mode
  | `X
  | `Xml_base
  | `Xml_lang
  | `Xml_space
  | `Y ]
type feoffset = [ `FeOffset ]
type feoffset_content = [ `Animate | `Set ]
type feoffset_attr = 
  [ `Alignment_Baseline
  | `Baseline_Shift
  | `Class
  | `Clip
  | `Clip_Path
  | `Clip_Rule
  | `Color
  | `Color_Interpolation
  | `Color_interpolation_filters
  | `Color_profile
  | `Color_rendering
  | `Cursor
  | `Direction
  | `Display
  | `Dominant_Baseline
  | `Dx
  | `Dy
  | `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
  | `Height
  | `Id
  | `Image_Rendering
  | `In
  | `Kerning
  | `Letter_Spacing
  | `Lighting_Color
  | `Marker_End
  | `Marker_Mid
  | `Marker_Start
  | `Mask
  | `Opacity
  | `Overflow
  | `Pointer_Events
  | `Result
  | `Shape_Rendering
  | `Stop_Color
  | `Stop_Opacity
  | `Stroke
  | `Stroke_Dasharray
  | `Stroke_Dashoffset
  | `Stroke_Linecap
  | `Stroke_Linejoin
  | `Stroke_Miterlimit
  | `Stroke_Opacity
  | `Stroke_Width
  | `Style
  | `Text_Anchor
  | `Text_Decoration
  | `Text_Rendering
  | `Unicode_Bidi
  | `Visibility
  | `Width
  | `Word_Spacing
  | `Writing_Mode
  | `X
  | `Xml_base
  | `Xml_lang
  | `Xml_space
  | `Y ]
type fespecularlighting = [ `FeSpecularLighting ]
type fespecularlighting_content = 
  [ `Desc
  | `FeDistantLight
  | `FePointLight
  | `FeSpotLight
  | `Metadata
  | `Title ]
type fespecularlighting_attr = 
  [ `Alignment_Baseline
  | `Baseline_Shift
  | `Class
  | `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
  | `Height
  | `Id
  | `Image_Rendering
  | `In
  | `KernelUnitLength
  | `Kerning
  | `Letter_Spacing
  | `Lighting_Color
  | `Marker_End
  | `Marker_Mid
  | `Marker_Start
  | `Mask
  | `Opacity
  | `Overflow
  | `Pointer_Events
  | `Result
  | `Shape_Rendering
  | `SpecularConstant
  | `SpecularExponent
  | `Stop_Color
  | `Stop_Opacity
  | `Stroke
  | `Stroke_Dasharray
  | `Stroke_Dashoffset
  | `Stroke_Linecap
  | `Stroke_Linejoin
  | `Stroke_Miterlimit
  | `Stroke_Opacity
  | `Stroke_Width
  | `Style
  | `SurfaceScale
  | `Text_Anchor
  | `Text_Decoration
  | `Text_Rendering
  | `Unicode_Bidi
  | `Visibility
  | `Width
  | `Word_Spacing
  | `Writing_Mode
  | `X
  | `Xml_base
  | `Xml_lang
  | `Xml_space
  | `Y ]
type fetile = [ `FeTile ]
type fetile_content = [ `Animate | `Set ]
type fetile_attr = 
  [ `Alignment_Baseline
  | `Baseline_Shift
  | `Class
  | `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
  | `Height
  | `Id
  | `Image_Rendering
  | `In
  | `Kerning
  | `Letter_Spacing
  | `Lighting_Color
  | `Marker_End
  | `Marker_Mid
  | `Marker_Start
  | `Mask
  | `Opacity
  | `Overflow
  | `Pointer_Events
  | `Result
  | `Shape_Rendering
  | `Stop_Color
  | `Stop_Opacity
  | `Stroke
  | `Stroke_Dasharray
  | `Stroke_Dashoffset
  | `Stroke_Linecap
  | `Stroke_Linejoin
  | `Stroke_Miterlimit
  | `Stroke_Opacity
  | `Stroke_Width
  | `Style
  | `Text_Anchor
  | `Text_Decoration
  | `Text_Rendering
  | `Unicode_Bidi
  | `Visibility
  | `Width
  | `Word_Spacing
  | `Writing_Mode
  | `X
  | `Xml_base
  | `Xml_lang
  | `Xml_space
  | `Y ]
type feturbulence = [ `FeTurbulence ]
type feturbulence_content = [ `Animate | `Set ]
type feturbulence_attr = 
  [ `Alignment_Baseline
  | `BaseFrequency
  | `Baseline_Shift
  | `Class
  | `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
  | `Height
  | `Id
  | `Image_Rendering
  | `Kerning
  | `Letter_Spacing
  | `Lighting_Color
  | `Marker_End
  | `Marker_Mid
  | `Marker_Start
  | `Mask
  | `NumOctaves
  | `Opacity
  | `Overflow
  | `Pointer_Events
  | `Result
  | `Seed
  | `Shape_Rendering
  | `StitchTiles
  | `Stop_Color
  | `Stop_Opacity
  | `Stroke
  | `Stroke_Dasharray
  | `Stroke_Dashoffset
  | `Stroke_Linecap
  | `Stroke_Linejoin
  | `Stroke_Miterlimit
  | `Stroke_Opacity
  | `Stroke_Width
  | `Style
  | `Text_Anchor
  | `Text_Decoration
  | `Text_Rendering
  | `TypeStitch
  | `Unicode_Bidi
  | `Visibility
  | `Width
  | `Word_Spacing
  | `Writing_Mode
  | `X
  | `Xml_base
  | `Xml_lang
  | `Xml_space
  | `Y ]
type cursor = [ `Cursor ]
type cursor_content = descriptive_element
type cursor_attr = 
  [ `ExternalResourcesRequired
  | `Id
  | `RequiredExtensions
  | `RequiredFeatures
  | `SystemLanguage
  | `X
  | `Xlink_actuate
  | `Xlink_arcrole
  | `Xlink_href
  | `Xlink_role
  | `Xlink_show
  | `Xlink_title
  | `Xlink_type
  | `Xml_base
  | `Xml_lang
  | `Xml_space
  | `Y ]
type a = [ `A ]
type a_content = 
  [ `A
  | `AltGlyphDef
  | `Animate
  | `AnimateColor
  | `AnimateMotion
  | `AnimateTransform
  | `Circle
  | `ClipPath
  | `Color_Profile
  | `Cursor
  | `Defs
  | `Desc
  | `Ellipse
  | `Filter
  | `Font
  | `Font_Face
  | `ForeignObject
  | `G
  | `Image
  | `Line
  | `Lineargradient
  | `Marker
  | `Mask
  | `Metadata
  | `Path
  | `Pattern
  | `Polygon
  | `Polyline
  | `Radialgradient
  | `Rect
  | `Script
  | `Set
  | `Style
  | `Svg
  | `Switch
  | `Symbol
  | `Text
  | `Title
  | `Use
  | `View ]
type a_attr = 
  [ `Alignment_Baseline
  | `Baseline_Shift
  | `Class
  | `Clip
  | `Clip_Path
  | `Clip_Rule
  | `Color
  | `Color_Interpolation
  | `Color_interpolation_filters
  | `Color_profile
  | `Color_rendering
  | `Cursor
  | `Direction
  | `Display
  | `Dominant_Baseline
  | `Enable_background
  | `ExternalResourcesRequired
  | `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
  | `Id
  | `Image_Rendering
  | `Kerning
  | `Letter_Spacing
  | `Lighting_Color
  | `Marker_End
  | `Marker_Mid
  | `Marker_Start
  | `Mask
  | `OnActivate
  | `OnClick
  | `OnFocusIn
  | `OnFocusOut
  | `OnLoad
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `Opacity
  | `Overflow
  | `Pointer_Events
  | `RequiredExtensions
  | `RequiredFeatures
  | `Shape_Rendering
  | `Stop_Color
  | `Stop_Opacity
  | `Stroke
  | `Stroke_Dasharray
  | `Stroke_Dashoffset
  | `Stroke_Linecap
  | `Stroke_Linejoin
  | `Stroke_Miterlimit
  | `Stroke_Opacity
  | `Stroke_Width
  | `Style
  | `SystemLanguage
  | `Target
  | `Text_Anchor
  | `Text_Decoration
  | `Text_Rendering
  | `Transform
  | `Unicode_Bidi
  | `Visibility
  | `Word_Spacing
  | `Writing_Mode
  | `Xlink_actuate
  | `Xlink_arcrole
  | `Xlink_href
  | `Xlink_role
  | `Xlink_show
  | `Xlink_title
  | `Xlink_type
  | `Xml_base
  | `Xml_lang
  | `Xml_space ]
type view = [ `View ]
type view_content = descriptive_element
type view_attr = 
  [ `ExternalResourcesRequired
  | `Id
  | `PreserveAspectRatio
  | `ViewBox
  | `ViewTarget
  | `Xml_base
  | `Xml_lang
  | `Xml_space
  | `ZoomAndPan ]
type script = [ `Script ]
type script_content = [ `PCDATA ]
type script_attr = 
  [ `ExternalResourcesRequired
  | `Id
  | `Type
  | `Xlink_actuate
  | `Xlink_arcrole
  | `Xlink_href
  | `Xlink_role
  | `Xlink_show
  | `Xlink_title
  | `Xlink_type
  | `Xml_base
  | `Xml_lang
  | `Xml_space ]
type animation = [ `Animation ]
type animation_content = descriptive_element
type animation_attr = 
  [ `Accumulate
  | `Additive
  | `AttributeName
  | `AttributeType
  | `Begin
  | `By
  | `CalcMode
  | `Dur
  | `End
  | `ExternalResourcesRequired
  | `Fill_Animation
  | `From
  | `Id
  | `KeySplines
  | `KeyTimes
  | `Max
  | `Min
  | `OnBegin
  | `OnEnd
  | `OnLoad
  | `OnRepeat
  | `RepeatCount
  | `RepeatDur
  | `RequiredExtensions
  | `RequiredFeatures
  | `Restart
  | `SystemLanguage
  | `To
  | `Valuesanim
  | `Xlink_actuate
  | `Xlink_arcrole
  | `Xlink_href
  | `Xlink_role
  | `Xlink_show
  | `Xlink_title
  | `Xlink_type
  | `Xml_base
  | `Xml_lang
  | `Xml_space ]
type set = [ `Set ]
type set_content = descriptive_element
type set_attr = 
  [ `AttributeName
  | `AttributeType
  | `Begin
  | `Dur
  | `End
  | `ExternalResourcesRequired
  | `Fill_Animation
  | `Id
  | `Max
  | `Min
  | `OnBegin
  | `OnEnd
  | `OnLoad
  | `OnRepeat
  | `RepeatCount
  | `RepeatDur
  | `RequiredExtensions
  | `RequiredFeatures
  | `Restart
  | `SystemLanguage
  | `To
  | `Xlink_actuate
  | `Xlink_arcrole
  | `Xlink_href
  | `Xlink_role
  | `Xlink_show
  | `Xlink_title
  | `Xlink_type
  | `Xml_base
  | `Xml_lang
  | `Xml_space ]
type animatemotion = [ `AnimateMotion ]
type animatemotion_content = [ `Desc | `Metadata | `Mpath | `Title ]
type animatemotion_attr = 
  [ `Accumulate
  | `Additive
  | `Begin
  | `By
  | `CalcMode
  | `Dur
  | `End
  | `ExternalResourcesRequired
  | `Fill_Animation
  | `From
  | `Id
  | `KeyPoints
  | `KeySplines
  | `KeyTimes
  | `Max
  | `Min
  | `OnBegin
  | `OnEnd
  | `OnLoad
  | `OnRepeat
  | `Origin
  | `Path
  | `RepeatCount
  | `RepeatDur
  | `RequiredExtensions
  | `RequiredFeatures
  | `Restart
  | `Rotate
  | `SystemLanguage
  | `To
  | `Valuesanim
  | `Xlink_actuate
  | `Xlink_arcrole
  | `Xlink_href
  | `Xlink_role
  | `Xlink_show
  | `Xlink_title
  | `Xlink_type
  | `Xml_base
  | `Xml_lang
  | `Xml_space ]
type mpath = [ `Mpath ]
type mpath_content = descriptive_element
type mpath_attr = 
  [ `ExternalResourcesRequired
  | `Id
  | `Xlink_actuate
  | `Xlink_arcrole
  | `Xlink_href
  | `Xlink_role
  | `Xlink_show
  | `Xlink_title
  | `Xlink_type
  | `Xml_base
  | `Xml_lang
  | `Xml_space ]
type animatecolor = [ `AnimateColor ]
type animatecolor_content = descriptive_element
type animatecolor_attr = 
  [ `Accumulate
  | `Additive
  | `AttributeName
  | `AttributeType
  | `Begin
  | `By
  | `CalcMode
  | `Dur
  | `End
  | `ExternalResourcesRequired
  | `Fill_Animation
  | `From
  | `Id
  | `KeySplines
  | `KeyTimes
  | `Max
  | `Min
  | `OnBegin
  | `OnEnd
  | `OnLoad
  | `OnRepeat
  | `RepeatCount
  | `RepeatDur
  | `RequiredExtensions
  | `RequiredFeatures
  | `Restart
  | `SystemLanguage
  | `To
  | `Valuesanim
  | `Xlink_actuate
  | `Xlink_arcrole
  | `Xlink_href
  | `Xlink_role
  | `Xlink_show
  | `Xlink_title
  | `Xlink_type
  | `Xml_base
  | `Xml_lang
  | `Xml_space ]
type animatetransform = [ `AnimateTransform ]
type animatetransform_content = descriptive_element
type animatetransform_attr = 
  [ `Accumulate
  | `Additive
  | `AttributeName
  | `AttributeType
  | `Begin
  | `By
  | `CalcMode
  | `Dur
  | `End
  | `ExternalResourcesRequired
  | `Fill_Animation
  | `From
  | `Id
  | `KeySplines
  | `KeyTimes
  | `Max
  | `Min
  | `OnBegin
  | `OnEnd
  | `OnLoad
  | `OnRepeat
  | `RepeatCount
  | `RepeatDur
  | `RequiredExtensions
  | `RequiredFeatures
  | `Restart
  | `SystemLanguage
  | `To
  | `Typeanimatetransform
  | `Valuesanim
  | `Xlink_actuate
  | `Xlink_arcrole
  | `Xlink_href
  | `Xlink_role
  | `Xlink_show
  | `Xlink_title
  | `Xlink_type
  | `Xml_base
  | `Xml_lang
  | `Xml_space ]
type font = [ `Font ]
type font_attr = 
  [ `Alignment_Baseline
  | `Baseline_Shift
  | `Class
  | `Clip
  | `Clip_Path
  | `Clip_Rule
  | `Color
  | `Color_Interpolation
  | `Color_interpolation_filters
  | `Color_profile
  | `Color_rendering
  | `Cursor
  | `Direction
  | `Display
  | `Dominant_Baseline
  | `Enable_background
  | `ExternalResourcesRequired
  | `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
  | `HorizAdvX
  | `HorizOriginX
  | `HorizOriginY
  | `Id
  | `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
  | `Style
  | `Text_Anchor
  | `Text_Decoration
  | `Text_Rendering
  | `Unicode_Bidi
  | `VertAdvY
  | `VertOriginX
  | `VertOriginY
  | `Visibility
  | `Word_Spacing
  | `Writing_Mode
  | `Xml_base
  | `Xml_lang
  | `Xml_space ]
type font_content = 
  [ `Desc
  | `Font_Face
  | `Glyph
  | `Hkern
  | `Metadata
  | `MissingGlyph
  | `Title
  | `Vkern ]
type glyph = [ `Glyph ]
type glyph_content = 
  [ `A
  | `AltGlyphDef
  | `Animate
  | `AnimateColor
  | `AnimateMotion
  | `AnimateTransform
  | `Circle
  | `ClipPath
  | `Color_Profile
  | `Cursor
  | `Defs
  | `Desc
  | `Ellipse
  | `Filter
  | `Font
  | `Font_Face
  | `ForeignObject
  | `G
  | `Image
  | `Line
  | `Lineargradient
  | `Marker
  | `Mask
  | `Metadata
  | `Path
  | `Pattern
  | `Polygon
  | `Polyline
  | `Radialgradient
  | `Rect
  | `Script
  | `Set
  | `Style
  | `Svg
  | `Switch
  | `Symbol
  | `Text
  | `Title
  | `Use
  | `View ]
type glyph_attr = 
  [ `Alignment_Baseline
  | `ArabicForm
  | `Baseline_Shift
  | `Class
  | `Clip
  | `Clip_Path
  | `Clip_Rule
  | `Color
  | `Color_Interpolation
  | `Color_interpolation_filters
  | `Color_profile
  | `Color_rendering
  | `Cursor
  | `D
  | `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
  | `GlyphName
  | `Glyph_Orientation_Horizontal
  | `Glyph_Orientation_Vertical
  | `HorizAdvX
  | `Id
  | `Image_Rendering
  | `Kerning
  | `Lang
  | `Letter_Spacing
  | `Lighting_Color
  | `Marker_End
  | `Marker_Mid
  | `Marker_Start
  | `Mask
  | `Opacity
  | `Orientation
  | `Overflow
  | `Pointer_Events
  | `Shape_Rendering
  | `Stop_Color
  | `Stop_Opacity
  | `Stroke
  | `Stroke_Dasharray
  | `Stroke_Dashoffset
  | `Stroke_Linecap
  | `Stroke_Linejoin
  | `Stroke_Miterlimit
  | `Stroke_Opacity
  | `Stroke_Width
  | `Style
  | `Text_Anchor
  | `Text_Decoration
  | `Text_Rendering
  | `Unicode
  | `Unicode_Bidi
  | `VertAdvY
  | `VertOriginX
  | `VertOriginY
  | `Visibility
  | `Word_Spacing
  | `Writing_Mode
  | `Xml_base
  | `Xml_lang
  | `Xml_space ]
type missingglyph = [ `MissingGlyph ]
type missingglyph_content = 
  [ `A
  | `AltGlyphDef
  | `Animate
  | `AnimateColor
  | `AnimateMotion
  | `AnimateTransform
  | `Circle
  | `ClipPath
  | `Color_Profile
  | `Cursor
  | `Defs
  | `Desc
  | `Ellipse
  | `Filter
  | `Font
  | `Font_Face
  | `ForeignObject
  | `G
  | `Image
  | `Line
  | `Lineargradient
  | `Marker
  | `Mask
  | `Metadata
  | `Path
  | `Pattern
  | `Polygon
  | `Polyline
  | `Radialgradient
  | `Rect
  | `Script
  | `Set
  | `Style
  | `Svg
  | `Switch
  | `Symbol
  | `Text
  | `Title
  | `Use
  | `View ]
type missingglyph_attr = 
  [ `Alignment_Baseline
  | `Baseline_Shift
  | `Class
  | `Clip
  | `Clip_Path
  | `Clip_Rule
  | `Color
  | `Color_Interpolation
  | `Color_interpolation_filters
  | `Color_profile
  | `Color_rendering
  | `Cursor
  | `D
  | `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
  | `HorizAdvX
  | `Id
  | `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
  | `Style
  | `Text_Anchor
  | `Text_Decoration
  | `Text_Rendering
  | `Unicode_Bidi
  | `VertAdvY
  | `VertOriginX
  | `VertOriginY
  | `Visibility
  | `Word_Spacing
  | `Writing_Mode
  | `Xml_base
  | `Xml_lang
  | `Xml_space ]
type hkern = [ `Hkern ]
type hkern_attr = 
  [ `G1
  | `G2
  | `Id
  | `K
  | `U1
  | `U2
  | `Xml_base
  | `Xml_lang
  | `Xml_space ]
type vkern = [ `Vkern ]
type vkern_attr = 
  [ `G1
  | `G2
  | `Id
  | `K
  | `U1
  | `U2
  | `Xml_base
  | `Xml_lang
  | `Xml_space ]
type font_face = [ `Font_Face ]
type font_face_content = [ `Desc | `Font_Face_Src | `Metadata | `Title ]
type font_face_attr = 
  [ `AccentHeight
  | `Alphabetic
  | `Ascent
  | `Bbox
  | `CapHeight
  | `Descent
  | `Font_Family
  | `Font_Size
  | `Font_Stretch
  | `Font_Style
  | `Font_Variant
  | `Font_Weight
  | `Hanging
  | `Id
  | `Ideographic
  | `Mathematical
  | `OverlinePosition
  | `OverlineThickness
  | `Panose1
  | `Slope
  | `Stemh
  | `Stemv
  | `StrikethroughPosition
  | `StrikethroughThickness
  | `UnderlinePosition
  | `UnderlineThickness
  | `UnicodeRange
  | `UnitsPerEm
  | `VAlphabetic
  | `VHanging
  | `VIdeographic
  | `VMathematical
  | `Widths
  | `XHeight
  | `Xml_base
  | `Xml_lang
  | `Xml_space ]
type font_face_src = [ `Font_Face_Src ]
type font_face_src_content = [ `Font_Face_Name | `Font_Face_Uri ]
type font_face_src_attr = core_attr
type font_face_uri = [ `Font_Face_Uri ]
type font_face_uri_content = [ `Font_Face_Format ]
type font_face_uri_attr = 
  [ `Id
  | `Xlink_actuate
  | `Xlink_arcrole
  | `Xlink_href
  | `Xlink_role
  | `Xlink_show
  | `Xlink_title
  | `Xlink_type
  | `Xml_base
  | `Xml_lang
  | `Xml_space ]
type font_face_format = [ `Font_Face_Format ]
type font_face_format_attr = [ `Id | `String | `Xml_base | `Xml_lang | `Xml_space ]
type font_face_name = [ `Font_Face_Name ]
type font_face_name_attr = [ `Id | `Name | `Xml_base | `Xml_lang | `Xml_space ]
type metadata = [ `Metadata ]
type metadata_attr = core_attr
type foreignobject = [ `ForeignObject ]
type foreignobject_attr = 
  [ `Alignment_Baseline
  | `Baseline_Shift
  | `Class
  | `Clip
  | `Clip_Path
  | `Clip_Rule
  | `Color
  | `Color_Interpolation
  | `Color_interpolation_filters
  | `Color_profile
  | `Color_rendering
  | `Cursor
  | `Direction
  | `Display
  | `Dominant_Baseline
  | `Enable_background
  | `ExternalResourcesRequired
  | `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
  | `Height
  | `Id
  | `Image_Rendering
  | `Kerning
  | `Letter_Spacing
  | `Lighting_Color
  | `Marker_End
  | `Marker_Mid
  | `Marker_Start
  | `Mask
  | `OnActivate
  | `OnClick
  | `OnFocusIn
  | `OnFocusOut
  | `OnLoad
  | `OnMouseDown
  | `OnMouseMove
  | `OnMouseOut
  | `OnMouseOver
  | `OnMouseUp
  | `Opacity
  | `Overflow
  | `Pointer_Events
  | `RequiredExtensions
  | `RequiredFeatures
  | `Shape_Rendering
  | `Stop_Color
  | `Stop_Opacity
  | `Stroke
  | `Stroke_Dasharray
  | `Stroke_Dashoffset
  | `Stroke_Linecap
  | `Stroke_Linejoin
  | `Stroke_Miterlimit
  | `Stroke_Opacity
  | `Stroke_Width
  | `Style
  | `SystemLanguage
  | `Text_Anchor
  | `Text_Decoration
  | `Text_Rendering
  | `Transform
  | `Unicode_Bidi
  | `Visibility
  | `Width
  | `Word_Spacing
  | `Writing_Mode
  | `X
  | `Xml_base
  | `Xml_lang
  | `Xml_space
  | `Y ]
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 = 
  [ `Alphabetic
  | `Auto
  | `Central
  | `Hanging
  | `Ideographic
  | `Inherit
  | `Mathematical
  | `Middle
  | `No_change
  | `Reset_size
  | `Text_after_edge
  | `Text_before_edge
  | `Use_script ]
type in_value = 
  [ `BackgroundAlpha
  | `BackgroundImage
  | `FillPaint
  | `Ref of string
  | `SourceAlpha
  | `SourceGraphic
  | `StrokePaint ]
type offset = [ `Number of number | `Percentage of percentage ]
type big_variant = 
  [ `A
  | `Absolute_colorimetric
  | `Align
  | `Always
  | `Arithmetic
  | `Atop
  | `Auto
  | `B
  | `Bever
  | `Blink
  | `Butt
  | `CSS
  | `Darken
  | `Default
  | `Dilate
  | `Disable
  | `Discrete
  | `Duplicate
  | `End
  | `Erode
  | `Exact
  | `FractalNoise
  | `Freeze
  | `G
  | `Gamma
  | `GeometricPrecision
  | `H
  | `HueRotate
  | `Identity
  | `In
  | `Inherit
  | `Initial
  | `Isolated
  | `Lighten
  | `Line_through
  | `Linear
  | `LuminanceToAlpha
  | `Magnify
  | `Matrix
  | `Medial
  | `Middle
  | `Miter
  | `Multiply
  | `Never
  | `New
  | `NoStitch
  | `None
  | `Normal
  | `ObjectBoundingBox
  | `OnLoad
  | `OnRequest
  | `OptimizeLegibility
  | `OptimizeSpeed
  | `Other
  | `Out
  | `Over
  | `Overline
  | `Paced
  | `Pad
  | `Perceptual
  | `Preserve
  | `R
  | `Reflect
  | `Relative_colorimetric
  | `Remove
  | `Repeat
  | `Replace
  | `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 ]