50 lines
4.0 KiB
Swift
50 lines
4.0 KiB
Swift
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
|
|
/// `<foreignObject>` or `<lineargradient>` 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",
|
|
]
|
|
}
|
|
}
|