    {-# LANGUAGE OverloadedStrings #-}

    -------------------------------------------------------------------------------
    -- |
    -- Module      :  Graphics.Svg.Attributes
    -- Copyright   :  (c) 2015 Jeffrey Rosenbluth
    -- License     :  BSD-style (see LICENSE)
    -- Maintainer  :  jeffrey.rosenbluth@gmail.com
    --
    -- SVG Attributes.
    --
    -------------------------------------------------------------------------------

    module Graphics.Svg.Attributes
      ( (<<-)
      , (->>)
      , bindAttr
      , AttrTag(..)
      ) where

    import Graphics.Svg.Core
    import Data.Text (Text)

    -- | Make an 'Attribute' from it's value constructor and it's text value.
    --   by combining an 'AttrTag' with it's value.
    --
    -- > [bindAttr Width "100%, bindAttr Height "100%", bindAttr Fill "red"]
    bindAttr :: AttrTag -> Text -> Attribute
    bindAttr :: AttrTag -> Text -> Attribute
    bindAttr AttrTag
    t Text
    v = Text -> Text -> Attribute
    makeAttribute (AttrTag -> Text
    tag2text AttrTag
    t) Text
    v

    -- | Infix version of 'bindAttr'
    -- Each argument is set using '<<-', the 'bindAttr' function or '->>'.
    --
    -- > [Width_ <<- "100%", Height_ <<- "100%", Fill_ <<- "red"]
    infix 4  <<-
    (<<-) :: AttrTag -> Text -> Attribute
    <<- :: AttrTag -> Text -> Attribute
    (<<-) = AttrTag -> Text -> Attribute
    bindAttr

    -- | Infix version of 'bindAttr' with it's arguments reversed.
    --
    -- > ["100%" ->> Width_, "100%" ->> Height_, "red" ->> Fill_]
    infix 4  ->>
    (->>) :: Text -> AttrTag -> Attribute
    ->> :: Text -> AttrTag -> Attribute
    (->>) = (AttrTag -> Text -> Attribute) -> Text -> AttrTag -> Attribute
    forall a b c. (a -> b -> c) -> b -> a -> c
    flip AttrTag -> Text -> Attribute
    bindAttr

    data AttrTag
      = Accent_height_
      | Accumulate_
      | Additive_
      | Alignment_baseline_
      | Alphabetic_
      | Amplitude_
      | Arabic_form_
      | Ascent_
      | AttributeName_
      | AttributeType_
      | Azimuth_
      | BaseFrequency_
      | Baseprofile_
      | Baseline_shift_
      | Bbox_
      | Begin_
      | Bias_
      | By_
      | CalcMode_
      | Cap_height_
      | Class_
      | Clip_
      | Clip_path_
      | Clip_rule_
      | ClipPathUnits_
      | Color_
      | Color_interpolation_
      | Color_interpolation_filters_
      | Color_profile_
      | Color_rendering_
      | ContentScriptType_
      | ContentStyleType_
      | Cursor_
      | Cx_
      | Cy_
      | D_
      | Descent_
      | DiffuseConstant_
      | Direction_
      | Display_
      | Divisor_
      | Dominant_baseline_
      | Dur_
      | Dx_
      | Dy_
      | EdgeMode_
      | Elevation_
      | Enable_background_
      | End_
      | Exponent_
      | 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_
      | Format_
      | From_
      | Fx_
      | Fy_
      | G1_
      | G2_
      | Glyph_name_
      | Glyph_orientation_horizontal_
      | Glyph_orientation_vertical_
      | GradientTransform_
      | GradientUnits_
      | Hanging_
      | Height_
      | Horiz_adv_x_
      | Horiz_origin_x_
      | Horiz_origin_y_
      | Id_
      | Ideographic_
      | Image_rendering_
      | In_
      | In2_
      | Intercept_
      | K_
      | K1_
      | K2_
      | K3_
      | K4_
      | KernelMatrix_
      | KernelUnitLength_
      | Kerning_
      | KeyPoints_
      | KeySplines_
      | KeyTimes_
      | Lang_
      | LengthAdjust_
      | Letter_spacing_
      | Lighting_color_
      | LimitingConeAngle_
      | Local_
      | Marker_end_
      | Marker_mid_
      | Marker_start_
      | MarkerHeight_
      | MarkerUnits_
      | MarkerWidth_
      | MaskContentUnits_
      | MaskUnits_
      | Mathematical_
      | Max_
      | Media_
      | Method_
      | Min_
      | Mode_
      | Name_
      | NumOctaves_
      | Offset_
      | Onabort_
      | Onactivate_
      | Onbegin_
      | Onclick_
      | Onend_
      | Onerror_
      | Onfocusin_
      | Onfocusout_
      | Onload_
      | Onmousedown_
      | Onmousemove_
      | Onmouseout_
      | Onmouseover_
      | Onmouseup_
      | Onrepeat_
      | Onresize_
      | Onscroll_
      | Onunload_
      | Onzoom_
      | Opacity_
      | Operator_
      | Order_
      | Orient_
      | Orientation_
      | Origin_
      | Overflow_
      | Overline_position_
      | Overline_thickness_
      | Panose_1_
      | Paint_order_
      | Path_
      | PathLength_
      | PatternContentUnits_
      | PatternTransform_
      | PatternUnits_
      | Pointer_events_
      | Points_
      | PointsAtX_
      | PointsAtY_
      | PointsAtZ_
      | PreserveAlpha_
      | PreserveAspectRatio_
      | PrimitiveUnits_
      | R_
      | Radius_
      | RefX_
      | RefY_
      | Rendering_intent_
      | RepeatCount_
      | RepeatDur_
      | RequiredExtensions_
      | RequiredFeatures_
      | Restart_
      | Result_
      | Rotate_
      | Rx_
      | Ry_
      | Scale_
      | Seed_
      | Shape_rendering_
      | Slope_
      | Spacing_
      | SpecularConstant_
      | SpecularExponent_
      | SpreadMethod_
      | StartOffset_
      | StdDeviation_
      | Stemh_
      | Stemv_
      | StitchTiles_
      | Stop_color_
      | Stop_opacity_
      | Strikethrough_position_
      | Strikethrough_thickness_
      | String_
      | Stroke_
      | Stroke_dasharray_
      | Stroke_dashoffset_
      | Stroke_linecap_
      | Stroke_linejoin_
      | Stroke_miterlimit_
      | Stroke_opacity_
      | Stroke_width_
      | Style_
      | SurfaceScale_
      | SystemLanguage_
      | TableValues_
      | Target_
      | TargetX_
      | TargetY_
      | Text_anchor_
      | Text_decoration_
      | Text_rendering_
      | TextLength_
      | To_
      | Transform_
      | Type_
      | U1_
      | U2_
      | Underline_position_
      | Underline_thickness_
      | Unicode_
      | Unicode_bidi_
      | Unicode_range_
      | Units_per_em_
      | V_alphabetic_
      | V_hanging_
      | V_ideographic_
      | V_mathematical_
      | Values_
      | Version_
      | Vert_adv_y_
      | Vert_origin_x_
      | Vert_origin_y_
      | ViewBox_
      | ViewTarget_
      | Visibility_
      | Width_
      | Widths_
      | Word_spacing_
      | Writing_mode_
      | X_
      | X_height_
      | X1_
      | X2_
      | XChannelSelector_
      | XlinkActuate_
      | XlinkArcrole_
      | XlinkHref_
      | XlinkRole_
      | XlinkShow_
      | XlinkTitle_
      | XlinkType_
      | XmlBase_
      | XmlLang_
      | XmlSpace_
      | Y_
      | Y1_
      | Y2_
      | YChannelselector_
      | Z_
      | ZoomAndPan_

    -- Link the tags to their svg strings.
    tag2text :: AttrTag -> Text
    tag2text :: AttrTag -> Text
    tag2text AttrTag
    Accent_height_ = Text
    "accent-height"
    tag2text AttrTag
    Accumulate_ = Text
    "accumulate"
    tag2text AttrTag
    Additive_ = Text
    "additive"
    tag2text AttrTag
    Alignment_baseline_ = Text
    "alignment-baseline"
    tag2text AttrTag
    Alphabetic_ = Text
    "alphabetic"
    tag2text AttrTag
    Amplitude_ = Text
    "amplitude"
    tag2text AttrTag
    Arabic_form_ = Text
    "arabic-form"
    tag2text AttrTag
    Ascent_ = Text
    "ascent"
    tag2text AttrTag
    AttributeName_ = Text
    "attributeName"
    tag2text AttrTag
    AttributeType_ = Text
    "attributeType"
    tag2text AttrTag
    Azimuth_ = Text
    "azimuth"
    tag2text AttrTag
    BaseFrequency_ = Text
    "baseFrequency"
    tag2text AttrTag
    Baseprofile_ = Text
    "baseprofile"
    tag2text AttrTag
    Baseline_shift_ = Text
    "baseline-shift"
    tag2text AttrTag
    Bbox_ = Text
    "bbox"
    tag2text AttrTag
    Begin_ = Text
    "begin"
    tag2text AttrTag
    Bias_ = Text
    "bias"
    tag2text AttrTag
    By_ = Text
    "by"
    tag2text AttrTag
    CalcMode_ = Text
    "calcMode"
    tag2text AttrTag
    Cap_height_ = Text
    "cap-height"
    tag2text AttrTag
    Class_ = Text
    "class"
    tag2text AttrTag
    Clip_ = Text
    "clip"
    tag2text AttrTag
    Clip_path_ = Text
    "clip-path"
    tag2text AttrTag
    Clip_rule_ = Text
    "clip-rule"
    tag2text AttrTag
    ClipPathUnits_ = Text
    "clipPathUnits"
    tag2text AttrTag
    Color_ = Text
    "color"
    tag2text AttrTag
    Color_interpolation_ = Text
    "color-interpolation"
    tag2text AttrTag
    Color_interpolation_filters_ = Text
    "color-interpolation-filters"
    tag2text AttrTag
    Color_profile_ = Text
    "color-profile"
    tag2text AttrTag
    Color_rendering_ = Text
    "color-rendering"
    tag2text AttrTag
    ContentScriptType_ = Text
    "contentScriptType"
    tag2text AttrTag
    ContentStyleType_ = Text
    "contentStyleType"
    tag2text AttrTag
    Cursor_ = Text
    "cursor"
    tag2text AttrTag
    Cx_ = Text
    "cx"
    tag2text AttrTag
    Cy_ = Text
    "cy"
    tag2text AttrTag
    D_ = Text
    "d"
    tag2text AttrTag
    Descent_ = Text
    "descent"
    tag2text AttrTag
    DiffuseConstant_ = Text
    "diffuseConstant"
    tag2text AttrTag
    Direction_ = Text
    "direction"
    tag2text AttrTag
    Display_ = Text
    "display"
    tag2text AttrTag
    Divisor_ = Text
    "divisor"
    tag2text AttrTag
    Dominant_baseline_ = Text
    "dominant-baseline"
    tag2text AttrTag
    Dur_ = Text
    "dur"
    tag2text AttrTag
    Dx_ = Text
    "dx"
    tag2text AttrTag
    Dy_ = Text
    "dy"
    tag2text AttrTag
    EdgeMode_ = Text
    "edgeMode"
    tag2text AttrTag
    Elevation_ = Text
    "elevation"
    tag2text AttrTag
    Enable_background_ = Text
    "enable-background"
    tag2text AttrTag
    End_ = Text
    "end"
    tag2text AttrTag
    Exponent_ = Text
    "exponent"
    tag2text AttrTag
    ExternalResourcesRequired_ = Text
    "externalResourcesRequired"
    tag2text AttrTag
    Fill_ = Text
    "fill"
    tag2text AttrTag
    Fill_opacity_ = Text
    "fill-opacity"
    tag2text AttrTag
    Fill_rule_ = Text
    "fill-rule"
    tag2text AttrTag
    Filter_ = Text
    "filter"
    tag2text AttrTag
    FilterRes_ = Text
    "filterRes"
    tag2text AttrTag
    FilterUnits_ = Text
    "filterUnits"
    tag2text AttrTag
    Flood_color_ = Text
    "flood-color"
    tag2text AttrTag
    Flood_opacity_ = Text
    "flood-opacity"
    tag2text AttrTag
    Font_family_ = Text
    "font-family"
    tag2text AttrTag
    Font_size_ = Text
    "font-size"
    tag2text AttrTag
    Font_size_adjust_ = Text
    "font-size-adjust"
    tag2text AttrTag
    Font_stretch_ = Text
    "font-stretch"
    tag2text AttrTag
    Font_style_ = Text
    "font-style"
    tag2text AttrTag
    Font_variant_ = Text
    "font-variant"
    tag2text AttrTag
    Font_weight_ = Text
    "font-weight"
    tag2text AttrTag
    Format_ = Text
    "format"
    tag2text AttrTag
    From_ = Text
    "from"
    tag2text AttrTag
    Fx_ = Text
    "fx"
    tag2text AttrTag
    Fy_ = Text
    "fy"
    tag2text AttrTag
    G1_ = Text
    "g1"
    tag2text AttrTag
    G2_ = Text
    "g2"
    tag2text AttrTag
    Glyph_name_ = Text
    "glyph-name"
    tag2text AttrTag
    Glyph_orientation_horizontal_ = Text
    "glyph-orientation-horizontal"
    tag2text AttrTag
    Glyph_orientation_vertical_ = Text
    "glyph-orientation-vertical"
    tag2text AttrTag
    GradientTransform_ = Text
    "gradientTransform"
    tag2text AttrTag
    GradientUnits_ = Text
    "gradientUnits"
    tag2text AttrTag
    Hanging_ = Text
    "hanging"
    tag2text AttrTag
    Height_ = Text
    "height"
    tag2text AttrTag
    Horiz_adv_x_ = Text
    "horiz-adv-x"
    tag2text AttrTag
    Horiz_origin_x_ = Text
    "horiz-origin-x"
    tag2text AttrTag
    Horiz_origin_y_ = Text
    "horiz-origin-y"
    tag2text AttrTag
    Id_ = Text
    "id"
    tag2text AttrTag
    Ideographic_ = Text
    "ideographic"
    tag2text AttrTag
    Image_rendering_ = Text
    "image-rendering"
    tag2text AttrTag
    In_ = Text
    "in"
    tag2text AttrTag
    In2_ = Text
    "in2"
    tag2text AttrTag
    Intercept_ = Text
    "intercept"
    tag2text AttrTag
    K_ = Text
    "k"
    tag2text AttrTag
    K1_ = Text
    "k1"
    tag2text AttrTag
    K2_ = Text
    "k2"
    tag2text AttrTag
    K3_ = Text
    "k3"
    tag2text AttrTag
    K4_ = Text
    "k4"
    tag2text AttrTag
    KernelMatrix_ = Text
    "kernelMatrix"
    tag2text AttrTag
    KernelUnitLength_ = Text
    "kernelUnitLength"
    tag2text AttrTag
    Kerning_ = Text
    "kerning"
    tag2text AttrTag
    KeyPoints_ = Text
    "keyPoints"
    tag2text AttrTag
    KeySplines_ = Text
    "keySplines"
    tag2text AttrTag
    KeyTimes_ = Text
    "keyTimes"
    tag2text AttrTag
    Lang_ = Text
    "lang"
    tag2text AttrTag
    LengthAdjust_ = Text
    "lengthAdjust"
    tag2text AttrTag
    Letter_spacing_ = Text
    "letter-spacing"
    tag2text AttrTag
    Lighting_color_ = Text
    "lighting-color"
    tag2text AttrTag
    LimitingConeAngle_ = Text
    "limitingConeAngle"
    tag2text AttrTag
    Local_ = Text
    "local"
    tag2text AttrTag
    Marker_end_ = Text
    "marker-end"
    tag2text AttrTag
    Marker_mid_ = Text
    "marker-mid"
    tag2text AttrTag
    Marker_start_ = Text
    "marker-start"
    tag2text AttrTag
    MarkerHeight_ = Text
    "markerHeight"
    tag2text AttrTag
    MarkerUnits_ = Text
    "markerUnits"
    tag2text AttrTag
    MarkerWidth_ = Text
    "markerWidth"
    tag2text AttrTag
    MaskContentUnits_ = Text
    "maskContentUnits"
    tag2text AttrTag
    MaskUnits_ = Text
    "maskUnits"
    tag2text AttrTag
    Mathematical_ = Text
    "mathematical"
    tag2text AttrTag
    Max_ = Text
    "max"
    tag2text AttrTag
    Media_ = Text
    "media"
    tag2text AttrTag
    Method_ = Text
    "method"
    tag2text AttrTag
    Min_ = Text
    "min"
    tag2text AttrTag
    Mode_ = Text
    "mode"
    tag2text AttrTag
    Name_ = Text
    "name"
    tag2text AttrTag
    NumOctaves_ = Text
    "numOctaves"
    tag2text AttrTag
    Offset_ = Text
    "offset"
    tag2text AttrTag
    Onabort_ = Text
    "onabort"
    tag2text AttrTag
    Onactivate_ = Text
    "onactivate"
    tag2text AttrTag
    Onbegin_ = Text
    "onbegin"
    tag2text AttrTag
    Onclick_ = Text
    "onclick"
    tag2text AttrTag
    Onend_ = Text
    "onend"
    tag2text AttrTag
    Onerror_ = Text
    "onerror"
    tag2text AttrTag
    Onfocusin_ = Text
    "onfocusin"
    tag2text AttrTag
    Onfocusout_ = Text
    "onfocusout"
    tag2text AttrTag
    Onload_ = Text
    "onload"
    tag2text AttrTag
    Onmousedown_ = Text
    "onmousedown"
    tag2text AttrTag
    Onmousemove_ = Text
    "onmousemove"
    tag2text AttrTag
    Onmouseout_ = Text
    "onmouseout"
    tag2text AttrTag
    Onmouseover_ = Text
    "onmouseover"
    tag2text AttrTag
    Onmouseup_ = Text
    "onmouseup"
    tag2text AttrTag
    Onrepeat_ = Text
    "onrepeat"
    tag2text AttrTag
    Onresize_ = Text
    "onresize"
    tag2text AttrTag
    Onscroll_ = Text
    "onscroll"
    tag2text AttrTag
    Onunload_ = Text
    "onunload"
    tag2text AttrTag
    Onzoom_ = Text
    "onzoom"
    tag2text AttrTag
    Opacity_ = Text
    "opacity"
    tag2text AttrTag
    Operator_ = Text
    "operator"
    tag2text AttrTag
    Order_ = Text
    "order"
    tag2text AttrTag
    Orient_ = Text
    "orient"
    tag2text AttrTag
    Orientation_ = Text
    "orientation"
    tag2text AttrTag
    Origin_ = Text
    "origin"
    tag2text AttrTag
    Overflow_ = Text
    "overflow"
    tag2text AttrTag
    Overline_position_ = Text
    "overline-position"
    tag2text AttrTag
    Overline_thickness_ = Text
    "overline-thickness"
    tag2text AttrTag
    Panose_1_ = Text
    "panose-1"
    tag2text AttrTag
    Paint_order_ = Text
    "paint-order"
    tag2text AttrTag
    Path_ = Text
    "path"
    tag2text AttrTag
    PathLength_ = Text
    "pathLength"
    tag2text AttrTag
    PatternContentUnits_ = Text
    "patternContentUnits"
    tag2text AttrTag
    PatternTransform_ = Text
    "patternTransform"
    tag2text AttrTag
    PatternUnits_ = Text
    "patternUnits"
    tag2text AttrTag
    Pointer_events_ = Text
    "pointer-events"
    tag2text AttrTag
    Points_ = Text
    "points"
    tag2text AttrTag
    PointsAtX_ = Text
    "pointsAtX"
    tag2text AttrTag
    PointsAtY_ = Text
    "pointsAtY"
    tag2text AttrTag
    PointsAtZ_ = Text
    "pointsAtZ"
    tag2text AttrTag
    PreserveAlpha_ = Text
    "preserveAlpha"
    tag2text AttrTag
    PreserveAspectRatio_ = Text
    "preserveAspectRatio"
    tag2text AttrTag
    PrimitiveUnits_ = Text
    "primitiveUnits"
    tag2text AttrTag
    R_ = Text
    "r"
    tag2text AttrTag
    Radius_ = Text
    "radius"
    tag2text AttrTag
    RefX_ = Text
    "refX"
    tag2text AttrTag
    RefY_ = Text
    "refY"
    tag2text AttrTag
    Rendering_intent_ = Text
    "rendering-intent"
    tag2text AttrTag
    RepeatCount_ = Text
    "repeatCount"
    tag2text AttrTag
    RepeatDur_ = Text
    "repeatDur"
    tag2text AttrTag
    RequiredExtensions_ = Text
    "requiredExtensions"
    tag2text AttrTag
    RequiredFeatures_ = Text
    "requiredFeatures"
    tag2text AttrTag
    Restart_ = Text
    "restart"
    tag2text AttrTag
    Result_ = Text
    "result"
    tag2text AttrTag
    Rotate_ = Text
    "rotate"
    tag2text AttrTag
    Rx_ = Text
    "rx"
    tag2text AttrTag
    Ry_ = Text
    "ry"
    tag2text AttrTag
    Scale_ = Text
    "scale"
    tag2text AttrTag
    Seed_ = Text
    "seed"
    tag2text AttrTag
    Shape_rendering_ = Text
    "shape-rendering"
    tag2text AttrTag
    Slope_ = Text
    "slope"
    tag2text AttrTag
    Spacing_ = Text
    "spacing"
    tag2text AttrTag
    SpecularConstant_ = Text
    "specularConstant"
    tag2text AttrTag
    SpecularExponent_ = Text
    "specularExponent"
    tag2text AttrTag
    SpreadMethod_ = Text
    "spreadMethod"
    tag2text AttrTag
    StartOffset_ = Text
    "startOffset"
    tag2text AttrTag
    StdDeviation_ = Text
    "stdDeviation"
    tag2text AttrTag
    Stemh_ = Text
    "stemh"
    tag2text AttrTag
    Stemv_ = Text
    "stemv"
    tag2text AttrTag
    StitchTiles_ = Text
    "stitchTiles"
    tag2text AttrTag
    Stop_color_ = Text
    "stop-color"
    tag2text AttrTag
    Stop_opacity_ = Text
    "stop-opacity"
    tag2text AttrTag
    Strikethrough_position_ = Text
    "strikethrough-position"
    tag2text AttrTag
    Strikethrough_thickness_ = Text
    "strikethrough-thickness"
    tag2text AttrTag
    String_ = Text
    "string"
    tag2text AttrTag
    Stroke_ = Text
    "stroke"
    tag2text AttrTag
    Stroke_dasharray_ = Text
    "stroke-dasharray"
    tag2text AttrTag
    Stroke_dashoffset_ = Text
    "stroke-dashoffset"
    tag2text AttrTag
    Stroke_linecap_ = Text
    "stroke-linecap"
    tag2text AttrTag
    Stroke_linejoin_ = Text
    "stroke-linejoin"
    tag2text AttrTag
    Stroke_miterlimit_ = Text
    "stroke-miterlimit"
    tag2text AttrTag
    Stroke_opacity_ = Text
    "stroke-opacity"
    tag2text AttrTag
    Stroke_width_ = Text
    "stroke-width"
    tag2text AttrTag
    Style_ = Text
    "style"
    tag2text AttrTag
    SurfaceScale_ = Text
    "surfaceScale"
    tag2text AttrTag
    SystemLanguage_ = Text
    "systemLanguage"
    tag2text AttrTag
    TableValues_ = Text
    "tableValues"
    tag2text AttrTag
    Target_ = Text
    "target"
    tag2text AttrTag
    TargetX_ = Text
    "targetX"
    tag2text AttrTag
    TargetY_ = Text
    "targetY"
    tag2text AttrTag
    Text_anchor_ = Text
    "text-anchor"
    tag2text AttrTag
    Text_decoration_ = Text
    "text-decoration"
    tag2text AttrTag
    Text_rendering_ = Text
    "text-rendering"
    tag2text AttrTag
    TextLength_ = Text
    "textLength"
    tag2text AttrTag
    To_ = Text
    "to"
    tag2text AttrTag
    Transform_ = Text
    "transform"
    tag2text AttrTag
    Type_ = Text
    "type"
    tag2text AttrTag
    U1_ = Text
    "u1"
    tag2text AttrTag
    U2_ = Text
    "u2"
    tag2text AttrTag
    Underline_position_ = Text
    "underline-position"
    tag2text AttrTag
    Underline_thickness_ = Text
    "underline-thickness"
    tag2text AttrTag
    Unicode_ = Text
    "unicode"
    tag2text AttrTag
    Unicode_bidi_ = Text
    "unicode-bidi"
    tag2text AttrTag
    Unicode_range_ = Text
    "unicode-range"
    tag2text AttrTag
    Units_per_em_ = Text
    "units-per-em"
    tag2text AttrTag
    V_alphabetic_ = Text
    "v-alphabetic"
    tag2text AttrTag
    V_hanging_ = Text
    "v-hanging"
    tag2text AttrTag
    V_ideographic_ = Text
    "v-ideographic"
    tag2text AttrTag
    V_mathematical_ = Text
    "v-mathematical"
    tag2text AttrTag
    Values_ = Text
    "values"
    tag2text AttrTag
    Version_ = Text
    "version"
    tag2text AttrTag
    Vert_adv_y_ = Text
    "vert-adv-y"
    tag2text AttrTag
    Vert_origin_x_ = Text
    "vert-origin-x"
    tag2text AttrTag
    Vert_origin_y_ = Text
    "vert-origin-y"
    tag2text AttrTag
    ViewBox_ = Text
    "viewBox"
    tag2text AttrTag
    ViewTarget_ = Text
    "viewTarget"
    tag2text AttrTag
    Visibility_ = Text
    "visibility"
    tag2text AttrTag
    Width_ = Text
    "width"
    tag2text AttrTag
    Widths_ = Text
    "widths"
    tag2text AttrTag
    Word_spacing_ = Text
    "word-spacing"
    tag2text AttrTag
    Writing_mode_ = Text
    "writing-mode"
    tag2text AttrTag
    X_ = Text
    "x"
    tag2text AttrTag
    X_height_ = Text
    "x-height"
    tag2text AttrTag
    X1_ = Text
    "x1"
    tag2text AttrTag
    X2_ = Text
    "x2"
    tag2text AttrTag
    XChannelSelector_ = Text
    "xChannelSelector"
    tag2text AttrTag
    XlinkActuate_ = Text
    "xlink:actuate"
    tag2text AttrTag
    XlinkArcrole_ = Text
    "xlink:arcrole"
    tag2text AttrTag
    XlinkHref_ = Text
    "xlink:href"
    tag2text AttrTag
    XlinkRole_ = Text
    "xlink:role"
    tag2text AttrTag
    XlinkShow_ = Text
    "xlink:show"
    tag2text AttrTag
    XlinkTitle_ = Text
    "xlink:title"
    tag2text AttrTag
    XlinkType_ = Text
    "xlink:type"
    tag2text AttrTag
    XmlBase_ = Text
    "xml:base"
    tag2text AttrTag
    XmlLang_ = Text
    "xml:lang"
    tag2text AttrTag
    XmlSpace_ = Text
    "xml:space"
    tag2text AttrTag
    Y_ = Text
    "y"
    tag2text AttrTag
    Y1_ = Text
    "y1"
    tag2text AttrTag
    Y2_ = Text
    "y2"
    tag2text AttrTag
    YChannelselector_ = Text
    "yChannelSelector"
    tag2text AttrTag
    Z_ = Text
    "z"
    tag2text AttrTag
    ZoomAndPan_ = Text
    "zoomAndPan"