compilerplugins/clang/store/staticvar.cxx | 4 include/svtools/htmlkywd.hxx | 303 ++++++++++++++---------------- svtools/source/svhtml/htmlkywd.cxx | 244 ++++++++++-------------- 3 files changed, 256 insertions(+), 295 deletions(-)
New commits: commit f583b298e9e84020cc989726984b8b8aa0247220 Author: Caolán McNamara <caolan.mcnam...@collabora.com> AuthorDate: Sat Jul 12 20:51:48 2025 +0100 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Sat Jul 19 09:15:17 2025 +0200 ensure aHTMLOptionTab is sorted at compile time static_assert that its sorted instead of sorting at load time. them it can be made constexpr Change-Id: I85970c5db2cb3f1998449875d5837935b61ee3f1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187786 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com> (cherry picked from commit c64c74b28773913082e81510df49886766200614) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188042 Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> diff --git a/compilerplugins/clang/store/staticvar.cxx b/compilerplugins/clang/store/staticvar.cxx index 774ab92245bb..d097989d9232 100644 --- a/compilerplugins/clang/store/staticvar.cxx +++ b/compilerplugins/clang/store/staticvar.cxx @@ -73,8 +73,6 @@ public: || fn == SRCDIR "/sw/source/uibase/docvw/srcedtw.cxx" // mutable || fn == SRCDIR "/forms/source/misc/limitedformats.cxx" - // aHTMLOptionTab is ordered by useful grouping, so let it sort at runtime - || fn == SRCDIR "/svtools/source/svhtml/htmlkywd.cxx" // TODO sorting some of these tables will be a lot of work... || fn == SRCDIR "/sw/source/filter/ww8/ww8par6.cxx" // this only triggers on older versions of clang, not sure why @@ -83,8 +81,6 @@ public: // I tried doing this, but got very weird unit test failures, apparently sorting this table // disturbs some code elsewhere || fn == SRCDIR "/svx/source/unodraw/unoprov.cxx" - // aRTFTokenTab is ordered by useful grouping, so let it sort at runtime - || fn == SRCDIR "/svtools/source/svrtf/rtfkeywd.cxx") return; TraverseDecl(compiler.getASTContext().getTranslationUnitDecl()); } diff --git a/include/svtools/htmlkywd.hxx b/include/svtools/htmlkywd.hxx index f4c24350bc55..e2ce4bd68e3c 100644 --- a/include/svtools/htmlkywd.hxx +++ b/include/svtools/htmlkywd.hxx @@ -405,163 +405,152 @@ // HTML attribute tokens (=options) -// attributes without value -#define OOO_STRING_SVTOOLS_HTML_O_checked "checked" -#define OOO_STRING_SVTOOLS_HTML_O_compact "compact" -#define OOO_STRING_SVTOOLS_HTML_O_declare "declare" -#define OOO_STRING_SVTOOLS_HTML_O_disabled "disabled" -#define OOO_STRING_SVTOOLS_HTML_O_ismap "ismap" -#define OOO_STRING_SVTOOLS_HTML_O_mayscript "mayscript" -#define OOO_STRING_SVTOOLS_HTML_O_multiple "multiple" -#define OOO_STRING_SVTOOLS_HTML_O_nohref "nohref" -#define OOO_STRING_SVTOOLS_HTML_O_noresize "noresize" -#define OOO_STRING_SVTOOLS_HTML_O_noshade "noshade" -#define OOO_STRING_SVTOOLS_HTML_O_nowrap "nowrap" -#define OOO_STRING_SVTOOLS_HTML_O_sdfixed "sdfixed" -#define OOO_STRING_SVTOOLS_HTML_O_selected "selected" - -// attributes with a string as value -#define OOO_STRING_SVTOOLS_HTML_O_accesskey "accesskey" -#define OOO_STRING_SVTOOLS_HTML_O_accept "accept" -#define OOO_STRING_SVTOOLS_HTML_O_alt "alt" -#define OOO_STRING_SVTOOLS_HTML_O_axis "axis" -#define OOO_STRING_SVTOOLS_HTML_O_char "char" -#define OOO_STRING_SVTOOLS_HTML_O_charset "charset" -#define OOO_STRING_SVTOOLS_HTML_O_class "class" -#define OOO_STRING_SVTOOLS_HTML_O_code "code" -#define OOO_STRING_SVTOOLS_HTML_O_codetype "codetype" -#define OOO_STRING_SVTOOLS_HTML_O_content "content" -#define OOO_STRING_SVTOOLS_HTML_O_coords "coords" -#define OOO_STRING_SVTOOLS_HTML_O_enctype "enctype" -#define OOO_STRING_SVTOOLS_HTML_O_face "face" -#define OOO_STRING_SVTOOLS_HTML_O_frameborder "frameborder" -#define OOO_STRING_SVTOOLS_HTML_O_httpequiv "http-equiv" -#define OOO_STRING_SVTOOLS_HTML_O_language "language" -#define OOO_STRING_SVTOOLS_HTML_O_name "name" -#define OOO_STRING_SVTOOLS_HTML_O_prompt "prompt" -#define OOO_STRING_SVTOOLS_HTML_O_shape "shape" -#define OOO_STRING_SVTOOLS_HTML_O_standby "standby" -#define OOO_STRING_SVTOOLS_HTML_O_style "style" -#define OOO_STRING_SVTOOLS_HTML_O_title "title" -#define OOO_STRING_SVTOOLS_HTML_O_value "value" -#define OOO_STRING_SVTOOLS_HTML_O_SDval "sdval" -#define OOO_STRING_SVTOOLS_HTML_O_DSval "data-sheets-value" -#define OOO_STRING_SVTOOLS_HTML_O_SDnum "sdnum" -#define OOO_STRING_SVTOOLS_HTML_O_DSnum "data-sheets-numberformat" -#define OOO_STRING_SVTOOLS_HTML_O_DSformula "data-sheets-formula" -#define OOO_STRING_SVTOOLS_HTML_O_sdlibrary "sdlibrary" -#define OOO_STRING_SVTOOLS_HTML_O_sdmodule "sdmodule" -#define OOO_STRING_SVTOOLS_HTML_O_sdevent "sdevent-" -#define OOO_STRING_SVTOOLS_HTML_O_sdaddparam "sdaddparam-" - -// attributes with an SGML identifier as value -#define OOO_STRING_SVTOOLS_HTML_O_id "id" -#define OOO_STRING_SVTOOLS_HTML_O_target "target" -#define OOO_STRING_SVTOOLS_HTML_O_to "to" - -// attributes with a URI as value -#define OOO_STRING_SVTOOLS_HTML_O_action "action" -#define OOO_STRING_SVTOOLS_HTML_O_archive "archive" -#define OOO_STRING_SVTOOLS_HTML_O_background "background" -#define OOO_STRING_SVTOOLS_HTML_O_classid "classid" -#define OOO_STRING_SVTOOLS_HTML_O_codebase "codebase" -#define OOO_STRING_SVTOOLS_HTML_O_data "data" -#define OOO_STRING_SVTOOLS_HTML_O_href "href" -#define OOO_STRING_SVTOOLS_HTML_O_script "script" -#define OOO_STRING_SVTOOLS_HTML_O_src "src" -#define OOO_STRING_SVTOOLS_HTML_O_usemap "usemap" - -// attributes with a colour as value (all Netscape) -#define OOO_STRING_SVTOOLS_HTML_O_alink "alink" -#define OOO_STRING_SVTOOLS_HTML_O_bgcolor "bgcolor" -#define OOO_STRING_SVTOOLS_HTML_O_bordercolor "bordercolor" -#define OOO_STRING_SVTOOLS_HTML_O_bordercolorlight "bordercolorlight" -#define OOO_STRING_SVTOOLS_HTML_O_bordercolordark "bordercolordark" -#define OOO_STRING_SVTOOLS_HTML_O_color "color" -#define OOO_STRING_SVTOOLS_HTML_O_link "link" -#define OOO_STRING_SVTOOLS_HTML_O_text "text" -#define OOO_STRING_SVTOOLS_HTML_O_vlink "vlink" - -// attributes with a numerical value -#define OOO_STRING_SVTOOLS_HTML_O_border "border" -#define OOO_STRING_SVTOOLS_HTML_O_cellspacing "cellspacing" -#define OOO_STRING_SVTOOLS_HTML_O_cellpadding "cellpadding" -#define OOO_STRING_SVTOOLS_HTML_O_charoff "charoff" -#define OOO_STRING_SVTOOLS_HTML_O_colspan "colspan" -#define OOO_STRING_SVTOOLS_HTML_O_framespacing "framespacing" -#define OOO_STRING_SVTOOLS_HTML_O_gutter "gutter" -#define OOO_STRING_SVTOOLS_HTML_O_height "height" -#define OOO_STRING_SVTOOLS_HTML_O_hspace "hspace" -#define OOO_STRING_SVTOOLS_HTML_O_left "left" -#define OOO_STRING_SVTOOLS_HTML_O_loop "loop" -#define OOO_STRING_SVTOOLS_HTML_O_marginheight "marginheight" -#define OOO_STRING_SVTOOLS_HTML_O_marginwidth "marginwidth" -#define OOO_STRING_SVTOOLS_HTML_O_maxlength "maxlength" -#define OOO_STRING_SVTOOLS_HTML_O_rowspan "rowspan" -#define OOO_STRING_SVTOOLS_HTML_O_scrollamount "scrollamount" -#define OOO_STRING_SVTOOLS_HTML_O_scrolldelay "scrolldelay" -#define OOO_STRING_SVTOOLS_HTML_O_span "span" -#define OOO_STRING_SVTOOLS_HTML_O_tabindex "tabindex" -#define OOO_STRING_SVTOOLS_HTML_O_vspace "vspace" -#define OOO_STRING_SVTOOLS_HTML_O_width "width" -#define OOO_STRING_SVTOOLS_HTML_O_zindex "z-index" - -// attributes with enum values -#define OOO_STRING_SVTOOLS_HTML_O_behavior "behavior" -#define OOO_STRING_SVTOOLS_HTML_O_clear "clear" -#define OOO_STRING_SVTOOLS_HTML_O_dir "dir" -#define OOO_STRING_SVTOOLS_HTML_O_direction "direction" -#define OOO_STRING_SVTOOLS_HTML_O_format "format" -#define OOO_STRING_SVTOOLS_HTML_O_frame "frame" -#define OOO_STRING_SVTOOLS_HTML_O_lang "lang" -#define OOO_STRING_SVTOOLS_XHTML_O_lang "xml:lang" -#define OOO_STRING_SVTOOLS_HTML_O_method "method" -#define OOO_STRING_SVTOOLS_HTML_O_rel "rel" -#define OOO_STRING_SVTOOLS_HTML_O_rev "rev" -#define OOO_STRING_SVTOOLS_HTML_O_rules "rules" -#define OOO_STRING_SVTOOLS_HTML_O_scrolling "scrolling" -#define OOO_STRING_SVTOOLS_HTML_O_sdreadonly "readonly" -#define OOO_STRING_SVTOOLS_HTML_O_subtype "subtype" -#define OOO_STRING_SVTOOLS_HTML_O_type "type" -#define OOO_STRING_SVTOOLS_HTML_O_valign "valign" -#define OOO_STRING_SVTOOLS_HTML_O_valuetype "valuetype" -#define OOO_STRING_SVTOOLS_HTML_O_wrap "wrap" -#define OOO_STRING_SVTOOLS_XHTML_O_xml_space "xml:space" - -// attributes with script code as value -#define OOO_STRING_SVTOOLS_HTML_O_onblur "onblur" -#define OOO_STRING_SVTOOLS_HTML_O_onchange "onchange" -#define OOO_STRING_SVTOOLS_HTML_O_onclick "onclick" -#define OOO_STRING_SVTOOLS_HTML_O_onfocus "onfocus" -#define OOO_STRING_SVTOOLS_HTML_O_onload "onload" -#define OOO_STRING_SVTOOLS_HTML_O_onmouseover "onmouseover" -#define OOO_STRING_SVTOOLS_HTML_O_onreset "onreset" -#define OOO_STRING_SVTOOLS_HTML_O_onselect "onselect" -#define OOO_STRING_SVTOOLS_HTML_O_onsubmit "onsubmit" -#define OOO_STRING_SVTOOLS_HTML_O_onunload "onunload" -#define OOO_STRING_SVTOOLS_HTML_O_onabort "onabort" -#define OOO_STRING_SVTOOLS_HTML_O_onerror "onerror" -#define OOO_STRING_SVTOOLS_HTML_O_onmouseout "onmouseout" -#define OOO_STRING_SVTOOLS_HTML_O_SDonblur "sdonblur" -#define OOO_STRING_SVTOOLS_HTML_O_SDonchange "sdonchange" -#define OOO_STRING_SVTOOLS_HTML_O_SDonclick "sdonclick" -#define OOO_STRING_SVTOOLS_HTML_O_SDonfocus "sdonfocus" -#define OOO_STRING_SVTOOLS_HTML_O_SDonload "sdonload" -#define OOO_STRING_SVTOOLS_HTML_O_SDonmouseover "sdonmouseover" -#define OOO_STRING_SVTOOLS_HTML_O_SDonreset "sdonreset" -#define OOO_STRING_SVTOOLS_HTML_O_SDonselect "sdonselect" -#define OOO_STRING_SVTOOLS_HTML_O_SDonsubmit "sdonsubmit" -#define OOO_STRING_SVTOOLS_HTML_O_SDonunload "sdonunload" -#define OOO_STRING_SVTOOLS_HTML_O_SDonabort "sdonabort" -#define OOO_STRING_SVTOOLS_HTML_O_SDonerror "sdonerror" -#define OOO_STRING_SVTOOLS_HTML_O_SDonmouseout "sdonmouseout" - -// attributes with context-dependent values -#define OOO_STRING_SVTOOLS_HTML_O_align "align" -#define OOO_STRING_SVTOOLS_HTML_O_cols "cols" -#define OOO_STRING_SVTOOLS_HTML_O_rows "rows" -#define OOO_STRING_SVTOOLS_HTML_O_start "start" -#define OOO_STRING_SVTOOLS_HTML_O_size "size" +#define OOO_STRING_SVTOOLS_HTML_O_accept "accept" // attribute with a string as value +#define OOO_STRING_SVTOOLS_HTML_O_accesskey "accesskey" // attribute with a string as value +#define OOO_STRING_SVTOOLS_HTML_O_action "action" // attribute with a URI as value +#define OOO_STRING_SVTOOLS_HTML_O_align "align" // attribute with context-dependent values +#define OOO_STRING_SVTOOLS_HTML_O_alink "alink" // attribute with a colour as value (Netscape) +#define OOO_STRING_SVTOOLS_HTML_O_alt "alt" // attribute with a string as value +#define OOO_STRING_SVTOOLS_HTML_O_archive "archive" // attribute with a URI as value +#define OOO_STRING_SVTOOLS_HTML_O_axis "axis" // attribute with a string as value +#define OOO_STRING_SVTOOLS_HTML_O_background "background" // attribute with a URI as value +#define OOO_STRING_SVTOOLS_HTML_O_behavior "behavior" // attribute with enum values +#define OOO_STRING_SVTOOLS_HTML_O_bgcolor "bgcolor" // attribute with a colour as value (Netscape) +#define OOO_STRING_SVTOOLS_HTML_O_border "border" // attribute with a numerical value +#define OOO_STRING_SVTOOLS_HTML_O_bordercolor \ + "bordercolor" // attribute with a colour as value (Netscape) +#define OOO_STRING_SVTOOLS_HTML_O_bordercolordark \ + "bordercolordark" // attribute with a colour as value (Netscape) +#define OOO_STRING_SVTOOLS_HTML_O_bordercolorlight \ + "bordercolorlight" // attribute with a colour as value (Netscape) +#define OOO_STRING_SVTOOLS_HTML_O_cellpadding "cellpadding" // attribute with a numerical value +#define OOO_STRING_SVTOOLS_HTML_O_cellspacing "cellspacing" // attribute with a numerical value +#define OOO_STRING_SVTOOLS_HTML_O_char "char" // attribute with a string as value +#define OOO_STRING_SVTOOLS_HTML_O_charoff "charoff" // attribute with a numerical value +#define OOO_STRING_SVTOOLS_HTML_O_charset "charset" // attribute with a string as value +#define OOO_STRING_SVTOOLS_HTML_O_checked "checked" // attribute without value +#define OOO_STRING_SVTOOLS_HTML_O_class "class" // attribute with a string as value +#define OOO_STRING_SVTOOLS_HTML_O_classid "classid" // attribute with a URI as value +#define OOO_STRING_SVTOOLS_HTML_O_clear "clear" // attribute with enum values +#define OOO_STRING_SVTOOLS_HTML_O_code "code" // attribute with a string as value +#define OOO_STRING_SVTOOLS_HTML_O_codebase "codebase" // attribute with a URI as value +#define OOO_STRING_SVTOOLS_HTML_O_codetype "codetype" // attribute with a string as value +#define OOO_STRING_SVTOOLS_HTML_O_color "color" // attribute with a colour as value (Netscape) +#define OOO_STRING_SVTOOLS_HTML_O_cols "cols" // attribute with context-dependent values +#define OOO_STRING_SVTOOLS_HTML_O_colspan "colspan" // attribute with a numerical value +#define OOO_STRING_SVTOOLS_HTML_O_compact "compact" // attribute without value +#define OOO_STRING_SVTOOLS_HTML_O_content "content" // attribute with a string as value +#define OOO_STRING_SVTOOLS_HTML_O_coords "coords" // attribute with a string as value +#define OOO_STRING_SVTOOLS_HTML_O_data "data" // attribute with a URI as value +#define OOO_STRING_SVTOOLS_HTML_O_DSformula \ + "data-sheets-formula" // attribute with a string as value +#define OOO_STRING_SVTOOLS_HTML_O_DSnum \ + "data-sheets-numberformat" // attribute with a string as value +#define OOO_STRING_SVTOOLS_HTML_O_DSval "data-sheets-value" // attribute with a string as value +#define OOO_STRING_SVTOOLS_HTML_O_declare "declare" // attribute without value +#define OOO_STRING_SVTOOLS_HTML_O_dir "dir" // attribute with enum values +#define OOO_STRING_SVTOOLS_HTML_O_direction "direction" // attribute with enum values +#define OOO_STRING_SVTOOLS_HTML_O_disabled "disabled" // attribute without value +#define OOO_STRING_SVTOOLS_HTML_O_enctype "enctype" // attribute with a string as value +#define OOO_STRING_SVTOOLS_HTML_O_face "face" // attribute with a string as value +#define OOO_STRING_SVTOOLS_HTML_O_format "format" // attribute with enum values +#define OOO_STRING_SVTOOLS_HTML_O_frame "frame" // attribute with enum values +#define OOO_STRING_SVTOOLS_HTML_O_frameborder "frameborder" // attribute with a string as value +#define OOO_STRING_SVTOOLS_HTML_O_framespacing "framespacing" // attribute with a numerical value +#define OOO_STRING_SVTOOLS_HTML_O_gutter "gutter" // attribute with a numerical value +#define OOO_STRING_SVTOOLS_HTML_O_height "height" // attribute with a numerical value +#define OOO_STRING_SVTOOLS_HTML_O_href "href" // attribute with a URI as value +#define OOO_STRING_SVTOOLS_HTML_O_hspace "hspace" // attribute with a numerical value +#define OOO_STRING_SVTOOLS_HTML_O_httpequiv "http-equiv" // attribute with a string as value +#define OOO_STRING_SVTOOLS_HTML_O_id "id" // attribute with an SGML identifier as value +#define OOO_STRING_SVTOOLS_HTML_O_ismap "ismap" // attribute without value +#define OOO_STRING_SVTOOLS_HTML_O_lang "lang" // attribute with enum values +#define OOO_STRING_SVTOOLS_HTML_O_language "language" // attribute with a string as value +#define OOO_STRING_SVTOOLS_HTML_O_left "left" // attribute with a numerical value +#define OOO_STRING_SVTOOLS_HTML_O_link "link" // attribute with a colour as value (Netscape) +#define OOO_STRING_SVTOOLS_HTML_O_loop "loop" // attribute with a numerical value +#define OOO_STRING_SVTOOLS_HTML_O_marginheight "marginheight" // attribute with a numerical value +#define OOO_STRING_SVTOOLS_HTML_O_marginwidth "marginwidth" // attribute with a numerical value +#define OOO_STRING_SVTOOLS_HTML_O_maxlength "maxlength" // attribute with a numerical value +#define OOO_STRING_SVTOOLS_HTML_O_mayscript "mayscript" // attribute without value +#define OOO_STRING_SVTOOLS_HTML_O_method "method" // attribute with enum values +#define OOO_STRING_SVTOOLS_HTML_O_multiple "multiple" // attribute without value +#define OOO_STRING_SVTOOLS_HTML_O_name "name" // attribute with a string as value +#define OOO_STRING_SVTOOLS_HTML_O_nohref "nohref" // attribute without value +#define OOO_STRING_SVTOOLS_HTML_O_noresize "noresize" // attribute without value +#define OOO_STRING_SVTOOLS_HTML_O_noshade "noshade" // attribute without value +#define OOO_STRING_SVTOOLS_HTML_O_nowrap "nowrap" // attribute without value +#define OOO_STRING_SVTOOLS_HTML_O_onabort "onabort" // attribute with script code as value +#define OOO_STRING_SVTOOLS_HTML_O_onblur "onblur" // attribute with script code as value +#define OOO_STRING_SVTOOLS_HTML_O_onchange "onchange" // attribute with script code as value +#define OOO_STRING_SVTOOLS_HTML_O_onclick "onclick" // attribute with script code as value +#define OOO_STRING_SVTOOLS_HTML_O_onerror "onerror" // attribute with script code as value +#define OOO_STRING_SVTOOLS_HTML_O_onfocus "onfocus" // attribute with script code as value +#define OOO_STRING_SVTOOLS_HTML_O_onload "onload" // attribute with script code as value +#define OOO_STRING_SVTOOLS_HTML_O_onmouseout "onmouseout" // attribute with script code as value +#define OOO_STRING_SVTOOLS_HTML_O_onmouseover "onmouseover" // attribute with script code as value +#define OOO_STRING_SVTOOLS_HTML_O_onreset "onreset" // attribute with script code as value +#define OOO_STRING_SVTOOLS_HTML_O_onselect "onselect" // attribute with script code as value +#define OOO_STRING_SVTOOLS_HTML_O_onsubmit "onsubmit" // attribute with script code as value +#define OOO_STRING_SVTOOLS_HTML_O_onunload "onunload" // attribute with script code as value +#define OOO_STRING_SVTOOLS_HTML_O_prompt "prompt" // attribute with a string as value +#define OOO_STRING_SVTOOLS_HTML_O_sdreadonly "readonly" // attribute with enum values +#define OOO_STRING_SVTOOLS_HTML_O_rel "rel" // attribute with enum values +#define OOO_STRING_SVTOOLS_HTML_O_rev "rev" // attribute with enum values +#define OOO_STRING_SVTOOLS_HTML_O_rows "rows" // attribute with context-dependent values +#define OOO_STRING_SVTOOLS_HTML_O_rowspan "rowspan" // attribute with a numerical value +#define OOO_STRING_SVTOOLS_HTML_O_rules "rules" // attribute with enum values +#define OOO_STRING_SVTOOLS_HTML_O_script "script" // attribute with a URI as value +#define OOO_STRING_SVTOOLS_HTML_O_scrollamount "scrollamount" // attribute with a numerical value +#define OOO_STRING_SVTOOLS_HTML_O_scrolldelay "scrolldelay" // attribute with a numerical value +#define OOO_STRING_SVTOOLS_HTML_O_scrolling "scrolling" // attribute with enum values +#define OOO_STRING_SVTOOLS_HTML_O_sdaddparam "sdaddparam-" // attribute with a string as value +#define OOO_STRING_SVTOOLS_HTML_O_sdevent "sdevent-" // attribute with a string as value +#define OOO_STRING_SVTOOLS_HTML_O_sdfixed "sdfixed" // attribute without value +#define OOO_STRING_SVTOOLS_HTML_O_sdlibrary "sdlibrary" // attribute with a string as value +#define OOO_STRING_SVTOOLS_HTML_O_sdmodule "sdmodule" // attribute with a string as value +#define OOO_STRING_SVTOOLS_HTML_O_SDnum "sdnum" // attribute with a string as value +#define OOO_STRING_SVTOOLS_HTML_O_SDonabort "sdonabort" // attribute with script code as value +#define OOO_STRING_SVTOOLS_HTML_O_SDonblur "sdonblur" // attribute with script code as value +#define OOO_STRING_SVTOOLS_HTML_O_SDonchange "sdonchange" // attribute with script code as value +#define OOO_STRING_SVTOOLS_HTML_O_SDonclick "sdonclick" // attribute with script code as value +#define OOO_STRING_SVTOOLS_HTML_O_SDonerror "sdonerror" // attribute with script code as value +#define OOO_STRING_SVTOOLS_HTML_O_SDonfocus "sdonfocus" // attribute with script code as value +#define OOO_STRING_SVTOOLS_HTML_O_SDonload "sdonload" // attribute with script code as value +#define OOO_STRING_SVTOOLS_HTML_O_SDonmouseout "sdonmouseout" // attribute with script code as value +#define OOO_STRING_SVTOOLS_HTML_O_SDonmouseover \ + "sdonmouseover" // attribute with script code as value +#define OOO_STRING_SVTOOLS_HTML_O_SDonreset "sdonreset" // attribute with script code as value +#define OOO_STRING_SVTOOLS_HTML_O_SDonselect "sdonselect" // attribute with script code as value +#define OOO_STRING_SVTOOLS_HTML_O_SDonsubmit "sdonsubmit" // attribute with script code as value +#define OOO_STRING_SVTOOLS_HTML_O_SDonunload "sdonunload" // attribute with script code as value +#define OOO_STRING_SVTOOLS_HTML_O_SDval "sdval" // attribute with a string as value +#define OOO_STRING_SVTOOLS_HTML_O_selected "selected" // attribute without value +#define OOO_STRING_SVTOOLS_HTML_O_shape "shape" // attribute with a string as value +#define OOO_STRING_SVTOOLS_HTML_O_size "size" // attribute with context-dependent values +#define OOO_STRING_SVTOOLS_HTML_O_span "span" // attribute with a numerical value +#define OOO_STRING_SVTOOLS_HTML_O_src "src" // attribute with a URI as value +#define OOO_STRING_SVTOOLS_HTML_O_standby "standby" // attribute with a string as value +#define OOO_STRING_SVTOOLS_HTML_O_start "start" // attribute with context-dependent values +#define OOO_STRING_SVTOOLS_HTML_O_style "style" // attribute with a string as value +#define OOO_STRING_SVTOOLS_HTML_O_subtype "subtype" // attribute with enum values +#define OOO_STRING_SVTOOLS_HTML_O_tabindex "tabindex" // attribute with a numerical value +#define OOO_STRING_SVTOOLS_HTML_O_target "target" // attribute with an SGML identifier as value +#define OOO_STRING_SVTOOLS_HTML_O_text "text" // attribute with a colour as value (Netscape) +#define OOO_STRING_SVTOOLS_HTML_O_title "title" // attribute with a string as value +#define OOO_STRING_SVTOOLS_HTML_O_to "to" // attribute with an SGML identifier as value +#define OOO_STRING_SVTOOLS_HTML_O_type "type" // attribute with enum values +#define OOO_STRING_SVTOOLS_HTML_O_usemap "usemap" // attribute with a URI as value +#define OOO_STRING_SVTOOLS_HTML_O_valign "valign" // attribute with enum values +#define OOO_STRING_SVTOOLS_HTML_O_value "value" // attribute with a string as value +#define OOO_STRING_SVTOOLS_HTML_O_valuetype "valuetype" // attribute with enum values +#define OOO_STRING_SVTOOLS_HTML_O_vlink "vlink" // attribute with a colour as value (Netscape) +#define OOO_STRING_SVTOOLS_HTML_O_vspace "vspace" // attribute with a numerical value +#define OOO_STRING_SVTOOLS_HTML_O_width "width" // attribute with a numerical value +#define OOO_STRING_SVTOOLS_HTML_O_wrap "wrap" // attribute with enum values +#define OOO_STRING_SVTOOLS_XHTML_O_lang "xml:lang" // attribute with enum values +#define OOO_STRING_SVTOOLS_XHTML_O_xml_space "xml:space" // attribute with enum values +#define OOO_STRING_SVTOOLS_HTML_O_zindex "z-index" // attribute with a numerical value // values of <INPUT TYPE=...> #define OOO_STRING_SVTOOLS_HTML_IT_text "text" diff --git a/svtools/source/svhtml/htmlkywd.cxx b/svtools/source/svhtml/htmlkywd.cxx index ad2689f0e907..f3845f10f5eb 100644 --- a/svtools/source/svhtml/htmlkywd.cxx +++ b/svtools/source/svhtml/htmlkywd.cxx @@ -459,178 +459,154 @@ sal_Unicode GetHTMLCharName( std::u16string_view rName ) return search<sal_Unicode>( aHTMLCharNameTab, rName, 0); } -// Flag: Options table has already been sorted -static bool bSortOptionKeyWords = false; - using HTML_OptionEntry = TokenEntry<HtmlOptionId>; -static HTML_OptionEntry aHTMLOptionTab[] = { +constexpr HTML_OptionEntry aHTMLOptionTab[] = { -// Attributes without value - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_checked), HtmlOptionId::CHECKED}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_compact), HtmlOptionId::COMPACT}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_declare), HtmlOptionId::DECLARE}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_disabled), HtmlOptionId::DISABLED}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_ismap), HtmlOptionId::ISMAP}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_mayscript), HtmlOptionId::MAYSCRIPT}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_multiple), HtmlOptionId::MULTIPLE}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_nohref), HtmlOptionId::NOHREF}, // Netscape 2.0 - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_noresize), HtmlOptionId::NORESIZE}, // Netscape 2.0 - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_noshade), HtmlOptionId::NOSHADE}, // Netscape 2.0 - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_nowrap), HtmlOptionId::NOWRAP}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_sdfixed), HtmlOptionId::SDFIXED}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_selected), HtmlOptionId::SELECTED}, - -// Attributes with a string value - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_accept), HtmlOptionId::ACCEPT}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_accept), HtmlOptionId::ACCEPT}, {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_accesskey), HtmlOptionId::ACCESSKEY}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_action), HtmlOptionId::ACTION}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_align), HtmlOptionId::ALIGN}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_alink), HtmlOptionId::ALINK}, {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_alt), HtmlOptionId::ALT}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_archive), HtmlOptionId::ARCHIVE}, {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_axis), HtmlOptionId::AXIS}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_background),HtmlOptionId::BACKGROUND}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_behavior), HtmlOptionId::BEHAVIOR}, // IExplorer 2.0 + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_bgcolor), HtmlOptionId::BGCOLOR}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_border), HtmlOptionId::BORDER}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_bordercolor), HtmlOptionId::BORDERCOLOR}, // IExplorer 2.0 + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_bordercolordark), HtmlOptionId::BORDERCOLORDARK}, // IExplorer 2.0 + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_bordercolorlight), HtmlOptionId::BORDERCOLORLIGHT}, // IExplorer 2.0 + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_cellpadding),HtmlOptionId::CELLPADDING}, // HTML 3 Table Model Draft + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_cellspacing),HtmlOptionId::CELLSPACING}, // HTML 3 Table Model Draft {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_char), HtmlOptionId::CHAR}, // HTML 3 Table Model Draft + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_charoff), HtmlOptionId::CHAROFF}, // HTML 3 Table Model Draft {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_charset), HtmlOptionId::CHARSET}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_checked), HtmlOptionId::CHECKED}, {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_class), HtmlOptionId::CLASS}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_classid), HtmlOptionId::CLASSID}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_clear), HtmlOptionId::CLEAR}, {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_code), HtmlOptionId::CODE}, // HotJava + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_codebase), HtmlOptionId::CODEBASE}, // HotJava {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_codetype), HtmlOptionId::CODETYPE}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_color), HtmlOptionId::COLOR}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_cols), HtmlOptionId::COLS}, // Netscape 2.0 vs HTML 2.0 + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_colspan), HtmlOptionId::COLSPAN}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_compact), HtmlOptionId::COMPACT}, {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_content), HtmlOptionId::CONTENT}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_coords), HtmlOptionId::COORDS}, // Netscape 2.0 + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_coords), HtmlOptionId::COORDS}, // Netscape 2.0 + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_data), HtmlOptionId::DATA}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_DSformula), HtmlOptionId::DSFORMULA}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_DSnum), HtmlOptionId::DSNUM}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_DSval), HtmlOptionId::DSVAL}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_declare), HtmlOptionId::DECLARE}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_dir), HtmlOptionId::DIR}, // HTML 3 Table Model Draft + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_direction), HtmlOptionId::DIRECTION}, // IExplorer 2.0 + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_disabled), HtmlOptionId::DISABLED}, {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_enctype), HtmlOptionId::ENCTYPE}, {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_face), HtmlOptionId::FACE}, // IExplorer 2.0 + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_format), HtmlOptionId::FORMAT}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_frame), HtmlOptionId::FRAME}, // HTML 3 Table Model Draft {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_frameborder), HtmlOptionId::FRAMEBORDER}, // IExplorer 3.0 + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_framespacing), HtmlOptionId::FRAMESPACING}, // IExplorer 3.0 + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_gutter), HtmlOptionId::GUTTER}, // Netscape 3.0b5 + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_height), HtmlOptionId::HEIGHT}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_href), HtmlOptionId::HREF}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_hspace), HtmlOptionId::HSPACE}, // Netscape {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_httpequiv), HtmlOptionId::HTTPEQUIV}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_id), HtmlOptionId::ID}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_ismap), HtmlOptionId::ISMAP}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_lang), HtmlOptionId::LANG}, {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_language), HtmlOptionId::LANGUAGE}, // JavaScript - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_name), HtmlOptionId::NAME}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_prompt), HtmlOptionId::PROMPT}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_shape), HtmlOptionId::SHAPE}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_standby), HtmlOptionId::STANDBY}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_style), HtmlOptionId::STYLE}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_title), HtmlOptionId::TITLE}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_value), HtmlOptionId::VALUE}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_SDval), HtmlOptionId::SDVAL}, // StarDiv NumberValue - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_DSval), HtmlOptionId::DSVAL}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_SDnum), HtmlOptionId::SDNUM}, // StarDiv NumberFormat - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_DSnum), HtmlOptionId::DSNUM}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_DSformula), HtmlOptionId::DSFORMULA}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_sdlibrary), HtmlOptionId::SDLIBRARY}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_sdmodule), HtmlOptionId::SDMODULE}, - -// Attributes with a SGML identifier value - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_id), HtmlOptionId::ID}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_target), HtmlOptionId::TARGET}, // Netscape 2.0 - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_to), HtmlOptionId::TO}, - -// Attributes with a URI value - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_action), HtmlOptionId::ACTION}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_archive), HtmlOptionId::ARCHIVE}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_background), HtmlOptionId::BACKGROUND}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_classid), HtmlOptionId::CLASSID}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_codebase), HtmlOptionId::CODEBASE}, // HotJava - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_data), HtmlOptionId::DATA}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_href), HtmlOptionId::HREF}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_script), HtmlOptionId::SCRIPT}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_src), HtmlOptionId::SRC}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_usemap), HtmlOptionId::USEMAP}, // Netscape 2.0 - -// Attributes with a color value (all Netscape versions) - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_alink), HtmlOptionId::ALINK}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_bgcolor), HtmlOptionId::BGCOLOR}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_bordercolor), HtmlOptionId::BORDERCOLOR}, // IExplorer 2.0 - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_bordercolorlight), HtmlOptionId::BORDERCOLORLIGHT}, // IExplorer 2.0 - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_bordercolordark), HtmlOptionId::BORDERCOLORDARK}, // IExplorer 2.0 - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_color), HtmlOptionId::COLOR}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_link), HtmlOptionId::LINK}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_text), HtmlOptionId::TEXT}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_vlink), HtmlOptionId::VLINK}, - -// Attributes with a numerical value - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_border), HtmlOptionId::BORDER}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_cellspacing),HtmlOptionId::CELLSPACING}, // HTML 3 Table Model Draft - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_cellpadding),HtmlOptionId::CELLPADDING}, // HTML 3 Table Model Draft - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_charoff), HtmlOptionId::CHAROFF}, // HTML 3 Table Model Draft - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_colspan), HtmlOptionId::COLSPAN}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_framespacing), HtmlOptionId::FRAMESPACING}, // IExplorer 3.0 - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_gutter), HtmlOptionId::GUTTER}, // Netscape 3.0b5 - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_height), HtmlOptionId::HEIGHT}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_hspace), HtmlOptionId::HSPACE}, // Netscape {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_left), HtmlOptionId::LEFT}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_link), HtmlOptionId::LINK}, {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_loop), HtmlOptionId::LOOP}, // IExplorer 2.0 {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_marginheight),HtmlOptionId::MARGINHEIGHT}, // Netscape 2.0 {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_marginwidth),HtmlOptionId::MARGINWIDTH}, // Netscape 2.0 {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_maxlength), HtmlOptionId::MAXLENGTH}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_rowspan), HtmlOptionId::ROWSPAN}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_scrollamount), HtmlOptionId::SCROLLAMOUNT}, // IExplorer 2.0 - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_scrolldelay), HtmlOptionId::SCROLLDELAY}, // IExplorer 2.0 - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_span), HtmlOptionId::SPAN}, // HTML 3 Table Model Draft - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_tabindex), HtmlOptionId::TABINDEX}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_vspace), HtmlOptionId::VSPACE}, // Netscape - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_width), HtmlOptionId::WIDTH}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_zindex), HtmlOptionId::ZINDEX}, - -// Attributes with enum values - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_behavior), HtmlOptionId::BEHAVIOR}, // IExplorer 2.0 - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_clear), HtmlOptionId::CLEAR}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_dir), HtmlOptionId::DIR}, // HTML 3 Table Model Draft - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_direction), HtmlOptionId::DIRECTION}, // IExplorer 2.0 - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_format), HtmlOptionId::FORMAT}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_frame), HtmlOptionId::FRAME}, // HTML 3 Table Model Draft - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_lang), HtmlOptionId::LANG}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_method), HtmlOptionId::METHOD}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_rel), HtmlOptionId::REL}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_rev), HtmlOptionId::REV}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_rules), HtmlOptionId::RULES}, // HTML 3 Table Model Draft - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_scrolling), HtmlOptionId::SCROLLING}, // Netscape 2.0 - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_sdreadonly), HtmlOptionId::SDREADONLY}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_subtype), HtmlOptionId::SUBTYPE}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_type), HtmlOptionId::TYPE}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_valign), HtmlOptionId::VALIGN}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_valuetype), HtmlOptionId::VALUETYPE}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_wrap), HtmlOptionId::WRAP}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_XHTML_O_xml_space), HtmlOptionId::XML_SPACE}, - -// Attributes with script code value - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_onblur), HtmlOptionId::ONBLUR}, // JavaScript + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_mayscript), HtmlOptionId::MAYSCRIPT}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_method), HtmlOptionId::METHOD}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_multiple), HtmlOptionId::MULTIPLE}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_name), HtmlOptionId::NAME}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_nohref), HtmlOptionId::NOHREF}, // Netscape 2.0 + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_noresize), HtmlOptionId::NORESIZE}, // Netscape 2.0 + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_noshade), HtmlOptionId::NOSHADE}, // Netscape 2.0 + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_nowrap), HtmlOptionId::NOWRAP}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_onabort), HtmlOptionId::ONABORT}, // JavaScript + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_onblur), HtmlOptionId::ONBLUR}, // JavaScript {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_onchange), HtmlOptionId::ONCHANGE}, // JavaScript {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_onclick), HtmlOptionId::ONCLICK}, // JavaScript + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_onerror), HtmlOptionId::ONERROR}, // JavaScript {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_onfocus), HtmlOptionId::ONFOCUS}, // JavaScript {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_onload), HtmlOptionId::ONLOAD}, // JavaScript + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_onmouseout),HtmlOptionId::ONMOUSEOUT}, // JavaScript {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_onmouseover), HtmlOptionId::ONMOUSEOVER}, // JavaScript {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_onreset), HtmlOptionId::ONRESET}, // JavaScript {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_onselect), HtmlOptionId::ONSELECT}, // JavaScript {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_onsubmit), HtmlOptionId::ONSUBMIT}, // JavaScript {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_onunload), HtmlOptionId::ONUNLOAD}, // JavaScript - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_onabort), HtmlOptionId::ONABORT}, // JavaScript - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_onerror), HtmlOptionId::ONERROR}, // JavaScript - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_onmouseout), HtmlOptionId::ONMOUSEOUT}, // JavaScript - - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_SDonblur), HtmlOptionId::SDONBLUR}, // StarBasic - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_SDonchange), HtmlOptionId::SDONCHANGE}, // StarBasic - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_SDonclick), HtmlOptionId::SDONCLICK}, // StarBasic - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_SDonfocus), HtmlOptionId::SDONFOCUS}, // StarBasic - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_SDonload), HtmlOptionId::SDONLOAD}, // StarBasic - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_SDonmouseover), HtmlOptionId::SDONMOUSEOVER}, // StarBasic - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_SDonreset), HtmlOptionId::SDONRESET}, // StarBasic - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_SDonselect), HtmlOptionId::SDONSELECT}, // StarBasic - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_SDonsubmit), HtmlOptionId::SDONSUBMIT}, // StarBasic - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_SDonunload), HtmlOptionId::SDONUNLOAD}, // StarBasic - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_SDonabort), HtmlOptionId::SDONABORT}, // StarBasic - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_SDonerror), HtmlOptionId::SDONERROR}, // StarBasic - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_SDonmouseout), HtmlOptionId::SDONMOUSEOUT}, // StarBasic - -// Attributes with context sensitive values - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_align), HtmlOptionId::ALIGN}, - {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_cols), HtmlOptionId::COLS}, // Netscape 2.0 vs HTML 2.0 + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_prompt), HtmlOptionId::PROMPT}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_sdreadonly),HtmlOptionId::SDREADONLY}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_rel), HtmlOptionId::REL}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_rev), HtmlOptionId::REV}, {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_rows), HtmlOptionId::ROWS}, // Netscape 2.0 vs HTML 2.0 + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_rowspan), HtmlOptionId::ROWSPAN}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_rules), HtmlOptionId::RULES}, // HTML 3 Table Model Draft + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_script), HtmlOptionId::SCRIPT}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_scrollamount), HtmlOptionId::SCROLLAMOUNT}, // IExplorer 2.0 + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_scrolldelay), HtmlOptionId::SCROLLDELAY}, // IExplorer 2.0 + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_scrolling), HtmlOptionId::SCROLLING}, // Netscape 2.0 + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_sdfixed), HtmlOptionId::SDFIXED}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_sdlibrary), HtmlOptionId::SDLIBRARY}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_sdmodule), HtmlOptionId::SDMODULE}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_SDnum), HtmlOptionId::SDNUM}, // StarDiv NumberFormat + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_SDonabort), HtmlOptionId::SDONABORT}, // StarBasic + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_SDonblur), HtmlOptionId::SDONBLUR}, // StarBasic + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_SDonchange),HtmlOptionId::SDONCHANGE}, // StarBasic + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_SDonclick), HtmlOptionId::SDONCLICK}, // StarBasic + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_SDonerror), HtmlOptionId::SDONERROR}, // StarBasic + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_SDonfocus), HtmlOptionId::SDONFOCUS}, // StarBasic + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_SDonload), HtmlOptionId::SDONLOAD}, // StarBasic + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_SDonmouseout), HtmlOptionId::SDONMOUSEOUT}, // StarBasic + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_SDonmouseover), HtmlOptionId::SDONMOUSEOVER}, // StarBasic + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_SDonreset), HtmlOptionId::SDONRESET}, // StarBasic + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_SDonselect),HtmlOptionId::SDONSELECT}, // StarBasic + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_SDonsubmit),HtmlOptionId::SDONSUBMIT}, // StarBasic + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_SDonunload),HtmlOptionId::SDONUNLOAD}, // StarBasic + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_SDval), HtmlOptionId::SDVAL}, // StarDiv NumberValue + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_selected), HtmlOptionId::SELECTED}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_shape), HtmlOptionId::SHAPE}, {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_size), HtmlOptionId::SIZE}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_span), HtmlOptionId::SPAN}, // HTML 3 Table Model Draft + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_src), HtmlOptionId::SRC}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_standby), HtmlOptionId::STANDBY}, {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_start), HtmlOptionId::START}, // Netscape 2.0 vs IExplorer 2.0 + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_style), HtmlOptionId::STYLE}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_subtype), HtmlOptionId::SUBTYPE}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_tabindex), HtmlOptionId::TABINDEX}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_target), HtmlOptionId::TARGET}, // Netscape 2.0 + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_text), HtmlOptionId::TEXT}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_title), HtmlOptionId::TITLE}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_to), HtmlOptionId::TO}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_type), HtmlOptionId::TYPE}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_usemap), HtmlOptionId::USEMAP}, // Netscape 2.0 + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_valign), HtmlOptionId::VALIGN}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_value), HtmlOptionId::VALUE}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_valuetype), HtmlOptionId::VALUETYPE}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_vlink), HtmlOptionId::VLINK}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_vspace), HtmlOptionId::VSPACE}, // Netscape + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_width), HtmlOptionId::WIDTH}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_wrap), HtmlOptionId::WRAP}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_XHTML_O_xml_space), HtmlOptionId::XML_SPACE}, + {std::u16string_view(u"" OOO_STRING_SVTOOLS_HTML_O_zindex), HtmlOptionId::ZINDEX} }; +static_assert(std::is_sorted(std::begin(aHTMLOptionTab), std::end(aHTMLOptionTab), + sortCompare<HtmlOptionId>)); + HtmlOptionId GetHTMLOption( std::u16string_view rName ) { - if( !bSortOptionKeyWords ) - { - std::sort( std::begin(aHTMLOptionTab), std::end(aHTMLOptionTab), sortCompare<HtmlOptionId> ); - bSortOptionKeyWords = true; - } - return search( aHTMLOptionTab, rName, HtmlOptionId::UNKNOWN); }