Add missing single-word attributes to property warning list (#10495)
* Add missing single-word attributes to property warning list * Alphabetize svg and html configs in possible names * Add basic test coverage for known single word attributes * Add note about including whitelist properites in `possibleStandardNames * Also add attribute sync comment to possibleStandardNames
Nathan Hunzaker committed
Aug 21, 2017 at 12:27 UTC
35859df9418e3161130d267a27602fc263979a1f
4 files changed
+297
-90
src/renderers/dom/shared/HTMLDOMPropertyConfig.js
+3
@@ -22,6 +22,9 @@ var HAS_OVERLOADED_BOOLEAN_VALUE =
22
DOMProperty.injection.HAS_OVERLOADED_BOOLEAN_VALUE;
23
24
var HTMLDOMPropertyConfig = {
25
+ // When adding attributes to this list, be sure to also add them to
26
+ // the `possibleStandardNames` module to ensure casing and incorrect
27
+ // name warnings.
28
Properties: {
29
allowFullScreen: HAS_BOOLEAN_VALUE,
30
// specifies target context for links with `preload` type
src/renderers/dom/shared/SVGDOMPropertyConfig.js
+6
-2
@@ -17,8 +17,12 @@ var NS = {
17
};
18
19
/**
20
- * This is a list of all SVG attributes that need special
21
- * casing, namespacing, or boolean value assignment.
20
+ * This is a list of all SVG attributes that need special casing,
21
+ * namespacing, or boolean value assignment.
22
+ *
23
+ * When adding attributes to this list, be sure to also add them to
24
+ * the `possibleStandardNames` module to ensure casing and incorrect
25
+ * name warnings.
26
*
27
* SVG Attributes List:
28
* https://www.w3.org/TR/SVG/attindex.html
src/renderers/dom/shared/__tests__/ReactDOMComponent-test.js
+12
@@ -2080,6 +2080,18 @@ describe('ReactDOMComponent', () => {
2080
'Warning: Invalid prop `whatever` on <div> tag.',
2081
);
2082
});
2083
+
2084
+ it('warns on bad casing of known HTML attributes', function() {
2085
+ spyOn(console, 'error');
2086
+
2087
+ var el = ReactTestUtils.renderIntoDocument(<div SiZe="30" />);
2088
+
2089
+ expect(el.getAttribute('size')).toBe('30');
2090
+
2091
+ expectDev(console.error.calls.argsFor(0)[0]).toContain(
2092
+ 'Warning: Invalid DOM property `SiZe`. Did you mean `size`?',
2093
+ );
2094
+ });
2095
});
2096
2097
describe('Object stringification', function() {
src/renderers/dom/shared/hooks/possibleStandardNames.js
+276
-88
@@ -9,49 +9,82 @@
9
* @providesModule possibleStandardNames
10
*/
11
12
+// When adding attributes to the HTML or SVG whitelist, be sure to
13
+// also add them to this module to ensure casing and incorrect name
14
+// warnings.
15
var possibleStandardNames = {
16
// HTML
17
+ accept: 'accept',
18
acceptcharset: 'acceptCharset',
19
'accept-charset': 'acceptCharset',
20
accesskey: 'accessKey',
21
+ action: 'action',
22
allowfullscreen: 'allowFullScreen',
23
allowtransparency: 'allowTransparency',
24
+ alt: 'alt',
25
+ as: 'as',
26
+ async: 'async',
27
autocapitalize: 'autoCapitalize',
28
autocomplete: 'autoComplete',
29
autocorrect: 'autoCorrect',
30
autofocus: 'autoFocus',
31
autoplay: 'autoPlay',
32
autosave: 'autoSave',
33
+ capture: 'capture',
34
cellpadding: 'cellPadding',
35
cellspacing: 'cellSpacing',
36
+ challenge: 'challenge',
37
charset: 'charSet',
38
+ checked: 'checked',
39
+ children: 'children',
40
+ cite: 'cite',
41
class: 'className',
42
classid: 'classID',
43
classname: 'className',
31
- children: 'children',
44
+ cols: 'cols',
45
colspan: 'colSpan',
46
+ content: 'content',
47
contenteditable: 'contentEditable',
48
contextmenu: 'contextMenu',
49
+ controls: 'controls',
50
controlslist: 'controlsList',
51
+ coords: 'coords',
52
crossorigin: 'crossOrigin',
53
dangerouslysetinnerhtml: 'dangerouslySetInnerHTML',
54
+ data: 'data',
55
datetime: 'dateTime',
39
- defaultvalue: 'defaultValue',
56
+ default: 'default',
57
defaultchecked: 'defaultChecked',
58
+ defaultvalue: 'defaultValue',
59
+ defer: 'defer',
60
+ dir: 'dir',
61
+ disabled: 'disabled',
62
+ download: 'download',
63
+ draggable: 'draggable',
64
enctype: 'encType',
65
for: 'htmlFor',
66
+ form: 'form',
67
formMethod: 'formMethod',
68
formaction: 'formAction',
69
formenctype: 'formEncType',
70
formnovalidate: 'formNoValidate',
71
formtarget: 'formTarget',
72
frameborder: 'frameBorder',
73
+ headers: 'headers',
74
+ height: 'height',
75
+ hidden: 'hidden',
76
+ high: 'high',
77
+ href: 'href',
78
hreflang: 'hrefLang',
79
htmlfor: 'htmlFor',
80
httpequiv: 'httpEquiv',
81
'http-equiv': 'httpEquiv',
82
+ icon: 'icon',
83
+ id: 'id',
84
innerhtml: 'innerHTML',
85
inputmode: 'inputMode',
86
+ integrity: 'integrity',
87
+ is: 'is',
88
itemid: 'itemID',
89
itemprop: 'itemProp',
90
itemref: 'itemRef',
@@ -59,253 +92,408 @@ var possibleStandardNames = {
92
itemtype: 'itemType',
93
keyparams: 'keyParams',
94
keytype: 'keyType',
95
+ kind: 'kind',
96
+ label: 'label',
97
+ lang: 'lang',
98
+ list: 'list',
99
+ loop: 'loop',
100
+ low: 'low',
101
+ manifest: 'manifest',
102
marginWidth: 'marginWidth',
103
marginheight: 'marginHeight',
104
+ max: 'max',
105
maxlength: 'maxLength',
106
+ media: 'media',
107
mediagroup: 'mediaGroup',
108
+ method: 'method',
109
+ min: 'min',
110
minLength: 'minlength',
111
+ multiple: 'multiple',
112
+ muted: 'muted',
113
+ name: 'name',
114
+ nonce: 'nonce',
115
novalidate: 'noValidate',
116
+ open: 'open',
117
+ optimum: 'optimum',
118
+ pattern: 'pattern',
119
+ placeholder: 'placeholder',
120
playsinline: 'playsInline',
121
+ poster: 'poster',
122
+ preload: 'preload',
123
+ profile: 'profile',
124
radiogroup: 'radioGroup',
125
readonly: 'readOnly',
126
referrerpolicy: 'referrerPolicy',
127
+ rel: 'rel',
128
+ required: 'required',
129
+ reversed: 'reversed',
130
+ role: 'role',
131
+ rows: 'rows',
132
rowspan: 'rowSpan',
133
+ sandbox: 'sandbox',
134
+ scope: 'scope',
135
+ scoped: 'scoped',
136
+ scrolling: 'scrolling',
137
+ seamless: 'seamless',
138
+ selected: 'selected',
139
+ shape: 'shape',
140
+ size: 'size',
141
+ sizes: 'sizes',
142
+ span: 'span',
143
spellcheck: 'spellCheck',
144
+ src: 'src',
145
srcdoc: 'srcDoc',
146
srclang: 'srcLang',
147
srcset: 'srcSet',
148
+ start: 'start',
149
+ step: 'step',
150
+ style: 'style',
151
+ summary: 'summary',
152
tabindex: 'tabIndex',
153
+ target: 'target',
154
+ title: 'title',
155
+ type: 'type',
156
usemap: 'useMap',
157
+ value: 'value',
158
+ width: 'width',
159
+ wmode: 'wmode',
160
+ wrap: 'wrap',
161
162
// SVG
163
+ about: 'about',
164
accentheight: 'accentHeight',
165
'accent-height': 'accentHeight',
166
+ accumulate: 'accumulate',
167
+ additive: 'additive',
168
alignmentbaseline: 'alignmentBaseline',
169
'alignment-baseline': 'alignmentBaseline',
170
allowreorder: 'allowReorder',
86
- 'arabic-form': 'arabicForm',
171
+ alphabetic: 'alphabetic',
172
+ amplitude: 'amplitude',
173
arabicform: 'arabicForm',
174
+ 'arabic-form': 'arabicForm',
175
+ ascent: 'ascent',
176
attributename: 'attributeName',
177
attributetype: 'attributeType',
178
autoreverse: 'autoReverse',
179
+ azimuth: 'azimuth',
180
basefrequency: 'baseFrequency',
92
- baseprofile: 'baseProfile',
93
- 'baseline-shift': 'baselineShift',
181
baselineshift: 'baselineShift',
182
+ 'baseline-shift': 'baselineShift',
183
+ baseprofile: 'baseProfile',
184
+ bbox: 'bbox',
185
+ begin: 'begin',
186
+ bias: 'bias',
187
+ by: 'by',
188
calcmode: 'calcMode',
96
- 'cap-height': 'capHeight',
189
capheight: 'capHeight',
98
- 'clip-path': 'clipPath',
190
+ 'cap-height': 'capHeight',
191
+ clip: 'clip',
192
clippath: 'clipPath',
100
- 'clip-rule': 'clipRule',
101
- cliprule: 'clipRule',
193
+ 'clip-path': 'clipPath',
194
clippathunits: 'clipPathUnits',
103
- 'color-interpolation': 'colorInterpolation',
195
+ cliprule: 'clipRule',
196
+ 'clip-rule': 'clipRule',
197
+ color: 'color',
198
colorinterpolation: 'colorInterpolation',
105
- 'color-interpolation-filters': 'colorInterpolationFilters',
199
+ 'color-interpolation': 'colorInterpolation',
200
colorinterpolationfilters: 'colorInterpolationFilters',
107
- 'color-profile': 'colorProfile',
201
+ 'color-interpolation-filters': 'colorInterpolationFilters',
202
colorprofile: 'colorProfile',
109
- 'color-rendering': 'colorRendering',
203
+ 'color-profile': 'colorProfile',
204
colorrendering: 'colorRendering',
205
+ 'color-rendering': 'colorRendering',
206
contentscripttype: 'contentScriptType',
207
contentstyletype: 'contentStyleType',
208
+ cursor: 'cursor',
209
+ cx: 'cx',
210
+ cy: 'cy',
211
+ d: 'd',
212
+ datatype: 'datatype',
213
+ decelerate: 'decelerate',
214
+ descent: 'descent',
215
diffuseconstant: 'diffuseConstant',
114
- 'dominant-baseline': 'dominantBaseline',
216
+ direction: 'direction',
217
+ display: 'display',
218
+ divisor: 'divisor',
219
dominantbaseline: 'dominantBaseline',
220
+ 'dominant-baseline': 'dominantBaseline',
221
+ dur: 'dur',
222
+ dx: 'dx',
223
+ dy: 'dy',
224
edgemode: 'edgeMode',
117
- 'enable-background': 'enableBackground',
225
+ elevation: 'elevation',
226
enablebackground: 'enableBackground',
227
+ 'enable-background': 'enableBackground',
228
+ end: 'end',
229
+ exponent: 'exponent',
230
externalresourcesrequired: 'externalResourcesRequired',
120
- 'fill-opacity': 'fillOpacity',
231
+ fill: 'fill',
232
fillopacity: 'fillOpacity',
122
- 'fill-rule': 'fillRule',
233
+ 'fill-opacity': 'fillOpacity',
234
fillrule: 'fillRule',
235
+ 'fill-rule': 'fillRule',
236
+ filter: 'filter',
237
filterres: 'filterRes',
238
filterunits: 'filterUnits',
239
+ floodOpacity: 'floodOpacity',
240
+ 'flood-opacity': 'floodOpacity',
241
floodcolor: 'floodColor',
242
'flood-color': 'floodColor',
128
- 'flood-opacity': 'floodOpacity',
129
- floodOpacity: 'floodOpacity',
130
- 'font-family': 'fontFamily',
243
+ focusable: 'focusable',
244
fontfamily: 'fontFamily',
132
- 'font-size': 'fontSize',
245
+ 'font-family': 'fontFamily',
246
fontsize: 'fontSize',
134
- 'font-size-adjust': 'fontSizeAdjust',
247
+ 'font-size': 'fontSize',
248
fontsizeadjust: 'fontSizeAdjust',
136
- 'font-stretch': 'fontStretch',
249
+ 'font-size-adjust': 'fontSizeAdjust',
250
fontstretch: 'fontStretch',
138
- 'font-style': 'fontStyle',
251
+ 'font-stretch': 'fontStretch',
252
fontstyle: 'fontStyle',
140
- 'font-variant': 'fontVariant',
253
+ 'font-style': 'fontStyle',
254
fontvariant: 'fontVariant',
142
- 'font-weight': 'fontWeight',
255
+ 'font-variant': 'fontVariant',
256
fontweight: 'fontWeight',
144
- 'glyph-name': 'glyphName',
257
+ 'font-weight': 'fontWeight',
258
+ format: 'format',
259
+ from: 'from',
260
+ fx: 'fx',
261
+ fy: 'fy',
262
+ g1: 'g1',
263
+ g2: 'g2',
264
glyphname: 'glyphName',
146
- 'glyph-orientation-horizontal': 'glyphOrientationHorizontal',
265
+ 'glyph-name': 'glyphName',
266
glyphorientationhorizontal: 'glyphOrientationHorizontal',
148
- 'glyph-orientation-vertical': 'glyphOrientationVertical',
267
+ 'glyph-orientation-horizontal': 'glyphOrientationHorizontal',
268
glyphorientationvertical: 'glyphOrientationVertical',
269
+ 'glyph-orientation-vertical': 'glyphOrientationVertical',
270
glyphref: 'glyphRef',
271
gradienttransform: 'gradientTransform',
272
gradientunits: 'gradientUnits',
153
- 'horiz-adv-x': 'horizAdvX',
273
+ hanging: 'hanging',
274
horizadvx: 'horizAdvX',
155
- 'horiz-origin-x': 'horizOriginX',
275
+ 'horiz-adv-x': 'horizAdvX',
276
horizoriginx: 'horizOriginX',
157
- 'image-rendering': 'imageRendering',
277
+ 'horiz-origin-x': 'horizOriginX',
278
+ ideographic: 'ideographic',
279
imagerendering: 'imageRendering',
280
+ 'image-rendering': 'imageRendering',
281
+ in2: 'in2',
282
+ in: 'in',
283
+ inlist: 'inlist',
284
+ intercept: 'intercept',
285
+ k1: 'k1',
286
+ k2: 'k2',
287
+ k3: 'k3',
288
+ k4: 'k4',
289
+ k: 'k',
290
kernelmatrix: 'kernelMatrix',
291
kernelunitlength: 'kernelUnitLength',
292
+ kerning: 'kerning',
293
keypoints: 'keyPoints',
294
keysplines: 'keySplines',
295
keytimes: 'keyTimes',
296
lengthadjust: 'lengthAdjust',
165
- 'letter-spacing': 'letterSpacing',
297
letterspacing: 'letterSpacing',
167
- 'lighting-color': 'lightingColor',
298
+ 'letter-spacing': 'letterSpacing',
299
lightingcolor: 'lightingColor',
300
+ 'lighting-color': 'lightingColor',
301
limitingconeangle: 'limitingConeAngle',
170
- 'marker-end': 'markerEnd',
302
+ local: 'local',
303
markerend: 'markerEnd',
172
- 'marker-mid': 'markerMid',
304
+ 'marker-end': 'markerEnd',
305
+ markerheight: 'markerHeight',
306
markermid: 'markerMid',
174
- 'marker-start': 'markerStart',
307
+ 'marker-mid': 'markerMid',
308
markerstart: 'markerStart',
176
- markerheight: 'markerHeight',
309
+ 'marker-start': 'markerStart',
310
markerunits: 'markerUnits',
311
markerwidth: 'markerWidth',
312
+ mask: 'mask',
313
maskcontentunits: 'maskContentUnits',
314
maskunits: 'maskUnits',
315
+ mathematical: 'mathematical',
316
+ mode: 'mode',
317
numoctaves: 'numOctaves',
182
- 'overline-position': 'overlinePosition',
318
+ offset: 'offset',
319
+ opacity: 'opacity',
320
+ operator: 'operator',
321
+ order: 'order',
322
+ orient: 'orient',
323
+ orientation: 'orientation',
324
+ origin: 'origin',
325
+ overflow: 'overflow',
326
overlineposition: 'overlinePosition',
184
- 'overline-thickness': 'overlineThickness',
327
+ 'overline-position': 'overlinePosition',
328
overlinethickness: 'overlineThickness',
186
- 'paint-order': 'paintOrder',
329
+ 'overline-thickness': 'overlineThickness',
330
paintorder: 'paintOrder',
331
+ 'paint-order': 'paintOrder',
332
+ panose1: 'panose1',
333
'panose-1': 'panose1',
334
pathlength: 'pathLength',
335
patterncontentunits: 'patternContentUnits',
336
patterntransform: 'patternTransform',
337
patternunits: 'patternUnits',
193
- 'pointer-events': 'pointerEvents',
338
pointerevents: 'pointerEvents',
339
+ 'pointer-events': 'pointerEvents',
340
+ points: 'points',
341
pointsatx: 'pointsAtX',
342
pointsaty: 'pointsAtY',
343
pointsatz: 'pointsAtZ',
344
+ prefix: 'prefix',
345
preservealpha: 'preserveAlpha',
346
preserveaspectratio: 'preserveAspectRatio',
347
primitiveunits: 'primitiveUnits',
348
+ property: 'property',
349
+ r: 'r',
350
+ radius: 'radius',
351
refx: 'refX',
352
refy: 'refY',
203
- 'rendering-intent': 'renderingIntent',
353
renderingintent: 'renderingIntent',
354
+ 'rendering-intent': 'renderingIntent',
355
repeatcount: 'repeatCount',
356
repeatdur: 'repeatDur',
357
requiredextensions: 'requiredExtensions',
358
requiredfeatures: 'requiredFeatures',
209
- 'shape-rendering': 'shapeRendering',
359
+ resource: 'resource',
360
+ restart: 'restart',
361
+ result: 'result',
362
+ results: 'results',
363
+ rotate: 'rotate',
364
+ rx: 'rx',
365
+ ry: 'ry',
366
+ scale: 'scale',
367
+ security: 'security',
368
+ seed: 'seed',
369
shaperendering: 'shapeRendering',
370
+ 'shape-rendering': 'shapeRendering',
371
+ slope: 'slope',
372
+ spacing: 'spacing',
373
specularconstant: 'specularConstant',
374
specularexponent: 'specularExponent',
375
+ speed: 'speed',
376
spreadmethod: 'spreadMethod',
377
startoffset: 'startOffset',
378
stddeviation: 'stdDeviation',
379
+ stemh: 'stemh',
380
+ stemv: 'stemv',
381
stitchtiles: 'stitchTiles',
217
- 'stop-color': 'stopColor',
382
stopcolor: 'stopColor',
383
+ 'stop-color': 'stopColor',
384
stopopacity: 'stopOpacity',
385
'stop-opacity': 'stopOpacity',
221
- 'strikethrough-position': 'strikethroughPosition',
386
strikethroughposition: 'strikethroughPosition',
387
+ 'strikethrough-position': 'strikethroughPosition',
388
strikethroughthickness: 'strikethroughThickness',
389
'strikethrough-thickness': 'strikethroughThickness',
225
- 'stroke-dasharray': 'strokeDasharray',
390
+ string: 'string',
391
+ stroke: 'stroke',
392
strokedasharray: 'strokeDasharray',
227
- 'stroke-dashoffset': 'strokeDashoffset',
393
+ 'stroke-dasharray': 'strokeDasharray',
394
strokedashoffset: 'strokeDashoffset',
229
- 'stroke-linecap': 'strokeLinecap',
395
+ 'stroke-dashoffset': 'strokeDashoffset',
396
strokelinecap: 'strokeLinecap',
231
- 'stroke-linejoin': 'strokeLinejoin',
397
+ 'stroke-linecap': 'strokeLinecap',
398
strokelinejoin: 'strokeLinejoin',
233
- 'stroke-miterlimit': 'strokeMiterlimit',
399
+ 'stroke-linejoin': 'strokeLinejoin',
400
strokemiterlimit: 'strokeMiterlimit',
235
- 'stroke-opacity': 'strokeOpacity',
236
- strokeopacity: 'strokeOpacity',
401
+ 'stroke-miterlimit': 'strokeMiterlimit',
402
+ strokewidth: 'strokeWidth',
403
'stroke-width': 'strokeWidth',
404
+ strokeopacity: 'strokeOpacity',
405
+ 'stroke-opacity': 'strokeOpacity',
406
suppresscontenteditablewarning: 'suppressContentEditableWarning',
407
surfacescale: 'surfaceScale',
408
systemlanguage: 'systemLanguage',
409
tablevalues: 'tableValues',
410
targetx: 'targetX',
411
targety: 'targetY',
244
- 'text-anchor': 'textAnchor',
412
textanchor: 'textAnchor',
246
- 'text-decoration': 'textDecoration',
413
+ 'text-anchor': 'textAnchor',
414
textdecoration: 'textDecoration',
248
- 'text-rendering': 'textRendering',
249
- textrendering: 'textRendering',
415
+ 'text-decoration': 'textDecoration',
416
textlength: 'textLength',
251
- 'underline-position': 'underlinePosition',
417
+ textrendering: 'textRendering',
418
+ 'text-rendering': 'textRendering',
419
+ to: 'to',
420
+ transform: 'transform',
421
+ typeof: 'typeof',
422
+ u1: 'u1',
423
+ u2: 'u2',
424
underlineposition: 'underlinePosition',
253
- 'underline-thickness': 'underlineThickness',
425
+ 'underline-position': 'underlinePosition',
426
underlinethickness: 'underlineThickness',
255
- 'unicode-bidi': 'unicodeBidi',
427
+ 'underline-thickness': 'underlineThickness',
428
+ unicode: 'unicode',
429
unicodebidi: 'unicodeBidi',
257
- 'unicode-range': 'unicodeRange',
430
+ 'unicode-bidi': 'unicodeBidi',
431
unicoderange: 'unicodeRange',
259
- 'units-per-em': 'unitsPerEm',
432
+ 'unicode-range': 'unicodeRange',
433
unitsperem: 'unitsPerEm',
261
- 'v-alphabetic': 'vAlphabetic',
434
+ 'units-per-em': 'unitsPerEm',
435
+ unselectable: 'unselectable',
436
valphabetic: 'vAlphabetic',
263
- 'v-hanging': 'vHanging',
264
- vhanging: 'vHanging',
265
- 'v-ideographic': 'vIdeographic',
266
- videographic: 'vIdeographic',
267
- 'v-mathematical': 'vMathematical',
268
- vmathematical: 'vMathematical',
269
- 'vector-effect': 'vectorEffect',
437
+ 'v-alphabetic': 'vAlphabetic',
438
+ values: 'values',
439
vectoreffect: 'vectorEffect',
271
- 'vert-adv-y': 'vertAdvY',
440
+ 'vector-effect': 'vectorEffect',
441
+ version: 'version',
442
vertadvy: 'vertAdvY',
273
- 'vert-origin-x': 'vertOriginX',
443
+ 'vert-adv-y': 'vertAdvY',
444
vertoriginx: 'vertOriginX',
275
- 'vert-origin-y': 'vertOriginY',
445
+ 'vert-origin-x': 'vertOriginX',
446
vertoriginy: 'vertOriginY',
447
+ 'vert-origin-y': 'vertOriginY',
448
+ vhanging: 'vHanging',
449
+ 'v-hanging': 'vHanging',
450
+ videographic: 'vIdeographic',
451
+ 'v-ideographic': 'vIdeographic',
452
viewbox: 'viewBox',
453
viewtarget: 'viewTarget',
279
- 'word-spacing': 'wordSpacing',
454
+ visibility: 'visibility',
455
+ vmathematical: 'vMathematical',
456
+ 'v-mathematical': 'vMathematical',
457
+ vocab: 'vocab',
458
+ widths: 'widths',
459
wordspacing: 'wordSpacing',
281
- 'writing-mode': 'writingMode',
460
+ 'word-spacing': 'wordSpacing',
461
writingmode: 'writingMode',
283
- 'x-height': 'xHeight',
284
- xheight: 'xHeight',
462
+ 'writing-mode': 'writingMode',
463
+ x1: 'x1',
464
+ x2: 'x2',
465
+ x: 'x',
466
xchannelselector: 'xChannelSelector',
286
- 'xlink:actuate': 'xlinkActuate',
467
+ xheight: 'xHeight',
468
+ 'x-height': 'xHeight',
469
xlinkactuate: 'xlinkActuate',
288
- 'xlink:arcrole': 'xlinkArcrole',
470
+ 'xlink:actuate': 'xlinkActuate',
471
xlinkarcrole: 'xlinkArcrole',
290
- 'xlink:href': 'xlinkHref',
472
+ 'xlink:arcrole': 'xlinkArcrole',
473
xlinkhref: 'xlinkHref',
292
- 'xlink:role': 'xlinkRole',
474
+ 'xlink:href': 'xlinkHref',
475
xlinkrole: 'xlinkRole',
294
- 'xlink:show': 'xlinkShow',
476
+ 'xlink:role': 'xlinkRole',
477
xlinkshow: 'xlinkShow',
296
- 'xlink:title': 'xlinkTitle',
478
+ 'xlink:show': 'xlinkShow',
479
xlinktitle: 'xlinkTitle',
298
- 'xlink:type': 'xlinkType',
480
+ 'xlink:title': 'xlinkTitle',
481
xlinktype: 'xlinkType',
300
- 'xml:base': 'xmlBase',
482
+ 'xlink:type': 'xlinkType',
483
xmlbase: 'xmlBase',
302
- 'xmlns:xlink': 'xmlnsXlink',
303
- xmlnsxlink: 'xmlnsXlink',
304
- 'xml:lang': 'xmlLang',
484
+ 'xml:base': 'xmlBase',
485
xmllang: 'xmlLang',
486
+ 'xml:lang': 'xmlLang',
487
+ xmlns: 'xmlns',
488
'xml:space': 'xmlSpace',
489
+ xmlnsxlink: 'xmlnsXlink',
490
+ 'xmlns:xlink': 'xmlnsXlink',
491
xmlspace: 'xmlSpace',
492
+ y1: 'y1',
493
+ y2: 'y2',
494
+ y: 'y',
495
ychannelselector: 'yChannelSelector',
496
+ z: 'z',
497
zoomandpan: 'zoomAndPan',
498
};
499