sig
  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 ]
  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 | `Values ]
  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 ]
  type xlink_attr =
      [ `Xlink_actuate
      | `Xlink_arcrole
      | `Xlink_href
      | `Xlink_role
      | `Xlink_show
      | `Xlink_title
      | `Xlink_type ]
  type iri = string
  module Unit :
    sig
      type 'a quantity = float * 'a option
      type angle = [ `Deg | `Grad | `Rad ] Svg_types.Unit.quantity
      type length =
          [ `Cm | `Em | `Ex | `In | `Mm | `Pc | `Percent | `Pt | `Px ]
          Svg_types.Unit.quantity
      type time = [ `Ms | `S ] Svg_types.Unit.quantity
      type frequency = [ `Hz | `KHz ] Svg_types.Unit.quantity
    end
  type coord = Svg_types.Unit.length
  type number = float
  type number_optional_number = Svg_types.number * Svg_types.number option
  type percentage = int
  type strings = string list
  type color = string
  type icccolor = string
  type paint_whitout_icc =
      [ `Color of Svg_types.color * Svg_types.icccolor option
      | `CurrentColor
      | `None ]
  type paint =
      [ `Color of Svg_types.color * Svg_types.icccolor option
      | `CurrentColor
      | `Icc of Svg_types.iri * Svg_types.paint_whitout_icc option
      | `None ]
  type transform =
      Matrix of (float * float * float * float * float * float)
    | Translate of (float * float option)
    | Scale of (float * float option)
    | Rotate of (Svg_types.Unit.angle * (float * float) option)
    | SkewX of Svg_types.Unit.angle
    | SkewY of Svg_types.Unit.angle
  type spacestrings = string list
  type commastrings = string list
  type transforms = Svg_types.transform list
  type fourfloats = float * float * float * float
  type lengths = Svg_types.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 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 = Svg_types.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 = Svg_types.core_attr
  type altglyphitem = [ `AltGlyphItem ]
  type altglyphitem_content = [ `glyphRef ]
  type altglyphitem_attr = Svg_types.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_single
      | `Dy_single
      | `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 = Svg_types.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
      | `Operator
      | `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
      | `Operator_morphology
      | `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
      | `Type_stitch
      | `Unicode_Bidi
      | `Visibility
      | `Width
      | `Word_Spacing
      | `Writing_Mode
      | `X
      | `Xml_base
      | `Xml_lang
      | `Xml_space
      | `Y ]
  type cursor = [ `Cursor ]
  type cursor_content = Svg_types.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 = Svg_types.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 = Svg_types.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
      | `Values
      | `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 = Svg_types.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
      | `Values
      | `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 = Svg_types.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 = Svg_types.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
      | `Values
      | `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 = Svg_types.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
      | `Typeanimatecolor
      | `Values
      | `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 fontface = [ `Font_Face ]
  type fontface_content = [ `Desc | `Font_Face_Src | `Metadata | `Title ]
  type fontface_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 fontfacesrc = [ `Font_Face_Src ]
  type fontfacesrc_content = [ `Font_Face_Name | `Font_Face_Uri ]
  type fontfacesrc_attr = Svg_types.core_attr
  type fontfaceuri = [ `Font_Face_Uri ]
  type fontfaceuri_content = [ `Font_Face_Format ]
  type fontfaceuri_attr =
      [ `Id
      | `Xlink_actuate
      | `Xlink_arcrole
      | `Xlink_href
      | `Xlink_role
      | `Xlink_show
      | `Xlink_title
      | `Xlink_type
      | `Xml_base
      | `Xml_lang
      | `Xml_space ]
  type fontfaceformat = [ `Font_Face_Format ]
  type fontfaceformat_attr =
      [ `Id | `String | `Xml_base | `Xml_lang | `Xml_space ]
  type fontfacename = [ `Font_Face_Name ]
  type fontfacename_attr =
      [ `Id | `Name | `Xml_base | `Xml_lang | `Xml_space ]
  type metadata = [ `Metadata ]
  type metadata_attr = Svg_types.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 ]
end