xref: /php-src/ext/dom/lexbor/lexbor/html/tree_res.h (revision bffab33a)
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