1 /* 2 * Copyright (C) 2018 Alexander Borisov 3 * 4 * Author: Alexander Borisov <borisov@lexbor.com> 5 */ 6 7 #ifndef LEXBOR_HTML_TREE_RES_H 8 #define LEXBOR_HTML_TREE_RES_H 9 10 11 typedef struct { 12 const char *from; 13 const char *to; 14 size_t len; 15 } 16 lxb_html_tree_res_attr_adjust_t; 17 18 typedef struct { 19 const char *name; 20 const char *prefix; 21 const char *local_name; 22 23 size_t name_len; 24 size_t prefix_len; 25 26 lxb_ns_id_t ns; 27 } 28 lxb_html_tree_res_attr_adjust_foreign_t; 29 30 31 static const lxb_html_tree_res_attr_adjust_t 32 lxb_html_tree_res_attr_adjust_svg_map[] = 33 { 34 {"attributename", "attributeName", 13}, 35 {"attributetype", "attributeType", 13}, 36 {"basefrequency", "baseFrequency", 13}, 37 {"baseprofile", "baseProfile", 11}, 38 {"calcmode", "calcMode", 8}, 39 {"clippathunits", "clipPathUnits", 13}, 40 {"diffuseconstant", "diffuseConstant", 15}, 41 {"edgemode", "edgeMode", 8}, 42 {"filterunits", "filterUnits", 11}, 43 {"glyphref", "glyphRef", 8}, 44 {"gradienttransform", "gradientTransform", 17}, 45 {"gradientunits", "gradientUnits", 13}, 46 {"kernelmatrix", "kernelMatrix", 12}, 47 {"kernelunitlength", "kernelUnitLength", 16}, 48 {"keypoints", "keyPoints", 9}, 49 {"keysplines", "keySplines", 10}, 50 {"keytimes", "keyTimes", 8}, 51 {"lengthadjust", "lengthAdjust", 12}, 52 {"limitingconeangle", "limitingConeAngle", 17}, 53 {"markerheight", "markerHeight", 12}, 54 {"markerunits", "markerUnits", 11}, 55 {"markerwidth", "markerWidth", 11}, 56 {"maskcontentunits", "maskContentUnits", 16}, 57 {"maskunits", "maskUnits", 9}, 58 {"numoctaves", "numOctaves", 10}, 59 {"pathlength", "pathLength", 10}, 60 {"patterncontentunits", "patternContentUnits", 19}, 61 {"patterntransform", "patternTransform", 16}, 62 {"patternunits", "patternUnits", 12}, 63 {"pointsatx", "pointsAtX", 9}, 64 {"pointsaty", "pointsAtY", 9}, 65 {"pointsatz", "pointsAtZ", 9}, 66 {"preservealpha", "preserveAlpha", 13}, 67 {"preserveaspectratio", "preserveAspectRatio", 19}, 68 {"primitiveunits", "primitiveUnits", 14}, 69 {"refx", "refX", 4}, 70 {"refy", "refY", 4}, 71 {"repeatcount", "repeatCount", 11}, 72 {"repeatdur", "repeatDur", 9}, 73 {"requiredextensions", "requiredExtensions", 18}, 74 {"requiredfeatures", "requiredFeatures", 16}, 75 {"specularconstant", "specularConstant", 16}, 76 {"specularexponent", "specularExponent", 16}, 77 {"spreadmethod", "spreadMethod", 12}, 78 {"startoffset", "startOffset", 11}, 79 {"stddeviation", "stdDeviation", 12}, 80 {"stitchtiles", "stitchTiles", 11}, 81 {"surfacescale", "surfaceScale", 12}, 82 {"systemlanguage", "systemLanguage", 14}, 83 {"tablevalues", "tableValues", 11}, 84 {"targetx", "targetX", 7}, 85 {"targety", "targetY", 7}, 86 {"textlength", "textLength", 10}, 87 {"viewbox", "viewBox", 7}, 88 {"viewtarget", "viewTarget", 10}, 89 {"xchannelselector", "xChannelSelector", 16}, 90 {"ychannelselector", "yChannelSelector", 16}, 91 {"zoomandpan", "zoomAndPan", 10}, 92 }; 93 94 static const lxb_html_tree_res_attr_adjust_foreign_t 95 lxb_html_tree_res_attr_adjust_foreign_map[] = 96 { 97 {"xlink:actuate", "xlink", "actuate", 13, 5, LXB_NS_XLINK}, 98 {"xlink:arcrole", "xlink", "arcrole", 13, 5, LXB_NS_XLINK}, 99 {"xlink:href", "xlink", "href", 10, 5, LXB_NS_XLINK}, 100 {"xlink:role", "xlink", "role", 10, 5, LXB_NS_XLINK}, 101 {"xlink:show", "xlink", "show", 10, 5, LXB_NS_XLINK}, 102 {"xlink:title", "xlink", "title", 11, 5, LXB_NS_XLINK}, 103 {"xlink:type", "xlink", "type", 10, 5, LXB_NS_XLINK}, 104 {"xml:lang", "xml", "lang", 8, 3, LXB_NS_XML}, 105 {"xml:space", "xml", "space", 9, 3, LXB_NS_XML}, 106 {"xmlns", "", "xmlns", 5, 0, LXB_NS_XMLNS}, 107 {"xmlns:xlink", "xmlns", "xlink", 11, 5, LXB_NS_XMLNS} 108 }; 109 110 111 #endif /* LEXBOR_HTML_TREE_RES_H */ 112