nitro.hrl 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295
  1. -ifndef(NITRO_HRL).
  2. -define(NITRO_HRL, true).
  3. -define(DEFAULT_BASE, {?ELEMENT_BASE(undefined)}).
  4. -define(DEFAULT_BASE_TAG(Tag), {?ELEMENT_BASE(undefined,Tag,undefined)}).
  5. -define(ELEMENT_BASE(Module), ?ELEMENT_BASE(Module,undefined,undefined)).
  6. -define(ELEMENT_BASE(Module,Tag,Delegate),
  7. ancestor=element, id, module=Module, delegate=Delegate, validation=[], validate=[], actions, class=[], style=[], source=[], onmouseover, onkeypress, onchange, onkeyup, onkeydown, onclick,
  8. data_fields=[], aria_states=[], body, role, tabindex, show_if=true, html_tag=Tag, title, postback=[], accesskey, contenteditable, contextmenu, dir, draggable, dropzone,
  9. hidden, lang, spellcheck, translate, onblur, onerror, onfocus, onmessage, onresize).
  10. -define(ACTION_BASE(Module), ancestor=action, trigger, target, module=Module, actions, source=[]).
  11. -define(CTRL_BASE(Module), ?ELEMENT_BASE(Module,undefined,Module)).
  12. % SVG attribute groups
  13. -define(SVG_ANIMATION_EVENT, onbegin, onend, onload_animation, onrepeat).
  14. -define(SVG_ANIMATION_ATTRIBUT_TARGET, attributeType, attributeName).
  15. -define(SVG_ANIMATION_TIMING, svgbegin, dur, svgend, min, max, restart, repeatCount, repeatDur, fill).
  16. -define(SVG_ANIMATION_VALUE, calcMode, values, keyTimes, keySplines, from, to, by, autoReverse, accelerate, decelerate).
  17. -define(SVG_ANIMATION_ADDITION, additive, accumulate).
  18. -define(SVG_CONDITIONAL_PROCESSING, requiredExtensions, requiredFeatures, systemLanguage).
  19. -define(SVG_CORE, xmlbase, xmllang, xmlspace).
  20. -define(SVG_DOCUMENT_EVENT, onabort, onscroll, onunload_document, onzoom). %% onerror and onresize, duplicating HTML events, were removed.
  21. -define(SVG_FILTER_PRIMITIVE, height, result, width, x, y).
  22. -define(SVG_GRAPHICAL_EVENT, onactivate, onfocusin, onfocusout, onload_graphical, onmousedown, onmousemove, onmouseout, onmouseup). %% onclick and onmouseover, duplicating HTML events, were removed.
  23. -define(SVG_PRESENTATION, alignment_baseline, baseline_shift, clip, clip_path, clip_rule, color, color_interpolation, color_interpolation_filters, color_profile, color_rendering, cursor,
  24. direction, display, dominant_baseline, enable_background, fill, fill_opacity, fill_rule, filter, flood_color, flood_opacity, font_family, font_size, font_size_adjust, font_stretch,
  25. font_style, font_variant, font_weight, glyph_orientation_horizontal, glyph_orientation_vertical, image_rendering, kerning, letter_spacing, lighting_color, marker_end, marker_mid,
  26. marker_start, mask, opacity, overflow, pointer_events, shape_rendering, stop_color, stop_opacity, stroke, stroke_dasharray, stroke_dashoffset, stroke_linecap, stroke_linejoin,
  27. stroke_miterlimit, stroke_opacity, stroke_width, text_anchor, text_decoration, text_rendering, unicode_bidi, visibility, word_spacing, writing_mode).
  28. -define(SVG_TRANSFERT_FUNCTION, type, tableValues, slope, intercept, amplitude, exponent, offset).
  29. -define(SVG_XLINK, xlinkhref, xlinktype, xlinkrole, xlinkarcrole, xlinktitle, xlinkshow, xlinkactuate).
  30. -record(element, {?ELEMENT_BASE(undefined)}).
  31. -record(literal, {?ELEMENT_BASE(element_literal), html_encode=true }).
  32. -record(dtl, {?ELEMENT_BASE(element_dtl), file="index", bindings=[], app=web, folder="priv/templates", ext="html", bind_script=true, js_escape=false }).
  33. -record(list, {?ELEMENT_BASE(element_list), numbered=false }).
  34. -record(dropdown, {?ELEMENT_BASE(element_dropdown), options, value, multiple=false, disabled=false, name}).
  35. -record(radiogroup, {?ELEMENT_BASE(element_radiogroup)}).
  36. -record(spinner, {?ELEMENT_BASE(element_spinner), image="/nitrogen/spinner.gif"}).
  37. % HTML Document meta
  38. -record(base, {?ELEMENT_BASE(element_meta_base), href, target}).
  39. -record(head, ?DEFAULT_BASE).
  40. -record(meta_link, {?ELEMENT_BASE(element_meta_link), href, hreflang, media, rel, sizes, type}).
  41. -record(meta, {?ELEMENT_BASE(element_meta), charset, content, http_equiv, name, type}).
  42. -record(style, {?ELEMENT_BASE(element_style), media, scoped, type}).
  43. -record(title, ?DEFAULT_BASE).
  44. % HTML Edits
  45. -record('del', {?ELEMENT_BASE(element_del), cite, datetime}).
  46. -record(ins, {?ELEMENT_BASE(element_ins), cite, datetime}).
  47. % HTML Embedded
  48. -record(area, {?ELEMENT_BASE(element_area), alt, coords, href, hreflang, media, target, rel, shape, type}).
  49. -record(audio, {?ELEMENT_BASE(element_audio), autoplay, controls, loop, mediagroup, muted, preload, src, width}).
  50. -record(canvas, {?ELEMENT_BASE(element_canvas), height, width}).
  51. -record(embed, {?ELEMENT_BASE(element_embed), height, src, type, width}).
  52. -record(iframe, {?ELEMENT_BASE(element_iframe), height, name, sandbox, seamless, src, srcdoc, width}).
  53. -record(image, {?ELEMENT_BASE(element_image), alt, height, ismap, src, usemap, width, image}).
  54. -record(map, {?ELEMENT_BASE(element_map), name}).
  55. -record(object, {?ELEMENT_BASE(element_object), data, form, height, name, type, usemap, width}).
  56. -record(param, {?ELEMENT_BASE(element_param), name, value}).
  57. -record(source, {?ELEMENT_BASE(element_source), media, src, type}).
  58. -record(track, {?ELEMENT_BASE(element_track), default, kind, label, src, srclang}).
  59. -record(video, {?ELEMENT_BASE(element_video), autoplay, controls, height, loop, mediagroup, muted, poster, preload, src, width}).
  60. % HTML Form
  61. -record(button, {?ELEMENT_BASE(element_button), autofocus, disabled, form, formaction, formenctype, formmethod, formtarget, formnovalidate, name, type= <<"button">>, value}).
  62. -record(datalist, ?DEFAULT_BASE).
  63. -record(fieldset, {?ELEMENT_BASE(element_fieldset), disabled, form, name, legend}).
  64. -record(form, {?ELEMENT_BASE(element_form), accept_charset, action, autocomplete, enctype, method, name, novalidate, target}).
  65. -record(keygen, {?ELEMENT_BASE(element_keygen), autofocus, challenge, disabled, form, keytype, name}).
  66. -record(legend, ?DEFAULT_BASE).
  67. -record(label, {?ELEMENT_BASE(element_label), for, form}).
  68. -record(meter, {?ELEMENT_BASE(element_meter), high, low, max, min, optimum, value}).
  69. -record(optgroup, {?ELEMENT_BASE(element_select), disabled, label}).
  70. -record(option, {?ELEMENT_BASE(element_select), disabled, label, selected=false, value}).
  71. -record(output, {?ELEMENT_BASE(element_output), for, form, name}).
  72. -record(progress, {?ELEMENT_BASE(element_progress), max, value}).
  73. -record(select, {?ELEMENT_BASE(element_select), autofocus, disabled, form, multiple, name, required, size}).
  74. -record(textarea, {?ELEMENT_BASE(element_textarea), autofocus, cols, dirname, disabled, form, maxlength, name, placeholder, readonly, required, rows, wrap, value}).
  75. % HTML Form inputs
  76. -record(input, {?ELEMENT_BASE(element_input), autofocus, disabled, form, name, value, type=[], placeholder, multiple, min, max}).
  77. -record(input_button, {?ELEMENT_BASE(element_input_button), autofocus, disabled, form, name, value}).
  78. -record(checkbox, {?ELEMENT_BASE(element_checkbox), autofocus, checked=false, disabled, form, name, required, value}).
  79. -record(color, {?ELEMENT_BASE(element_color), autocomplete, autofocus, disabled, form, list, name, value}).
  80. -record(date, {?ELEMENT_BASE(element_date), autocomplete, autofocus, disabled, form, list, max, min, name, step, readonly, required, value}).
  81. -record(calendar, {?ELEMENT_BASE(element_calendar), autocomplete, autofocus, disabled, form, list, maxDate, minDate, format, name, step, readonly, required, value, placeholder}).
  82. -record(datetime, {?ELEMENT_BASE(element_datetime), autocomplete, autofocus, disabled, form, list, max, min, name, step, readonly, required, value}).
  83. -record(datetime_local, {?ELEMENT_BASE(element_datetime_local), autocomplete, autofocus, disabled, form, list, max, min, name, step, readonly, required, value}).
  84. -record(email, {?ELEMENT_BASE(element_email), autocomplete, autofocus, disabled, form, list, maxlength, multiple, name, pattern, placeholder, readonly, required, size, value}).
  85. -record(file, {?ELEMENT_BASE(element_file), accept, autofocus, disabled, form, multiple, name, required}).
  86. -record(hidden, {?ELEMENT_BASE(element_hidden), disabled, form, name, value, html_name}).
  87. -record(input_image, {?ELEMENT_BASE(element_input_image), alt, autofocus, disabled, form, formaction, formenctype, formmethod, formnovalue, formtarget, height, name, src, width}).
  88. -record(month, {?ELEMENT_BASE(element_month), alt, autocomplite, autofocus, disabled, form, list, min, max, name, readonly, required, step, value}).
  89. -record(number, {?ELEMENT_BASE(element_number), autocomplete, autofocus, disabled, form, list, max, min, name, placeholder, readonly, required, step, value}).
  90. -record(password, {?ELEMENT_BASE(element_password), autocomplete, autofocus, disabled, form, maxlength, name, pattern, placeholder, readonly, required, size, value}).
  91. -record(radio, {?ELEMENT_BASE(element_radio), autofocus, checked, disabled, form, name, required, value, html_name}).
  92. -record(range, {?ELEMENT_BASE(element_range), autocomplete, autofocus, disabled, form, list, max=100, min=0, name, step=1, value}).
  93. -record(reset, {?ELEMENT_BASE(element_reset), autofocus, disabled, form, name, value}).
  94. -record(search, {?ELEMENT_BASE(element_search), autocomplete, autofocus, dirname, disabled, form, list, maxlength, name, pattern, placeholder, readonly, required, size, value}).
  95. -record(submit, {?ELEMENT_BASE(element_submit), autofocus, disabled, form, formaction, formenctype, formmethod, formnovalidate, formtarget, name, value, click}).
  96. -record(tel, {?ELEMENT_BASE(element_tel), autocomplete, autofocus, disabled, form, list, maxlength, name, pattern, placeholder, readonly, required, size, value}).
  97. -record(textbox, {?ELEMENT_BASE(element_textbox), autocomplete, autofocus, dirname, disabled, form, list, maxlength, name, pattern, placeholder, readony, required, size, value}).
  98. -record(input_time, {?ELEMENT_BASE(element_input_time), autocomplete, autofocus, disabled, form, list, max, min, name, step, readonly, required, value}).
  99. -record(url, {?ELEMENT_BASE(element_url), autocomplete, autofocus, disabled, form, list, maxlength, name, pattern, placeholder, readonly, required, size, value}).
  100. -record(week, {?ELEMENT_BASE(element_week), autocomplete, autofocus, disabled, form, list, max, min, name, readonly, required, step, value}).
  101. % HTML Interactive
  102. -record(command, {?ELEMENT_BASE(element_command), checked, disabled, icon, label, radiogroup, type= <<"command">>}).
  103. -record(details, {?ELEMENT_BASE(element_details), open}).
  104. -record(menu, {?ELEMENT_BASE(element_menu), label, type}).
  105. -record(summary, ?DEFAULT_BASE).
  106. % HTML Grouping content
  107. -record(blockquote, {?ELEMENT_BASE(element_blockquote), cite}).
  108. -record(br, ?DEFAULT_BASE).
  109. -record(dd, ?DEFAULT_BASE).
  110. -record('div', ?DEFAULT_BASE_TAG(<<"div">>)).
  111. -record(dl, ?DEFAULT_BASE).
  112. -record(dt, ?DEFAULT_BASE).
  113. -record(figcaption, ?DEFAULT_BASE).
  114. -record(figure, ?DEFAULT_BASE).
  115. -record(hr, ?DEFAULT_BASE).
  116. -record(li, {?ELEMENT_BASE(element_li), value}).
  117. -record(ol, ?DEFAULT_BASE).
  118. -record(p, ?DEFAULT_BASE).
  119. -record(panel, ?DEFAULT_BASE_TAG(<<"div">>)).
  120. -record(pre, ?DEFAULT_BASE).
  121. -record(ul, ?DEFAULT_BASE).
  122. % HTML Root
  123. -record(html, {?ELEMENT_BASE(element_html), manifest}).
  124. % HTML Scripting
  125. -record(script, {?ELEMENT_BASE(element_script), async, charset, defer, src, type}).
  126. -record(noscript, ?DEFAULT_BASE).
  127. % HTML Sections
  128. -record(body, ?DEFAULT_BASE).
  129. -record(section, ?DEFAULT_BASE).
  130. -record(nav, ?DEFAULT_BASE).
  131. -record(article, ?DEFAULT_BASE).
  132. -record(aside, ?DEFAULT_BASE).
  133. -record(h1, ?DEFAULT_BASE).
  134. -record(h2, ?DEFAULT_BASE).
  135. -record(h3, ?DEFAULT_BASE).
  136. -record(h4, ?DEFAULT_BASE).
  137. -record(h5, ?DEFAULT_BASE).
  138. -record(h6, ?DEFAULT_BASE).
  139. -record(header, ?DEFAULT_BASE).
  140. -record(hgroup, ?DEFAULT_BASE).
  141. -record(footer, ?DEFAULT_BASE).
  142. -record(address, ?DEFAULT_BASE).
  143. -record(main, ?DEFAULT_BASE).
  144. % HTML Table
  145. -record(caption, ?DEFAULT_BASE).
  146. -record(col, {?ELEMENT_BASE(element_col), span}).
  147. -record(colgroup, {?ELEMENT_BASE(element_colgroup), col, span}).
  148. -record(table, {?ELEMENT_BASE(element_table), caption, colgroup, border, footer, header}).
  149. -record(tbody, ?DEFAULT_BASE).
  150. -record(td, {?ELEMENT_BASE(element_td), colspan=1, headers, rowspan=1, scope}).
  151. -record(tfoot, ?DEFAULT_BASE).
  152. -record(th, {?ELEMENT_BASE(element_th), colspan=1, headers, rowspan=1, scope}).
  153. -record(thead, ?DEFAULT_BASE).
  154. -record(tr, {?ELEMENT_BASE(element_tr), cells}).
  155. % HTML Text-level semantics
  156. -record(link, {?ELEMENT_BASE(element_link), href, hreflang, media, rel, target, type, url="javascript:void(0);", download, name}).
  157. -record(abbr, ?DEFAULT_BASE).
  158. -record(b, ?DEFAULT_BASE).
  159. -record(bdi, ?DEFAULT_BASE).
  160. -record(bdo, ?DEFAULT_BASE).
  161. -record(cite, ?DEFAULT_BASE).
  162. -record(code, ?DEFAULT_BASE).
  163. -record(dfn, ?DEFAULT_BASE).
  164. -record(em, ?DEFAULT_BASE).
  165. -record(i, ?DEFAULT_BASE).
  166. -record(kbd, ?DEFAULT_BASE).
  167. -record(mark, ?DEFAULT_BASE).
  168. -record(q, {?ELEMENT_BASE(element_q), cite}).
  169. -record(rt, ?DEFAULT_BASE).
  170. -record(rp, ?DEFAULT_BASE).
  171. -record(ruby, ?DEFAULT_BASE).
  172. -record(s, ?DEFAULT_BASE).
  173. -record(samp, ?DEFAULT_BASE).
  174. -record(small, ?DEFAULT_BASE).
  175. -record(span, ?DEFAULT_BASE).
  176. -record(strong, ?DEFAULT_BASE).
  177. -record(sub, ?DEFAULT_BASE).
  178. -record(sup, ?DEFAULT_BASE).
  179. -record(time, {?ELEMENT_BASE(element_time), datetime}).
  180. -record(u, ?DEFAULT_BASE).
  181. -record(var, ?DEFAULT_BASE).
  182. % Extras
  183. -record(upload, {?CTRL_BASE(element_upload), name, value}).
  184. % HTML5 template
  185. -record(template, ?DEFAULT_BASE).
  186. % SVG
  187. -record(svg, {?ELEMENT_BASE(element_svg), version="1.1", baseProfile="full", xmlns="http://www.w3.org/2000/svg", xmlnsxlink="http://www.w3.org/1999/xlink", xmlnsev="http://www.w3.org/2001/xml-events", preserveAspectRatio, contentScriptType, contentStyleType, viewBox, externalResourcesRequired, ?SVG_CONDITIONAL_PROCESSING, ?SVG_CORE, ?SVG_DOCUMENT_EVENT, ?SVG_FILTER_PRIMITIVE, ?SVG_GRAPHICAL_EVENT, ?SVG_PRESENTATION, ?SVG_TRANSFERT_FUNCTION, ?SVG_XLINK}).
  188. -record(altGlyph, {?ELEMENT_BASE(element_altglyph), x, y, dx, dy, rotate, glyphRef, format, externalResourcesRequired, ?SVG_CONDITIONAL_PROCESSING, ?SVG_CORE, ?SVG_GRAPHICAL_EVENT, ?SVG_PRESENTATION, ?SVG_XLINK}).
  189. -record(altGlyphDef, {?ELEMENT_BASE(element_altglyphdef), ?SVG_CORE}).
  190. -record(altGlyphItem, {?ELEMENT_BASE(element_altglyphitem), ?SVG_CORE}).
  191. -record(animate, {?ELEMENT_BASE(element_animate), externalResourcesRequired, ?SVG_ANIMATION_EVENT, ?SVG_ANIMATION_ATTRIBUT_TARGET, ?SVG_ANIMATION_TIMING, ?SVG_ANIMATION_VALUE, ?SVG_ANIMATION_ADDITION, ?SVG_CONDITIONAL_PROCESSING, ?SVG_CORE, ?SVG_XLINK}).
  192. -record(animateMotion, {?ELEMENT_BASE(element_animatemotion), path, keyPoints, rotate, origin, externalResourcesRequired, ?SVG_ANIMATION_EVENT, ?SVG_ANIMATION_TIMING, ?SVG_ANIMATION_VALUE, ?SVG_ANIMATION_ADDITION, ?SVG_CONDITIONAL_PROCESSING, ?SVG_CORE, ?SVG_XLINK}).
  193. -record(animateTransform, {?ELEMENT_BASE(element_animatetransform), type, externalResourcesRequired, ?SVG_ANIMATION_EVENT, ?SVG_ANIMATION_ATTRIBUT_TARGET, ?SVG_ANIMATION_TIMING, ?SVG_ANIMATION_VALUE, ?SVG_ANIMATION_ADDITION, ?SVG_CONDITIONAL_PROCESSING, ?SVG_CORE, ?SVG_XLINK}).
  194. -record(circle, {?ELEMENT_BASE(element_circle), cx, cy, r, transform, externalResourcesRequired, ?SVG_CONDITIONAL_PROCESSING, ?SVG_CORE, ?SVG_GRAPHICAL_EVENT, ?SVG_PRESENTATION}).
  195. -record(clipPath, {?ELEMENT_BASE(element_clippath), clipPathUnits, transform, externalResourcesRequired, ?SVG_CONDITIONAL_PROCESSING, ?SVG_CORE, ?SVG_PRESENTATION}).
  196. -record(color_profile, {?ELEMENT_BASE(element_colorprofile), local, name, rendering_intent, ?SVG_CORE, ?SVG_XLINK}).
  197. -record(cursor, {?ELEMENT_BASE(element_cursor), x, y, externalResourcesRequired, ?SVG_CONDITIONAL_PROCESSING, ?SVG_CORE, ?SVG_XLINK}).
  198. -record(defs, {?ELEMENT_BASE(element_defs), transform, externalResourcesRequired, ?SVG_CONDITIONAL_PROCESSING, ?SVG_CORE, ?SVG_GRAPHICAL_EVENT, ?SVG_PRESENTATION}).
  199. -record(desc, {?ELEMENT_BASE(element_desc), ?SVG_CORE}).
  200. -record(ellipse, {?ELEMENT_BASE(element_ellipse), cx, cy, rx, ry, transform, externalResourcesRequired, ?SVG_CONDITIONAL_PROCESSING, ?SVG_CORE, ?SVG_GRAPHICAL_EVENT, ?SVG_PRESENTATION}).
  201. -record(feBlend, {?ELEMENT_BASE(element_feblend), in, in2, mode, ?SVG_CORE, ?SVG_FILTER_PRIMITIVE, ?SVG_PRESENTATION}).
  202. -record(feColorMatrix, {?ELEMENT_BASE(element_fecolormatrix), in, type, values, ?SVG_CORE, ?SVG_FILTER_PRIMITIVE, ?SVG_PRESENTATION}).
  203. -record(feComponentTransfer, {?ELEMENT_BASE(element_fecomponenttransfer), in, ?SVG_CORE, ?SVG_FILTER_PRIMITIVE, ?SVG_PRESENTATION}).
  204. -record(feComposite, {?ELEMENT_BASE(element_fecomposite), in, in2, operator, k1, k2, k3, k4, ?SVG_CORE, ?SVG_FILTER_PRIMITIVE, ?SVG_PRESENTATION}).
  205. -record(feConvolveMatrix, {?ELEMENT_BASE(element_feconvolvematrix), in, order, kernelMatrix, divisor, bias, targetX, targetY, edgeMode, kernelUnitLength, preserveAlpha, ?SVG_CORE, ?SVG_FILTER_PRIMITIVE, ?SVG_PRESENTATION}).
  206. -record(feDiffuseLighting, {?ELEMENT_BASE(element_fediffuselighting), in, surfaceScale, diffuseConstant, kernelUnitLength, ?SVG_CORE, ?SVG_FILTER_PRIMITIVE, ?SVG_PRESENTATION}).
  207. -record(feDisplacementMap, {?ELEMENT_BASE(element_fedisplacementmap), in, in2, scale, xChannelSelector, yChannelSelector, ?SVG_CORE, ?SVG_FILTER_PRIMITIVE, ?SVG_PRESENTATION}).
  208. -record(feDistantLight, {?ELEMENT_BASE(element_fedistantlight), azimuth, elevation, ?SVG_CORE}).
  209. -record(feFlood, {?ELEMENT_BASE(element_feflood), ?SVG_CORE, ?SVG_FILTER_PRIMITIVE, ?SVG_PRESENTATION}).
  210. -record(feFuncA, {?ELEMENT_BASE(element_fefunca), ?SVG_CORE, ?SVG_TRANSFERT_FUNCTION}).
  211. -record(feFuncB, {?ELEMENT_BASE(element_fefuncb), ?SVG_CORE, ?SVG_TRANSFERT_FUNCTION}).
  212. -record(feFuncG, {?ELEMENT_BASE(element_fefuncg), ?SVG_CORE, ?SVG_TRANSFERT_FUNCTION}).
  213. -record(feFuncR, {?ELEMENT_BASE(element_fefuncr), ?SVG_CORE, ?SVG_TRANSFERT_FUNCTION}).
  214. -record(feGaussianBlur, {?ELEMENT_BASE(element_fegaussianblur), in, stdDeviation, ?SVG_CORE, ?SVG_FILTER_PRIMITIVE, ?SVG_PRESENTATION}).
  215. -record(feImage, {?ELEMENT_BASE(element_feimage), preserveAspectRatio, externalResourcesRequired, ?SVG_CORE, ?SVG_FILTER_PRIMITIVE, ?SVG_PRESENTATION, ?SVG_XLINK}).
  216. -record(feMerge, {?ELEMENT_BASE(element_femerge), ?SVG_CORE, ?SVG_FILTER_PRIMITIVE, ?SVG_PRESENTATION}).
  217. -record(feMergeNode, {?ELEMENT_BASE(element_femergenode), in, ?SVG_CORE}).
  218. -record(feMorphology, {?ELEMENT_BASE(element_femorphology), in, operator, radius, ?SVG_CORE, ?SVG_FILTER_PRIMITIVE, ?SVG_PRESENTATION}).
  219. -record(feOffset, {?ELEMENT_BASE(element_feoffset), in, dx, dy, ?SVG_CORE, ?SVG_FILTER_PRIMITIVE, ?SVG_PRESENTATION}).
  220. -record(fePointLight, {?ELEMENT_BASE(element_fepointlight), x, y, z, ?SVG_CORE}).
  221. -record(feSpecularLighting, {?ELEMENT_BASE(element_fespecularlighting), in, surfaceScale, specularConstant, specularExponent, kernelUnitLength, ?SVG_CORE, ?SVG_FILTER_PRIMITIVE, ?SVG_PRESENTATION}).
  222. -record(feSpotLight, {?ELEMENT_BASE(element_fespotlight), x, y, z, pointsAtX, pointsAtY, pointsAtZ, specularExponent, limitingConeAngle, ?SVG_CORE}).
  223. -record(feTile, {?ELEMENT_BASE(element_fetile), in, ?SVG_CORE, ?SVG_FILTER_PRIMITIVE, ?SVG_PRESENTATION}).
  224. -record(feTurbulence, {?ELEMENT_BASE(element_feturbulence), baseFrequency, numOctaves, seed, stitchTiles, type, ?SVG_CORE, ?SVG_FILTER_PRIMITIVE, ?SVG_PRESENTATION}).
  225. -record(filter, {?ELEMENT_BASE(element_filter), x, y, width, height, filterRes, filterUnits, primitiveUnits, externalResourcesRequired, ?SVG_CORE, ?SVG_PRESENTATION, ?SVG_XLINK}).
  226. -record(font, {?ELEMENT_BASE(element_font), horiz_origin_x, horiz_origin_y, horiz_adv_x, vert_origin_x, vert_origin_y, vert_adv_y, externalResourcesRequired, ?SVG_CORE, ?SVG_PRESENTATION}).
  227. -record(font_face, {?ELEMENT_BASE(element_fontface), font_family, font_style, font_variant, font_weight, font_stretch, font_size, unicode_range, units_per_em, panose_1, stemv, stemh, slope, cap_height, x_height, accent_height, ascent, descent, widths, bbox, ideographic, alphabetic, mathematical, hanging, v_ideographic, v_alphabetic, v_mathematical, v_hanging, underline_position, underline_thickness, strikethrough_position, strikethrough_thickness, overline_position, overline_thickness, ?SVG_CORE}).
  228. -record(font_face_format, {?ELEMENT_BASE(element_fontfaceformat), string, ?SVG_CORE}).
  229. -record(font_face_name, {?ELEMENT_BASE(element_fontfacename), name, ?SVG_CORE}).
  230. -record(font_face_src, {?ELEMENT_BASE(element_fontfacesrc), ?SVG_CORE}).
  231. -record(font_face_uri, {?ELEMENT_BASE(element_fontfaceuri), ?SVG_CORE, ?SVG_XLINK}).
  232. -record(foreignObject, {?ELEMENT_BASE(element_foreignobject), x, y, width, height, transform, externalResourcesRequired, ?SVG_CONDITIONAL_PROCESSING, ?SVG_CORE, ?SVG_GRAPHICAL_EVENT, ?SVG_PRESENTATION}).
  233. -record(g, {?ELEMENT_BASE(element_g), transform, externalResourcesRequired, ?SVG_CONDITIONAL_PROCESSING, ?SVG_CORE, ?SVG_GRAPHICAL_EVENT, ?SVG_PRESENTATION}).
  234. -record(glyph, {?ELEMENT_BASE(element_glyph), d, horiz_adv_x, vert_origin_x, vert_origin_y, vert_adv_y, unicode, glyph_name, orientation, arabic_form, ?SVG_CORE, ?SVG_PRESENTATION}).
  235. -record(glyphRef, {?ELEMENT_BASE(element_glyphref), x, y, dx, dy, glyphRef, format, ?SVG_CORE, ?SVG_PRESENTATION, ?SVG_XLINK}).
  236. -record(hkern, {?ELEMENT_BASE(element_hkern), u1, g1, u2, g2, k, ?SVG_CORE}).
  237. -record(svgimage, {?ELEMENT_BASE(element_svgimage), x, y, width, height, preserveAspectRatio, transform, externalResourcesRequired, ?SVG_CONDITIONAL_PROCESSING, ?SVG_CORE, ?SVG_GRAPHICAL_EVENT, ?SVG_PRESENTATION, ?SVG_XLINK}).
  238. -record(line, {?ELEMENT_BASE(element_line), x1, y1, x2, y2, transform, externalResourcesRequired, ?SVG_CONDITIONAL_PROCESSING, ?SVG_CORE, ?SVG_GRAPHICAL_EVENT, ?SVG_PRESENTATION}).
  239. -record(linearGradient, {?ELEMENT_BASE(element_lineargradient), gradientUnits, gradientTransform, x1, y1, x2, y2, spreadMethod, externalResourcesRequired, ?SVG_CORE, ?SVG_PRESENTATION, ?SVG_XLINK}).
  240. -record(xlink, {?ELEMENT_BASE(element_xlink), target, transform, externalResourcesRequired, ?SVG_CONDITIONAL_PROCESSING, ?SVG_CORE, ?SVG_FILTER_PRIMITIVE, ?SVG_GRAPHICAL_EVENT, ?SVG_PRESENTATION, ?SVG_TRANSFERT_FUNCTION, ?SVG_XLINK}).
  241. -record(marker, {?ELEMENT_BASE(element_marker), markerUnits, refX, refY, markerWidth, markerHeight, orient, viewBox, preserveAspectRatio, transform, externalResourcesRequired, ?SVG_CORE, ?SVG_PRESENTATION}).
  242. -record(mask, {?ELEMENT_BASE(element_mask), maskUnits, maskContentUnits, x, y, width, height, externalResourcesRequired, ?SVG_CONDITIONAL_PROCESSING, ?SVG_CORE, ?SVG_PRESENTATION}).
  243. -record(metadata, {?ELEMENT_BASE(element_metadata), ?SVG_CORE}).
  244. -record(missing_glyph, {?ELEMENT_BASE(element_missingglyph), d, horiz_adv_x, vert_origin_x, vert_origin_y, vert_adv_y, ?SVG_CORE, ?SVG_PRESENTATION}).
  245. -record(mpath, {?ELEMENT_BASE(element_mpath), externalResourcesRequired, ?SVG_CORE, ?SVG_XLINK}).
  246. -record(path, {?ELEMENT_BASE(element_path), d, pathLength, transform, externalResourcesRequired, ?SVG_CONDITIONAL_PROCESSING, ?SVG_CORE, ?SVG_GRAPHICAL_EVENT, ?SVG_PRESENTATION}).
  247. -record(pattern, {?ELEMENT_BASE(element_pattern), patternUnits, patternContentUnits, patternTransform, x, y, width, height, preserveAspectRatio, viewBox, externalResourcesRequired, ?SVG_CONDITIONAL_PROCESSING, ?SVG_CORE, ?SVG_PRESENTATION, ?SVG_XLINK}).
  248. -record(polygon, {?ELEMENT_BASE(element_polygon), points, transform, externalResourcesRequired, ?SVG_CONDITIONAL_PROCESSING, ?SVG_CORE, ?SVG_GRAPHICAL_EVENT, ?SVG_PRESENTATION}).
  249. -record(polyline, {?ELEMENT_BASE(element_polyline), points, transform, externalResourcesRequired, ?SVG_CONDITIONAL_PROCESSING, ?SVG_CORE, ?SVG_GRAPHICAL_EVENT, ?SVG_PRESENTATION}).
  250. -record(radialGradient, {?ELEMENT_BASE(element_radialgradient), gradientUnits, gradientTransform, cx, cy, r, fx, fy, spreadMethod, externalResourcesRequired, ?SVG_CORE, ?SVG_PRESENTATION, ?SVG_XLINK}).
  251. -record(rect, {?ELEMENT_BASE(element_rect), x, y, width, height, rx, ry, transform, externalResourcesRequired, ?SVG_CONDITIONAL_PROCESSING, ?SVG_CORE, ?SVG_GRAPHICAL_EVENT, ?SVG_PRESENTATION}).
  252. -record(svgscript, {?ELEMENT_BASE(element_svgscript), type, externalResourcesRequired, ?SVG_CORE, ?SVG_XLINK}).
  253. -record(set, {?ELEMENT_BASE(element_set), to, externalResourcesRequired, ?SVG_ANIMATION_EVENT, ?SVG_ANIMATION_ATTRIBUT_TARGET, ?SVG_ANIMATION_TIMING, ?SVG_CONDITIONAL_PROCESSING, ?SVG_CORE, ?SVG_XLINK}).
  254. -record(stop, {?ELEMENT_BASE(element_stop), offset, ?SVG_CORE, ?SVG_PRESENTATION}).
  255. -record(svgstyle, {?ELEMENT_BASE(element_svgstyle), type, media, ?SVG_CORE, ?SVG_XLINK}).
  256. -record(switch, {?ELEMENT_BASE(element_switch), allowReorderm, transform, externalResourcesRequired, ?SVG_CONDITIONAL_PROCESSING, ?SVG_CORE, ?SVG_GRAPHICAL_EVENT, ?SVG_PRESENTATION}).
  257. -record(symbol, {?ELEMENT_BASE(element_symbol), preserveAspectRatio, viewBox, externalResourcesRequired, ?SVG_CORE, ?SVG_GRAPHICAL_EVENT, ?SVG_PRESENTATION}).
  258. -record(text, {?ELEMENT_BASE(element_text), x, y, dx, dy, rotate, textLength, lengthAdjust, transform, externalResourcesRequired, ?SVG_CONDITIONAL_PROCESSING, ?SVG_CORE, ?SVG_GRAPHICAL_EVENT, ?SVG_PRESENTATION}).
  259. -record(textPath, {?ELEMENT_BASE(element_textpath), startOffset, method, spacing, externalResourcesRequired, ?SVG_CONDITIONAL_PROCESSING, ?SVG_CORE, ?SVG_GRAPHICAL_EVENT, ?SVG_PRESENTATION, ?SVG_XLINK}).
  260. -record(svgtitle, {?ELEMENT_BASE(element_svgtitle), ?SVG_CORE}).
  261. -record(tref, {?ELEMENT_BASE(element_tref), externalResourcesRequired, ?SVG_CONDITIONAL_PROCESSING, ?SVG_CORE, ?SVG_GRAPHICAL_EVENT, ?SVG_PRESENTATION, ?SVG_XLINK}).
  262. -record(tspan, {?ELEMENT_BASE(element_tspan), x, y, dx, dy, rotate, textLength, lengthAdjust, externalResourcesRequired, ?SVG_CONDITIONAL_PROCESSING, ?SVG_CORE, ?SVG_GRAPHICAL_EVENT, ?SVG_PRESENTATION}).
  263. -record(use, {?ELEMENT_BASE(element_use), x, y, width, height, transform, externalResourcesRequired, ?SVG_CONDITIONAL_PROCESSING, ?SVG_CORE, ?SVG_GRAPHICAL_EVENT, ?SVG_PRESENTATION, ?SVG_XLINK}).
  264. -record(view, {?ELEMENT_BASE(element_view), viewBox, preserveAspectRatio, zoomAndPan, viewTarget, externalResourcesRequired, ?SVG_CORE}).
  265. -record(vkern, {?ELEMENT_BASE(element_vkern), u1, g1, u2, g2, k, ?SVG_CORE}).
  266. % Actions
  267. -record(action, {?ACTION_BASE(undefined)}).
  268. -record(wire, {?ACTION_BASE(action_wire)}).
  269. -record(api, {?ACTION_BASE(action_api), name, tag, delegate }).
  270. -record(event, {?ACTION_BASE(action_event), type=default, postback, delegate, validation=[]}).
  271. -record(bind, {?ACTION_BASE(action_bind), type=click, postback=[]}).
  272. -record(alert, {?ACTION_BASE(action_alert), text}).
  273. -record(confirm, {?ACTION_BASE(action_confirm), text, postback, delegate}).
  274. -record(jq, {?ACTION_BASE(action_jq), property, method, args=[], right, format="~s"}).
  275. -record(transfer,{?ACTION_BASE(action_transfer), state, events=[] }).
  276. -endif.