Patch: Elm ME+ 2.5 PLalpha62 -> Elm ME+ 2.5 PLalpha63 [5/7] (5/7)
From
Kari Hurtta@21:1/5 to
All on Wed Jan 3 13:52:43 2024
[continued from previous message]
+ static struct TAGFILTER_CMD html_pre_tag =
+ { TAGFILTER_CMD_magic, 1, "pre", 0, htmlC(tfc_html_pre),
+ & text_html_phrasing,
+
+ TAGFLT_CMD_is_static|TAGFLT_CMD_force_newline,
+ NULL, NULL };
+
+ static struct TAGFILTER_CMD html_progress_tag =
+ { TAGFILTER_CMD_magic, 1, "progress", 0, baseC(tfc_unsupported),
+ & text_html_progress
+ /* "Phrasing content, but there must be no progress element
+ descendants."
+ */,
+
+ TAGFLT_CMD_is_static,
+ NULL, NULL };
+
+ static struct TAGFILTER_CMD html_q_tag =
+ { TAGFILTER_CMD_magic, 1, "q", 0, htmlC(tfc_html_q),
+ & text_html_phrasing,
+
+ TAGFLT_CMD_is_static,
+ NULL, NULL };
+
+ static struct TAGFILTER_CMD html_ruby_tag =
+ { TAGFILTER_CMD_magic, 1, "ruby", 0, baseC(tfc_unsupported),
+ & text_html_ruby
+ /* "One or the other of the following:
+ Phrasing content, but with no ruby elements and with no ruby
+ element descendants
+ A single ruby element that itself has no ruby element descendants
+ One or the other of the following:
+ One or more rt elements
+ An rp element followed by one or more rt elements, each of which is + itself followed by an rp element "
+ */,
+ TAGFLT_CMD_is_static,
+ NULL, NULL };
+
+ static struct TAGFILTER_CMD html_s_tag =
+ { TAGFILTER_CMD_magic, 1, "s",
+ pg_DIM|pg_STRIKETHROUGH, baseC(tfc_none),
+ & text_html_phrasing,
+
+ TAGFLT_CMD_is_static,
+ NULL, NULL };
+
+ static struct TAGFILTER_CMD html_samp_tag =
+ { TAGFILTER_CMD_magic, 1, "samp", 0, baseC(tfc_unsupported),
+ & text_html_phrasing,
+
+ TAGFLT_CMD_is_static,
+ NULL, NULL };
+
+ static struct TAGFILTER_CMD html_script_tag =
+ { TAGFILTER_CMD_magic, 1, "script", 0, baseC(tfc_unsupported),
+ NULL /* XXXX
+
+ script is not parsed correctly either
+ */,
+
+ TAGFLT_CMD_is_static|TAGFLT_CMD_hide_text,
+ NULL, NULL };
+
+ static struct TAGFILTER_CMD html_search_tag =
+ { TAGFILTER_CMD_magic, 1, "search", 0, baseC(tfc_unsupported),
+ &text_html_flow,
+ TAGFLT_CMD_is_static,
+ NULL, NULL };
+
+ static struct TAGFILTER_CMD html_section_tag =
+ { TAGFILTER_CMD_magic, 1, "section", 0, baseC(tfc_unsupported),
+ &text_html_flow,
+ TAGFLT_CMD_is_static,
+ NULL, NULL };
+
+ static struct TAGFILTER_CMD html_select_tag =
+ { TAGFILTER_CMD_magic, 1, "select", 0, baseC(tfc_unsupported),
+ NULL, /* "Zero or more option, optgroup, hr, and
+ script-supporting elements."
+ */
+ TAGFLT_CMD_is_static,
+ NULL, NULL };
+
+ static struct TAGFILTER_CMD html_slot_tag =
+ { TAGFILTER_CMD_magic, 1, "slot", 0, baseC(tfc_unsupported),
+ NULL,
+ /* Transparent content model */
+ TAGFLT_CMD_is_static|TAGFLT_CMD_inherit_nested_tags,
+ NULL, NULL };
+
+ static struct TAGFILTER_CMD html_small_tag =
+ { TAGFILTER_CMD_magic, 1, "small", 0, baseC(tfc_unsupported),
+ & text_html_phrasing,
+
+ TAGFLT_CMD_is_static,
+ NULL, NULL };
+
+ static struct TAGFILTER_CMD html_span_tag =
+ { TAGFILTER_CMD_magic, 1, "span", 0, baseC(tfc_unsupported),
+ & text_html_phrasing,
+
+ TAGFLT_CMD_is_static,
+ NULL, NULL };
+
+ static struct TAGFILTER_CMD html_strong_tag =
+ { TAGFILTER_CMD_magic, 1, "strong", pg_BOLD, baseC(tfc_none),
+ & text_html_phrasing,
+
+ TAGFLT_CMD_is_static,
+ NULL, NULL };
+
+ static struct TAGFILTER_CMD html_sub_tag =
+ { TAGFILTER_CMD_magic, 1, "sub",
+ pg_SUBSCRIPT|pg_REVERSE, baseC(tfc_none),
+ & text_html_phrasing,
+
+ TAGFLT_CMD_is_static,
+ NULL, NULL };
+
+ static struct TAGFILTER_CMD html_sup_tag =
+ { TAGFILTER_CMD_magic, 1, "sup",
+ pg_SUPERSCRIPT|pg_STANDOUT, baseC(tfc_none),
+ & text_html_phrasing,
+
+ TAGFLT_CMD_is_static,
+ NULL, NULL };
+
+ static struct TAGFILTER_CMD svg_svg_tag =
+ { TAGFILTER_CMD_magic, 1, "svg", 0, baseC(tfc_unsupported),
+ NULL /* Changes language */,
+
+ TAGFLT_CMD_is_static|TAGFLT_CMD_hide_text,
+ NULL, NULL };
+
+ static struct TAGFILTER_CMD html_table_tag =
+ { TAGFILTER_CMD_magic, 1, "table", 0, baseC(tfc_unsupported),
+ & text_html_table
+ /* "In this order: optionally a caption element, followed by zero or
+ more colgroup elements, followed optionally by a thead element,
+ followed by either zero or more tbody elements or one or more
+ tr elements, followed optionally by a tfoot element,
+ optionally intermixed with one or more script-supporting elements."
+ */,
+
+ TAGFLT_CMD_is_static|TAGFLT_CMD_force_newline,
+ NULL, NULL };
+
+
+ static struct TAGFILTER_CMD html_template_tag =
+ { TAGFILTER_CMD_magic, 1, "template", 0, baseC(tfc_unsupported),
+ NULL /* XXXX Content is used by script
+ but not directly:
+
+ Nothing content model
+ */,
+
+ TAGFLT_CMD_is_static |TAGFLT_CMD_hide_text,
+ NULL, NULL };
+
+ static struct TAGFILTER_CMD html_textarea_tag =
+ { TAGFILTER_CMD_magic, 1, "textarea", pg_DIM, baseC(tfc_unsupported),
+
+ NULL /* Text */,
+ TAGFLT_CMD_is_static|TAGFLT_CMD_force_newline,
+ NULL, NULL
+ };
+
+ static struct TAGFILTER_CMD html_time_tag =
+ { TAGFILTER_CMD_magic, 1, "time", 0, baseC(tfc_unsupported),
+ & text_html_phrasing
+ /* Can not really described here
+
+ "If the element has a datetime attribute: Phrasing content.
+ Otherwise: Text, but must match requirements described in
+ prose below."
+ */,
+
+ TAGFLT_CMD_is_static,
+ NULL, NULL };
+
+ static struct TAGFILTER_CMD html_u_tag =
+ { TAGFILTER_CMD_magic, 1, "u", pg_UNDERLINE, baseC(tfc_none),
+ & text_html_phrasing,
+
+ TAGFLT_CMD_is_static,
+ NULL, NULL };
+
+ static struct TAGFILTER_CMD html_ul_tag =
+ { TAGFILTER_CMD_magic, 1, "ul", 0, baseC(tfc_unsupported),
+ & text_html_list_items
+ /* "Zero or more li and script-supporting elements." */,
+ TAGFLT_CMD_is_static|TAGFLT_CMD_force_newline,
+ NULL, NULL
+ };
+
+ static struct TAGFILTER_CMD html_var_tag =
+ { TAGFILTER_CMD_magic, 1, "var", pg_ITALIC, baseC(tfc_unsupported),
+ & text_html_phrasing,
+
+ TAGFLT_CMD_is_static,
+ NULL, NULL };
+
+ static struct TAGFILTER_CMD html_video_tag =
+ { TAGFILTER_CMD_magic, 1, "video", 0, baseC(tfc_unsupported),
+ NULL
+ /* -- Both listig elements and transparent does not work --
+
+
+ "If the element has a src attribute: zero or more
+ track elements, then transparent, but with no media
+ element descendants.
+ If the element does not have a src attribute: zero or
+ more source elements, then zero or more track elements,
+ then transparent, but with no media element descendants."
+ */,
+ TAGFLT_CMD_is_static|TAGFLT_CMD_inherit_nested_tags,
+ NULL, NULL };
+
+ static struct TAGFILTER_CMD html_wbr_tag =
+ { TAGFILTER_CMD_magic, 1, "wbr", 0, baseC(tfc_unsupported), NULL,
+ TAGFLT_CMD_is_static|TAGFLT_CMD_no_context,
+ NULL, NULL };
+
+
+ struct tagfilter_cmd * tagfilter_html_flow[] = {
+
+ tag_command(html_a_tag),
+ tag_command(html_abbr_tag),
+ tag_command(html_address_tag),
+ tag_command(html_area_tag),
+ tag_command(html_article_tag),
+ tag_command(html_aside_tag),
+ tag_command(html_audio_tag),
+
+ tag_command(html_b_tag),
+ tag_command(html_bdi_tag),
+ tag_command(html_bdo_tag),
+ tag_command(html_blockquote_tag),
+ tag_command(html_br_tag),
+ tag_command(html_button_tag),
+
+ tag_command(html_canvas_tag),
+ tag_command(html_cite_tag),
+ tag_command(html_code_tag),
+
+ tag_command(html_data_tag),
+ tag_command(html_datalist_tag),
+ tag_command(html_del_tag),
+ tag_command(html_details_tag),
+ tag_command(html_dfn_tag),
+ tag_command(html_dialog_tag),
+ tag_command(html_div_tag),
+ tag_command(html_dl_tag),
+
+ tag_command(html_em_tag),
+ tag_command(html_embed_tag),
+
+ tag_command(html_fieldset_tag),
+ tag_command(html_figure_tag),
+ tag_command(html_footer_tag),
+ tag_command(html_form_tag),
+
+ tag_command(html_h1_tag),
+ tag_command(html_h2_tag),
+ tag_command(html_h3_tag),
+ tag_command(html_h4_tag),
+ tag_command(html_h5_tag),
+ tag_command(html_h6_tag),
+ tag_command(html_header_tag),
+ tag_command(html_hgroup_tag),
+ tag_command(html_hr_tag),
+
+ tag_command(html_i_tag),
+ tag_command(html_iframe_tag),
+ tag_command(html_img_tag),
+ tag_command(html_input_tag),
+ tag_command(html_ins_tag),
+
+ tag_command(html_kbd_tag),
+
+ tag_command(html_label_tag),
+ tag_command(html_link_tag),
+
+ tag_command(html_main_tag),
+ tag_command(html_map_tag),
+ tag_command(html_mark_tag),
+ tag_command(mathml_math_tag),
+ tag_command(html_menu_tag),
+ tag_command(html_meta_tag),
+ tag_command(html_meter_tag),
+
+ tag_command(html_nav_tag),
+ tag_command(html_noscript_body_tag),
+
+ tag_command(html_object_tag),
+ tag_command(html_ol_tag),
+ tag_command(html_output_tag),
+
+ tag_command(html_p_tag),
+ tag_command(html_picture_tag),
+ tag_command(html_pre_tag),
+ tag_command(html_progress_tag),
+
+ tag_command(html_q_tag),
+
+ tag_command(html_ruby_tag),
+
+ tag_command(html_s_tag),
+ tag_command(html_samp_tag),
+ tag_command(html_script_tag),
+ tag_command(html_search_tag),
+ tag_command(html_section_tag),
+ tag_command(html_select_tag),
+ tag_command(html_slot_tag),
+ tag_command(html_small_tag),
+ tag_command(html_span_tag),
+ tag_command(html_strong_tag),
+ tag_command(html_sub_tag),
+ tag_command(html_sup_tag),
+ tag_command(svg_svg_tag),
+
+ tag_command(html_table_tag),
+ tag_command(html_template_tag),
+ tag_command(html_textarea_tag),
+ tag_command(html_time_tag),
+
+ tag_command(html_u_tag),
+ tag_command(html_ul_tag),
+
+ tag_command(html_var_tag),
+ tag_command(html_video_tag),
+
+ tag_command(html_wbr_tag),
+
+ /* "autonomous custom elements, text" */
+
+ NULL
+ };
+
+ /* "Runs of phrasing content form paragraphs." */
+
+ struct tagfilter_cmd * tagfilter_html_phrasing[] = {
+
+ tag_command(html_a_tag),
+ tag_command(html_abbr_tag),
+ tag_command(html_area_tag),
+ tag_command(html_audio_tag),
+
+ tag_command(html_b_tag),
+ tag_command(html_bdi_tag),
+ tag_command(html_bdo_tag),
+ tag_command(html_br_tag),
+ tag_command(html_button_tag),
+
+ tag_command(html_canvas_tag),
+ tag_command(html_cite_tag),
+ tag_command(html_code_tag),
+
+ tag_command(html_data_tag),
+ tag_command(html_datalist_tag),
+ tag_command(html_del_tag),
+ tag_command(html_dfn_tag),
+
+ tag_command(html_em_tag),
+ tag_command(html_embed_tag),
+
+ tag_command(html_i_tag),
+ tag_command(html_iframe_tag),
+ tag_command(html_img_tag),
+ tag_command(html_input_tag),
+ tag_command(html_ins_tag),
+
+ tag_command(html_kbd_tag),
+
+ tag_command(html_label_tag),
+ tag_command(html_link_tag),
+
+ tag_command(html_map_tag),
+ tag_command(html_mark_tag),
+ tag_command(mathml_math_tag),
+ tag_command(html_meta_tag),
+ tag_command(html_meter_tag),
+
+ tag_command(html_noscript_body_tag),
+
+ tag_command(html_object_tag),
+ tag_command(html_output_tag),
+
+ tag_command(html_picture_tag),
+ tag_command(html_progress_tag),
+
+ tag_command(html_q_tag),
+
+ tag_command(html_ruby_tag),
+
+ tag_command(html_s_tag),
+ tag_command(html_samp_tag),
+ tag_command(html_script_tag),
+ tag_command(html_select_tag),
+ tag_command(html_slot_tag),
+ tag_command(html_small_tag),
+ tag_command(html_span_tag),
+ tag_command(html_strong_tag),
+ tag_command(html_sub_tag),
+ tag_command(html_sup_tag),
+ tag_command(svg_svg_tag),
+
+ tag_command(html_template_tag),
+ tag_command(html_textarea_tag),
+ tag_command(html_time_tag),
+
+ tag_command(html_u_tag),
+
+ tag_command(html_var_tag),
+ tag_command(html_video_tag),
+
+ tag_command(html_wbr_tag),
+
+ /* "autonomous custom elements, text" */
+
+ NULL
+ };
+
+
+
+ static struct TAGFILTER_CMD html_option_tag =
+ { TAGFILTER_CMD_magic, 1, "option", 0, baseC(tfc_unsupported),
+ NULL /* Text */,
+
+ TAGFLT_CMD_is_static,
+ NULL, NULL };
+
+
+ /* "Either: phrasing content.
+ Or: Zero or more option and script-supporting elements."
+ */
+
+ struct tagfilter_cmd * tagfilter_html_datalist[] = {
+
+ /* phrasing content */
+
+ tag_command(html_a_tag),
+ tag_command(html_abbr_tag),
+ tag_command(html_area_tag),
+ tag_command(html_audio_tag),
+
+ tag_command(html_b_tag),
+ tag_command(html_bdi_tag),
+ tag_command(html_bdo_tag),
+ tag_command(html_br_tag),
+ tag_command(html_button_tag),
+
+ tag_command(html_canvas_tag),
+ tag_command(html_cite_tag),
+ tag_command(html_code_tag),
+
+ tag_command(html_data_tag),
+ tag_command(html_datalist_tag),
+ tag_command(html_del_tag),
+ tag_command(html_dfn_tag),
+
+ tag_command(html_em_tag),
+ tag_command(html_embed_tag),
+
+ tag_command(html_i_tag),
+ tag_command(html_iframe_tag),
+ tag_command(html_img_tag),
+ tag_command(html_input_tag),
+ tag_command(html_ins_tag),
+
+ tag_command(html_kbd_tag),
+
+ tag_command(html_label_tag),
+ tag_command(html_link_tag),
+
+ tag_command(html_map_tag),
+ tag_command(html_mark_tag),
+ tag_command(mathml_math_tag),
+ tag_command(html_meta_tag),
+ tag_command(html_meter_tag),
+
+ tag_command(html_noscript_body_tag),
+
+ tag_command(html_object_tag),
+ tag_command(html_output_tag),
+
+ tag_command(html_picture_tag),
+ tag_command(html_progress_tag),
+
+ tag_command(html_q_tag),
+
+ tag_command(html_ruby_tag),
+
+ tag_command(html_s_tag),
+ tag_command(html_samp_tag),
+ tag_command(html_script_tag),
+ tag_command(html_select_tag),
+ tag_command(html_slot_tag),
+ tag_command(html_small_tag),
+ tag_command(html_span_tag),
+ tag_command(html_strong_tag),
+ tag_command(html_sub_tag),
+ tag_command(html_sup_tag),
+ tag_command(svg_svg_tag),
+
+ tag_command(html_template_tag),
+ tag_command(html_textarea_tag),
+ tag_command(html_time_tag),
+
+ tag_command(html_u_tag),
+
+ tag_command(html_var_tag),
+ tag_command(html_video_tag),
+
+ tag_command(html_wbr_tag),
+
+ /* Zero or more option and script-supporting elements */
+
+ tag_command(html_option_tag),
+ tag_command(html_script_tag),
+ tag_command(html_template_tag),
+
+ NULL
+ };
+
+ static struct TAGFILTER_CMD html_summary_tag =
+ { TAGFILTER_CMD_magic, 1, "summary", 0, baseC(tfc_unsupported),
+ NULL /* "Phrasing content, optionally intermixed with heading content." */,
+
+ TAGFLT_CMD_is_static,
+ NULL, NULL };
+
+
+
+ /* "One summary element followed by flow content." */
+
+ struct tagfilter_cmd * tagfilter_html_details[] = {
+ tag_command(html_summary_tag),
+
+ /* flow content */
+
+ tag_command(html_a_tag),
+ tag_command(html_abbr_tag),
+ tag_command(html_address_tag),
+ tag_command(html_area_tag),
+ tag_command(html_article_tag),
+ tag_command(html_aside_tag),
+ tag_command(html_audio_tag),
+
+ tag_command(html_b_tag),
+ tag_command(html_bdi_tag),
+ tag_command(html_bdo_tag),
+ tag_command(html_blockquote_tag),
+ tag_command(html_br_tag),
+ tag_command(html_button_tag),
+
+ tag_command(html_canvas_tag),
+ tag_command(html_cite_tag),
+ tag_command(html_code_tag),
+
+ tag_command(html_data_tag),
+ tag_command(html_datalist_tag),
+ tag_command(html_del_tag),
+ tag_command(html_details_tag),
+ tag_command(html_dfn_tag),
+ tag_command(html_dialog_tag),
+ tag_command(html_div_tag),
+ tag_command(html_dl_tag),
+
+ tag_command(html_em_tag),
+ tag_command(html_embed_tag),
+
+ tag_command(html_fieldset_tag),
+ tag_command(html_figure_tag),
+ tag_command(html_footer_tag),
+ tag_command(html_form_tag),
+
+ tag_command(html_h1_tag),
+ tag_command(html_h2_tag),
+ tag_command(html_h3_tag),
+ tag_command(html_h4_tag),
+ tag_command(html_h5_tag),
+ tag_command(html_h6_tag),
+ tag_command(html_header_tag),
+ tag_command(html_hgroup_tag),
+ tag_command(html_hr_tag),
+
+ tag_command(html_i_tag),
+ tag_command(html_iframe_tag),
+ tag_command(html_img_tag),
+ tag_command(html_input_tag),
+ tag_command(html_ins_tag),
+
+ tag_command(html_kbd_tag),
+
+ tag_command(html_label_tag),
+ tag_command(html_link_tag),
+
+ tag_command(html_main_tag),
+ tag_command(html_map_tag),
+ tag_command(html_mark_tag),
+ tag_command(mathml_math_tag),
+ tag_command(html_menu_tag),
+ tag_command(html_meta_tag),
+ tag_command(html_meter_tag),
+
+ tag_command(html_nav_tag),
+ tag_command(html_noscript_body_tag),
+
+ tag_command(html_object_tag),
+ tag_command(html_ol_tag),
+ tag_command(html_output_tag),
+
+ tag_command(html_p_tag),
+ tag_command(html_picture_tag),
+ tag_command(html_pre_tag),
+ tag_command(html_progress_tag),
+
+ tag_command(html_q_tag),
+
+ tag_command(html_ruby_tag),
+
+ tag_command(html_s_tag),
+ tag_command(html_samp_tag),
+ tag_command(html_script_tag),
+ tag_command(html_search_tag),
+ tag_command(html_section_tag),
+ tag_command(html_select_tag),
+ tag_command(html_slot_tag),
+ tag_command(html_small_tag),
+ tag_command(html_span_tag),
+ tag_command(html_strong_tag),
+ tag_command(html_sub_tag),
+ tag_command(html_sup_tag),
+ tag_command(svg_svg_tag),
+
+ tag_command(html_table_tag),
+ tag_command(html_template_tag),
+ tag_command(html_textarea_tag),
+ tag_command(html_time_tag),
+
+ tag_command(html_u_tag),
+ tag_command(html_ul_tag),
+
+ tag_command(html_var_tag),
+ tag_command(html_video_tag),
+
+ tag_command(html_wbr_tag),
+
+ /* "autonomous custom elements, text" */
+
+ NULL
+ };
+
+ static struct TAGFILTER_CMD html_dt_tag =
+ { TAGFILTER_CMD_magic, 1, "dt", 0, baseC(tfc_unsupported),
+ &text_html_flow
+ /* "Flow content, but with no header, footer,
+ sectioning content, or heading content descendants." */,
+ TAGFLT_CMD_is_static,
+ NULL,
+ /*
+ "A dt element's end tag can be omitted if the dt element
+ is immediately followed by another dt element or a dd element."
+ */
+ &text_html_close_dtdd
+ };
+
+ static struct TAGFILTER_CMD html_dd_tag =
+ { TAGFILTER_CMD_magic, 1, "dd", 0, baseC(tfc_unsupported),
+ &text_html_flow,
+ TAGFLT_CMD_is_static,
+ NULL,
+ /*
+ "A dd element's end tag can be omitted if the
+ dd element is immediately followed by another dd
+ element or a dt element, or if there is no more
+ content in the parent element."
+ */
+ &text_html_close_dtdd
+ };
+
+
+
+ /* This is used if on dl element, otherwise html_div_tag is used */
+
+ static struct TAGFILTER_CMD html_div_dl_tag =
+ { TAGFILTER_CMD_magic, 1, "div", 0, baseC(tfc_unsupported),
+ &text_html_div_dl
+
+ /* "If the element is a child of a dl element: one or more dt
+ elements followed by
+ one or more dd elements, optionally intermixed with
+ script-supporting elements."
+ */,
+
+
+ TAGFLT_CMD_is_static,
+ NULL, NULL };
+
+
+ /* "Either: Zero or more groups each consisting of one or more dt elements followed
+ by one or more dd elements, optionally intermixed with script-supporting elements.
+
+ Or: One or more div elements, optionally
+ intermixed with script-supporting elements."
+ */
+
+ struct tagfilter_cmd * tagfilter_html_dl[] = {
+ tag_command(html_dt_tag),
+ tag_command(html_dd_tag),
+ tag_command(html_div_dl_tag),
+
+ /* Script-supporting elements */
+
+ tag_command(html_script_tag),
+ tag_command(html_template_tag),
+
+ NULL
+ };
+
+ static struct TAGFILTER_CMD html_legend_tag =
+ { TAGFILTER_CMD_magic, 1, "legend", 0, baseC(tfc_unsupported),
+ NULL, /* "Phrasing content, optionally intermixed with heading content."
+
+ */
+ TAGFLT_CMD_is_static,
+ NULL, NULL };
+
+ /* "Optionally a legend element, followed by flow content." */
+
+ struct tagfilter_cmd * tagfilter_html_fieldset[] = {
+ tag_command(html_legend_tag),
+
+ /* flow content */
+
+ tag_command(html_a_tag),
+ tag_command(html_abbr_tag),
+ tag_command(html_address_tag),
+ tag_command(html_area_tag),
+ tag_command(html_article_tag),
+ tag_command(html_aside_tag),
+ tag_command(html_audio_tag),
+
+ tag_command(html_b_tag),
+ tag_command(html_bdi_tag),
+ tag_command(html_bdo_tag),
+ tag_command(html_blockquote_tag),
+ tag_command(html_br_tag),
+ tag_command(html_button_tag),
+
+ tag_command(html_canvas_tag),
+ tag_command(html_cite_tag),
+ tag_command(html_code_tag),
+
+ tag_command(html_data_tag),
+ tag_command(html_datalist_tag),
+ tag_command(html_del_tag),
+ tag_command(html_details_tag),
+ tag_command(html_dfn_tag),
+ tag_command(html_dialog_tag),
+ tag_command(html_div_tag),
+ tag_command(html_dl_tag),
+
+ tag_command(html_em_tag),
+ tag_command(html_embed_tag),
+
+ tag_command(html_fieldset_tag),
+ tag_command(html_figure_tag),
+ tag_command(html_footer_tag),
+ tag_command(html_form_tag),
+
+ tag_command(html_h1_tag),
+ tag_command(html_h2_tag),
+ tag_command(html_h3_tag),
+ tag_command(html_h4_tag),
+ tag_command(html_h5_tag),
+ tag_command(html_h6_tag),
+ tag_command(html_header_tag),
+ tag_command(html_hgroup_tag),
+ tag_command(html_hr_tag),
+
+ tag_command(html_i_tag),
+ tag_command(html_iframe_tag),
+ tag_command(html_img_tag),
+ tag_command(html_input_tag),
+ tag_command(html_ins_tag),
+
+ tag_command(html_kbd_tag),
+
+ tag_command(html_label_tag),
+ tag_command(html_link_tag),
+
+ tag_command(html_main_tag),
+ tag_command(html_map_tag),
+ tag_command(html_mark_tag),
+ tag_command(mathml_math_tag),
+ tag_command(html_menu_tag),
+ tag_command(html_meta_tag),
+ tag_command(html_meter_tag),
+
+ tag_command(html_nav_tag),
+ tag_command(html_noscript_body_tag),
+
+ tag_command(html_object_tag),
+ tag_command(html_ol_tag),
+ tag_command(html_output_tag),
+
+ tag_command(html_p_tag),
+ tag_command(html_picture_tag),
+ tag_command(html_pre_tag),
+ tag_command(html_progress_tag),
+
+ tag_command(html_q_tag),
+
+ tag_command(html_ruby_tag),
+
+ tag_command(html_s_tag),
+ tag_command(html_samp_tag),
+ tag_command(html_script_tag),
+ tag_command(html_search_tag),
+ tag_command(html_section_tag),
+ tag_command(html_select_tag),
+ tag_command(html_slot_tag),
+ tag_command(html_small_tag),
+ tag_command(html_span_tag),
+ tag_command(html_strong_tag),
+ tag_command(html_sub_tag),
+ tag_command(html_sup_tag),
+ tag_command(svg_svg_tag),
+
+ tag_command(html_table_tag),
+ tag_command(html_template_tag),
+ tag_command(html_textarea_tag),
+ tag_command(html_time_tag),
+
+ tag_command(html_u_tag),
+ tag_command(html_ul_tag),
+
+ tag_command(html_var_tag),
+ tag_command(html_video_tag),
+
+ tag_command(html_wbr_tag),
+
+ /* "autonomous custom elements, text" */
+
+ NULL
+ };
+
+ static struct TAGFILTER_CMD html_figcaption_tag =
+ { TAGFILTER_CMD_magic, 1, "figcaption", 0, baseC(tfc_unsupported),
+ &text_html_flow,
+
+ TAGFLT_CMD_is_static,
+ NULL, NULL };
+
+
+ /* "Either: one figcaption element followed by flow content.
+ Or: flow content followed by one figcaption element.
+ Or: flow content."
+ */
+
+ struct tagfilter_cmd * tagfilter_html_figure[] = {
+ tag_command(html_figcaption_tag),
+
+ /* flow content */
+
+ tag_command(html_a_tag),
+ tag_command(html_abbr_tag),
+ tag_command(html_address_tag),
+ tag_command(html_area_tag),
+ tag_command(html_article_tag),
+ tag_command(html_aside_tag),
+ tag_command(html_audio_tag),
+
+ tag_command(html_b_tag),
+ tag_command(html_bdi_tag),
+ tag_command(html_bdo_tag),
+ tag_command(html_blockquote_tag),
+ tag_command(html_br_tag),
+ tag_command(html_button_tag),
+
+ tag_command(html_canvas_tag),
+ tag_command(html_cite_tag),
+ tag_command(html_code_tag),
+
+ tag_command(html_data_tag),
+ tag_command(html_datalist_tag),
+ tag_command(html_del_tag),
+ tag_command(html_details_tag),
+ tag_command(html_dfn_tag),
+ tag_command(html_dialog_tag),
+ tag_command(html_div_tag),
+ tag_command(html_dl_tag),
+
+ tag_command(html_em_tag),
+ tag_command(html_embed_tag),
+
+ tag_command(html_fieldset_tag),
+ tag_command(html_figure_tag),
+ tag_command(html_footer_tag),
+ tag_command(html_form_tag),
+
+ tag_command(html_h1_tag),
+ tag_command(html_h2_tag),
+ tag_command(html_h3_tag),
+ tag_command(html_h4_tag),
+ tag_command(html_h5_tag),
+ tag_command(html_h6_tag),
+ tag_command(html_header_tag),
+ tag_command(html_hgroup_tag),
+ tag_command(html_hr_tag),
+
+ tag_command(html_i_tag),
+ tag_command(html_iframe_tag),
+ tag_command(html_img_tag),
+ tag_command(html_input_tag),
+ tag_command(html_ins_tag),
+
+ tag_command(html_kbd_tag),
+
+ tag_command(html_label_tag),
+ tag_command(html_link_tag),
+
+ tag_command(html_main_tag),
+ tag_command(html_map_tag),
+ tag_command(html_mark_tag),
+ tag_command(mathml_math_tag),
+ tag_command(html_menu_tag),
+ tag_command(html_meta_tag),
+ tag_command(html_meter_tag),
+
+ tag_command(html_nav_tag),
+ tag_command(html_noscript_body_tag),
+
+ tag_command(html_object_tag),
+ tag_command(html_ol_tag),
+ tag_command(html_output_tag),
+
+ tag_command(html_p_tag),
+ tag_command(html_picture_tag),
+ tag_command(html_pre_tag),
+ tag_command(html_progress_tag),
+
+ tag_command(html_q_tag),
+
+ tag_command(html_ruby_tag),
+
+ tag_command(html_s_tag),
+ tag_command(html_samp_tag),
+ tag_command(html_script_tag),
+ tag_command(html_search_tag),
+ tag_command(html_section_tag),
+ tag_command(html_select_tag),
+ tag_command(html_slot_tag),
+ tag_command(html_small_tag),
+ tag_command(html_span_tag),
+ tag_command(html_strong_tag),
+ tag_command(html_sub_tag),
+ tag_command(html_sup_tag),
+ tag_command(svg_svg_tag),
+
+ tag_command(html_table_tag),
+ tag_command(html_template_tag),
+ tag_command(html_textarea_tag),
+ tag_command(html_time_tag),
+
+ tag_command(html_u_tag),
+ tag_command(html_ul_tag),
+
+ tag_command(html_var_tag),
+ tag_command(html_video_tag),
+
+ tag_command(html_wbr_tag),
+
+ /* "autonomous custom elements, text" */
+
+ NULL
+ };
+
+ /* Can not really described here
+
+
+ "Flow content, but with no header or footer element descendants."
+ */
+
+ struct tagfilter_cmd * tagfilter_html_footer[] = {
+
+ tag_command(html_a_tag),
+ tag_command(html_abbr_tag),
+ tag_command(html_address_tag),
+ tag_command(html_area_tag),
+ tag_command(html_article_tag),
+ tag_command(html_aside_tag),
+ tag_command(html_audio_tag),
+
+ tag_command(html_b_tag),
+ tag_command(html_bdi_tag),
+ tag_command(html_bdo_tag),
+ tag_command(html_blockquote_tag),
+ tag_command(html_br_tag),
+ tag_command(html_button_tag),
+
+ tag_command(html_canvas_tag),
+ tag_command(html_cite_tag),
+ tag_command(html_code_tag),
+
+ tag_command(html_data_tag),
+ tag_command(html_datalist_tag),
+ tag_command(html_del_tag),
+ tag_command(html_details_tag),
+ tag_command(html_dfn_tag),
+ tag_command(html_dialog_tag),
+ tag_command(html_div_tag),
+ tag_command(html_dl_tag),
+
+ tag_command(html_em_tag),
+ tag_command(html_embed_tag),
+
+ tag_command(html_fieldset_tag),
+ tag_command(html_figure_tag),
+ #if 0 /* Not allowed */
+ tag_command(html_footer_tag),
+ #endif
+ tag_command(html_form_tag),
+
+ tag_command(html_h1_tag),
+ tag_command(html_h2_tag),
+ tag_command(html_h3_tag),
+ tag_command(html_h4_tag),
+ tag_command(html_h5_tag),
+ tag_command(html_h6_tag),
+ #if 0 /* Not allowed */
+ tag_command(html_header_tag),
+ #endif
+ tag_command(html_hgroup_tag),
+ tag_command(html_hr_tag),
+
+ tag_command(html_i_tag),
+ tag_command(html_iframe_tag),
+ tag_command(html_img_tag),
+ tag_command(html_input_tag),
+ tag_command(html_ins_tag),
+
+ tag_command(html_kbd_tag),
+
+ tag_command(html_label_tag),
+ tag_command(html_link_tag),
+
+ tag_command(html_main_tag),
+ tag_command(html_map_tag),
+ tag_command(html_mark_tag),
+ tag_command(mathml_math_tag),
+ tag_command(html_menu_tag),
+ tag_command(html_meta_tag),
+ tag_command(html_meter_tag),
+
+ tag_command(html_nav_tag),
+ tag_command(html_noscript_body_tag),
+
+ tag_command(html_object_tag),
+ tag_command(html_ol_tag),
+ tag_command(html_output_tag),
+
+ tag_command(html_p_tag),
+ tag_command(html_picture_tag),
+ tag_command(html_pre_tag),
+ tag_command(html_progress_tag),
+
+ tag_command(html_q_tag),
+
+ tag_command(html_ruby_tag),
+
+ tag_command(html_s_tag),
+ tag_command(html_samp_tag),
+ tag_command(html_script_tag),
+ tag_command(html_search_tag),
+ tag_command(html_section_tag),
+ tag_command(html_select_tag),
+ tag_command(html_slot_tag),
+ tag_command(html_small_tag),
+ tag_command(html_span_tag),
+ tag_command(html_strong_tag),
+ tag_command(html_sub_tag),
+ tag_command(html_sup_tag),
+ tag_command(svg_svg_tag),
+
+ tag_command(html_table_tag),
+ tag_command(html_template_tag),
+ tag_command(html_textarea_tag),
+ tag_command(html_time_tag),
+
+ tag_command(html_u_tag),
+ tag_command(html_ul_tag),
+
+ tag_command(html_var_tag),
+ tag_command(html_video_tag),
+
+ tag_command(html_wbr_tag),
+
+ /* "autonomous custom elements, text" */
+
+ NULL
+ };
+
+ /* Can not really described here
+
+ "Flow content, but with no form element descendants."
+
+ */
+
+ struct tagfilter_cmd * tagfilter_html_form[] = {
+
+ tag_command(html_a_tag),
+ tag_command(html_abbr_tag),
+ tag_command(html_address_tag),
+ tag_command(html_area_tag),
+ tag_command(html_article_tag),
+ tag_command(html_aside_tag),
+ tag_command(html_audio_tag),
+
+ tag_command(html_b_tag),
+ tag_command(html_bdi_tag),
+ tag_command(html_bdo_tag),
+ tag_command(html_blockquote_tag),
+ tag_command(html_br_tag),
+ tag_command(html_button_tag),
+
+ tag_command(html_canvas_tag),
+ tag_command(html_cite_tag),
+ tag_command(html_code_tag),
+
+ tag_command(html_data_tag),
+ tag_command(html_datalist_tag),
+ tag_command(html_del_tag),
+ tag_command(html_details_tag),
+ tag_command(html_dfn_tag),
+ tag_command(html_dialog_tag),
[continued in next message]
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)