extension PureXML.HTML {
/// The HTML5 "adjust SVG element names" table: the SVG elements whose correct
/// names are camel-cased, keyed by the lowercased form the tokenizer produces.
/// Applied when materializing an element in the SVG namespace so a parsed
/// `` or `` carries its canonical SVG name.
enum ForeignNames {
static let svgElements: [String: String] = [
"altglyph": "altGlyph", "altglyphdef": "altGlyphDef", "altglyphitem": "altGlyphItem",
"animatecolor": "animateColor", "animatemotion": "animateMotion", "animatetransform": "animateTransform",
"clippath": "clipPath", "feblend": "feBlend", "fecolormatrix": "feColorMatrix",
"fecomponenttransfer": "feComponentTransfer", "fecomposite": "feComposite", "feconvolvematrix": "feConvolveMatrix",
"fediffuselighting": "feDiffuseLighting", "fedisplacementmap": "feDisplacementMap", "fedistantlight": "feDistantLight",
"fedropshadow": "feDropShadow", "feflood": "feFlood", "fefunca": "feFuncA",
"fefuncb": "feFuncB", "fefuncg": "feFuncG", "fefuncr": "feFuncR",
"fegaussianblur": "feGaussianBlur", "feimage": "feImage", "femerge": "feMerge",
"femergenode": "feMergeNode", "femorphology": "feMorphology", "feoffset": "feOffset",
"fepointlight": "fePointLight", "fespecularlighting": "feSpecularLighting", "fespotlight": "feSpotLight",
"fetile": "feTile", "feturbulence": "feTurbulence", "foreignobject": "foreignObject",
"glyphref": "glyphRef", "lineargradient": "linearGradient", "radialgradient": "radialGradient",
"textpath": "textPath",
]
/// The HTML5 "adjust SVG attributes" table: SVG attributes whose correct
/// names are camel-cased, keyed by the lowercased form the tokenizer
/// produces. Applied to the attributes of an element in the SVG namespace.
static let svgAttributes: [String: String] = [
"attributename": "attributeName", "attributetype": "attributeType", "basefrequency": "baseFrequency",
"baseprofile": "baseProfile", "calcmode": "calcMode", "clippathunits": "clipPathUnits",
"diffuseconstant": "diffuseConstant", "edgemode": "edgeMode", "filterunits": "filterUnits",
"glyphref": "glyphRef", "gradienttransform": "gradientTransform", "gradientunits": "gradientUnits",
"kernelmatrix": "kernelMatrix", "kernelunitlength": "kernelUnitLength", "keypoints": "keyPoints",
"keysplines": "keySplines", "keytimes": "keyTimes", "lengthadjust": "lengthAdjust",
"limitingconeangle": "limitingConeAngle", "markerheight": "markerHeight", "markerunits": "markerUnits",
"markerwidth": "markerWidth", "maskcontentunits": "maskContentUnits", "maskunits": "maskUnits",
"numoctaves": "numOctaves", "pathlength": "pathLength", "patterncontentunits": "patternContentUnits",
"patterntransform": "patternTransform", "patternunits": "patternUnits", "pointsatx": "pointsAtX",
"pointsaty": "pointsAtY", "pointsatz": "pointsAtZ", "preservealpha": "preserveAlpha",
"preserveaspectratio": "preserveAspectRatio", "primitiveunits": "primitiveUnits", "refx": "refX",
"refy": "refY", "repeatcount": "repeatCount", "repeatdur": "repeatDur",
"requiredextensions": "requiredExtensions", "requiredfeatures": "requiredFeatures", "specularconstant": "specularConstant",
"specularexponent": "specularExponent", "spreadmethod": "spreadMethod", "startoffset": "startOffset",
"stddeviation": "stdDeviation", "stitchtiles": "stitchTiles", "surfacescale": "surfaceScale",
"systemlanguage": "systemLanguage", "tablevalues": "tableValues", "targetx": "targetX",
"targety": "targetY", "textlength": "textLength", "viewbox": "viewBox",
"viewtarget": "viewTarget", "xchannelselector": "xChannelSelector", "ychannelselector": "yChannelSelector",
"zoomandpan": "zoomAndPan",
]
}
}