diff options
author | Daniel Silverstone <dsilvers@digital-scurf.org> | 2014-07-18 13:33:23 +0100 |
---|---|---|
committer | Daniel Silverstone <dsilvers@digital-scurf.org> | 2014-07-18 13:33:23 +0100 |
commit | 9aae1b6cc3ec89c96f0cdcc173405eef1d5b1c2c (patch) | |
tree | a620d0d2f56db44778157ac7925b2b8fa9899e5b | |
parent | db5517f4e24d0e7c39a405ce1b363c887196784a (diff) | |
parent | d293e6e7ffdc9224ffba9593f4cc8f73701f2cd5 (diff) | |
download | libdom-9aae1b6cc3ec89c96f0cdcc173405eef1d5b1c2c.tar.gz libdom-9aae1b6cc3ec89c96f0cdcc173405eef1d5b1c2c.tar.bz2 |
Merge remote-tracking branch 'origin/rupindersingh/libdom_recovered'
Reviewed-By: Daniel Silverstone <dsilvers@netsurf-browser.org>
-rw-r--r-- | Makefile | 38 | ||||
-rw-r--r-- | include/dom/dom.h | 38 | ||||
-rw-r--r-- | include/dom/html/html_anchor_element.h | 87 | ||||
-rw-r--r-- | include/dom/html/html_applet_element.h | 78 | ||||
-rw-r--r-- | include/dom/html/html_area_element.h | 62 | ||||
-rw-r--r-- | include/dom/html/html_base_element.h | 16 | ||||
-rw-r--r-- | include/dom/html/html_basefont_element.h | 27 | ||||
-rw-r--r-- | include/dom/html/html_br_element.h | 16 | ||||
-rw-r--r-- | include/dom/html/html_directory_element.h | 16 | ||||
-rw-r--r-- | include/dom/html/html_div_element.h | 16 | ||||
-rw-r--r-- | include/dom/html/html_dlist_element.h | 16 | ||||
-rw-r--r-- | include/dom/html/html_document.h | 10 | ||||
-rw-r--r-- | include/dom/html/html_fieldset_element.h | 17 | ||||
-rw-r--r-- | include/dom/html/html_font_element.h | 27 | ||||
-rw-r--r-- | include/dom/html/html_frame_element.h | 63 | ||||
-rw-r--r-- | include/dom/html/html_frameset_element.h | 22 | ||||
-rw-r--r-- | include/dom/html/html_heading_element.h | 16 | ||||
-rw-r--r-- | include/dom/html/html_iframe_element.h | 75 | ||||
-rw-r--r-- | include/dom/html/html_image_element.h | 84 | ||||
-rw-r--r-- | include/dom/html/html_input_element.h | 4 | ||||
-rw-r--r-- | include/dom/html/html_isindex_element.h | 6 | ||||
-rw-r--r-- | include/dom/html/html_label_element.h | 26 | ||||
-rw-r--r-- | include/dom/html/html_legend_element.h | 27 | ||||
-rw-r--r-- | include/dom/html/html_li_element.h | 22 | ||||
-rw-r--r-- | include/dom/html/html_map_element.h | 21 | ||||
-rw-r--r-- | include/dom/html/html_menu_element.h | 16 | ||||
-rw-r--r-- | include/dom/html/html_mod_element.h | 22 | ||||
-rw-r--r-- | include/dom/html/html_object_element.h | 121 | ||||
-rw-r--r-- | include/dom/html/html_olist_element.h | 28 | ||||
-rw-r--r-- | include/dom/html/html_option_element.h | 2 | ||||
-rw-r--r-- | include/dom/html/html_paragraph_element.h | 16 | ||||
-rw-r--r-- | include/dom/html/html_param_element.h | 34 | ||||
-rw-r--r-- | include/dom/html/html_pre_element.h | 16 | ||||
-rw-r--r-- | include/dom/html/html_quote_element.h | 16 | ||||
-rw-r--r-- | include/dom/html/html_script_element.h | 52 | ||||
-rw-r--r-- | include/dom/html/html_style_element.h | 13 | ||||
-rw-r--r-- | include/dom/html/html_table_element.h | 123 | ||||
-rw-r--r-- | include/dom/html/html_tablecaption_element.h | 16 | ||||
-rw-r--r-- | include/dom/html/html_tablecell_element.h | 99 | ||||
-rw-r--r-- | include/dom/html/html_tablecol_element.h | 48 | ||||
-rw-r--r-- | include/dom/html/html_tablerow_element.h | 62 | ||||
-rw-r--r-- | include/dom/html/html_tablesection_element.h | 52 | ||||
-rw-r--r-- | include/dom/html/html_ulist_element.h | 22 | ||||
-rw-r--r-- | src/html/Makefile | 29 | ||||
-rw-r--r-- | src/html/TODO | 88 | ||||
-rw-r--r-- | src/html/html_anchor_element.c | 220 | ||||
-rw-r--r-- | src/html/html_anchor_element.h | 45 | ||||
-rw-r--r-- | src/html/html_applet_element.c | 191 | ||||
-rw-r--r-- | src/html/html_applet_element.h | 45 | ||||
-rw-r--r-- | src/html/html_area_element.c | 215 | ||||
-rw-r--r-- | src/html/html_area_element.h | 45 | ||||
-rw-r--r-- | src/html/html_base_element.c | 43 | ||||
-rw-r--r-- | src/html/html_basefont_element.c | 177 | ||||
-rw-r--r-- | src/html/html_basefont_element.h | 45 | ||||
-rw-r--r-- | src/html/html_br_element.c | 155 | ||||
-rw-r--r-- | src/html/html_br_element.h | 45 | ||||
-rw-r--r-- | src/html/html_collection.c | 29 | ||||
-rw-r--r-- | src/html/html_directory_element.c | 140 | ||||
-rw-r--r-- | src/html/html_directory_element.h | 45 | ||||
-rw-r--r-- | src/html/html_div_element.c | 154 | ||||
-rw-r--r-- | src/html/html_div_element.h | 45 | ||||
-rw-r--r-- | src/html/html_dlist_element.c | 140 | ||||
-rw-r--r-- | src/html/html_dlist_element.h | 45 | ||||
-rw-r--r-- | src/html/html_document.c | 384 | ||||
-rw-r--r-- | src/html/html_document.h | 7 | ||||
-rw-r--r-- | src/html/html_document_strings.h | 44 | ||||
-rw-r--r-- | src/html/html_fieldset_element.c | 146 | ||||
-rw-r--r-- | src/html/html_fieldset_element.h | 46 | ||||
-rw-r--r-- | src/html/html_font_element.c | 157 | ||||
-rw-r--r-- | src/html/html_font_element.h | 45 | ||||
-rw-r--r-- | src/html/html_form_element.c | 2 | ||||
-rw-r--r-- | src/html/html_frame_element.c | 280 | ||||
-rw-r--r-- | src/html/html_frame_element.h | 47 | ||||
-rw-r--r-- | src/html/html_frameset_element.c | 229 | ||||
-rw-r--r-- | src/html/html_frameset_element.h | 46 | ||||
-rw-r--r-- | src/html/html_heading_element.c | 156 | ||||
-rw-r--r-- | src/html/html_heading_element.h | 45 | ||||
-rw-r--r-- | src/html/html_iframe_element.c | 262 | ||||
-rw-r--r-- | src/html/html_iframe_element.h | 48 | ||||
-rw-r--r-- | src/html/html_image_element.c | 245 | ||||
-rw-r--r-- | src/html/html_image_element.h | 45 | ||||
-rw-r--r-- | src/html/html_input_element.c | 45 | ||||
-rw-r--r-- | src/html/html_input_element.h | 2 | ||||
-rw-r--r-- | src/html/html_isindex_element.c | 81 | ||||
-rw-r--r-- | src/html/html_isindex_element.h | 4 | ||||
-rw-r--r-- | src/html/html_label_element.c | 187 | ||||
-rw-r--r-- | src/html/html_label_element.h | 47 | ||||
-rw-r--r-- | src/html/html_legend_element.c | 208 | ||||
-rw-r--r-- | src/html/html_legend_element.h | 46 | ||||
-rw-r--r-- | src/html/html_li_element.c | 177 | ||||
-rw-r--r-- | src/html/html_li_element.h | 45 | ||||
-rw-r--r-- | src/html/html_map_element.c | 188 | ||||
-rw-r--r-- | src/html/html_map_element.h | 47 | ||||
-rw-r--r-- | src/html/html_menu_element.c | 140 | ||||
-rw-r--r-- | src/html/html_menu_element.h | 45 | ||||
-rw-r--r-- | src/html/html_mod_element.c | 156 | ||||
-rw-r--r-- | src/html/html_mod_element.h | 45 | ||||
-rw-r--r-- | src/html/html_object_element.c | 259 | ||||
-rw-r--r-- | src/html/html_object_element.h | 49 | ||||
-rw-r--r-- | src/html/html_olist_element.c | 201 | ||||
-rw-r--r-- | src/html/html_olist_element.h | 45 | ||||
-rw-r--r-- | src/html/html_option_element.c | 19 | ||||
-rw-r--r-- | src/html/html_options_collection.c | 4 | ||||
-rw-r--r-- | src/html/html_paragraph_element.c | 154 | ||||
-rw-r--r-- | src/html/html_paragraph_element.h | 45 | ||||
-rw-r--r-- | src/html/html_param_element.c | 155 | ||||
-rw-r--r-- | src/html/html_param_element.h | 45 | ||||
-rw-r--r-- | src/html/html_pre_element.c | 136 | ||||
-rw-r--r-- | src/html/html_pre_element.h | 45 | ||||
-rw-r--r-- | src/html/html_quote_element.c | 154 | ||||
-rw-r--r-- | src/html/html_quote_element.h | 45 | ||||
-rw-r--r-- | src/html/html_script_element.c | 213 | ||||
-rw-r--r-- | src/html/html_script_element.h | 45 | ||||
-rw-r--r-- | src/html/html_select_element.c | 150 | ||||
-rw-r--r-- | src/html/html_style_element.c | 83 | ||||
-rw-r--r-- | src/html/html_style_element.h | 2 | ||||
-rw-r--r-- | src/html/html_table_element.c | 740 | ||||
-rw-r--r-- | src/html/html_table_element.h | 56 | ||||
-rw-r--r-- | src/html/html_tablecaption_element.c | 153 | ||||
-rw-r--r-- | src/html/html_tablecaption_element.h | 45 | ||||
-rw-r--r-- | src/html/html_tablecell_element.c | 306 | ||||
-rw-r--r-- | src/html/html_tablecell_element.h | 47 | ||||
-rw-r--r-- | src/html/html_tablecol_element.c | 181 | ||||
-rw-r--r-- | src/html/html_tablecol_element.h | 45 | ||||
-rw-r--r-- | src/html/html_tablerow_element.c | 368 | ||||
-rw-r--r-- | src/html/html_tablerow_element.h | 46 | ||||
-rw-r--r-- | src/html/html_tablesection_element.c | 279 | ||||
-rw-r--r-- | src/html/html_tablesection_element.h | 47 | ||||
-rw-r--r-- | src/html/html_text_area_element.c | 16 | ||||
-rw-r--r-- | src/html/html_ulist_element.c | 177 | ||||
-rw-r--r-- | src/html/html_ulist_element.h | 45 | ||||
-rw-r--r-- | test/DOMTSHandler.pm | 121 | ||||
-rw-r--r-- | test/Makefile | 3 | ||||
-rw-r--r-- | test/dom1-interfaces.xml | 119 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLAnchorElement01.xml (renamed from test/testcases/tests/level1/html/HTMLAnchorElement01.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLAnchorElement02.xml (renamed from test/testcases/tests/level1/html/HTMLAnchorElement02.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLAnchorElement03.xml (renamed from test/testcases/tests/level1/html/HTMLAnchorElement03.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLAnchorElement04.xml (renamed from test/testcases/tests/level1/html/HTMLAnchorElement04.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLAnchorElement05.xml (renamed from test/testcases/tests/level1/html/HTMLAnchorElement05.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLAnchorElement06.xml (renamed from test/testcases/tests/level1/html/HTMLAnchorElement06.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLAnchorElement07.xml (renamed from test/testcases/tests/level1/html/HTMLAnchorElement07.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLAnchorElement08.xml (renamed from test/testcases/tests/level1/html/HTMLAnchorElement08.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLAnchorElement09.xml (renamed from test/testcases/tests/level1/html/HTMLAnchorElement09.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLAnchorElement10.xml (renamed from test/testcases/tests/level1/html/HTMLAnchorElement10.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLAnchorElement11.xml (renamed from test/testcases/tests/level1/html/HTMLAnchorElement11.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLAnchorElement12.xml (renamed from test/testcases/tests/level1/html/HTMLAnchorElement12.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLAnchorElement13.xml (renamed from test/testcases/tests/level1/html/HTMLAnchorElement13.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLAnchorElement14.xml (renamed from test/testcases/tests/level1/html/HTMLAnchorElement14.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLAppletElement01.xml (renamed from test/testcases/tests/level1/html/HTMLAppletElement01.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLAppletElement02.xml (renamed from test/testcases/tests/level1/html/HTMLAppletElement02.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLAppletElement03.xml (renamed from test/testcases/tests/level1/html/HTMLAppletElement03.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLAppletElement04.xml (renamed from test/testcases/tests/level1/html/HTMLAppletElement04.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLAppletElement05.xml (renamed from test/testcases/tests/level1/html/HTMLAppletElement05.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLAppletElement06.xml (renamed from test/testcases/tests/level1/html/HTMLAppletElement06.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLAppletElement07.xml.kfail (renamed from test/testcases/tests/level1/html/HTMLAppletElement07.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLAppletElement08.xml (renamed from test/testcases/tests/level1/html/HTMLAppletElement08.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLAppletElement09.xml.kfail (renamed from test/testcases/tests/level1/html/HTMLAppletElement09.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLAppletElement10.xml (renamed from test/testcases/tests/level1/html/HTMLAppletElement10.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLAppletElement11.xml (renamed from test/testcases/tests/level1/html/HTMLAppletElement11.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLAreaElement01.xml (renamed from test/testcases/tests/level1/html/HTMLAreaElement01.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLAreaElement02.xml (renamed from test/testcases/tests/level1/html/HTMLAreaElement02.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLAreaElement03.xml (renamed from test/testcases/tests/level1/html/HTMLAreaElement03.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLAreaElement04.xml (renamed from test/testcases/tests/level1/html/HTMLAreaElement04.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLAreaElement05.xml (renamed from test/testcases/tests/level1/html/HTMLAreaElement05.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLAreaElement06.xml (renamed from test/testcases/tests/level1/html/HTMLAreaElement06.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLAreaElement07.xml (renamed from test/testcases/tests/level1/html/HTMLAreaElement07.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLAreaElement08.xml (renamed from test/testcases/tests/level1/html/HTMLAreaElement08.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLBRElement01.xml (renamed from test/testcases/tests/level1/html/HTMLBRElement01.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLBaseElement01.xml (renamed from test/testcases/tests/level1/html/HTMLBaseElement01.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLBaseElement02.xml (renamed from test/testcases/tests/level1/html/HTMLBaseElement02.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLBaseFontElement01.xml (renamed from test/testcases/tests/level1/html/HTMLBaseFontElement01.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLBaseFontElement02.xml (renamed from test/testcases/tests/level1/html/HTMLBaseFontElement02.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLBaseFontElement03.xml.kfail (renamed from test/testcases/tests/level1/html/HTMLBaseFontElement03.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLCollection01.xml.notimpl | 49 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLCollection02.xml.kfail | 49 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLCollection03.xml.kfail | 49 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLCollection04.xml (renamed from test/testcases/tests/level1/html/HTMLCollection04.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLCollection05.xml (renamed from test/testcases/tests/level1/html/HTMLCollection05.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLCollection06.xml (renamed from test/testcases/tests/level1/html/HTMLCollection06.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLCollection07.xml (renamed from test/testcases/tests/level1/html/HTMLCollection07.xml.notimpl) | 2 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLCollection08.xml (renamed from test/testcases/tests/level1/html/HTMLCollection08.xml.notimpl) | 2 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLCollection09.xml (renamed from test/testcases/tests/level1/html/HTMLCollection09.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLCollection10.xml (renamed from test/testcases/tests/level1/html/HTMLCollection10.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLCollection11.xml (renamed from test/testcases/tests/level1/html/HTMLCollection11.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLDirectoryElement01.xml (renamed from test/testcases/tests/level1/html/HTMLDirectoryElement01.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLDivElement01.xml (renamed from test/testcases/tests/level1/html/HTMLDivElement01.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLDlistElement01.xml (renamed from test/testcases/tests/level1/html/HTMLDlistElement01.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLDocument02.xml.kfail (renamed from test/testcases/tests/level1/html/HTMLDocument02.xml) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLDocument03.xml.kfail (renamed from test/testcases/tests/level1/html/HTMLDocument03.xml) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLDocument04.xml.kfail (renamed from test/testcases/tests/level1/html/HTMLDocument04.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLDocument05.xml (renamed from test/testcases/tests/level1/html/HTMLDocument05.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLDocument07.xml (renamed from test/testcases/tests/level1/html/HTMLDocument07.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLDocument08.xml.kfail (renamed from test/testcases/tests/level1/html/HTMLDocument08.xml.notimpl) | 1 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLDocument09.xml (renamed from test/testcases/tests/level1/html/HTMLDocument09.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLDocument10.xml (renamed from test/testcases/tests/level1/html/HTMLDocument10.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLDocument11.xml (renamed from test/testcases/tests/level1/html/HTMLDocument11.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLDocument12.xml.kfail (renamed from test/testcases/tests/level1/html/HTMLDocument12.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLDocument13.xml.kfail (renamed from test/testcases/tests/level1/html/HTMLDocument13.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLDocument14.xml.kfail (renamed from test/testcases/tests/level1/html/HTMLDocument14.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLDocument15.xml (renamed from test/testcases/tests/level1/html/HTMLDocument15.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLDocument16.xml (renamed from test/testcases/tests/level1/html/HTMLDocument16.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLDocument17.xml.kfail (renamed from test/testcases/tests/level1/html/HTMLDocument17.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLDocument18.xml.kfail (renamed from test/testcases/tests/level1/html/HTMLDocument18.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLDocument19.xml.kfail (renamed from test/testcases/tests/level1/html/HTMLDocument19.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLDocument20.xml.kfail (renamed from test/testcases/tests/level1/html/HTMLDocument20.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLDocument21.xml.kfail (renamed from test/testcases/tests/level1/html/HTMLDocument21.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLFieldSetElement01.xml (renamed from test/testcases/tests/level1/html/HTMLFieldSetElement01.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLFieldSetElement02.xml (renamed from test/testcases/tests/level1/html/HTMLFieldSetElement02.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLFontElement01.xml (renamed from test/testcases/tests/level1/html/HTMLFontElement01.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLFontElement02.xml (renamed from test/testcases/tests/level1/html/HTMLFontElement02.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLFontElement03.xml (renamed from test/testcases/tests/level1/html/HTMLFontElement03.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLFormElement01.xml (renamed from test/testcases/tests/level1/html/HTMLFormElement01.xml.int-broken) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLFormElement02.xml (renamed from test/testcases/tests/level1/html/HTMLFormElement02.xml.int-broken) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLFrameElement01.xml (renamed from test/testcases/tests/level1/html/HTMLFrameElement01.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLFrameElement02.xml (renamed from test/testcases/tests/level1/html/HTMLFrameElement02.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLFrameElement03.xml (renamed from test/testcases/tests/level1/html/HTMLFrameElement03.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLFrameElement04.xml (renamed from test/testcases/tests/level1/html/HTMLFrameElement04.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLFrameElement05.xml (renamed from test/testcases/tests/level1/html/HTMLFrameElement05.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLFrameElement06.xml (renamed from test/testcases/tests/level1/html/HTMLFrameElement06.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLFrameElement07.xml (renamed from test/testcases/tests/level1/html/HTMLFrameElement07.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLFrameElement08.xml (renamed from test/testcases/tests/level1/html/HTMLFrameElement08.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLFrameSetElement01.xml (renamed from test/testcases/tests/level1/html/HTMLFrameSetElement01.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLFrameSetElement02.xml (renamed from test/testcases/tests/level1/html/HTMLFrameSetElement02.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLHeadingElement01.xml (renamed from test/testcases/tests/level1/html/HTMLHeadingElement01.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLHeadingElement02.xml (renamed from test/testcases/tests/level1/html/HTMLHeadingElement02.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLHeadingElement03.xml (renamed from test/testcases/tests/level1/html/HTMLHeadingElement03.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLHeadingElement04.xml (renamed from test/testcases/tests/level1/html/HTMLHeadingElement04.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLHeadingElement05.xml (renamed from test/testcases/tests/level1/html/HTMLHeadingElement05.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLHeadingElement06.xml (renamed from test/testcases/tests/level1/html/HTMLHeadingElement06.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLIFrameElement01.xml (renamed from test/testcases/tests/level1/html/HTMLIFrameElement01.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLIFrameElement02.xml (renamed from test/testcases/tests/level1/html/HTMLIFrameElement02.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLIFrameElement03.xml (renamed from test/testcases/tests/level1/html/HTMLIFrameElement03.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLIFrameElement04.xml (renamed from test/testcases/tests/level1/html/HTMLIFrameElement04.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLIFrameElement05.xml (renamed from test/testcases/tests/level1/html/HTMLIFrameElement05.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLIFrameElement06.xml (renamed from test/testcases/tests/level1/html/HTMLIFrameElement06.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLIFrameElement07.xml (renamed from test/testcases/tests/level1/html/HTMLIFrameElement07.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLIFrameElement08.xml (renamed from test/testcases/tests/level1/html/HTMLIFrameElement08.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLIFrameElement09.xml (renamed from test/testcases/tests/level1/html/HTMLIFrameElement09.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLIFrameElement10.xml (renamed from test/testcases/tests/level1/html/HTMLIFrameElement10.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLImageElement01.xml (renamed from test/testcases/tests/level1/html/HTMLImageElement01.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLImageElement02.xml (renamed from test/testcases/tests/level1/html/HTMLImageElement02.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLImageElement03.xml (renamed from test/testcases/tests/level1/html/HTMLImageElement03.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLImageElement04.xml (renamed from test/testcases/tests/level1/html/HTMLImageElement04.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLImageElement07.xml (renamed from test/testcases/tests/level1/html/HTMLImageElement07.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLImageElement08.xml (renamed from test/testcases/tests/level1/html/HTMLImageElement08.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLImageElement09.xml (renamed from test/testcases/tests/level1/html/HTMLImageElement09.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLImageElement10.xml (renamed from test/testcases/tests/level1/html/HTMLImageElement10.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLInputElement21.xml (renamed from test/testcases/tests/level1/html/HTMLInputElement21.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLLIElement01.xml (renamed from test/testcases/tests/level1/html/HTMLLIElement01.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLLIElement02.xml (renamed from test/testcases/tests/level1/html/HTMLLIElement02.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLLabelElement01.xml (renamed from test/testcases/tests/level1/html/HTMLLabelElement01.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLLabelElement02.xml (renamed from test/testcases/tests/level1/html/HTMLLabelElement02.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLLabelElement03.xml (renamed from test/testcases/tests/level1/html/HTMLLabelElement03.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLLabelElement04.xml (renamed from test/testcases/tests/level1/html/HTMLLabelElement04.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLLegendElement01.xml (renamed from test/testcases/tests/level1/html/HTMLLegendElement01.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLLegendElement02.xml (renamed from test/testcases/tests/level1/html/HTMLLegendElement02.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLLegendElement03.xml (renamed from test/testcases/tests/level1/html/HTMLLegendElement03.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLLegendElement04.xml (renamed from test/testcases/tests/level1/html/HTMLLegendElement04.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLMapElement01.xml.kfail | 44 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLMapElement02.xml (renamed from test/testcases/tests/level1/html/HTMLMapElement02.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLMenuElement01.xml (renamed from test/testcases/tests/level1/html/HTMLMenuElement01.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLModElement01.xml (renamed from test/testcases/tests/level1/html/HTMLModElement01.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLModElement02.xml (renamed from test/testcases/tests/level1/html/HTMLModElement02.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLModElement03.xml (renamed from test/testcases/tests/level1/html/HTMLModElement03.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLModElement04.xml (renamed from test/testcases/tests/level1/html/HTMLModElement04.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLOListElement01.xml (renamed from test/testcases/tests/level1/html/HTMLOListElement01.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLOListElement02.xml (renamed from test/testcases/tests/level1/html/HTMLOListElement02.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLOListElement03.xml (renamed from test/testcases/tests/level1/html/HTMLOListElement03.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLObjectElement01.xml (renamed from test/testcases/tests/level1/html/HTMLObjectElement01.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLObjectElement02.xml (renamed from test/testcases/tests/level1/html/HTMLObjectElement02.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLObjectElement03.xml (renamed from test/testcases/tests/level1/html/HTMLObjectElement03.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLObjectElement04.xml (renamed from test/testcases/tests/level1/html/HTMLObjectElement04.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLObjectElement05.xml (renamed from test/testcases/tests/level1/html/HTMLObjectElement05.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLObjectElement06.xml (renamed from test/testcases/tests/level1/html/HTMLObjectElement06.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLObjectElement07.xml (renamed from test/testcases/tests/level1/html/HTMLObjectElement07.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLObjectElement08.xml (renamed from test/testcases/tests/level1/html/HTMLObjectElement08.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLObjectElement09.xml (renamed from test/testcases/tests/level1/html/HTMLObjectElement09.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLObjectElement10.xml (renamed from test/testcases/tests/level1/html/HTMLObjectElement10.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLObjectElement12.xml (renamed from test/testcases/tests/level1/html/HTMLObjectElement12.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLObjectElement13.xml (renamed from test/testcases/tests/level1/html/HTMLObjectElement13.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLObjectElement14.xml (renamed from test/testcases/tests/level1/html/HTMLObjectElement14.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLObjectElement15.xml (renamed from test/testcases/tests/level1/html/HTMLObjectElement15.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLObjectElement17.xml (renamed from test/testcases/tests/level1/html/HTMLObjectElement17.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLObjectElement18.xml (renamed from test/testcases/tests/level1/html/HTMLObjectElement18.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLObjectElement19.xml (renamed from test/testcases/tests/level1/html/HTMLObjectElement19.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLOptionElement05.xml (renamed from test/testcases/tests/level1/html/HTMLOptionElement05.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLParagraphElement01.xml (renamed from test/testcases/tests/level1/html/HTMLParagraphElement01.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLParamElement01.xml (renamed from test/testcases/tests/level1/html/HTMLParamElement01.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLParamElement02.xml (renamed from test/testcases/tests/level1/html/HTMLParamElement02.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLParamElement03.xml (renamed from test/testcases/tests/level1/html/HTMLParamElement03.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLParamElement04.xml (renamed from test/testcases/tests/level1/html/HTMLParamElement04.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLPreElement01.xml (renamed from test/testcases/tests/level1/html/HTMLPreElement01.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLQuoteElement01.xml (renamed from test/testcases/tests/level1/html/HTMLQuoteElement01.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLQuoteElement02.xml (renamed from test/testcases/tests/level1/html/HTMLQuoteElement02.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLScriptElement01.xml (renamed from test/testcases/tests/level1/html/HTMLScriptElement01.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLScriptElement02.xml (renamed from test/testcases/tests/level1/html/HTMLScriptElement02.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLScriptElement03.xml (renamed from test/testcases/tests/level1/html/HTMLScriptElement03.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLScriptElement04.xml (renamed from test/testcases/tests/level1/html/HTMLScriptElement04.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLScriptElement05.xml (renamed from test/testcases/tests/level1/html/HTMLScriptElement05.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLScriptElement06.xml (renamed from test/testcases/tests/level1/html/HTMLScriptElement06.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLScriptElement07.xml (renamed from test/testcases/tests/level1/html/HTMLScriptElement07.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLSelectElement05.xml (renamed from test/testcases/tests/level1/html/HTMLSelectElement05.xml.int-broken) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLSelectElement16.xml (renamed from test/testcases/tests/level1/html/HTMLSelectElement16.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLSelectElement17.xml (renamed from test/testcases/tests/level1/html/HTMLSelectElement17.xml.int-broken) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLSelectElement18.xml (renamed from test/testcases/tests/level1/html/HTMLSelectElement18.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLSelectElement19.xml (renamed from test/testcases/tests/level1/html/HTMLSelectElement19.xml.kfail) | 2 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLStyleElement01.xml (renamed from test/testcases/tests/level1/html/HTMLStyleElement01.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLStyleElement02.xml (renamed from test/testcases/tests/level1/html/HTMLStyleElement02.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLStyleElement03.xml (renamed from test/testcases/tests/level1/html/HTMLStyleElement03.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableCaptionElement01.xml (renamed from test/testcases/tests/level1/html/HTMLTableCaptionElement01.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableCellElement01.xml (renamed from test/testcases/tests/level1/html/HTMLTableCellElement01.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableCellElement02.xml (renamed from test/testcases/tests/level1/html/HTMLTableCellElement02.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableCellElement03.xml (renamed from test/testcases/tests/level1/html/HTMLTableCellElement03.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableCellElement04.xml (renamed from test/testcases/tests/level1/html/HTMLTableCellElement04.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableCellElement05.xml (renamed from test/testcases/tests/level1/html/HTMLTableCellElement05.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableCellElement06.xml (renamed from test/testcases/tests/level1/html/HTMLTableCellElement06.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableCellElement07.xml (renamed from test/testcases/tests/level1/html/HTMLTableCellElement07.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableCellElement08.xml (renamed from test/testcases/tests/level1/html/HTMLTableCellElement08.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableCellElement09.xml (renamed from test/testcases/tests/level1/html/HTMLTableCellElement09.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableCellElement10.xml (renamed from test/testcases/tests/level1/html/HTMLTableCellElement10.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableCellElement11.xml (renamed from test/testcases/tests/level1/html/HTMLTableCellElement11.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableCellElement12.xml (renamed from test/testcases/tests/level1/html/HTMLTableCellElement12.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableCellElement13.xml (renamed from test/testcases/tests/level1/html/HTMLTableCellElement13.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableCellElement14.xml (renamed from test/testcases/tests/level1/html/HTMLTableCellElement14.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableCellElement15.xml (renamed from test/testcases/tests/level1/html/HTMLTableCellElement15.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableCellElement16.xml (renamed from test/testcases/tests/level1/html/HTMLTableCellElement16.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableCellElement17.xml (renamed from test/testcases/tests/level1/html/HTMLTableCellElement17.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableCellElement18.xml (renamed from test/testcases/tests/level1/html/HTMLTableCellElement18.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableCellElement19.xml (renamed from test/testcases/tests/level1/html/HTMLTableCellElement19.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableCellElement20.xml (renamed from test/testcases/tests/level1/html/HTMLTableCellElement20.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableCellElement21.xml (renamed from test/testcases/tests/level1/html/HTMLTableCellElement21.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableCellElement22.xml (renamed from test/testcases/tests/level1/html/HTMLTableCellElement22.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableCellElement23.xml (renamed from test/testcases/tests/level1/html/HTMLTableCellElement23.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableCellElement24.xml (renamed from test/testcases/tests/level1/html/HTMLTableCellElement24.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableCellElement25.xml (renamed from test/testcases/tests/level1/html/HTMLTableCellElement25.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableCellElement26.xml (renamed from test/testcases/tests/level1/html/HTMLTableCellElement26.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableCellElement27.xml (renamed from test/testcases/tests/level1/html/HTMLTableCellElement27.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableCellElement28.xml (renamed from test/testcases/tests/level1/html/HTMLTableCellElement28.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableCellElement29.xml (renamed from test/testcases/tests/level1/html/HTMLTableCellElement29.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableCellElement30.xml (renamed from test/testcases/tests/level1/html/HTMLTableCellElement30.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableColElement01.xml (renamed from test/testcases/tests/level1/html/HTMLTableColElement01.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableColElement02.xml (renamed from test/testcases/tests/level1/html/HTMLTableColElement02.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableColElement03.xml (renamed from test/testcases/tests/level1/html/HTMLTableColElement03.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableColElement04.xml (renamed from test/testcases/tests/level1/html/HTMLTableColElement04.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableColElement05.xml (renamed from test/testcases/tests/level1/html/HTMLTableColElement05.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableColElement06.xml (renamed from test/testcases/tests/level1/html/HTMLTableColElement06.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableColElement07.xml (renamed from test/testcases/tests/level1/html/HTMLTableColElement07.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableColElement08.xml (renamed from test/testcases/tests/level1/html/HTMLTableColElement08.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableColElement09.xml (renamed from test/testcases/tests/level1/html/HTMLTableColElement09.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableColElement10.xml (renamed from test/testcases/tests/level1/html/HTMLTableColElement10.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableColElement11.xml (renamed from test/testcases/tests/level1/html/HTMLTableColElement11.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableColElement12.xml (renamed from test/testcases/tests/level1/html/HTMLTableColElement12.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableElement01.xml (renamed from test/testcases/tests/level1/html/HTMLTableElement01.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableElement02.xml (renamed from test/testcases/tests/level1/html/HTMLTableElement02.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableElement03.xml (renamed from test/testcases/tests/level1/html/HTMLTableElement03.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableElement04.xml (renamed from test/testcases/tests/level1/html/HTMLTableElement04.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableElement05.xml (renamed from test/testcases/tests/level1/html/HTMLTableElement05.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableElement06.xml (renamed from test/testcases/tests/level1/html/HTMLTableElement06.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableElement07.xml (renamed from test/testcases/tests/level1/html/HTMLTableElement07.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableElement08.xml (renamed from test/testcases/tests/level1/html/HTMLTableElement08.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableElement09.xml (renamed from test/testcases/tests/level1/html/HTMLTableElement09.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableElement10.xml (renamed from test/testcases/tests/level1/html/HTMLTableElement10.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableElement11.xml (renamed from test/testcases/tests/level1/html/HTMLTableElement11.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableElement12.xml (renamed from test/testcases/tests/level1/html/HTMLTableElement12.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableElement13.xml (renamed from test/testcases/tests/level1/html/HTMLTableElement13.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableElement14.xml (renamed from test/testcases/tests/level1/html/HTMLTableElement14.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableElement15.xml (renamed from test/testcases/tests/level1/html/HTMLTableElement15.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableElement16.xml (renamed from test/testcases/tests/level1/html/HTMLTableElement16.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableElement17.xml (renamed from test/testcases/tests/level1/html/HTMLTableElement17.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableElement18.xml (renamed from test/testcases/tests/level1/html/HTMLTableElement18.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableElement19.xml (renamed from test/testcases/tests/level1/html/HTMLTableElement19.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableElement20.xml (renamed from test/testcases/tests/level1/html/HTMLTableElement20.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableElement21.xml (renamed from test/testcases/tests/level1/html/HTMLTableElement21.xml.kfail) | 4 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableElement22.xml (renamed from test/testcases/tests/level1/html/HTMLTableElement22.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableElement23.xml (renamed from test/testcases/tests/level1/html/HTMLTableElement23.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableElement24.xml (renamed from test/testcases/tests/level1/html/HTMLTableElement24.xml.kfail) | 4 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableElement25.xml (renamed from test/testcases/tests/level1/html/HTMLTableElement25.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableElement26.xml (renamed from test/testcases/tests/level1/html/HTMLTableElement26.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableElement27.xml (renamed from test/testcases/tests/level1/html/HTMLTableElement27.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableElement28.xml (renamed from test/testcases/tests/level1/html/HTMLTableElement28.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableElement29.xml (renamed from test/testcases/tests/level1/html/HTMLTableElement29.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableElement30.xml (renamed from test/testcases/tests/level1/html/HTMLTableElement30.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableElement31.xml (renamed from test/testcases/tests/level1/html/HTMLTableElement31.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableElement32.xml (renamed from test/testcases/tests/level1/html/HTMLTableElement32.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableElement33.xml (renamed from test/testcases/tests/level1/html/HTMLTableElement33.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableRowElement01.xml (renamed from test/testcases/tests/level1/html/HTMLTableRowElement01.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableRowElement02.xml (renamed from test/testcases/tests/level1/html/HTMLTableRowElement02.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableRowElement03.xml (renamed from test/testcases/tests/level1/html/HTMLTableRowElement03.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableRowElement04.xml (renamed from test/testcases/tests/level1/html/HTMLTableRowElement04.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableRowElement05.xml (renamed from test/testcases/tests/level1/html/HTMLTableRowElement05.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableRowElement06.xml (renamed from test/testcases/tests/level1/html/HTMLTableRowElement06.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableRowElement07.xml (renamed from test/testcases/tests/level1/html/HTMLTableRowElement07.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableRowElement08.xml (renamed from test/testcases/tests/level1/html/HTMLTableRowElement08.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableRowElement09.xml (renamed from test/testcases/tests/level1/html/HTMLTableRowElement09.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableRowElement10.xml (renamed from test/testcases/tests/level1/html/HTMLTableRowElement10.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableRowElement11.xml (renamed from test/testcases/tests/level1/html/HTMLTableRowElement11.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableRowElement12.xml (renamed from test/testcases/tests/level1/html/HTMLTableRowElement12.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableRowElement13.xml (renamed from test/testcases/tests/level1/html/HTMLTableRowElement13.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableRowElement14.xml (renamed from test/testcases/tests/level1/html/HTMLTableRowElement14.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableSectionElement01.xml (renamed from test/testcases/tests/level1/html/HTMLTableSectionElement01.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableSectionElement02.xml (renamed from test/testcases/tests/level1/html/HTMLTableSectionElement02.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableSectionElement03.xml (renamed from test/testcases/tests/level1/html/HTMLTableSectionElement03.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableSectionElement04.xml (renamed from test/testcases/tests/level1/html/HTMLTableSectionElement04.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableSectionElement05.xml (renamed from test/testcases/tests/level1/html/HTMLTableSectionElement05.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableSectionElement06.xml (renamed from test/testcases/tests/level1/html/HTMLTableSectionElement06.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableSectionElement07.xml (renamed from test/testcases/tests/level1/html/HTMLTableSectionElement07.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableSectionElement08.xml (renamed from test/testcases/tests/level1/html/HTMLTableSectionElement08.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableSectionElement09.xml (renamed from test/testcases/tests/level1/html/HTMLTableSectionElement09.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableSectionElement10.xml (renamed from test/testcases/tests/level1/html/HTMLTableSectionElement10.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableSectionElement11.xml (renamed from test/testcases/tests/level1/html/HTMLTableSectionElement11.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableSectionElement12.xml (renamed from test/testcases/tests/level1/html/HTMLTableSectionElement12.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableSectionElement13.xml (renamed from test/testcases/tests/level1/html/HTMLTableSectionElement13.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableSectionElement14.xml (renamed from test/testcases/tests/level1/html/HTMLTableSectionElement14.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableSectionElement15.xml (renamed from test/testcases/tests/level1/html/HTMLTableSectionElement15.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableSectionElement16.xml (renamed from test/testcases/tests/level1/html/HTMLTableSectionElement16.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableSectionElement17.xml (renamed from test/testcases/tests/level1/html/HTMLTableSectionElement17.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableSectionElement18.xml (renamed from test/testcases/tests/level1/html/HTMLTableSectionElement18.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableSectionElement19.xml (renamed from test/testcases/tests/level1/html/HTMLTableSectionElement19.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableSectionElement20.xml (renamed from test/testcases/tests/level1/html/HTMLTableSectionElement20.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableSectionElement21.xml (renamed from test/testcases/tests/level1/html/HTMLTableSectionElement21.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableSectionElement22.xml (renamed from test/testcases/tests/level1/html/HTMLTableSectionElement22.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableSectionElement23.xml (renamed from test/testcases/tests/level1/html/HTMLTableSectionElement23.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLTableSectionElement24.xml (renamed from test/testcases/tests/level1/html/HTMLTableSectionElement24.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLUListElement01.xml (renamed from test/testcases/tests/level1/html/HTMLUListElement01.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLUListElement02.xml (renamed from test/testcases/tests/level1/html/HTMLUListElement02.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/anchor01.xml (renamed from test/testcases/tests/level1/html/anchor01.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/anchor02.xml (renamed from test/testcases/tests/level1/html/anchor02.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/anchor03.xml (renamed from test/testcases/tests/level1/html/anchor03.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/anchor04.xml.kfail (renamed from test/testcases/tests/level1/html/anchor04.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/anchor05.xml (renamed from test/testcases/tests/level1/html/anchor05.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/anchor06.xml (renamed from test/testcases/tests/level1/html/anchor06.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/area01.xml (renamed from test/testcases/tests/level1/html/area01.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/area02.xml (renamed from test/testcases/tests/level1/html/area02.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/area03.xml (renamed from test/testcases/tests/level1/html/area03.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/area04.xml (renamed from test/testcases/tests/level1/html/area04.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/basefont01.xml (renamed from test/testcases/tests/level1/html/basefont01.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/body01.xml (renamed from test/testcases/tests/level1/html/body01.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/button01.xml (renamed from test/testcases/tests/level1/html/button01.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/button02.xml (renamed from test/testcases/tests/level1/html/button02.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/button03.xml (renamed from test/testcases/tests/level1/html/button03.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/button04.xml (renamed from test/testcases/tests/level1/html/button04.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/button05.xml (renamed from test/testcases/tests/level1/html/button05.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/button06.xml (renamed from test/testcases/tests/level1/html/button06.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/button07.xml (renamed from test/testcases/tests/level1/html/button07.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/button08.xml (renamed from test/testcases/tests/level1/html/button08.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/button09.xml (renamed from test/testcases/tests/level1/html/button09.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/dlist01.xml (renamed from test/testcases/tests/level1/html/dlist01.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/doc01.xml (renamed from test/testcases/tests/level1/html/doc01.xml.notimpl) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/files/object.html | 2 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/files/object.xhtml | 2 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/object01.xml (renamed from test/testcases/tests/level1/html/object01.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/object02.xml (renamed from test/testcases/tests/level1/html/object02.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/object03.xml (renamed from test/testcases/tests/level1/html/object03.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/object04.xml (renamed from test/testcases/tests/level1/html/object04.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/object05.xml (renamed from test/testcases/tests/level1/html/object05.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/object06.xml (renamed from test/testcases/tests/level1/html/object06.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/object07.xml (renamed from test/testcases/tests/level1/html/object07.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/object09.xml (renamed from test/testcases/tests/level1/html/object09.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/object10.xml (renamed from test/testcases/tests/level1/html/object10.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/object11.xml (renamed from test/testcases/tests/level1/html/object11.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/object12.xml (renamed from test/testcases/tests/level1/html/object12.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/object14.xml (renamed from test/testcases/tests/level1/html/object14.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/object15.xml (renamed from test/testcases/tests/level1/html/object15.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/table01.xml (renamed from test/testcases/tests/level1/html/table01.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/table02.xml (renamed from test/testcases/tests/level1/html/table02.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/table03.xml (renamed from test/testcases/tests/level1/html/table03.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/table04.xml (renamed from test/testcases/tests/level1/html/table04.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/table06.xml (renamed from test/testcases/tests/level1/html/table06.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/table07.xml (renamed from test/testcases/tests/level1/html/table07.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/table08.xml (renamed from test/testcases/tests/level1/html/table08.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/table09.xml (renamed from test/testcases/tests/level1/html/table09.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/table10.xml (renamed from test/testcases/tests/level1/html/table10.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/table12.xml (renamed from test/testcases/tests/level1/html/table12.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/table15.xml (renamed from test/testcases/tests/level1/html/table15.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/table17.xml (renamed from test/testcases/tests/level1/html/table17.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/table18.xml (renamed from test/testcases/tests/level1/html/table18.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/table19.xml (renamed from test/testcases/tests/level1/html/table19.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/table20.xml (renamed from test/testcases/tests/level1/html/table20.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/table21.xml (renamed from test/testcases/tests/level1/html/table21.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/table22.xml (renamed from test/testcases/tests/level1/html/table22.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/table23.xml (renamed from test/testcases/tests/level1/html/table23.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/table24.xml (renamed from test/testcases/tests/level1/html/table24.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/table25.xml (renamed from test/testcases/tests/level1/html/table25.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/table26.xml (renamed from test/testcases/tests/level1/html/table26.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/table27.xml (renamed from test/testcases/tests/level1/html/table27.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/table28.xml (renamed from test/testcases/tests/level1/html/table28.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/table29.xml (renamed from test/testcases/tests/level1/html/table29.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/table30.xml (renamed from test/testcases/tests/level1/html/table30.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/table31.xml (renamed from test/testcases/tests/level1/html/table31.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/table32.xml (renamed from test/testcases/tests/level1/html/table32.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/table33.xml (renamed from test/testcases/tests/level1/html/table33.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/table34.xml (renamed from test/testcases/tests/level1/html/table34.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/table35.xml (renamed from test/testcases/tests/level1/html/table35.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/table36.xml (renamed from test/testcases/tests/level1/html/table36.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/table37.xml (renamed from test/testcases/tests/level1/html/table37.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/table38.xml (renamed from test/testcases/tests/level1/html/table38.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/table39.xml (renamed from test/testcases/tests/level1/html/table39.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/table40.xml (renamed from test/testcases/tests/level1/html/table40.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/table41.xml (renamed from test/testcases/tests/level1/html/table41.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/table42.xml (renamed from test/testcases/tests/level1/html/table42.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/table43.xml (renamed from test/testcases/tests/level1/html/table43.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/table44.xml (renamed from test/testcases/tests/level1/html/table44.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/table45.xml (renamed from test/testcases/tests/level1/html/table45.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/table46.xml (renamed from test/testcases/tests/level1/html/table46.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/table47.xml (renamed from test/testcases/tests/level1/html/table47.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/table48.xml (renamed from test/testcases/tests/level1/html/table48.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/table49.xml (renamed from test/testcases/tests/level1/html/table49.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/table50.xml (renamed from test/testcases/tests/level1/html/table50.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/table51.xml (renamed from test/testcases/tests/level1/html/table51.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/table52.xml (renamed from test/testcases/tests/level1/html/table52.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/table53.xml (renamed from test/testcases/tests/level1/html/table53.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/.HTMLImageElement05.xml.swp | bin | 0 -> 12288 bytes | |||
-rw-r--r-- | test/testcases/tests/level2/html/HTMLBaseFontElement03.xml | 2 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/HTMLBodyElement07.xml.kfail (renamed from test/testcases/tests/level2/html/HTMLBodyElement07.xml) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/HTMLBodyElement08.xml.kfail (renamed from test/testcases/tests/level2/html/HTMLBodyElement08.xml) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/HTMLBodyElement09.xml.kfail (renamed from test/testcases/tests/level2/html/HTMLBodyElement09.xml) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/HTMLBodyElement10.xml.kfail (renamed from test/testcases/tests/level2/html/HTMLBodyElement10.xml) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/HTMLBodyElement11.xml.kfail (renamed from test/testcases/tests/level2/html/HTMLBodyElement11.xml) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/HTMLBodyElement12.xml.kfail (renamed from test/testcases/tests/level2/html/HTMLBodyElement12.xml) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/HTMLDocument22.xml.kfail (renamed from test/testcases/tests/level2/html/HTMLDocument22.xml) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/HTMLDocument23.xml.kfail (renamed from test/testcases/tests/level2/html/HTMLDocument23.xml) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/HTMLDocument24.xml.kfail (renamed from test/testcases/tests/level2/html/HTMLDocument24.xml) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/HTMLDocument25.xml.kfail (renamed from test/testcases/tests/level2/html/HTMLDocument25.xml) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/HTMLDocument26.xml.kfail (renamed from test/testcases/tests/level2/html/HTMLDocument26.xml) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/HTMLDocument27.xml.kfail (renamed from test/testcases/tests/level2/html/HTMLDocument27.xml) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/HTMLFrameElement09.xml | 2 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/HTMLIFrameElement11.xml | 2 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/HTMLTableElement39.xml.kfail (renamed from test/testcases/tests/level2/html/HTMLTableElement39.xml) | 5 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/files/applet.html | 12 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/files/applet.xhtml | 15 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/files/applet.xml | 15 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/files/applet2.html | 12 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/files/applet2.xhtml | 15 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/files/applet2.xml | 15 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/files/area.html | 14 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/files/area.xhtml | 17 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/files/area.xml | 17 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/files/area2.html | 15 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/files/area2.xhtml | 16 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/files/area2.xml | 16 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/files/basefont.html | 12 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/files/basefont.xhtml | 14 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/files/basefont.xml | 14 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/files/document.html | 36 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/files/document.xhtml | 39 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/files/document.xml | 39 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/files/img.html | 13 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/files/img.xhtml | 15 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/files/img.xml | 15 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/files/input.html | 60 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/files/input.xhtml | 62 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/files/input.xml | 62 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/files/object.html | 18 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/files/object.xhtml | 20 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/files/object.xml | 20 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/files/object2.html | 17 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/files/object2.xhtml | 20 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/files/object2.xml | 20 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/files/select.html | 44 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/files/select.xhtml | 41 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/files/select.xml | 41 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/files/table.html | 78 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/files/table.xhtml | 81 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/files/table.xml | 81 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/files/table1.html | 12 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/files/table1.xhtml | 15 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/files/table1.xml | 15 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/files/tablerow.html | 59 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/files/tablerow.xhtml | 62 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/files/tablerow.xml | 62 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/files/tablesection.html | 62 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/files/tablesection.xhtml | 65 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/files/tablesection.xml | 65 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/hasFeature02.xml.kfail (renamed from test/testcases/tests/level2/html/hasFeature02.xml) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/hasFeature03.xml.kfail (renamed from test/testcases/tests/level2/html/hasFeature03.xml) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/hasFeature04.xml.kfail (renamed from test/testcases/tests/level2/html/hasFeature04.xml) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/hasFeature05.xml.kfail (renamed from test/testcases/tests/level2/html/hasFeature05.xml) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/hasFeature06.xml.kfail (renamed from test/testcases/tests/level2/html/hasFeature06.xml) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level2/html/metadata.xml.kfail (renamed from test/testcases/tests/level2/html/metadata.xml) | 0 | ||||
-rw-r--r-- | test/testutils/domtsasserts.c | 4 |
580 files changed, 13122 insertions, 430 deletions
@@ -97,6 +97,44 @@ INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_option_element.h INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_opt_group_element.h INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_options_collection.h INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_hr_element.h +INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_dlist_element.h +INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_directory_element.h +INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_menu_element.h +INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_fieldset_element.h +INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_legend_element.h +INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_div_element.h +INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_paragraph_element.h +INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_heading_element.h +INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_quote_element.h +INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_pre_element.h +INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_br_element.h +INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_label_element.h +INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_ulist_element.h +INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_olist_element.h +INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_li_element.h +INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_font_element.h +INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_mod_element.h +INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_anchor_element.h +INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_basefont_element.h +INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_image_element.h +INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_object_element.h +INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_param_element.h +INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_applet_element.h +INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_area_element.h +INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_map_element.h +INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_script_element.h +INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_tablecaption_element.h +INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_tablecell_element.h +INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_tablecol_element.h +INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_tablesection_element.h +INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_table_element.h +INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_tablerow_element.h +INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_base_element.h +INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_style_element.h +INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_frameset_element.h +INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_frame_element.h +INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_iframe_element.h +INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_isindex_element.h INSTALL_ITEMS := $(INSTALL_ITEMS) /$(LIBDIR)/pkgconfig:lib$(COMPONENT).pc.in INSTALL_ITEMS := $(INSTALL_ITEMS) /$(LIBDIR):$(OUTPUT) diff --git a/include/dom/dom.h b/include/dom/dom.h index d34f27f..0dba25d 100644 --- a/include/dom/dom.h +++ b/include/dom/dom.h @@ -56,6 +56,44 @@ #include <dom/html/html_select_element.h> #include <dom/html/html_options_collection.h> #include <dom/html/html_hr_element.h> +#include <dom/html/html_dlist_element.h> +#include <dom/html/html_directory_element.h> +#include <dom/html/html_menu_element.h> +#include <dom/html/html_fieldset_element.h> +#include <dom/html/html_legend_element.h> +#include <dom/html/html_div_element.h> +#include <dom/html/html_paragraph_element.h> +#include <dom/html/html_heading_element.h> +#include <dom/html/html_quote_element.h> +#include <dom/html/html_pre_element.h> +#include <dom/html/html_br_element.h> +#include <dom/html/html_label_element.h> +#include <dom/html/html_ulist_element.h> +#include <dom/html/html_olist_element.h> +#include <dom/html/html_li_element.h> +#include <dom/html/html_font_element.h> +#include <dom/html/html_mod_element.h> +#include <dom/html/html_anchor_element.h> +#include <dom/html/html_basefont_element.h> +#include <dom/html/html_image_element.h> +#include <dom/html/html_object_element.h> +#include <dom/html/html_param_element.h> +#include <dom/html/html_applet_element.h> +#include <dom/html/html_area_element.h> +#include <dom/html/html_map_element.h> +#include <dom/html/html_script_element.h> +#include <dom/html/html_tablecaption_element.h> +#include <dom/html/html_tablecell_element.h> +#include <dom/html/html_tablecol_element.h> +#include <dom/html/html_tablesection_element.h> +#include <dom/html/html_table_element.h> +#include <dom/html/html_tablerow_element.h> +#include <dom/html/html_base_element.h> +#include <dom/html/html_style_element.h> +#include <dom/html/html_frameset_element.h> +#include <dom/html/html_frame_element.h> +#include <dom/html/html_iframe_element.h> +#include <dom/html/html_isindex_element.h> /* DOM Events header */ #include <dom/events/events.h> diff --git a/include/dom/html/html_anchor_element.h b/include/dom/html/html_anchor_element.h index 2e182d5..c7bcdea 100644 --- a/include/dom/html/html_anchor_element.h +++ b/include/dom/html/html_anchor_element.h @@ -3,5 +3,92 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_html_anchor_element_h_ +#define dom_html_anchor_element_h_ + +#include <stdbool.h> +#include <dom/core/exceptions.h> +#include <dom/core/string.h> + +typedef struct dom_html_anchor_element dom_html_anchor_element; + + +dom_exception dom_html_anchor_element_get_access_key( + dom_html_anchor_element *anchor, dom_string **access_key); + +dom_exception dom_html_anchor_element_set_access_key( + dom_html_anchor_element *anchor, dom_string *access_key); + +dom_exception dom_html_anchor_element_get_charset( + dom_html_anchor_element *anchor, dom_string **charset); + +dom_exception dom_html_anchor_element_set_charset( + dom_html_anchor_element *anchor, dom_string *charset); + +dom_exception dom_html_anchor_element_get_coords( + dom_html_anchor_element *anchor, dom_string **coords); + +dom_exception dom_html_anchor_element_set_coords( + dom_html_anchor_element *anchor, dom_string *coords); + +dom_exception dom_html_anchor_element_get_href( + dom_html_anchor_element *anchor, dom_string **href); + +dom_exception dom_html_anchor_element_set_href( + dom_html_anchor_element *anchor, dom_string *href); + +dom_exception dom_html_anchor_element_get_hreflang( + dom_html_anchor_element *anchor, dom_string **hreflang); + +dom_exception dom_html_anchor_element_set_hreflang( + dom_html_anchor_element *anchor, dom_string *hreflang); + +dom_exception dom_html_anchor_element_get_name( + dom_html_anchor_element *anchor, dom_string **name); + +dom_exception dom_html_anchor_element_set_name( + dom_html_anchor_element *anchor, dom_string *name); + +dom_exception dom_html_anchor_element_get_rel( + dom_html_anchor_element *anchor, dom_string **rel); + +dom_exception dom_html_anchor_element_set_rel( + dom_html_anchor_element *anchor, dom_string *rel); + +dom_exception dom_html_anchor_element_get_rev( + dom_html_anchor_element *anchor, dom_string **rev); + +dom_exception dom_html_anchor_element_set_rev( + dom_html_anchor_element *anchor, dom_string *rev); + +dom_exception dom_html_anchor_element_get_shape( + dom_html_anchor_element *anchor, dom_string **shape); + +dom_exception dom_html_anchor_element_set_shape( + dom_html_anchor_element *anchor, dom_string *shape); + +dom_exception dom_html_anchor_element_get_target( + dom_html_anchor_element *anchor, dom_string **target); + +dom_exception dom_html_anchor_element_set_target( + dom_html_anchor_element *anchor, dom_string *target); + +dom_exception dom_html_anchor_element_get_type( + dom_html_anchor_element *anchor, dom_string **type); + +dom_exception dom_html_anchor_element_set_type( + dom_html_anchor_element *anchor, dom_string *type); + +dom_exception dom_html_anchor_element_get_tab_index( + dom_html_anchor_element *anchor, int32_t *tab_index); + +dom_exception dom_html_anchor_element_set_tab_index( + dom_html_anchor_element *anchor, uint32_t tab_index); + +dom_exception dom_html_anchor_element_blur(dom_html_anchor_element *ele); +dom_exception dom_html_anchor_element_focus(dom_html_anchor_element *ele); + +#endif diff --git a/include/dom/html/html_applet_element.h b/include/dom/html/html_applet_element.h index 2e182d5..29e5c62 100644 --- a/include/dom/html/html_applet_element.h +++ b/include/dom/html/html_applet_element.h @@ -3,5 +3,83 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_html_applet_element_h_ +#define dom_html_applet_element_h_ + +#include <stdbool.h> +#include <dom/core/exceptions.h> +#include <dom/core/string.h> + +typedef struct dom_html_applet_element dom_html_applet_element; + +dom_exception dom_html_applet_element_get_align( + dom_html_applet_element *applet, dom_string **align); + +dom_exception dom_html_applet_element_set_align( + dom_html_applet_element *applet, dom_string *align); + +dom_exception dom_html_applet_element_get_alt( + dom_html_applet_element *applet, dom_string **alt); + +dom_exception dom_html_applet_element_set_alt( + dom_html_applet_element *applet, dom_string *alt); + +dom_exception dom_html_applet_element_get_archive( + dom_html_applet_element *applet, dom_string **archive); + +dom_exception dom_html_applet_element_set_archive( + dom_html_applet_element *applet, dom_string *archive); + +dom_exception dom_html_applet_element_get_code( + dom_html_applet_element *applet, dom_string **code); + +dom_exception dom_html_applet_element_set_code( + dom_html_applet_element *applet, dom_string *code); + +dom_exception dom_html_applet_element_get_code_base( + dom_html_applet_element *applet, dom_string **code_base); + +dom_exception dom_html_applet_element_set_code_base( + dom_html_applet_element *applet, dom_string *code_base); + +dom_exception dom_html_applet_element_get_height( + dom_html_applet_element *applet, dom_string **height); + +dom_exception dom_html_applet_element_set_height( + dom_html_applet_element *applet, dom_string *height); + +dom_exception dom_html_applet_element_get_name( + dom_html_applet_element *applet, dom_string **name); + +dom_exception dom_html_applet_element_set_name( + dom_html_applet_element *applet, dom_string *name); + +dom_exception dom_html_applet_element_get_object( + dom_html_applet_element *applet, dom_string **object); + +dom_exception dom_html_applet_element_set_object( + dom_html_applet_element *applet, dom_string *object); + +dom_exception dom_html_applet_element_get_width( + dom_html_applet_element *applet, dom_string **width); + +dom_exception dom_html_applet_element_set_width( + dom_html_applet_element *applet, dom_string *width); + + +dom_exception dom_html_applet_element_get_hspace( + dom_html_applet_element *applet, int32_t *hspace); + +dom_exception dom_html_applet_element_set_hspace( + dom_html_applet_element *applet, uint32_t hspace); + +dom_exception dom_html_applet_element_get_vspace( + dom_html_applet_element *applet, int32_t *vspace); + +dom_exception dom_html_applet_element_set_vspace( + dom_html_applet_element *applet, uint32_t vspace); +#endif + diff --git a/include/dom/html/html_area_element.h b/include/dom/html/html_area_element.h index 2e182d5..c57202b 100644 --- a/include/dom/html/html_area_element.h +++ b/include/dom/html/html_area_element.h @@ -3,5 +3,67 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1access_keyr99@gmail.com> */ +#ifndef dom_html_area_element_h_ +#define dom_html_area_element_h_ + +#include <stdbool.h> +#include <dom/core/exceptions.h> +#include <dom/core/string.h> + +#include <dom/html/html_form_element.h> +#include <dom/html/html_document.h> + +typedef struct dom_html_area_element dom_html_area_element; + +dom_exception dom_html_area_element_get_access_key( + dom_html_area_element *area, dom_string **access_key); + +dom_exception dom_html_area_element_set_access_key( + dom_html_area_element *area, dom_string *access_key); + +dom_exception dom_html_area_element_get_alt( + dom_html_area_element *area, dom_string **alt); + +dom_exception dom_html_area_element_set_alt( + dom_html_area_element *area, dom_string *alt); + +dom_exception dom_html_area_element_get_coords( + dom_html_area_element *area, dom_string **coords); + +dom_exception dom_html_area_element_set_coords( + dom_html_area_element *area, dom_string *coords); + +dom_exception dom_html_area_element_get_href( + dom_html_area_element *area, dom_string **href); + +dom_exception dom_html_area_element_set_href( + dom_html_area_element *area, dom_string *href); + +dom_exception dom_html_area_element_get_no_href( + dom_html_area_element *ele, bool *no_href); + +dom_exception dom_html_area_element_set_no_href( + dom_html_area_element *ele, bool no_href); + +dom_exception dom_html_area_element_get_shape( + dom_html_area_element *area, dom_string **shape); + +dom_exception dom_html_area_element_set_shape( + dom_html_area_element *area, dom_string *shape); + +dom_exception dom_html_area_element_get_tab_index( + dom_html_area_element *area, int32_t *tab_index); + +dom_exception dom_html_area_element_set_tab_index( + dom_html_area_element *area, uint32_t tab_index); + +dom_exception dom_html_area_element_get_target( + dom_html_area_element *area, dom_string **target); + +dom_exception dom_html_area_element_set_target( + dom_html_area_element *area, dom_string *target); + +#endif diff --git a/include/dom/html/html_base_element.h b/include/dom/html/html_base_element.h index 5ff28ee..c8283f3 100644 --- a/include/dom/html/html_base_element.h +++ b/include/dom/html/html_base_element.h @@ -8,7 +8,23 @@ #ifndef dom_html_base_element_h_ #define dom_html_base_element_h_ +#include <stdbool.h> +#include <dom/core/exceptions.h> +#include <dom/core/string.h> + typedef struct dom_html_base_element dom_html_base_element; +dom_exception dom_html_base_element_get_href( + dom_html_base_element *element, dom_string **href); + +dom_exception dom_html_base_element_set_href( + dom_html_base_element *element, dom_string *href); + +dom_exception dom_html_base_element_get_target( + dom_html_base_element *element, dom_string **target); + +dom_exception dom_html_base_element_set_target( + dom_html_base_element *element, dom_string *target); + #endif diff --git a/include/dom/html/html_basefont_element.h b/include/dom/html/html_basefont_element.h index 2e182d5..fa60e0d 100644 --- a/include/dom/html/html_basefont_element.h +++ b/include/dom/html/html_basefont_element.h @@ -3,5 +3,32 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_html_base_font_element_h_ +#define dom_html_base_font_element_h_ +#include <stdbool.h> +#include <dom/core/exceptions.h> +#include <dom/core/string.h> + +typedef struct dom_html_base_font_element dom_html_base_font_element; + +dom_exception dom_html_base_font_element_get_size( + dom_html_base_font_element *element, int32_t *size); + +dom_exception dom_html_base_font_element_set_size( + dom_html_base_font_element *element, uint32_t size); + +dom_exception dom_html_base_font_element_get_color( + dom_html_base_font_element *element, dom_string **color); + +dom_exception dom_html_base_font_element_set_color( + dom_html_base_font_element *element, dom_string *color); + +dom_exception dom_html_base_font_element_get_face( + dom_html_base_font_element *element, dom_string **face); + +dom_exception dom_html_base_font_element_set_face( + dom_html_base_font_element *element, dom_string *face); +#endif diff --git a/include/dom/html/html_br_element.h b/include/dom/html/html_br_element.h index 2e182d5..9475e74 100644 --- a/include/dom/html/html_br_element.h +++ b/include/dom/html/html_br_element.h @@ -3,5 +3,21 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_html_br_element_h_ +#define dom_html_br_element_h_ +#include <stdbool.h> +#include <dom/core/exceptions.h> +#include <dom/core/string.h> + +typedef struct dom_html_br_element dom_html_br_element; + +dom_exception dom_html_br_element_get_clear( + dom_html_br_element *ele, dom_string **clear); + +dom_exception dom_html_br_element_set_clear( + dom_html_br_element *ele, dom_string *clear); + +#endif diff --git a/include/dom/html/html_directory_element.h b/include/dom/html/html_directory_element.h index 2e182d5..67fa269 100644 --- a/include/dom/html/html_directory_element.h +++ b/include/dom/html/html_directory_element.h @@ -3,5 +3,21 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_html_directory_element_h_ +#define dom_html_directory_element_h_ +#include <stdbool.h> +#include <dom/core/exceptions.h> +#include <dom/core/string.h> + +typedef struct dom_html_directory_element dom_html_directory_element; + +dom_exception dom_html_directory_element_get_compact( + dom_html_directory_element *ele, bool *compact); + +dom_exception dom_html_directory_element_set_compact( + dom_html_directory_element *ele, bool compact); + +#endif diff --git a/include/dom/html/html_div_element.h b/include/dom/html/html_div_element.h index 2e182d5..051a6d5 100644 --- a/include/dom/html/html_div_element.h +++ b/include/dom/html/html_div_element.h @@ -3,5 +3,21 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_html_div_element_h_ +#define dom_html_div_element_h_ +#include <stdbool.h> +#include <dom/core/exceptions.h> +#include <dom/core/string.h> + +typedef struct dom_html_div_element dom_html_div_element; + +dom_exception dom_html_div_element_get_align( + dom_html_div_element *element, dom_string **align); + +dom_exception dom_html_div_element_set_align( + dom_html_div_element *element, dom_string *align); + +#endif diff --git a/include/dom/html/html_dlist_element.h b/include/dom/html/html_dlist_element.h index 2e182d5..e537994 100644 --- a/include/dom/html/html_dlist_element.h +++ b/include/dom/html/html_dlist_element.h @@ -3,5 +3,21 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_html_d_list_element_h_ +#define dom_html_d_list_element_h_ +#include <stdbool.h> +#include <dom/core/exceptions.h> +#include <dom/core/string.h> + +typedef struct dom_html_d_list_element dom_html_d_list_element; + +dom_exception dom_html_d_list_element_get_compact( + dom_html_d_list_element *ele, bool *compact); + +dom_exception dom_html_d_list_element_set_compact( + dom_html_d_list_element *ele, bool compact); + +#endif diff --git a/include/dom/html/html_document.h b/include/dom/html/html_document.h index 1f868a5..936ea69 100644 --- a/include/dom/html/html_document.h +++ b/include/dom/html/html_document.h @@ -114,7 +114,7 @@ static inline dom_exception dom_html_document_get_body(dom_html_document *doc, get_body(doc, body); } #define dom_html_document_get_body(d, b) \ - dom_html_document_get_title((dom_html_document *) (d), \ + dom_html_document_get_body((dom_html_document *) (d), \ (struct dom_html_element **) (b)) static inline dom_exception dom_html_document_set_body(dom_html_document *doc, @@ -174,7 +174,7 @@ static inline dom_exception dom_html_document_get_anchors(dom_html_document *doc get_anchors(doc, col); } #define dom_html_document_get_anchors(d, c) \ - dom_html_document_get_title((dom_html_document *) (d), \ + dom_html_document_get_anchors((dom_html_document *) (d), \ (struct dom_html_collection **) (c)) static inline dom_exception dom_html_document_get_cookie(dom_html_document *doc, @@ -184,7 +184,7 @@ static inline dom_exception dom_html_document_get_cookie(dom_html_document *doc, get_cookie(doc, cookie); } #define dom_html_document_get_cookie(d, c) \ - dom_html_document_get_title((dom_html_document *) (d), (c)) + dom_html_document_get_cookie((dom_html_document *) (d), (c)) static inline dom_exception dom_html_document_set_cookie(dom_html_document *doc, dom_string *cookie) @@ -237,8 +237,8 @@ static inline dom_exception dom_html_document_get_elements_by_name(dom_html_docu return ((dom_html_document_vtable *) ((dom_node *) doc)->vtable)-> get_elements_by_name(doc, name, list); } -#define dom_html_document_get_elements_by_name(d, n, l) \ - dom_html_document_get_element_by_name((dom_html_document *) (d), \ +#define dom_html_document_get_element_by_name(d, n, l) \ + dom_html_document_get_elements_by_name((dom_html_document *) (d), \ (n), (struct dom_nodelist **) (l)) #endif diff --git a/include/dom/html/html_fieldset_element.h b/include/dom/html/html_fieldset_element.h index 2e182d5..26383b3 100644 --- a/include/dom/html/html_fieldset_element.h +++ b/include/dom/html/html_fieldset_element.h @@ -3,5 +3,22 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_html_field_set_element_h_ +#define dom_html_field_set_element_h_ + +#include <stdbool.h> + +#include <dom/core/exceptions.h> + +#include <dom/html/html_form_element.h> + +typedef struct dom_html_field_set_element dom_html_field_set_element; + +struct dom_html_element; +dom_exception dom_html_field_set_element_get_form( + dom_html_field_set_element *ele, dom_html_form_element **form); +#endif + diff --git a/include/dom/html/html_font_element.h b/include/dom/html/html_font_element.h index 2e182d5..b878f42 100644 --- a/include/dom/html/html_font_element.h +++ b/include/dom/html/html_font_element.h @@ -3,5 +3,32 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_html_font_element_h_ +#define dom_html_font_element_h_ +#include <stdbool.h> +#include <dom/core/exceptions.h> +#include <dom/core/string.h> + +typedef struct dom_html_font_element dom_html_font_element; + +dom_exception dom_html_font_element_get_color( + dom_html_font_element *ele, dom_string **color); + +dom_exception dom_html_font_element_set_color( + dom_html_font_element *ele, dom_string *color); + +dom_exception dom_html_font_element_get_face( + dom_html_font_element *ele, dom_string **face); + +dom_exception dom_html_font_element_set_face( + dom_html_font_element *ele, dom_string *face); + +dom_exception dom_html_font_element_get_size( + dom_html_font_element *ele, dom_string **size); + +dom_exception dom_html_font_element_set_size( + dom_html_font_element *ele, dom_string *size); +#endif diff --git a/include/dom/html/html_frame_element.h b/include/dom/html/html_frame_element.h index 2e182d5..1202f5c 100644 --- a/include/dom/html/html_frame_element.h +++ b/include/dom/html/html_frame_element.h @@ -3,5 +3,68 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_html_frame_element_h_ +#define dom_html_frame_element_h_ +#include <stdbool.h> +#include <dom/core/exceptions.h> +#include <dom/core/string.h> + +#include <dom/html/html_document.h> +typedef struct dom_html_frame_element dom_html_frame_element; + +dom_exception dom_html_frame_element_get_frame_border( + dom_html_frame_element *element, dom_string **frame_border); + +dom_exception dom_html_frame_element_set_frame_border( + dom_html_frame_element *element, dom_string *frame_border); + +dom_exception dom_html_frame_element_set_long_desc( + dom_html_frame_element *ele, dom_string *long_desc); + +dom_exception dom_html_frame_element_get_long_desc( + dom_html_frame_element *ele, dom_string **long_desc); + +dom_exception dom_html_frame_element_get_margin_height( + dom_html_frame_element *element, dom_string **margin_height); + +dom_exception dom_html_frame_element_set_margin_height( + dom_html_frame_element *element, dom_string *margin_height); + +dom_exception dom_html_frame_element_get_margin_width( + dom_html_frame_element *element, dom_string **margin_width); + +dom_exception dom_html_frame_element_set_margin_width( + dom_html_frame_element *element, dom_string *margin_width); + +dom_exception dom_html_frame_element_get_name( + dom_html_frame_element *element, dom_string **name); + +dom_exception dom_html_frame_element_set_name( + dom_html_frame_element *element, dom_string *name); + +dom_exception dom_html_frame_element_get_scrolling( + dom_html_frame_element *element, dom_string **scrolling); + +dom_exception dom_html_frame_element_set_scrolling( + dom_html_frame_element *element, dom_string *scrolling); + +dom_exception dom_html_frame_element_get_src( + dom_html_frame_element *element, dom_string **src); + +dom_exception dom_html_frame_element_set_src( + dom_html_frame_element *element, dom_string *src); + +dom_exception dom_html_frame_element_set_no_resize(dom_html_frame_element *ele, + bool no_resize); + +dom_exception dom_html_frame_element_get_no_resize(dom_html_frame_element *ele, + bool *no_resize); + +dom_exception dom_html_frame_element_get_content_document( + dom_html_frame_element *ele, + dom_document **content_document); + +#endif diff --git a/include/dom/html/html_frameset_element.h b/include/dom/html/html_frameset_element.h index 2e182d5..c0de3b4 100644 --- a/include/dom/html/html_frameset_element.h +++ b/include/dom/html/html_frameset_element.h @@ -3,5 +3,27 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_html_frame_set_element_h_ +#define dom_html_frame_set_element_h_ +#include <stdbool.h> +#include <dom/core/exceptions.h> +#include <dom/core/string.h> + +typedef struct dom_html_frame_set_element dom_html_frame_set_element; + +dom_exception dom_html_frame_set_element_get_rows( + dom_html_frame_set_element *element, dom_string **rows); + +dom_exception dom_html_frame_set_element_set_rows( + dom_html_frame_set_element *element, dom_string *rows); + +dom_exception dom_html_frame_set_element_set_cols( + dom_html_frame_set_element *ele, dom_string *cols); + +dom_exception dom_html_frame_set_element_get_cols( + dom_html_frame_set_element *ele, dom_string **cols); + +#endif diff --git a/include/dom/html/html_heading_element.h b/include/dom/html/html_heading_element.h index 2e182d5..fb42b89 100644 --- a/include/dom/html/html_heading_element.h +++ b/include/dom/html/html_heading_element.h @@ -3,5 +3,21 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_html_heading_element_h_ +#define dom_html_heading_element_h_ +#include <stdbool.h> +#include <dom/core/exceptions.h> +#include <dom/core/string.h> + +typedef struct dom_html_heading_element dom_html_heading_element; + +dom_exception dom_html_heading_element_get_align( + dom_html_heading_element *element, dom_string **align); + +dom_exception dom_html_heading_element_set_align( + dom_html_heading_element *element, dom_string *align); + +#endif diff --git a/include/dom/html/html_iframe_element.h b/include/dom/html/html_iframe_element.h index 2e182d5..f064cfe 100644 --- a/include/dom/html/html_iframe_element.h +++ b/include/dom/html/html_iframe_element.h @@ -3,5 +3,80 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_html_iframe_element_h_ +#define dom_html_iframe_element_h_ +#include <stdbool.h> +#include <dom/core/exceptions.h> +#include <dom/core/string.h> + +#include <dom/html/html_document.h> +typedef struct dom_html_iframe_element dom_html_iframe_element; + +dom_exception dom_html_iframe_element_get_frame_border( + dom_html_iframe_element *element, dom_string **frame_border); + +dom_exception dom_html_iframe_element_set_frame_border( + dom_html_iframe_element *element, dom_string *frame_border); + +dom_exception dom_html_iframe_element_get_align( + dom_html_iframe_element *element, dom_string **align); + +dom_exception dom_html_iframe_element_set_align( + dom_html_iframe_element *element, dom_string *align); + +dom_exception dom_html_iframe_element_set_long_desc( + dom_html_iframe_element *ele, dom_string *long_desc); + +dom_exception dom_html_iframe_element_get_long_desc( + dom_html_iframe_element *ele, dom_string **long_desc); + +dom_exception dom_html_iframe_element_get_margin_height( + dom_html_iframe_element *element, dom_string **margin_height); + +dom_exception dom_html_iframe_element_set_margin_height( + dom_html_iframe_element *element, dom_string *margin_height); + +dom_exception dom_html_iframe_element_get_margin_width( + dom_html_iframe_element *element, dom_string **margin_width); + +dom_exception dom_html_iframe_element_set_margin_width( + dom_html_iframe_element *element, dom_string *margin_width); + +dom_exception dom_html_iframe_element_get_name( + dom_html_iframe_element *element, dom_string **name); + +dom_exception dom_html_iframe_element_set_name( + dom_html_iframe_element *element, dom_string *name); + +dom_exception dom_html_iframe_element_get_scrolling( + dom_html_iframe_element *element, dom_string **scrolling); + +dom_exception dom_html_iframe_element_set_scrolling( + dom_html_iframe_element *element, dom_string *scrolling); + +dom_exception dom_html_iframe_element_get_src( + dom_html_iframe_element *element, dom_string **src); + +dom_exception dom_html_iframe_element_set_src( + dom_html_iframe_element *element, dom_string *src); + +dom_exception dom_html_iframe_element_get_height( + dom_html_iframe_element *element, dom_string **height); + +dom_exception dom_html_iframe_element_set_height( + dom_html_iframe_element *element, dom_string *height); + +dom_exception dom_html_iframe_element_get_width( + dom_html_iframe_element *element, dom_string **width); + +dom_exception dom_html_iframe_element_set_width( + dom_html_iframe_element *element, dom_string *width); + +dom_exception dom_html_iframe_element_get_content_document( + dom_html_iframe_element *ele, + dom_document **content_document); + +#endif diff --git a/include/dom/html/html_image_element.h b/include/dom/html/html_image_element.h index 2e182d5..7e3e879 100644 --- a/include/dom/html/html_image_element.h +++ b/include/dom/html/html_image_element.h @@ -3,5 +3,89 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_html_image_element_h_ +#define dom_html_image_element_h_ + +#include <stdbool.h> +#include <dom/core/exceptions.h> +#include <dom/core/string.h> + +typedef struct dom_html_image_element dom_html_image_element; + + +dom_exception dom_html_image_element_get_name( + dom_html_image_element *image, dom_string **name); + +dom_exception dom_html_image_element_set_name( + dom_html_image_element *image, dom_string *name); + +dom_exception dom_html_image_element_get_align( + dom_html_image_element *image, dom_string **align); + +dom_exception dom_html_image_element_set_align( + dom_html_image_element *image, dom_string *align); + +dom_exception dom_html_image_element_get_alt( + dom_html_image_element *image, dom_string **alt); + +dom_exception dom_html_image_element_set_alt( + dom_html_image_element *image, dom_string *alt); + +dom_exception dom_html_image_element_get_border( + dom_html_image_element *image, dom_string **border); + +dom_exception dom_html_image_element_set_border( + dom_html_image_element *image, dom_string *border); + +dom_exception dom_html_image_element_get_long_desc( + dom_html_image_element *image, dom_string **long_desc); + +dom_exception dom_html_image_element_set_long_desc( + dom_html_image_element *image, dom_string *long_desc); + +dom_exception dom_html_image_element_get_src( + dom_html_image_element *image, dom_string **src); + +dom_exception dom_html_image_element_set_src( + dom_html_image_element *image, dom_string *src); + +dom_exception dom_html_image_element_get_use_map( + dom_html_image_element *image, dom_string **use_map); + +dom_exception dom_html_image_element_set_use_map( + dom_html_image_element *image, dom_string *use_map); + +dom_exception dom_html_image_element_get_height( + dom_html_image_element *image, int32_t *height); + +dom_exception dom_html_image_element_set_height( + dom_html_image_element *image, uint32_t height); + +dom_exception dom_html_image_element_get_hspace( + dom_html_image_element *image, int32_t *hspace); + +dom_exception dom_html_image_element_set_hspace( + dom_html_image_element *image, uint32_t hspace); + +dom_exception dom_html_image_element_get_vspace( + dom_html_image_element *image, int32_t *vspace); + +dom_exception dom_html_image_element_set_vspace( + dom_html_image_element *image, uint32_t vspace); + +dom_exception dom_html_image_element_get_width( + dom_html_image_element *image, int32_t *width); + +dom_exception dom_html_image_element_set_width( + dom_html_image_element *image, uint32_t width); + +dom_exception dom_html_image_element_get_is_map( + dom_html_image_element *ele, bool *is_map); + +dom_exception dom_html_image_element_set_is_map( + dom_html_image_element *ele, bool is_map); + +#endif diff --git a/include/dom/html/html_input_element.h b/include/dom/html/html_input_element.h index eb6aecd..086e1cb 100644 --- a/include/dom/html/html_input_element.h +++ b/include/dom/html/html_input_element.h @@ -85,10 +85,10 @@ dom_exception dom_html_input_element_set_read_only( dom_html_input_element *input, bool read_only); dom_exception dom_html_input_element_get_size( - dom_html_input_element *input, dom_string **size); + dom_html_input_element *input, int32_t *size); dom_exception dom_html_input_element_set_size( - dom_html_input_element *input, dom_string *size); + dom_html_input_element *input, uint32_t size); dom_exception dom_html_input_element_get_src( dom_html_input_element *input, dom_string **src); diff --git a/include/dom/html/html_isindex_element.h b/include/dom/html/html_isindex_element.h index 4961ccc..d41a149 100644 --- a/include/dom/html/html_isindex_element.h +++ b/include/dom/html/html_isindex_element.h @@ -9,6 +9,7 @@ #define dom_html_isindex_element_h_ #include <dom/core/exceptions.h> +#include <dom/core/string.h> struct dom_html_form_element; @@ -22,5 +23,10 @@ typedef struct dom_html_isindex_element dom_html_isindex_element; dom_exception dom_html_isindex_element_get_form(dom_html_isindex_element *ele, struct dom_html_form_element **form); +dom_exception dom_html_isindex_element_get_prompt(dom_html_isindex_element *ele, + dom_string **prompt); + +dom_exception dom_html_isindex_element_set_prompt(dom_html_isindex_element *ele, + dom_string *prompt); #endif diff --git a/include/dom/html/html_label_element.h b/include/dom/html/html_label_element.h index 2e182d5..6aca45d 100644 --- a/include/dom/html/html_label_element.h +++ b/include/dom/html/html_label_element.h @@ -5,3 +5,29 @@ * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> */ +#ifndef dom_html_label_element_h_ +#define dom_html_label_element_h_ + +#include <stdbool.h> + +#include <dom/core/exceptions.h> + +#include <dom/html/html_form_element.h> + +typedef struct dom_html_label_element dom_html_label_element; + +dom_exception dom_html_label_element_get_access_key( + dom_html_label_element *ele, dom_string **access_key); +dom_exception dom_html_label_element_set_access_key( + dom_html_label_element *ele, dom_string *access_key); + +dom_exception dom_html_label_element_get_html_for( + dom_html_label_element *ele, dom_string **html_for); +dom_exception dom_html_label_element_set_html_for( + dom_html_label_element *ele, dom_string *html_for); + +dom_exception dom_html_label_element_get_form( + dom_html_label_element *ele, dom_html_form_element **form); + +#endif + diff --git a/include/dom/html/html_legend_element.h b/include/dom/html/html_legend_element.h index 2e182d5..caf34a6 100644 --- a/include/dom/html/html_legend_element.h +++ b/include/dom/html/html_legend_element.h @@ -3,5 +3,32 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_html_legend_element_h_ +#define dom_html_legend_element_h_ +#include <stdbool.h> +#include <dom/core/exceptions.h> +#include <dom/core/string.h> + +#include <dom/html/html_form_element.h> + +typedef struct dom_html_legend_element dom_html_legend_element; + +dom_exception dom_html_legend_element_get_form( + dom_html_legend_element *ele, dom_html_form_element **form); + +dom_exception dom_html_legend_element_get_access_key( + dom_html_legend_element *element, dom_string **access_key); + +dom_exception dom_html_legend_element_set_access_key( + dom_html_legend_element *element, dom_string *access_key); + +dom_exception dom_html_legend_element_get_align( + dom_html_legend_element *element, dom_string **align); + +dom_exception dom_html_legend_element_set_align( + dom_html_legend_element *ele, dom_string *align); + +#endif diff --git a/include/dom/html/html_li_element.h b/include/dom/html/html_li_element.h index 2e182d5..465bb98 100644 --- a/include/dom/html/html_li_element.h +++ b/include/dom/html/html_li_element.h @@ -3,5 +3,27 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_html_li_element_h_ +#define dom_html_li_element_h_ +#include <stdbool.h> +#include <dom/core/exceptions.h> +#include <dom/core/string.h> + +typedef struct dom_html_li_element dom_html_li_element; + +dom_exception dom_html_li_element_get_value( + dom_html_li_element *ele, int32_t *value); + +dom_exception dom_html_li_element_set_value( + dom_html_li_element *ele, uint32_t value); + +dom_exception dom_html_li_element_get_type( + dom_html_li_element *ele, dom_string **type); + +dom_exception dom_html_li_element_set_type( + dom_html_li_element *ele, dom_string *type); + +#endif diff --git a/include/dom/html/html_map_element.h b/include/dom/html/html_map_element.h index 2e182d5..6abdee5 100644 --- a/include/dom/html/html_map_element.h +++ b/include/dom/html/html_map_element.h @@ -3,5 +3,26 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_html_map_element_h_ +#define dom_html_map_element_h_ +#include <stdbool.h> +#include <dom/core/exceptions.h> +#include <dom/core/string.h> + +#include <dom/html/html_collection.h> + +typedef struct dom_html_map_element dom_html_map_element; + +dom_exception dom_html_map_element_get_name( + dom_html_map_element *ele, dom_string **name); + +dom_exception dom_html_map_element_set_name( + dom_html_map_element *ele, dom_string *name); + +dom_exception dom_html_map_element_get_areas( + dom_html_map_element *ele, dom_html_collection **areas); + +#endif diff --git a/include/dom/html/html_menu_element.h b/include/dom/html/html_menu_element.h index 2e182d5..f4dad74 100644 --- a/include/dom/html/html_menu_element.h +++ b/include/dom/html/html_menu_element.h @@ -3,5 +3,21 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_html_menu_element_h_ +#define dom_html_menu_element_h_ +#include <stdbool.h> +#include <dom/core/exceptions.h> +#include <dom/core/string.h> + +typedef struct dom_html_menu_element dom_html_menu_element; + +dom_exception dom_html_menu_element_get_compact( + dom_html_menu_element *ele, bool *compact); + +dom_exception dom_html_menu_element_set_compact( + dom_html_menu_element *ele, bool compact); + +#endif diff --git a/include/dom/html/html_mod_element.h b/include/dom/html/html_mod_element.h index 2e182d5..99c4f2e 100644 --- a/include/dom/html/html_mod_element.h +++ b/include/dom/html/html_mod_element.h @@ -3,5 +3,27 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_html_mod_element_h_ +#define dom_html_mod_element_h_ +#include <stdbool.h> +#include <dom/core/exceptions.h> +#include <dom/core/string.h> + +typedef struct dom_html_mod_element dom_html_mod_element; + +dom_exception dom_html_mod_element_get_cite( + dom_html_mod_element *ele, dom_string **cite); + +dom_exception dom_html_mod_element_set_cite( + dom_html_mod_element *ele, dom_string *cite); + +dom_exception dom_html_mod_element_get_date_time( + dom_html_mod_element *ele, dom_string **date_time); + +dom_exception dom_html_mod_element_set_date_time( + dom_html_mod_element *ele, dom_string *date_time); + +#endif diff --git a/include/dom/html/html_object_element.h b/include/dom/html/html_object_element.h index 2e182d5..0263e85 100644 --- a/include/dom/html/html_object_element.h +++ b/include/dom/html/html_object_element.h @@ -3,5 +3,126 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_html_object_element_h_ +#define dom_html_object_element_h_ + +#include <stdbool.h> +#include <dom/core/exceptions.h> +#include <dom/core/string.h> + +#include <dom/html/html_form_element.h> +#include <dom/html/html_document.h> + +typedef struct dom_html_object_element dom_html_object_element; + +dom_exception dom_html_object_element_get_form( + dom_html_object_element *ele, dom_html_form_element **form); + +dom_exception dom_html_object_element_get_code( + dom_html_object_element *object, dom_string **code); + +dom_exception dom_html_object_element_set_code( + dom_html_object_element *object, dom_string *code); + +dom_exception dom_html_object_element_get_align( + dom_html_object_element *object, dom_string **align); + +dom_exception dom_html_object_element_set_align( + dom_html_object_element *object, dom_string *align); + +dom_exception dom_html_object_element_get_archive( + dom_html_object_element *object, dom_string **archive); + +dom_exception dom_html_object_element_set_archive( + dom_html_object_element *object, dom_string *archive); + +dom_exception dom_html_object_element_get_border( + dom_html_object_element *object, dom_string **border); + +dom_exception dom_html_object_element_set_border( + dom_html_object_element *object, dom_string *border); + +dom_exception dom_html_object_element_get_code_base( + dom_html_object_element *object, dom_string **code_base); + +dom_exception dom_html_object_element_set_code_base( + dom_html_object_element *object, dom_string *code_base); + +dom_exception dom_html_object_element_get_code_type( + dom_html_object_element *object, dom_string **code_type); + +dom_exception dom_html_object_element_set_code_type( + dom_html_object_element *object, dom_string *code_type); + +dom_exception dom_html_object_element_get_data( + dom_html_object_element *object, dom_string **data); + +dom_exception dom_html_object_element_set_data( + dom_html_object_element *object, dom_string *data); + +dom_exception dom_html_object_element_get_declare( + dom_html_object_element *ele, bool *declare); + +dom_exception dom_html_object_element_set_declare( + dom_html_object_element *ele, bool declare); + +dom_exception dom_html_object_element_get_height( + dom_html_object_element *object, dom_string **height); + +dom_exception dom_html_object_element_set_height( + dom_html_object_element *object, dom_string *height); + +dom_exception dom_html_object_element_get_name( + dom_html_object_element *object, dom_string **name); + +dom_exception dom_html_object_element_set_name( + dom_html_object_element *object, dom_string *name); + +dom_exception dom_html_object_element_get_standby( + dom_html_object_element *object, dom_string **standby); + +dom_exception dom_html_object_element_set_standby( + dom_html_object_element *object, dom_string *standby); + +dom_exception dom_html_object_element_get_type( + dom_html_object_element *object, dom_string **type); + +dom_exception dom_html_object_element_set_type( + dom_html_object_element *object, dom_string *type); + +dom_exception dom_html_object_element_get_use_map( + dom_html_object_element *object, dom_string **use_map); + +dom_exception dom_html_object_element_set_use_map( + dom_html_object_element *object, dom_string *use_map); + +dom_exception dom_html_object_element_get_width( + dom_html_object_element *object, dom_string **width); + +dom_exception dom_html_object_element_set_width( + dom_html_object_element *object, dom_string *width); + +dom_exception dom_html_object_element_get_hspace( + dom_html_object_element *object, int32_t *hspace); + +dom_exception dom_html_object_element_set_hspace( + dom_html_object_element *object, uint32_t hspace); + +dom_exception dom_html_object_element_get_tab_index( + dom_html_object_element *object, int32_t *tab_index); + +dom_exception dom_html_object_element_set_tab_index( + dom_html_object_element *object, uint32_t tab_index); + +dom_exception dom_html_object_element_get_vspace( + dom_html_object_element *object, int32_t *vspace); + +dom_exception dom_html_object_element_set_vspace( + dom_html_object_element *object, uint32_t vspace); + +dom_exception dom_html_object_element_get_content_document( + dom_html_object_element *object, dom_document **content_document); +#endif diff --git a/include/dom/html/html_olist_element.h b/include/dom/html/html_olist_element.h index 2e182d5..3d1511e 100644 --- a/include/dom/html/html_olist_element.h +++ b/include/dom/html/html_olist_element.h @@ -3,5 +3,33 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_html_o_list_element_h_ +#define dom_html_o_list_element_h_ +#include <stdbool.h> +#include <dom/core/exceptions.h> +#include <dom/core/string.h> + +typedef struct dom_html_o_list_element dom_html_o_list_element; + +dom_exception dom_html_o_list_element_get_compact( + dom_html_o_list_element *ele, bool *compact); + +dom_exception dom_html_o_list_element_set_compact( + dom_html_o_list_element *ele, bool compact); + +dom_exception dom_html_o_list_element_get_start( + dom_html_o_list_element *ele, int32_t *start); + +dom_exception dom_html_o_list_element_set_start( + dom_html_o_list_element *ele, uint32_t start); + +dom_exception dom_html_o_list_element_get_type( + dom_html_o_list_element *ele, dom_string **type); + +dom_exception dom_html_o_list_element_set_type( + dom_html_o_list_element *ele, dom_string *type); + +#endif diff --git a/include/dom/html/html_option_element.h b/include/dom/html/html_option_element.h index 53ba286..aa0d11c 100644 --- a/include/dom/html/html_option_element.h +++ b/include/dom/html/html_option_element.h @@ -28,7 +28,7 @@ dom_exception dom_html_option_element_get_text( dom_html_option_element *option, dom_string **text); dom_exception dom_html_option_element_get_index( - dom_html_option_element *option, unsigned long *index); + dom_html_option_element *option, int32_t *index); dom_exception dom_html_option_element_get_disabled( dom_html_option_element *option, bool *disabled); diff --git a/include/dom/html/html_paragraph_element.h b/include/dom/html/html_paragraph_element.h index 2e182d5..c0e228a 100644 --- a/include/dom/html/html_paragraph_element.h +++ b/include/dom/html/html_paragraph_element.h @@ -3,5 +3,21 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_html_paragraph_element_h_ +#define dom_html_paragraph_element_h_ +#include <stdbool.h> +#include <dom/core/exceptions.h> +#include <dom/core/string.h> + +typedef struct dom_html_paragraph_element dom_html_paragraph_element; + +dom_exception dom_html_paragraph_element_get_align( + dom_html_paragraph_element *element, dom_string **align); + +dom_exception dom_html_paragraph_element_set_align( + dom_html_paragraph_element *element, dom_string *align); + +#endif diff --git a/include/dom/html/html_param_element.h b/include/dom/html/html_param_element.h index 2e182d5..be12789 100644 --- a/include/dom/html/html_param_element.h +++ b/include/dom/html/html_param_element.h @@ -3,5 +3,39 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_html_param_element_h_ +#define dom_html_param_element_h_ +#include <stdbool.h> +#include <dom/core/exceptions.h> +#include <dom/core/string.h> + +typedef struct dom_html_param_element dom_html_param_element; + +dom_exception dom_html_param_element_get_name( + dom_html_param_element *element, dom_string **name); + +dom_exception dom_html_param_element_set_name( + dom_html_param_element *element, dom_string *name); + +dom_exception dom_html_param_element_get_type( + dom_html_param_element *element, dom_string **type); + +dom_exception dom_html_param_element_set_type( + dom_html_param_element *ele, dom_string *type); + +dom_exception dom_html_param_element_get_value( + dom_html_param_element *ele, dom_string **value); + +dom_exception dom_html_param_element_set_value( + dom_html_param_element *ele, dom_string *value); + +dom_exception dom_html_param_element_get_value_type( + dom_html_param_element *ele, dom_string **value_type); + +dom_exception dom_html_param_element_set_value_type( + dom_html_param_element *ele, dom_string *value_type); + +#endif diff --git a/include/dom/html/html_pre_element.h b/include/dom/html/html_pre_element.h index 2e182d5..bd72701 100644 --- a/include/dom/html/html_pre_element.h +++ b/include/dom/html/html_pre_element.h @@ -3,5 +3,21 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_html_pre_element_h_ +#define dom_html_pre_element_h_ +#include <stdbool.h> +#include <dom/core/exceptions.h> +#include <dom/core/string.h> + +typedef struct dom_html_pre_element dom_html_pre_element; + +dom_exception dom_html_pre_element_get_width( + dom_html_pre_element *element, int32_t *width); + +dom_exception dom_html_pre_element_set_width( + dom_html_pre_element *element, uint32_t width); + +#endif diff --git a/include/dom/html/html_quote_element.h b/include/dom/html/html_quote_element.h index 2e182d5..7d88eef 100644 --- a/include/dom/html/html_quote_element.h +++ b/include/dom/html/html_quote_element.h @@ -3,5 +3,21 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_html_quote_element_h_ +#define dom_html_quote_element_h_ +#include <stdbool.h> +#include <dom/core/exceptions.h> +#include <dom/core/string.h> + +typedef struct dom_html_quote_element dom_html_quote_element; + +dom_exception dom_html_quote_element_get_cite( + dom_html_quote_element *element, dom_string **cite); + +dom_exception dom_html_quote_element_set_cite( + dom_html_quote_element *element, dom_string *cite); + +#endif diff --git a/include/dom/html/html_script_element.h b/include/dom/html/html_script_element.h index 2e182d5..b7df3aa 100644 --- a/include/dom/html/html_script_element.h +++ b/include/dom/html/html_script_element.h @@ -3,5 +3,57 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_html_script_element_h_ +#define dom_html_script_element_h_ +#include <stdbool.h> +#include <dom/core/exceptions.h> +#include <dom/core/string.h> + +typedef struct dom_html_script_element dom_html_script_element; + +dom_exception dom_html_script_element_get_defer( + dom_html_script_element *ele, bool *defer); + +dom_exception dom_html_script_element_set_defer( + dom_html_script_element *ele, bool defer); + +dom_exception dom_html_script_element_get_text( + dom_html_script_element *element, dom_string **text); + +dom_exception dom_html_script_element_set_text( + dom_html_script_element *element, dom_string *text); + +dom_exception dom_html_script_element_get_html_for( + dom_html_script_element *element, dom_string **html_for); + +dom_exception dom_html_script_element_set_html_for( + dom_html_script_element *element, dom_string *html_for); + +dom_exception dom_html_script_element_get_event( + dom_html_script_element *element, dom_string **event); + +dom_exception dom_html_script_element_set_event( + dom_html_script_element *ele, dom_string *event); + +dom_exception dom_html_script_element_get_charset( + dom_html_script_element *ele, dom_string **charset); + +dom_exception dom_html_script_element_set_charset( + dom_html_script_element *ele, dom_string *charset); + +dom_exception dom_html_script_element_get_src( + dom_html_script_element *ele, dom_string **src); + +dom_exception dom_html_script_element_set_src( + dom_html_script_element *ele, dom_string *src); + +dom_exception dom_html_script_element_get_type( + dom_html_script_element *ele, dom_string **type); + +dom_exception dom_html_script_element_set_type( + dom_html_script_element *ele, dom_string *type); + +#endif diff --git a/include/dom/html/html_style_element.h b/include/dom/html/html_style_element.h index 868a043..5b3cd41 100644 --- a/include/dom/html/html_style_element.h +++ b/include/dom/html/html_style_element.h @@ -10,6 +10,7 @@ #include <stdbool.h> #include <dom/core/exceptions.h> +#include <dom/core/string.h> typedef struct dom_html_style_element dom_html_style_element; @@ -19,5 +20,17 @@ dom_exception dom_html_style_element_get_disabled(dom_html_style_element *ele, dom_exception dom_html_style_element_set_disabled(dom_html_style_element *ele, bool disabled); +dom_exception dom_html_style_element_get_media(dom_html_style_element *ele, + dom_string **media); + +dom_exception dom_html_style_element_set_media(dom_html_style_element *ele, + dom_string *media); + +dom_exception dom_html_style_element_get_type(dom_html_style_element *ele, + dom_string **type); + +dom_exception dom_html_style_element_set_type(dom_html_style_element *ele, + dom_string *type); + #endif diff --git a/include/dom/html/html_table_element.h b/include/dom/html/html_table_element.h index 2e182d5..6fcd7ed 100644 --- a/include/dom/html/html_table_element.h +++ b/include/dom/html/html_table_element.h @@ -3,5 +3,128 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_html_table_element_h_ +#define dom_html_table_element_h_ + +#include <stdbool.h> +#include <dom/core/exceptions.h> +#include <dom/core/string.h> + +#include<dom/html/html_element.h> +#include<dom/html/html_tablecaption_element.h> +#include<dom/html/html_tablesection_element.h> +#include<dom/html/html_tablerow_element.h> + +typedef struct dom_html_table_element dom_html_table_element; + +dom_exception dom_html_table_element_get_caption( + dom_html_table_element *element, dom_html_table_caption_element **caption); + +dom_exception dom_html_table_element_set_caption( + dom_html_table_element *element, dom_html_table_caption_element *caption); + +dom_exception dom_html_table_element_get_t_head( + dom_html_table_element *element, dom_html_table_section_element **t_head); + +dom_exception dom_html_table_element_set_t_head( + dom_html_table_element *element, dom_html_table_section_element *t_head); + +dom_exception dom_html_table_element_get_t_foot( + dom_html_table_element *element, dom_html_table_section_element **t_foot); + +dom_exception dom_html_table_element_set_t_foot( + dom_html_table_element *element, dom_html_table_section_element *t_foot); + +dom_exception dom_html_table_element_get_rows( + dom_html_table_element *element, dom_html_collection **rows); + +dom_exception dom_html_table_element_get_t_bodies( + dom_html_table_element *element, dom_html_collection **t_bodies); + +dom_exception dom_html_table_element_get_align( + dom_html_table_element *table, dom_string **align); + +dom_exception dom_html_table_element_set_align( + dom_html_table_element *table, dom_string *align); + +dom_exception dom_html_table_element_get_bg_color( + dom_html_table_element *table, dom_string **bg_color); + +dom_exception dom_html_table_element_set_bg_color( + dom_html_table_element *table, dom_string *bg_color); + +dom_exception dom_html_table_element_get_border( + dom_html_table_element *table, dom_string **border); + +dom_exception dom_html_table_element_set_border( + dom_html_table_element *table, dom_string *border); + +dom_exception dom_html_table_element_get_cell_padding( + dom_html_table_element *table, dom_string **cell_padding); + +dom_exception dom_html_table_element_set_cell_padding( + dom_html_table_element *table, dom_string *cell_padding); + +dom_exception dom_html_table_element_get_cell_spacing( + dom_html_table_element *table, dom_string **cell_spacing); + +dom_exception dom_html_table_element_set_cell_spacing( + dom_html_table_element *table, dom_string *cell_spacing); + +dom_exception dom_html_table_element_get_frame( + dom_html_table_element *table, dom_string **frame); + +dom_exception dom_html_table_element_set_frame( + dom_html_table_element *table, dom_string *frame); + +dom_exception dom_html_table_element_get_rules( + dom_html_table_element *table, dom_string **rules); + +dom_exception dom_html_table_element_set_rules( + dom_html_table_element *table, dom_string *rules); + +dom_exception dom_html_table_element_get_summary( + dom_html_table_element *table, dom_string **summary); + +dom_exception dom_html_table_element_set_summary( + dom_html_table_element *table, dom_string *summary); + +dom_exception dom_html_table_element_get_width( + dom_html_table_element *table, dom_string **width); + +dom_exception dom_html_table_element_set_width( + dom_html_table_element *table, dom_string *width); + +dom_exception dom_html_table_element_create_caption( + dom_html_table_element *element, + dom_html_element **caption); + +dom_exception dom_html_table_element_delete_caption( + dom_html_table_element *element); + +dom_exception dom_html_table_element_create_t_head( + dom_html_table_element *element, + dom_html_element **t_head); + +dom_exception dom_html_table_element_delete_t_head( + dom_html_table_element *element); + +dom_exception dom_html_table_element_create_t_foot( + dom_html_table_element *element, + dom_html_element **t_foot); + +dom_exception dom_html_table_element_delete_t_foot( + dom_html_table_element *element); + +dom_exception dom_html_table_element_insert_row( + dom_html_table_element *element, + int32_t index, dom_html_element **row); + +dom_exception dom_html_table_element_delete_row( + dom_html_table_element *element, + int32_t index); + +#endif diff --git a/include/dom/html/html_tablecaption_element.h b/include/dom/html/html_tablecaption_element.h index 2e182d5..412efae 100644 --- a/include/dom/html/html_tablecaption_element.h +++ b/include/dom/html/html_tablecaption_element.h @@ -3,5 +3,21 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_html_table_caption_element_h_ +#define dom_html_table_caption_element_h_ +#include <stdbool.h> +#include <dom/core/exceptions.h> +#include <dom/core/string.h> + +typedef struct dom_html_table_caption_element dom_html_table_caption_element; + +dom_exception dom_html_table_caption_element_get_align( + dom_html_table_caption_element *element, dom_string **align); + +dom_exception dom_html_table_caption_element_set_align( + dom_html_table_caption_element *element, dom_string *align); + +#endif diff --git a/include/dom/html/html_tablecell_element.h b/include/dom/html/html_tablecell_element.h index 2e182d5..938d148 100644 --- a/include/dom/html/html_tablecell_element.h +++ b/include/dom/html/html_tablecell_element.h @@ -3,5 +3,104 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1bg_colorr99@gmail.com> */ +#ifndef dom_html_table_cell_element_h_ +#define dom_html_table_cell_element_h_ + +#include <stdbool.h> +#include <dom/core/exceptions.h> +#include <dom/core/string.h> + +typedef struct dom_html_table_cell_element dom_html_table_cell_element; + +dom_exception dom_html_table_cell_element_get_cell_index( + dom_html_table_cell_element *table_cell, int32_t *cell_index); + +dom_exception dom_html_table_cell_element_get_abbr( + dom_html_table_cell_element *table_cell, dom_string **abbr); + +dom_exception dom_html_table_cell_element_set_abbr( + dom_html_table_cell_element *table_cell, dom_string *abbr); + +dom_exception dom_html_table_cell_element_get_align( + dom_html_table_cell_element *table_cell, dom_string **align); + +dom_exception dom_html_table_cell_element_set_align( + dom_html_table_cell_element *table_cell, dom_string *align); + +dom_exception dom_html_table_cell_element_get_axis( + dom_html_table_cell_element *table_cell, dom_string **axis); + +dom_exception dom_html_table_cell_element_set_axis( + dom_html_table_cell_element *table_cell, dom_string *axis); + +dom_exception dom_html_table_cell_element_get_bg_color( + dom_html_table_cell_element *table_cell, dom_string **bg_color); + +dom_exception dom_html_table_cell_element_set_bg_color( + dom_html_table_cell_element *table_cell, dom_string *bg_color); + +dom_exception dom_html_table_cell_element_get_ch( + dom_html_table_cell_element *table_cell, dom_string **ch); + +dom_exception dom_html_table_cell_element_set_ch( + dom_html_table_cell_element *table_cell, dom_string *ch); + +dom_exception dom_html_table_cell_element_get_ch_off( + dom_html_table_cell_element *table_cell, dom_string **ch_off); + +dom_exception dom_html_table_cell_element_set_ch_off( + dom_html_table_cell_element *table_cell, dom_string *ch_off); + +dom_exception dom_html_table_cell_element_get_headers( + dom_html_table_cell_element *table_cell, dom_string **headers); + +dom_exception dom_html_table_cell_element_set_headers( + dom_html_table_cell_element *table_cell, dom_string *headers); + +dom_exception dom_html_table_cell_element_get_height( + dom_html_table_cell_element *table_cell, dom_string **height); + +dom_exception dom_html_table_cell_element_set_height( + dom_html_table_cell_element *table_cell, dom_string *height); + +dom_exception dom_html_table_cell_element_get_scope( + dom_html_table_cell_element *table_cell, dom_string **scope); + +dom_exception dom_html_table_cell_element_set_scope( + dom_html_table_cell_element *table_cell, dom_string *scope); + +dom_exception dom_html_table_cell_element_get_v_align( + dom_html_table_cell_element *table_cell, dom_string **v_align); + +dom_exception dom_html_table_cell_element_set_v_align( + dom_html_table_cell_element *table_cell, dom_string *v_align); + +dom_exception dom_html_table_cell_element_get_width( + dom_html_table_cell_element *table_cell, dom_string **width); + +dom_exception dom_html_table_cell_element_set_width( + dom_html_table_cell_element *table_cell, dom_string *width); + +dom_exception dom_html_table_cell_element_get_col_span( + dom_html_table_cell_element *table_cell, int32_t *col_span); + +dom_exception dom_html_table_cell_element_set_col_span( + dom_html_table_cell_element *table_cell, uint32_t col_span); + +dom_exception dom_html_table_cell_element_get_row_span( + dom_html_table_cell_element *table_cell, int32_t *row_span); + +dom_exception dom_html_table_cell_element_set_row_span( + dom_html_table_cell_element *table_cell, uint32_t row_span); + +dom_exception dom_html_table_cell_element_get_no_wrap( + dom_html_table_cell_element *ele, bool *no_wrap); + +dom_exception dom_html_table_cell_element_set_no_wrap( + dom_html_table_cell_element *ele, bool no_wrap); + +#endif + diff --git a/include/dom/html/html_tablecol_element.h b/include/dom/html/html_tablecol_element.h index 2e182d5..56865a9 100644 --- a/include/dom/html/html_tablecol_element.h +++ b/include/dom/html/html_tablecol_element.h @@ -3,5 +3,53 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1v_alignr99@gmail.com> */ +#ifndef dom_html_table_col_element_h_ +#define dom_html_table_col_element_h_ + +#include <stdbool.h> +#include <dom/core/exceptions.h> +#include <dom/core/string.h> + +typedef struct dom_html_table_col_element dom_html_table_col_element; + +dom_exception dom_html_table_col_element_get_align( + dom_html_table_col_element *table_col, dom_string **align); + +dom_exception dom_html_table_col_element_set_align( + dom_html_table_col_element *table_col, dom_string *align); + +dom_exception dom_html_table_col_element_get_ch( + dom_html_table_col_element *table_col, dom_string **ch); + +dom_exception dom_html_table_col_element_set_ch( + dom_html_table_col_element *table_col, dom_string *ch); + +dom_exception dom_html_table_col_element_get_ch_off( + dom_html_table_col_element *table_col, dom_string **ch_off); + +dom_exception dom_html_table_col_element_set_ch_off( + dom_html_table_col_element *table_col, dom_string *ch_off); + +dom_exception dom_html_table_col_element_get_v_align( + dom_html_table_col_element *table_col, dom_string **v_align); + +dom_exception dom_html_table_col_element_set_v_align( + dom_html_table_col_element *table_col, dom_string *v_align); + +dom_exception dom_html_table_col_element_get_width( + dom_html_table_col_element *table_col, dom_string **width); + +dom_exception dom_html_table_col_element_set_width( + dom_html_table_col_element *table_col, dom_string *width); + +dom_exception dom_html_table_col_element_get_span( + dom_html_table_col_element *table_col, int32_t *span); + +dom_exception dom_html_table_col_element_set_span( + dom_html_table_col_element *table_col, uint32_t span); + +#endif + diff --git a/include/dom/html/html_tablerow_element.h b/include/dom/html/html_tablerow_element.h index 2e182d5..897e243 100644 --- a/include/dom/html/html_tablerow_element.h +++ b/include/dom/html/html_tablerow_element.h @@ -3,5 +3,67 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_html_table_row_element_h_ +#define dom_html_table_row_element_h_ + +#include <stdbool.h> +#include <dom/core/exceptions.h> +#include <dom/core/string.h> + +#include<dom/html/html_element.h> +#include<dom/html/html_collection.h> + +typedef struct dom_html_table_row_element dom_html_table_row_element; + +dom_exception dom_html_table_row_element_get_align( + dom_html_table_row_element *table, dom_string **align); + +dom_exception dom_html_table_row_element_set_align( + dom_html_table_row_element *table, dom_string *align); + +dom_exception dom_html_table_row_element_get_bg_color( + dom_html_table_row_element *table, dom_string **bg_color); + +dom_exception dom_html_table_row_element_set_bg_color( + dom_html_table_row_element *table, dom_string *bg_color); + +dom_exception dom_html_table_row_element_get_ch( + dom_html_table_row_element *table, dom_string **ch); + +dom_exception dom_html_table_row_element_set_ch( + dom_html_table_row_element *table, dom_string *ch); + +dom_exception dom_html_table_row_element_get_ch_off( + dom_html_table_row_element *table, dom_string **ch_off); + +dom_exception dom_html_table_row_element_set_ch_off( + dom_html_table_row_element *table, dom_string *ch_off); + +dom_exception dom_html_table_row_element_get_v_align( + dom_html_table_row_element *table, dom_string **v_align); + +dom_exception dom_html_table_row_element_set_v_align( + dom_html_table_row_element *table, dom_string *v_align); + +dom_exception dom_html_table_row_element_get_row_index( + dom_html_table_row_element *table, int32_t *index); + +dom_exception dom_html_table_row_element_get_section_row_index( + dom_html_table_row_element *table_row, int32_t *section_row_index); + +dom_exception dom_html_table_row_element_get_cells( + dom_html_table_row_element *element, + dom_html_collection **cells); + +dom_exception dom_html_table_row_element_delete_cell( + dom_html_table_row_element *element, + int32_t index); + +dom_exception dom_html_table_row_element_insert_cell( + dom_html_table_row_element *element, + int32_t index, dom_html_element **cell); + +#endif diff --git a/include/dom/html/html_tablesection_element.h b/include/dom/html/html_tablesection_element.h index 2e182d5..bceec18 100644 --- a/include/dom/html/html_tablesection_element.h +++ b/include/dom/html/html_tablesection_element.h @@ -3,5 +3,57 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1v_alignr99@gmail.com> */ +#ifndef dom_html_table_section_element_h_ +#define dom_html_table_section_element_h_ + +#include <stdbool.h> +#include <dom/core/exceptions.h> +#include <dom/core/string.h> + +#include <dom/html/html_collection.h> +#include <dom/html/html_element.h> + +#include <dom/html/html_tablerow_element.h> + +typedef struct dom_html_table_section_element dom_html_table_section_element; + +dom_exception dom_html_table_section_element_get_align( + dom_html_table_section_element *table_section, dom_string **align); + +dom_exception dom_html_table_section_element_set_align( + dom_html_table_section_element *table_section, dom_string *align); + +dom_exception dom_html_table_section_element_get_ch( + dom_html_table_section_element *table_section, dom_string **ch); + +dom_exception dom_html_table_section_element_set_ch( + dom_html_table_section_element *table_section, dom_string *ch); + +dom_exception dom_html_table_section_element_get_ch_off( + dom_html_table_section_element *table_section, dom_string **ch_off); + +dom_exception dom_html_table_section_element_set_ch_off( + dom_html_table_section_element *table_section, dom_string *ch_off); + +dom_exception dom_html_table_section_element_get_v_align( + dom_html_table_section_element *table_section, dom_string **v_align); + +dom_exception dom_html_table_section_element_set_v_align( + dom_html_table_section_element *table_section, dom_string *v_align); + +dom_exception dom_html_table_section_element_get_rows( + dom_html_table_section_element *table_section, dom_html_collection **rows); + +dom_exception dom_html_table_section_element_insert_row( + dom_html_table_section_element *element, + int32_t index, dom_html_element **new_row); + +dom_exception dom_html_table_section_element_delete_row( + dom_html_table_section_element *element, + int32_t index); + +#endif + diff --git a/include/dom/html/html_ulist_element.h b/include/dom/html/html_ulist_element.h index 2e182d5..c5daa6a 100644 --- a/include/dom/html/html_ulist_element.h +++ b/include/dom/html/html_ulist_element.h @@ -3,5 +3,27 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_html_u_list_element_h_ +#define dom_html_u_list_element_h_ +#include <stdbool.h> +#include <dom/core/exceptions.h> +#include <dom/core/string.h> + +typedef struct dom_html_u_list_element dom_html_u_list_element; + +dom_exception dom_html_u_list_element_get_compact( + dom_html_u_list_element *ele, bool *compact); + +dom_exception dom_html_u_list_element_set_compact( + dom_html_u_list_element *ele, bool compact); + +dom_exception dom_html_u_list_element_get_type( + dom_html_u_list_element *ele, dom_string **type); + +dom_exception dom_html_u_list_element_set_type( + dom_html_u_list_element *ele, dom_string *type); + +#endif diff --git a/src/html/Makefile b/src/html/Makefile index 5226b53..c98ce9a 100644 --- a/src/html/Makefile +++ b/src/html/Makefile @@ -3,24 +3,23 @@ DIR_SOURCES := \ html_document.c html_collection.c html_options_collection.c \ html_element.c html_html_element.c html_head_element.c \ html_link_element.c html_title_element.c html_meta_element.c \ - html_base_element.c html_isindex_element.c html_style_element.c \ + html_base_element.c html_style_element.c \ html_body_element.c html_form_element.c html_select_element.c \ html_button_element.c html_input_element.c html_text_area_element.c \ - html_opt_group_element.c html_option_element.c html_hr_element.c + html_opt_group_element.c html_option_element.c html_hr_element.c \ + html_dlist_element.c html_directory_element.c html_menu_element.c \ + html_fieldset_element.c html_legend_element.c html_div_element.c \ + html_paragraph_element.c html_heading_element.c html_quote_element.c \ + html_pre_element.c html_br_element.c html_label_element.c \ + html_ulist_element.c html_olist_element.c html_li_element.c \ + html_font_element.c html_mod_element.c html_anchor_element.c \ + html_basefont_element.c html_image_element.c html_object_element.c \ + html_param_element.c html_applet_element.c html_area_element.c \ + html_map_element.c html_script_element.c html_tablecaption_element.c \ + html_tablecell_element.c html_tablecol_element.c html_tablesection_element.c \ + html_table_element.c html_tablerow_element.c html_frameset_element.c \ + html_frame_element.c html_iframe_element.c html_isindex_element.c \ UNINMPLEMENTED_SOURCES := \ - html_label_element.c html_fieldset_element.c \ - html_legend_element.c html_ulist_element.c html_olist_element.c \ - html_dlist_element.c html_directory_element.c html_menu_element.c \ - html_li_element.c html_div_element.c html_paragraph_element.c \ - html_heading_element.c html_quote_element.c html_pre_element.c \ - html_br_element.c html_basefont_element.c html_font_element.c \ - html_mod_element.c html_anchor_element.c \ - html_image_element.c html_object_element.c html_param_element.c \ - html_applet_element.c html_map_element.c html_area_element.c \ - html_script_element.c html_table_element.c html_tablecaption_element.c \ - html_tablecol_element.c html_tablesection_element.c html_tablerow_element.c \ - html_tablecell_element.c html_frameset_element.c html_frame_element.c \ - html_iframe_element.c include $(NSBUILD)/Makefile.subdir diff --git a/src/html/TODO b/src/html/TODO index 37ade2c..b55a6d7 100644 --- a/src/html/TODO +++ b/src/html/TODO @@ -4,54 +4,54 @@ as far as the test suite is concerned. HTMLElement html_element DONE HTMLHtmlElement html_html_element DONE HTMLHeadElement html_head_element DONE -HTMLLinkElement html_link_element MISSING +HTMLLinkElement html_link_element DONE HTMLTitleElement html_title_element DONE -HTMLMetaElement html_meta_element MISSING -HTMLBaseElement html_base_element MISSING +HTMLMetaElement html_meta_element DONE +HTMLBaseElement html_base_element DONE HTMLIsIndexElement html_isindex_element MISSING -HTMLStyleElement html_style_element MISSING -HTMLBodyElement html_body_element MISSING +HTMLStyleElement html_style_element DONE +HTMLBodyElement html_body_element DONE HTMLFormElement html_form_element DONE -HTMLSelectElement html_select_element MISSING -HTMLOptGroupElement html_optgroup_element MISSING -HTMLOptionElement html_option_element MISSING -HTMLInputElement html_input_element MISSING -HTMLTextAreaElement html_textarea_element MISSING -HTMLButtonElement html_button_element MISSING -HTMLLabelElement html_label_element MISSING -HTMLFieldSetElement html_fieldset_element MISSING -HTMLLegendElement html_legend_element MISSING -HTMLUListElement html_ulist_element MISSING -HTMLOListElement html_olist_element MISSING -HTMLDListElement html_dlist_element MISSING -HTMLDirectoryElement html_directory_element MISSING -HTMLMenuElement html_menu_element MISSING -HTMLLIElement html_li_element MISSING -HTMLBlockquoteElement html_blockquote_element MISSING -HTMLDivElement html_div_element MISSING -HTMLParagraphElement html_paragraph_element MISSING -HTMLHeadingElement html_heading_element MISSING -HTMLQuoteElement html_quote_element MISSING -HTMLPreElement html_pre_element MISSING -HTMLBRElement html_br_element MISSING -HTMLBaseFontElement html_basefont_element MISSING -HTMLFontElement html_font_element MISSING +HTMLSelectElement html_select_element DONE +HTMLOptGroupElement html_optgroup_element DONE +HTMLOptionElement html_option_element DONE +HTMLInputElement html_input_element DONE +HTMLTextAreaElement html_textarea_element DONE +HTMLButtonElement html_button_element DONE +HTMLLabelElement html_label_element DONE +HTMLFieldSetElement html_fieldset_element DONE +HTMLLegendElement html_legend_element DONE +HTMLUListElement html_ulist_element DONE +HTMLOListElement html_olist_element DONE +HTMLDListElement html_dlist_element DONE +HTMLDirectoryElement html_directory_element DONE +HTMLMenuElement html_menu_element DONE +HTMLLIElement html_li_element DONE +HTMLBlockquoteElement html_blockquote_element DONE +HTMLDivElement html_div_element DONE +HTMLParagraphElement html_paragraph_element DONE +HTMLHeadingElement html_heading_element DONE +HTMLQuoteElement html_quote_element DONE +HTMLPreElement html_pre_element DONE +HTMLBRElement html_br_element DONE +HTMLBaseFontElement html_basefont_element DONE +HTMLFontElement html_font_element DONE HTMLHRElement html_hr_element DONE -HTMLModElement html_mod_element MISSING -HTMLAnchorElement html_anchor_element MISSING -HTMLImageElement html_image_element MISSING -HTMLObjectElement html_object_element MISSING -HTMLParamElement html_param_element MISSING -HTMLAppletElement html_applet_element MISSING -HTMLMapElement html_map_element MISSING -HTMLAreaElement html_area_element MISSING -HTMLScriptElement html_script_element MISSING -HTMLTableElement html_table_element MISSING -HTMLTableCaptionElement html_tablecaption_element MISSING -HTMLTableColElement html_tablecol_element MISSING -HTMLTableSectionElement html_tablesection_element MISSING -HTMLTableRowElement html_tablerow_element MISSING -HTMLTableCellElement html_tablecell_element MISSING +HTMLModElement html_mod_element DONE +HTMLAnchorElement html_anchor_element DONE +HTMLImageElement html_image_element DONE +HTMLObjectElement html_object_element DONE +HTMLParamElement html_param_element DONE +HTMLAppletElement html_applet_element DONE +HTMLMapElement html_map_element DONE +HTMLAreaElement html_area_element DONE +HTMLScriptElement html_script_element DONE +HTMLTableElement html_table_element DONE +HTMLTableCaptionElement html_tablecaption_element DONE +HTMLTableColElement html_tablecol_element DONE +HTMLTableSectionElement html_tablesection_element DONE +HTMLTableRowElement html_tablerow_element DONE +HTMLTableCellElement html_tablecell_element DONE HTMLFrameSetElement html_frameset_element MISSING HTMLFrameElement html_frame_element MISSING HTMLIFrameElement html_iframe_element MISSING diff --git a/src/html/html_anchor_element.c b/src/html/html_anchor_element.c index 2e182d5..77f8cef 100644 --- a/src/html/html_anchor_element.c +++ b/src/html/html_anchor_element.c @@ -3,5 +3,225 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#include <assert.h> +#include <stdlib.h> + +#include <dom/html/html_anchor_element.h> + +#include "html/html_document.h" +#include "html/html_anchor_element.h" + +#include "core/node.h" +#include "core/attr.h" +#include "utils/utils.h" + +static struct dom_element_protected_vtable _protect_vtable = { + { + DOM_NODE_PROTECT_VTABLE_HTML_ANCHOR_ELEMENT + }, + DOM_HTML_ANCHOR_ELEMENT_PROTECT_VTABLE +}; + +/** + * Create a dom_html_anchor_element object + * + * \param doc The document object + * \param ele The returned element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_anchor_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_anchor_element **ele) +{ + struct dom_node_internal *node; + + *ele = malloc(sizeof(dom_html_anchor_element)); + if (*ele == NULL) + return DOM_NO_MEM_ERR; + + /* Set up vtables */ + node = (struct dom_node_internal *) *ele; + node->base.vtable = &_dom_html_element_vtable; + node->vtable = &_protect_vtable; + + return _dom_html_anchor_element_initialise(doc, namespace, prefix, *ele); +} + +/** + * Initialise a dom_html_anchor_element object + * + * \param doc The document object + * \param ele The dom_html_anchor_element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_anchor_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_anchor_element *ele) +{ + return _dom_html_element_initialise(doc, &ele->base, + doc->memoised[hds_A], + namespace, prefix); +} + +/** + * Finalise a dom_html_anchor_element object + * + * \param ele The dom_html_anchor_element object + */ +void _dom_html_anchor_element_finalise(struct dom_html_anchor_element *ele) +{ + _dom_html_element_finalise(&ele->base); +} + +/** + * Destroy a dom_html_anchor_element object + * + * \param ele The dom_html_anchor_element object + */ +void _dom_html_anchor_element_destroy(struct dom_html_anchor_element *ele) +{ + _dom_html_anchor_element_finalise(ele); + free(ele); +} + +/*------------------------------------------------------------------------*/ +/* The protected virtual functions */ + +/* The virtual function used to parse attribute value, see src/core/element.c + * for detail */ +dom_exception _dom_html_anchor_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed) +{ + UNUSED(ele); + UNUSED(name); + + dom_string_ref(value); + *parsed = value; + + return DOM_NO_ERR; +} + +/* The virtual destroy function, see src/core/node.c for detail */ +void _dom_virtual_html_anchor_element_destroy(dom_node_internal *node) +{ + _dom_html_anchor_element_destroy((struct dom_html_anchor_element *) node); +} + +/* The virtual copy function, see src/core/node.c for detail */ +dom_exception _dom_html_anchor_element_copy(dom_node_internal *old, + dom_node_internal **copy) +{ + return _dom_html_element_copy(old, copy); +} + +/*-----------------------------------------------------------------------*/ +/* API functions */ + +#define SIMPLE_GET(attr) \ + dom_exception dom_html_anchor_element_get_##attr( \ + dom_html_anchor_element *element, \ + dom_string **attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_get_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } +#define SIMPLE_SET(attr) \ +dom_exception dom_html_anchor_element_set_##attr( \ + dom_html_anchor_element *element, \ + dom_string *attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_set_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } + +#define SIMPLE_GET_SET(attr) SIMPLE_GET(attr) SIMPLE_SET(attr) + +SIMPLE_GET_SET(access_key); +SIMPLE_GET_SET(charset); +SIMPLE_GET_SET(coords); +SIMPLE_GET_SET(href); +SIMPLE_GET_SET(hreflang); +SIMPLE_GET_SET(name); +SIMPLE_GET_SET(rel); +SIMPLE_GET_SET(rev); +SIMPLE_GET_SET(shape); +SIMPLE_GET_SET(target); +SIMPLE_GET_SET(type); + +dom_exception dom_html_anchor_element_get_tab_index( + dom_html_anchor_element *anchor, int32_t *tab_index) +{ + return dom_html_element_get_int32_t_property(&anchor->base, "tabindex", + SLEN("tabindex"), tab_index); +} + +dom_exception dom_html_anchor_element_set_tab_index( + dom_html_anchor_element *anchor, uint32_t tab_index) +{ + return dom_html_element_set_int32_t_property(&anchor->base, "tabindex", + SLEN("tabindex"), tab_index); +} + + +/** + * Blur this control + * + * \param ele The form object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_anchor_element_blur(dom_html_anchor_element *ele) +{ + struct dom_html_document *doc = + (dom_html_document *) dom_node_get_owner(ele); + bool success = false; + assert(doc != NULL); + + /* This event does not bubble & is non-cancelable. Mentioned in w3 specs. More research is needed to prove why. */ + return _dom_dispatch_generic_event((dom_document *) doc, + (dom_event_target *) ele, + doc->memoised[hds_blur], false, + false, &success); +} + +/** + * Focus this control + * + * \param ele The form object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_anchor_element_focus(dom_html_anchor_element *ele) +{ + struct dom_html_document *doc = + (dom_html_document *) dom_node_get_owner(ele); + bool success = false; + assert(doc != NULL); + + /* This event does not bubble & is non-cancelable. Mentioned in w3 specs. More research is needed to prove why. */ + return _dom_dispatch_generic_event((dom_document *)doc, + (dom_event_target *) ele, + doc->memoised[hds_focus], false, + false, &success); +} + diff --git a/src/html/html_anchor_element.h b/src/html/html_anchor_element.h index 2e182d5..a9f5b5b 100644 --- a/src/html/html_anchor_element.h +++ b/src/html/html_anchor_element.h @@ -3,5 +3,50 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_internal_html_anchor_element_h_ +#define dom_internal_html_anchor_element_h_ + +#include <dom/html/html_anchor_element.h> + +#include "html/html_element.h" + +struct dom_html_anchor_element { + struct dom_html_element base; + /**< The base class */ +}; + +/* Create a dom_html_anchor_element object */ +dom_exception _dom_html_anchor_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_anchor_element **ele); + +/* Initialise a dom_html_anchor_element object */ +dom_exception _dom_html_anchor_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_anchor_element *ele); + +/* Finalise a dom_html_anchor_element object */ +void _dom_html_anchor_element_finalise(struct dom_html_anchor_element *ele); + +/* Destroy a dom_html_anchor_element object */ +void _dom_html_anchor_element_destroy(struct dom_html_anchor_element *ele); + +/* The protected virtual functions */ +dom_exception _dom_html_anchor_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed); +void _dom_virtual_html_anchor_element_destroy(dom_node_internal *node); +dom_exception _dom_html_anchor_element_copy(dom_node_internal *old, + dom_node_internal **copy); + +#define DOM_HTML_ANCHOR_ELEMENT_PROTECT_VTABLE \ + _dom_html_anchor_element_parse_attribute + +#define DOM_NODE_PROTECT_VTABLE_HTML_ANCHOR_ELEMENT \ + _dom_virtual_html_anchor_element_destroy, \ + _dom_html_anchor_element_copy + +#endif diff --git a/src/html/html_applet_element.c b/src/html/html_applet_element.c index 2e182d5..9f6c16f 100644 --- a/src/html/html_applet_element.c +++ b/src/html/html_applet_element.c @@ -3,5 +3,196 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#include <assert.h> +#include <stdlib.h> + +#include <dom/html/html_applet_element.h> + +#include "html/html_document.h" +#include "html/html_applet_element.h" + +#include "core/node.h" +#include "core/attr.h" +#include "utils/utils.h" + +static struct dom_element_protected_vtable _protect_vtable = { + { + DOM_NODE_PROTECT_VTABLE_HTML_APPLET_ELEMENT + }, + DOM_HTML_APPLET_ELEMENT_PROTECT_VTABLE +}; + +/** + * Create a dom_html_applet_element applet + * + * \param doc The document applet + * \param ele The returned element applet + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_applet_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_applet_element **ele) +{ + struct dom_node_internal *node; + + *ele = malloc(sizeof(dom_html_applet_element)); + if (*ele == NULL) + return DOM_NO_MEM_ERR; + + /* Set up vtables */ + node = (struct dom_node_internal *) *ele; + node->base.vtable = &_dom_html_element_vtable; + node->vtable = &_protect_vtable; + + return _dom_html_applet_element_initialise(doc, namespace, prefix, *ele); +} + +/** + * Initialise a dom_html_applet_element applet + * + * \param doc The document applet + * \param ele The dom_html_applet_element applet + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_applet_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_applet_element *ele) +{ + return _dom_html_element_initialise(doc, &ele->base, + doc->memoised[hds_APPLET], + namespace, prefix); +} + +/** + * Finalise a dom_html_applet_element applet + * + * \param ele The dom_html_applet_element applet + */ +void _dom_html_applet_element_finalise(struct dom_html_applet_element *ele) +{ + _dom_html_element_finalise(&ele->base); +} + +/** + * Destroy a dom_html_applet_element applet + * + * \param ele The dom_html_applet_element applet + */ +void _dom_html_applet_element_destroy(struct dom_html_applet_element *ele) +{ + _dom_html_applet_element_finalise(ele); + free(ele); +} + +/*------------------------------------------------------------------------*/ +/* The protected virtual functions */ + +/* The virtual function used to parse attribute value, see src/core/element.c + * for detail */ +dom_exception _dom_html_applet_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed) +{ + UNUSED(ele); + UNUSED(name); + + dom_string_ref(value); + *parsed = value; + + return DOM_NO_ERR; +} + +/* The virtual destroy function, see src/core/node.c for detail */ +void _dom_virtual_html_applet_element_destroy(dom_node_internal *node) +{ + _dom_html_applet_element_destroy((struct dom_html_applet_element *) node); +} + +/* The virtual copy function, see src/core/node.c for detail */ +dom_exception _dom_html_applet_element_copy(dom_node_internal *old, + dom_node_internal **copy) +{ + return _dom_html_element_copy(old, copy); +} + +/*-----------------------------------------------------------------------*/ +/* API functions */ + +#define SIMPLE_GET(attr) \ + dom_exception dom_html_applet_element_get_##attr( \ + dom_html_applet_element *element, \ + dom_string **attr) \ +{ \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_get_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ +} +#define SIMPLE_SET(attr) \ + dom_exception dom_html_applet_element_set_##attr( \ + dom_html_applet_element *element, \ + dom_string *attr) \ +{ \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_set_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ +} + +#define SIMPLE_GET_SET(attr) SIMPLE_GET(attr) SIMPLE_SET(attr) + +SIMPLE_GET_SET(align); +SIMPLE_GET_SET(alt); +SIMPLE_GET_SET(archive); +SIMPLE_GET_SET(code); +SIMPLE_GET_SET(code_base); +SIMPLE_GET_SET(height); +SIMPLE_GET_SET(name); +SIMPLE_GET_SET(object); +SIMPLE_GET_SET(width); + +dom_exception dom_html_applet_element_get_hspace( + dom_html_applet_element *applet, int32_t *hspace) +{ + return dom_html_element_get_int32_t_property(&applet->base, "hspace", + SLEN("hspace"), hspace); +} + +dom_exception dom_html_applet_element_set_hspace( + dom_html_applet_element *applet, uint32_t hspace) +{ + return dom_html_element_set_int32_t_property(&applet->base, "hspace", + SLEN("hspace"), hspace); +} + +dom_exception dom_html_applet_element_get_vspace( + dom_html_applet_element *applet, int32_t *vspace) +{ + return dom_html_element_get_int32_t_property(&applet->base, "vspace", + SLEN("vspace"), vspace); +} + +dom_exception dom_html_applet_element_set_vspace( + dom_html_applet_element *applet, uint32_t vspace) +{ + return dom_html_element_set_int32_t_property(&applet->base, "vspace", + SLEN("vspace"), vspace); +} + diff --git a/src/html/html_applet_element.h b/src/html/html_applet_element.h index 2e182d5..21e6d7a 100644 --- a/src/html/html_applet_element.h +++ b/src/html/html_applet_element.h @@ -3,5 +3,50 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_internal_html_applet_element_h_ +#define dom_internal_html_applet_element_h_ + +#include <dom/html/html_applet_element.h> +#include "html/html_element.h" + + +struct dom_html_applet_element { + struct dom_html_element base; + /**< The base class */ +}; + +/* Create a dom_html_applet_element object */ +dom_exception _dom_html_applet_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_applet_element **ele); + +/* Initialise a dom_html_applet_element object */ +dom_exception _dom_html_applet_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_applet_element *ele); + +/* Finalise a dom_html_applet_element object */ +void _dom_html_applet_element_finalise(struct dom_html_applet_element *ele); + +/* Destroy a dom_html_applet_element object */ +void _dom_html_applet_element_destroy(struct dom_html_applet_element *ele); + +/* The protected virtual functions */ +dom_exception _dom_html_applet_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed); +void _dom_virtual_html_applet_element_destroy(dom_node_internal *node); +dom_exception _dom_html_applet_element_copy(dom_node_internal *old, + dom_node_internal **copy); + +#define DOM_HTML_APPLET_ELEMENT_PROTECT_VTABLE \ + _dom_html_applet_element_parse_attribute + +#define DOM_NODE_PROTECT_VTABLE_HTML_APPLET_ELEMENT \ + _dom_virtual_html_applet_element_destroy, \ + _dom_html_applet_element_copy + +#endif diff --git a/src/html/html_area_element.c b/src/html/html_area_element.c index 2e182d5..85a2a3e 100644 --- a/src/html/html_area_element.c +++ b/src/html/html_area_element.c @@ -3,5 +3,220 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar<rsk1coder99@gmail.com> */ +#include <assert.h> +#include <stdlib.h> + +#include <dom/html/html_area_element.h> + +#include "html/html_document.h" +#include "html/html_area_element.h" + +#include "core/node.h" +#include "core/attr.h" +#include "utils/utils.h" + +static struct dom_element_protected_vtable _protect_vtable = { + { + DOM_NODE_PROTECT_VTABLE_HTML_AREA_ELEMENT + }, + DOM_HTML_AREA_ELEMENT_PROTECT_VTABLE +}; + +/** + * Create a dom_html_area_element object + * + * \param doc The document object + * \param ele The returned element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_area_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_area_element **ele) +{ + struct dom_node_internal *node; + + *ele = malloc(sizeof(dom_html_area_element)); + if (*ele == NULL) + return DOM_NO_MEM_ERR; + + /* Set up vtables */ + node = (struct dom_node_internal *) *ele; + node->base.vtable = &_dom_html_element_vtable; + node->vtable = &_protect_vtable; + + return _dom_html_area_element_initialise(doc, namespace, prefix, *ele); +} + +/** + * Initialise a dom_html_area_element object + * + * \param doc The document object + * \param ele The dom_html_area_element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_area_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_area_element *ele) +{ + return _dom_html_element_initialise(doc, &ele->base, + doc->memoised[hds_AREA], + namespace, prefix); +} + +/** + * Finalise a dom_html_area_element object + * + * \param ele The dom_html_area_element object + */ +void _dom_html_area_element_finalise(struct dom_html_area_element *ele) +{ + _dom_html_element_finalise(&ele->base); +} + +/** + * Destroy a dom_html_area_element object + * + * \param ele The dom_html_area_element object + */ +void _dom_html_area_element_destroy(struct dom_html_area_element *ele) +{ + _dom_html_area_element_finalise(ele); + free(ele); +} + +/** + * Get the no_href property + * + * \param ele The dom_html_area_element object + * \param no_href The status + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_area_element_get_no_href(dom_html_area_element *ele, + bool *no_href) +{ + return dom_html_element_get_bool_property(&ele->base, "nohref", + SLEN("nohref"), no_href); +} + +/** + * Set the no_href property + * + * \param ele The dom_html_area_element object + * \param no_href The status + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_area_element_set_no_href(dom_html_area_element *ele, + bool no_href) +{ + return dom_html_element_set_bool_property(&ele->base, "nohref", + SLEN("nohref"), no_href); +} + +/** + * Set the tab_index property + * + * \param ele The dom_html_area_element object + * \param no_href The status + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_area_element_get_tab_index( + dom_html_area_element *area, int32_t *tab_index) +{ + return dom_html_element_get_int32_t_property(&area->base, "tabindex", + SLEN("tabindex"), tab_index); +} + +/** + * Set the tab_index property + * + * \param ele The dom_html_area_element object + * \param no_href The status + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_area_element_set_tab_index( + dom_html_area_element *area, uint32_t tab_index) +{ + return dom_html_element_set_int32_t_property(&area->base, "tabindex", + SLEN("tabindex"), tab_index); +} + +/*------------------------------------------------------------------------*/ +/* The protected virtual functions */ + +/* The virtual function used to parse attribute value, see src/core/element.c + * for detail */ +dom_exception _dom_html_area_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed) +{ + UNUSED(ele); + UNUSED(name); + + dom_string_ref(value); + *parsed = value; + + return DOM_NO_ERR; +} + +/* The virtual destroy function, see src/core/node.c for detail */ +void _dom_virtual_html_area_element_destroy(dom_node_internal *node) +{ + _dom_html_area_element_destroy((struct dom_html_area_element *) node); +} + +/* The virtual copy function, see src/core/node.c for detail */ +dom_exception _dom_html_area_element_copy(dom_node_internal *old, + dom_node_internal **copy) +{ + return _dom_html_element_copy(old, copy); +} + +/*-----------------------------------------------------------------------*/ +/* API functions */ + +#define SIMPLE_GET(attr) \ + dom_exception dom_html_area_element_get_##attr( \ + dom_html_area_element *element, \ + dom_string **attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_get_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } +#define SIMPLE_SET(attr) \ +dom_exception dom_html_area_element_set_##attr( \ + dom_html_area_element *element, \ + dom_string *attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_set_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } + +#define SIMPLE_GET_SET(attr) SIMPLE_GET(attr) SIMPLE_SET(attr) + +SIMPLE_GET_SET(access_key); +SIMPLE_GET_SET(alt); +SIMPLE_GET_SET(coords); +SIMPLE_GET_SET(href); +SIMPLE_GET_SET(shape); +SIMPLE_GET_SET(target); diff --git a/src/html/html_area_element.h b/src/html/html_area_element.h index 2e182d5..a45d1df 100644 --- a/src/html/html_area_element.h +++ b/src/html/html_area_element.h @@ -3,5 +3,50 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_internal_html_area_element_h_ +#define dom_internal_html_area_element_h_ + +#include <dom/html/html_area_element.h> +#include "html/html_element.h" + + +struct dom_html_area_element { + struct dom_html_element base; + /**< The base class */ +}; + +/* Create a dom_html_area_element object */ +dom_exception _dom_html_area_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_area_element **ele); + +/* Initialise a dom_html_area_element object */ +dom_exception _dom_html_area_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_area_element *ele); + +/* Finalise a dom_html_area_element object */ +void _dom_html_area_element_finalise(struct dom_html_area_element *ele); + +/* Destroy a dom_html_area_element object */ +void _dom_html_area_element_destroy(struct dom_html_area_element *ele); + +/* The protected virtual functions */ +dom_exception _dom_html_area_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed); +void _dom_virtual_html_area_element_destroy(dom_node_internal *node); +dom_exception _dom_html_area_element_copy(dom_node_internal *old, + dom_node_internal **copy); + +#define DOM_HTML_AREA_ELEMENT_PROTECT_VTABLE \ + _dom_html_area_element_parse_attribute + +#define DOM_NODE_PROTECT_VTABLE_HTML_AREA_ELEMENT \ + _dom_virtual_html_area_element_destroy, \ + _dom_html_area_element_copy + +#endif diff --git a/src/html/html_base_element.c b/src/html/html_base_element.c index 150ef37..6be8e3a 100644 --- a/src/html/html_base_element.c +++ b/src/html/html_base_element.c @@ -7,6 +7,7 @@ #include <stdlib.h> +#include "html/html_document.h" #include "html/html_base_element.h" #include "core/node.h" @@ -118,3 +119,45 @@ dom_exception _dom_html_base_element_copy(dom_node_internal *old, return _dom_html_element_copy(old, copy); } +/*-----------------------------------------------------------------------*/ +/* API functions */ + +#define SIMPLE_GET(attr) \ + dom_exception dom_html_base_element_get_##attr( \ + dom_html_base_element *element, \ + dom_string **attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_get_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } +#define SIMPLE_SET(attr) \ +dom_exception dom_html_base_element_set_##attr( \ + dom_html_base_element *element, \ + dom_string *attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_set_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } + +#define SIMPLE_GET_SET(attr) SIMPLE_GET(attr) SIMPLE_SET(attr) + +SIMPLE_GET_SET(href); +SIMPLE_GET_SET(target); diff --git a/src/html/html_basefont_element.c b/src/html/html_basefont_element.c index 2e182d5..7aa20a0 100644 --- a/src/html/html_basefont_element.c +++ b/src/html/html_basefont_element.c @@ -3,5 +3,182 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar<rsk1coder99@gmail.com> */ +#include <assert.h> +#include <stdlib.h> +#include <dom/html/html_basefont_element.h> + +#include "html/html_document.h" +#include "html/html_basefont_element.h" + +#include "core/node.h" +#include "core/attr.h" +#include "utils/utils.h" + +static struct dom_element_protected_vtable _protect_vtable = { + { + DOM_NODE_PROTECT_VTABLE_HTML_BASE_FONT_ELEMENT + }, + DOM_HTML_BASE_FONT_ELEMENT_PROTECT_VTABLE +}; + +/** + * Create a dom_html_base_font_element object + * + * \param doc The document object + * \param ele The returned element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_base_font_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_base_font_element **ele) +{ + struct dom_node_internal *node; + + *ele = malloc(sizeof(dom_html_base_font_element)); + if (*ele == NULL) + return DOM_NO_MEM_ERR; + + /* Set up vtables */ + node = (struct dom_node_internal *) *ele; + node->base.vtable = &_dom_html_element_vtable; + node->vtable = &_protect_vtable; + + return _dom_html_base_font_element_initialise(doc, namespace, prefix, *ele); +} + +/** + * Initialise a dom_html_base_font_element object + * + * \param doc The document object + * \param ele The dom_html_base_font_element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_base_font_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_base_font_element *ele) +{ + return _dom_html_element_initialise(doc, &ele->base, + doc->memoised[hds_BASEFONT], + namespace, prefix); +} + +/** + * Finalise a dom_html_base_font_element object + * + * \param ele The dom_html_base_font_element object + */ +void _dom_html_base_font_element_finalise(struct dom_html_base_font_element *ele) +{ + _dom_html_element_finalise(&ele->base); +} + +/** + * Destroy a dom_html_base_font_element object + * + * \param ele The dom_html_base_font_element object + */ +void _dom_html_base_font_element_destroy(struct dom_html_base_font_element *ele) +{ + _dom_html_base_font_element_finalise(ele); + free(ele); +} + +/** + * Get the width Property + * + * \param base_font The dom_html_base_font_element object + */ +dom_exception dom_html_base_font_element_get_size( + dom_html_base_font_element *base_font, int32_t *size) +{ + return dom_html_element_get_int32_t_property(&base_font->base, "size", + SLEN("size"), size); +} + +/** + * Set the width Property + * + * \param base_font The dom_html_base_font_element object + */ +dom_exception dom_html_base_font_element_set_size( + dom_html_base_font_element *base_font, uint32_t size) +{ + return dom_html_element_set_int32_t_property(&base_font->base, "size", + SLEN("size"), size); +} + +/*------------------------------------------------------------------------*/ +/* The protected virtual functions */ + +/* The virtual function used to parse attribute value, see src/core/element.c + * for detail */ +dom_exception _dom_html_base_font_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed) +{ + UNUSED(ele); + UNUSED(name); + + dom_string_ref(value); + *parsed = value; + + return DOM_NO_ERR; +} + +/* The virtual destroy function, see src/core/node.c for detail */ +void _dom_virtual_html_base_font_element_destroy(dom_node_internal *node) +{ + _dom_html_base_font_element_destroy((struct dom_html_base_font_element *) node); +} + +/* The virtual copy function, see src/core/node.c for detail */ +dom_exception _dom_html_base_font_element_copy(dom_node_internal *old, + dom_node_internal **copy) +{ + return _dom_html_element_copy(old, copy); +} + +/*-----------------------------------------------------------------------*/ +/* API functions */ + +#define SIMPLE_GET(attr) \ + dom_exception dom_html_base_font_element_get_##attr( \ + dom_html_base_font_element *element, \ + dom_string **attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)-> \ + memoised[hds_##attr]; \ + \ + ret = dom_element_get_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } +#define SIMPLE_SET(attr) \ + dom_exception dom_html_base_font_element_set_##attr( \ + dom_html_base_font_element *element, \ + dom_string *attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)-> \ + memoised[hds_##attr]; \ + \ + ret = dom_element_set_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } + +#define SIMPLE_GET_SET(attr) SIMPLE_GET(attr) SIMPLE_SET(attr) +SIMPLE_GET_SET(color); +SIMPLE_GET_SET(face); diff --git a/src/html/html_basefont_element.h b/src/html/html_basefont_element.h index 2e182d5..e6427ec 100644 --- a/src/html/html_basefont_element.h +++ b/src/html/html_basefont_element.h @@ -3,5 +3,50 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_internal_html_basefont_element_h_ +#define dom_internal_html_basefont_element_h_ + +#include <dom/html/html_basefont_element.h> +#include "html/html_element.h" + + +struct dom_html_base_font_element { + struct dom_html_element base; + /**< The base class */ +}; + +/* Create a dom_html_base_font_element object */ +dom_exception _dom_html_base_font_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_base_font_element **ele); + +/* Initialise a dom_html_base_font_element object */ +dom_exception _dom_html_base_font_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_base_font_element *ele); + +/* Finalise a dom_html_base_font_element object */ +void _dom_html_base_font_element_finalise(struct dom_html_base_font_element *ele); + +/* Destroy a dom_html_base_font_element object */ +void _dom_html_base_font_element_destroy(struct dom_html_base_font_element *ele); + +/* The protected virtual functions */ +dom_exception _dom_html_base_font_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed); +void _dom_virtual_html_base_font_element_destroy(dom_node_internal *node); +dom_exception _dom_html_base_font_element_copy(dom_node_internal *old, + dom_node_internal **copy); + +#define DOM_HTML_BASE_FONT_ELEMENT_PROTECT_VTABLE \ + _dom_html_base_font_element_parse_attribute + +#define DOM_NODE_PROTECT_VTABLE_HTML_BASE_FONT_ELEMENT \ + _dom_virtual_html_base_font_element_destroy, \ + _dom_html_base_font_element_copy + +#endif diff --git a/src/html/html_br_element.c b/src/html/html_br_element.c index 2e182d5..fbc133e 100644 --- a/src/html/html_br_element.c +++ b/src/html/html_br_element.c @@ -3,5 +3,160 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar<rsk1coder99@gmail.com> */ +#include <assert.h> +#include <stdlib.h> + +#include <dom/html/html_br_element.h> + +#include "html/html_document.h" +#include "html/html_br_element.h" + +#include "core/node.h" +#include "core/attr.h" +#include "utils/utils.h" + +static struct dom_element_protected_vtable _protect_vtable = { + { + DOM_NODE_PROTECT_VTABLE_HTML_BR_ELEMENT + }, + DOM_HTML_BR_ELEMENT_PROTECT_VTABLE +}; + +/** + * Create a dom_html_br_element object + * + * \param doc The document object + * \param ele The returned element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_br_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_br_element **ele) +{ + struct dom_node_internal *node; + + *ele = malloc(sizeof(dom_html_br_element)); + if (*ele == NULL) + return DOM_NO_MEM_ERR; + + /* Set up vtables */ + node = (struct dom_node_internal *) *ele; + node->base.vtable = &_dom_html_element_vtable; + node->vtable = &_protect_vtable; + + return _dom_html_br_element_initialise(doc, namespace, prefix, *ele); +} + +/** + * Initialise a dom_html_br_element object + * + * \param doc The document object + * \param ele The dom_html_br_element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_br_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_br_element *ele) +{ + return _dom_html_element_initialise(doc, &ele->base, + doc->memoised[hds_BR], + namespace, prefix); +} + +/** + * Finalise a dom_html_br_element object + * + * \param ele The dom_html_br_element object + */ +void _dom_html_br_element_finalise(struct dom_html_br_element *ele) +{ + _dom_html_element_finalise(&ele->base); +} + +/** + * Destroy a dom_html_br_element object + * + * \param ele The dom_html_br_element object + */ +void _dom_html_br_element_destroy(struct dom_html_br_element *ele) +{ + _dom_html_br_element_finalise(ele); + free(ele); +} + + +/*------------------------------------------------------------------------*/ +/* The protected virtual functions */ + +/* The virtual function used to parse attribute value, see src/core/element.c + * for detail */ +dom_exception _dom_html_br_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed) +{ + UNUSED(ele); + UNUSED(name); + + dom_string_ref(value); + *parsed = value; + + return DOM_NO_ERR; +} + +/* The virtual destroy function, see src/core/node.c for detail */ +void _dom_virtual_html_br_element_destroy(dom_node_internal *node) +{ + _dom_html_br_element_destroy((struct dom_html_br_element *) node); +} + +/* The virtual copy function, see src/core/node.c for detail */ +dom_exception _dom_html_br_element_copy(dom_node_internal *old, + dom_node_internal **copy) +{ + return _dom_html_element_copy(old, copy); +} + +/*-----------------------------------------------------------------------*/ +/* API functions */ + +#define SIMPLE_GET(attr) \ + dom_exception dom_html_br_element_get_##attr( \ + dom_html_br_element *element, \ + dom_string **attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_get_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } +#define SIMPLE_SET(attr) \ +dom_exception dom_html_br_element_set_##attr( \ + dom_html_br_element *element, \ + dom_string *attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_set_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } + +#define SIMPLE_GET_SET(attr) SIMPLE_GET(attr) SIMPLE_SET(attr) + +SIMPLE_GET_SET(clear); diff --git a/src/html/html_br_element.h b/src/html/html_br_element.h index 2e182d5..ff2df3d 100644 --- a/src/html/html_br_element.h +++ b/src/html/html_br_element.h @@ -3,5 +3,50 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_internal_html_br_element_h_ +#define dom_internal_html_br_element_h_ + +#include <dom/html/html_br_element.h> +#include "html/html_element.h" + + +struct dom_html_br_element { + struct dom_html_element base; + /**< The base class */ +}; + +/* Create a dom_html_br_element object */ +dom_exception _dom_html_br_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_br_element **ele); + +/* Initialise a dom_html_br_element object */ +dom_exception _dom_html_br_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_br_element *ele); + +/* Finalise a dom_html_br_element object */ +void _dom_html_br_element_finalise(struct dom_html_br_element *ele); + +/* Destroy a dom_html_br_element object */ +void _dom_html_br_element_destroy(struct dom_html_br_element *ele); + +/* The protected virtual functions */ +dom_exception _dom_html_br_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed); +void _dom_virtual_html_br_element_destroy(dom_node_internal *node); +dom_exception _dom_html_br_element_copy(dom_node_internal *old, + dom_node_internal **copy); + +#define DOM_HTML_BR_ELEMENT_PROTECT_VTABLE \ + _dom_html_br_element_parse_attribute + +#define DOM_NODE_PROTECT_VTABLE_HTML_BR_ELEMENT \ + _dom_virtual_html_br_element_destroy, \ + _dom_html_br_element_copy + +#endif diff --git a/src/html/html_collection.c b/src/html/html_collection.c index a99297f..43a26c5 100644 --- a/src/html/html_collection.c +++ b/src/html/html_collection.c @@ -11,6 +11,7 @@ #include <libwapcaplet/libwapcaplet.h> #include "html/html_collection.h" +#include "html/html_document.h" #include "core/node.h" #include "core/element.h" @@ -25,7 +26,7 @@ * \param doc The document * \param root The root element of the collection * \param ic The callback function used to determin whether certain node - * beint32_ts to the collection + * belongs to the collection * \param col The result collection object * \return DOM_NO_ERR on success, appropriate dom_exception on failure. */ @@ -132,7 +133,7 @@ dom_exception dom_html_collection_get_length(dom_html_collection *col, /* No children and siblings */ struct dom_node_internal *parent = node->parent; - while (parent != col->root && + while (node != col->root && node == parent->last_child) { node = parent; parent = parent->parent; @@ -182,7 +183,7 @@ dom_exception dom_html_collection_item(dom_html_collection *col, /* No children and siblings */ struct dom_node_internal *parent = n->parent; - while (parent != col->root && + while (n != col->root && n == parent->last_child) { n = parent; parent = parent->parent; @@ -212,8 +213,8 @@ dom_exception dom_html_collection_named_item(dom_html_collection *col, dom_string *name, struct dom_node **node) { struct dom_node_internal *n = col->root; + dom_html_document *doc = (dom_html_document *)dom_node_get_owner(n); dom_exception err; - while (n != NULL) { if (n->type == DOM_ELEMENT_NODE && col->ic(n, col->ctx) == true) { @@ -235,6 +236,22 @@ dom_exception dom_html_collection_named_item(dom_html_collection *col, if (id != NULL) dom_string_unref(id); + + /* Check for Name attr if id not matched/found */ + dom_string *id_name = NULL; + err = _dom_element_get_attribute((dom_element *)n, + doc->memoised[hds_name], &id_name); + if(err != DOM_NO_ERR) { + return err; + } + if (id_name != NULL && dom_string_isequal(name, id_name)) { + *node = (struct dom_node *) n; + dom_node_ref(n); + dom_string_unref(id_name); + + return DOM_NO_ERR; + } + } /* Depth first iterating */ @@ -246,13 +263,13 @@ dom_exception dom_html_collection_named_item(dom_html_collection *col, /* No children and siblings */ struct dom_node_internal *parent = n->parent; - while (parent != col->root && + while (n != col->root && n == parent->last_child) { n = parent; parent = parent->parent; } - if (parent == col->root) + if (n == col->root) n = NULL; else n = n->next; diff --git a/src/html/html_directory_element.c b/src/html/html_directory_element.c index 2e182d5..4e0d9e0 100644 --- a/src/html/html_directory_element.c +++ b/src/html/html_directory_element.c @@ -3,5 +3,145 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar<rsk1coder99@gmail.com> */ +#include <assert.h> +#include <stdlib.h> + +#include <dom/html/html_directory_element.h> + +#include "html/html_document.h" +#include "html/html_directory_element.h" + +#include "core/node.h" +#include "core/attr.h" +#include "utils/utils.h" + +static struct dom_element_protected_vtable _protect_vtable = { + { + DOM_NODE_PROTECT_VTABLE_HTML_DIRECTORY_ELEMENT + }, + DOM_HTML_DIRECTORY_ELEMENT_PROTECT_VTABLE +}; + +/** + * Create a dom_html_directory_element object + * + * \param doc The document object + * \param ele The returned element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_directory_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_directory_element **ele) +{ + struct dom_node_internal *node; + + *ele = malloc(sizeof(dom_html_directory_element)); + if (*ele == NULL) + return DOM_NO_MEM_ERR; + + /* Set up vtables */ + node = (struct dom_node_internal *) *ele; + node->base.vtable = &_dom_html_element_vtable; + node->vtable = &_protect_vtable; + + return _dom_html_directory_element_initialise(doc, namespace, prefix, *ele); +} + +/** + * Initialise a dom_html_directory_element object + * + * \param doc The document object + * \param ele The dom_html_directory_element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_directory_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_directory_element *ele) +{ + return _dom_html_element_initialise(doc, &ele->base, + doc->memoised[hds_DIRECTORY], + namespace, prefix); +} + +/** + * Finalise a dom_html_directory_element object + * + * \param ele The dom_html_directory_element object + */ +void _dom_html_directory_element_finalise(struct dom_html_directory_element *ele) +{ + _dom_html_element_finalise(&ele->base); +} + +/** + * Destroy a dom_html_directory_element object + * + * \param ele The dom_html_directory_element object + */ +void _dom_html_directory_element_destroy(struct dom_html_directory_element *ele) +{ + _dom_html_directory_element_finalise(ele); + free(ele); +} + +/** + * Get the compact property + * + * \param ele The dom_html_directory_element object + * \param compact The status + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_directory_element_get_compact(dom_html_directory_element *ele, + bool *compact) +{ + return dom_html_element_get_bool_property(&ele->base, "compact", + SLEN("compact"), compact); +} + +/** + * Set the compact property + * + * \param ele The dom_html_directory_element object + * \param compact The status + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_directory_element_set_compact(dom_html_directory_element *ele, + bool compact) +{ + return dom_html_element_set_bool_property(&ele->base, "compact", + SLEN("compact"), compact); +} + +/*------------------------------------------------------------------------*/ +/* The protected virtual functions */ + +/* The virtual function used to parse attribute value, see src/core/element.c + * for detail */ +dom_exception _dom_html_directory_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed) +{ + UNUSED(ele); + UNUSED(name); + + dom_string_ref(value); + *parsed = value; + + return DOM_NO_ERR; +} + +/* The virtual destroy function, see src/core/node.c for detail */ +void _dom_virtual_html_directory_element_destroy(dom_node_internal *node) +{ + _dom_html_directory_element_destroy((struct dom_html_directory_element *) node); +} + +/* The virtual copy function, see src/core/node.c for detail */ +dom_exception _dom_html_directory_element_copy(dom_node_internal *old, + dom_node_internal **copy) +{ + return _dom_html_element_copy(old, copy); +} diff --git a/src/html/html_directory_element.h b/src/html/html_directory_element.h index 2e182d5..9f3fe2b 100644 --- a/src/html/html_directory_element.h +++ b/src/html/html_directory_element.h @@ -3,5 +3,50 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_internal_html_directory_element_h_ +#define dom_internal_html_directory_element_h_ + +#include <dom/html/html_directory_element.h> +#include "html/html_element.h" + + +struct dom_html_directory_element { + struct dom_html_element base; + /**< The base class */ +}; + +/* Create a dom_html_directory_element object */ +dom_exception _dom_html_directory_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_directory_element **ele); + +/* Initialise a dom_html_directory_element object */ +dom_exception _dom_html_directory_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_directory_element *ele); + +/* Finalise a dom_html_directory_element object */ +void _dom_html_directory_element_finalise(struct dom_html_directory_element *ele); + +/* Destroy a dom_html_directory_element object */ +void _dom_html_directory_element_destroy(struct dom_html_directory_element *ele); + +/* The protected virtual functions */ +dom_exception _dom_html_directory_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed); +void _dom_virtual_html_directory_element_destroy(dom_node_internal *node); +dom_exception _dom_html_directory_element_copy(dom_node_internal *old, + dom_node_internal **copy); + +#define DOM_HTML_DIRECTORY_ELEMENT_PROTECT_VTABLE \ + _dom_html_directory_element_parse_attribute + +#define DOM_NODE_PROTECT_VTABLE_HTML_DIRECTORY_ELEMENT \ + _dom_virtual_html_directory_element_destroy, \ + _dom_html_directory_element_copy + +#endif diff --git a/src/html/html_div_element.c b/src/html/html_div_element.c index 2e182d5..0c689d6 100644 --- a/src/html/html_div_element.c +++ b/src/html/html_div_element.c @@ -3,5 +3,159 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar<rsk1coder99@gmail.com> */ +#include <assert.h> +#include <stdlib.h> + +#include <dom/html/html_div_element.h> + +#include "html/html_document.h" +#include "html/html_div_element.h" + +#include "core/node.h" +#include "core/attr.h" +#include "utils/utils.h" + +static struct dom_element_protected_vtable _protect_vtable = { + { + DOM_NODE_PROTECT_VTABLE_HTML_DIV_ELEMENT + }, + DOM_HTML_DIV_ELEMENT_PROTECT_VTABLE +}; + +/** + * Create a dom_html_div_element object + * + * \param doc The document object + * \param ele The returned element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_div_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_div_element **ele) +{ + struct dom_node_internal *node; + + *ele = malloc(sizeof(dom_html_div_element)); + if (*ele == NULL) + return DOM_NO_MEM_ERR; + + /* Set up vtables */ + node = (struct dom_node_internal *) *ele; + node->base.vtable = &_dom_html_element_vtable; + node->vtable = &_protect_vtable; + + return _dom_html_div_element_initialise(doc, namespace, prefix, *ele); +} + +/** + * Initialise a dom_html_div_element object + * + * \param doc The document object + * \param ele The dom_html_div_element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_div_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_div_element *ele) +{ + return _dom_html_element_initialise(doc, &ele->base, + doc->memoised[hds_DIV], + namespace, prefix); +} + +/** + * Finalise a dom_html_div_element object + * + * \param ele The dom_html_div_element object + */ +void _dom_html_div_element_finalise(struct dom_html_div_element *ele) +{ + _dom_html_element_finalise(&ele->base); +} + +/** + * Destroy a dom_html_div_element object + * + * \param ele The dom_html_div_element object + */ +void _dom_html_div_element_destroy(struct dom_html_div_element *ele) +{ + _dom_html_div_element_finalise(ele); + free(ele); +} + +/*------------------------------------------------------------------------*/ +/* The protected virtual functions */ + +/* The virtual function used to parse attribute value, see src/core/element.c + * for detail */ +dom_exception _dom_html_div_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed) +{ + UNUSED(ele); + UNUSED(name); + + dom_string_ref(value); + *parsed = value; + + return DOM_NO_ERR; +} + +/* The virtual destroy function, see src/core/node.c for detail */ +void _dom_virtual_html_div_element_destroy(dom_node_internal *node) +{ + _dom_html_div_element_destroy((struct dom_html_div_element *) node); +} + +/* The virtual copy function, see src/core/node.c for detail */ +dom_exception _dom_html_div_element_copy(dom_node_internal *old, + dom_node_internal **copy) +{ + return _dom_html_element_copy(old, copy); +} + +/*-----------------------------------------------------------------------*/ +/* API functions */ + +#define SIMPLE_GET(attr) \ + dom_exception dom_html_div_element_get_##attr( \ + dom_html_div_element *element, \ + dom_string **attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_get_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } +#define SIMPLE_SET(attr) \ +dom_exception dom_html_div_element_set_##attr( \ + dom_html_div_element *element, \ + dom_string *attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_set_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } + +#define SIMPLE_GET_SET(attr) SIMPLE_GET(attr) SIMPLE_SET(attr) + +SIMPLE_GET_SET(align); diff --git a/src/html/html_div_element.h b/src/html/html_div_element.h index 2e182d5..62d1c3f 100644 --- a/src/html/html_div_element.h +++ b/src/html/html_div_element.h @@ -3,5 +3,50 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_internal_html_div_element_h_ +#define dom_internal_html_div_element_h_ + +#include <dom/html/html_div_element.h> +#include "html/html_element.h" + + +struct dom_html_div_element { + struct dom_html_element base; + /**< The base class */ +}; + +/* Create a dom_html_div_element object */ +dom_exception _dom_html_div_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_div_element **ele); + +/* Initialise a dom_html_div_element object */ +dom_exception _dom_html_div_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_div_element *ele); + +/* Finalise a dom_html_div_element object */ +void _dom_html_div_element_finalise(struct dom_html_div_element *ele); + +/* Destroy a dom_html_div_element object */ +void _dom_html_div_element_destroy(struct dom_html_div_element *ele); + +/* The protected virtual functions */ +dom_exception _dom_html_div_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed); +void _dom_virtual_html_div_element_destroy(dom_node_internal *node); +dom_exception _dom_html_div_element_copy(dom_node_internal *old, + dom_node_internal **copy); + +#define DOM_HTML_DIV_ELEMENT_PROTECT_VTABLE \ + _dom_html_div_element_parse_attribute + +#define DOM_NODE_PROTECT_VTABLE_HTML_DIV_ELEMENT \ + _dom_virtual_html_div_element_destroy, \ + _dom_html_div_element_copy + +#endif diff --git a/src/html/html_dlist_element.c b/src/html/html_dlist_element.c index 2e182d5..f63accc 100644 --- a/src/html/html_dlist_element.c +++ b/src/html/html_dlist_element.c @@ -3,5 +3,145 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar<rsk1coder99@gmail.com> */ +#include <assert.h> +#include <stdlib.h> + +#include <dom/html/html_dlist_element.h> + +#include "html/html_document.h" +#include "html/html_dlist_element.h" + +#include "core/node.h" +#include "core/attr.h" +#include "utils/utils.h" + +static struct dom_element_protected_vtable _protect_vtable = { + { + DOM_NODE_PROTECT_VTABLE_HTML_DL_ELEMENT + }, + DOM_HTML_DL_ELEMENT_PROTECT_VTABLE +}; + +/** + * Create a dom_html_d_list_element object + * + * \param doc The document object + * \param ele The returned element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_d_list_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_d_list_element **ele) +{ + struct dom_node_internal *node; + + *ele = malloc(sizeof(dom_html_d_list_element)); + if (*ele == NULL) + return DOM_NO_MEM_ERR; + + /* Set up vtables */ + node = (struct dom_node_internal *) *ele; + node->base.vtable = &_dom_html_element_vtable; + node->vtable = &_protect_vtable; + + return _dom_html_d_list_element_initialise(doc, namespace, prefix, *ele); +} + +/** + * Initialise a dom_html_d_list_element object + * + * \param doc The document object + * \param ele The dom_html_d_list_element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_d_list_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_d_list_element *ele) +{ + return _dom_html_element_initialise(doc, &ele->base, + doc->memoised[hds_DL], + namespace, prefix); +} + +/** + * Finalise a dom_html_d_list_element object + * + * \param ele The dom_html_d_list_element object + */ +void _dom_html_d_list_element_finalise(struct dom_html_d_list_element *ele) +{ + _dom_html_element_finalise(&ele->base); +} + +/** + * Destroy a dom_html_d_list_element object + * + * \param ele The dom_html_d_list_element object + */ +void _dom_html_d_list_element_destroy(struct dom_html_d_list_element *ele) +{ + _dom_html_d_list_element_finalise(ele); + free(ele); +} + +/** + * Get the compact property + * + * \param ele The dom_html_d_list_element object + * \param compact The status + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_d_list_element_get_compact(dom_html_d_list_element *ele, + bool *compact) +{ + return dom_html_element_get_bool_property(&ele->base, "compact", + SLEN("compact"), compact); +} + +/** + * Set the compact property + * + * \param ele The dom_html_d_list_element object + * \param compact The status + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_d_list_element_set_compact(dom_html_d_list_element *ele, + bool compact) +{ + return dom_html_element_set_bool_property(&ele->base, "compact", + SLEN("compact"), compact); +} + +/*------------------------------------------------------------------------*/ +/* The protected virtual functions */ + +/* The virtual function used to parse attribute value, see src/core/element.c + * for detail */ +dom_exception _dom_html_d_list_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed) +{ + UNUSED(ele); + UNUSED(name); + + dom_string_ref(value); + *parsed = value; + + return DOM_NO_ERR; +} + +/* The virtual destroy function, see src/core/node.c for detail */ +void _dom_virtual_html_d_list_element_destroy(dom_node_internal *node) +{ + _dom_html_d_list_element_destroy((struct dom_html_d_list_element *) node); +} + +/* The virtual copy function, see src/core/node.c for detail */ +dom_exception _dom_html_d_list_element_copy(dom_node_internal *old, + dom_node_internal **copy) +{ + return _dom_html_element_copy(old, copy); +} diff --git a/src/html/html_dlist_element.h b/src/html/html_dlist_element.h index 2e182d5..8e40dca 100644 --- a/src/html/html_dlist_element.h +++ b/src/html/html_dlist_element.h @@ -3,5 +3,50 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_internal_html_d_list_element_h_ +#define dom_internal_html_d_list_element_h_ + +#include <dom/html/html_dlist_element.h> +#include "html/html_element.h" + + +struct dom_html_d_list_element { + struct dom_html_element base; + /**< The base class */ +}; + +/* Create a dom_html_d_list_element object */ +dom_exception _dom_html_d_list_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_d_list_element **ele); + +/* Initialise a dom_html_d_list_element object */ +dom_exception _dom_html_d_list_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_d_list_element *ele); + +/* Finalise a dom_html_d_list_element object */ +void _dom_html_d_list_element_finalise(struct dom_html_d_list_element *ele); + +/* Destroy a dom_html_d_list_element object */ +void _dom_html_d_list_element_destroy(struct dom_html_d_list_element *ele); + +/* The protected virtual functions */ +dom_exception _dom_html_d_list_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed); +void _dom_virtual_html_d_list_element_destroy(dom_node_internal *node); +dom_exception _dom_html_d_list_element_copy(dom_node_internal *old, + dom_node_internal **copy); + +#define DOM_HTML_DL_ELEMENT_PROTECT_VTABLE \ + _dom_html_d_list_element_parse_attribute + +#define DOM_NODE_PROTECT_VTABLE_HTML_DL_ELEMENT \ + _dom_virtual_html_d_list_element_destroy, \ + _dom_html_d_list_element_copy + +#endif diff --git a/src/html/html_document.c b/src/html/html_document.c index 0da16bb..6adfedd 100644 --- a/src/html/html_document.c +++ b/src/html/html_document.c @@ -25,6 +25,42 @@ #include "html/html_option_element.h" #include "html/html_select_element.h" #include "html/html_hr_element.h" +#include "html/html_dlist_element.h" +#include "html/html_directory_element.h" +#include "html/html_menu_element.h" +#include "html/html_fieldset_element.h" +#include "html/html_legend_element.h" +#include "html/html_paragraph_element.h" +#include "html/html_heading_element.h" +#include "html/html_quote_element.h" +#include "html/html_pre_element.h" +#include "html/html_br_element.h" +#include "html/html_label_element.h" +#include "html/html_ulist_element.h" +#include "html/html_olist_element.h" +#include "html/html_li_element.h" +#include "html/html_font_element.h" +#include "html/html_mod_element.h" +#include "html/html_anchor_element.h" +#include "html/html_basefont_element.h" +#include "html/html_image_element.h" +#include "html/html_object_element.h" +#include "html/html_param_element.h" +#include "html/html_applet_element.h" +#include "html/html_map_element.h" +#include "html/html_area_element.h" +#include "html/html_script_element.h" +#include "html/html_tablecaption_element.h" +#include "html/html_tablecell_element.h" +#include "html/html_tablecol_element.h" +#include "html/html_tablesection_element.h" +#include "html/html_table_element.h" +#include "html/html_tablerow_element.h" +#include "html/html_style_element.h" +#include "html/html_frameset_element.h" +#include "html/html_frame_element.h" +#include "html/html_iframe_element.h" +#include "html/html_isindex_element.h" #include "core/attr.h" #include "core/string.h" @@ -91,16 +127,17 @@ dom_exception _dom_html_document_initialise(dom_html_document *doc, doc->domain = NULL; doc->url = NULL; doc->cookie = NULL; - + doc->body = NULL; + doc->memoised = calloc(sizeof(dom_string *), hds_COUNT); if (doc->memoised == NULL) { error = DOM_NO_MEM_ERR; goto out; } - + #define HTML_DOCUMENT_STRINGS_ACTION(attr,str) \ error = dom_string_create_interned((const uint8_t *) #str, \ - SLEN(#str), &doc->memoised[hds_##attr]); \ + SLEN(#str), &doc->memoised[hds_##attr]); \ if (error != DOM_NO_ERR) { \ goto out; \ } @@ -224,6 +261,127 @@ _dom_html_document_create_element_internal(dom_html_document *html, } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_HR])) { exc = _dom_html_hr_element_create(html, namespace, prefix, (dom_html_hr_element **) result); + } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_DL])) { + exc = _dom_html_d_list_element_create(html, namespace, prefix, + (dom_html_d_list_element **) result); + } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_DIRECTORY])) { + exc = _dom_html_directory_element_create(html, namespace, prefix, + (dom_html_directory_element **) result); + } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_MENU])) { + exc = _dom_html_menu_element_create(html, namespace, prefix, + (dom_html_menu_element **) result); + } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_FIELDSET])) { + exc = _dom_html_field_set_element_create(html, namespace, prefix, + (dom_html_field_set_element **) result); + } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_LEGEND])) { + exc = _dom_html_legend_element_create(html, namespace, prefix, + (dom_html_legend_element **) result); + } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_P])) { + exc = _dom_html_paragraph_element_create(html, namespace, prefix, + (dom_html_paragraph_element **) result); + } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_H1]) || + dom_string_caseless_isequal(tag_name, html->memoised[hds_H2]) || + dom_string_caseless_isequal(tag_name, html->memoised[hds_H3]) || + dom_string_caseless_isequal(tag_name, html->memoised[hds_H4]) || + dom_string_caseless_isequal(tag_name, html->memoised[hds_H5]) || + dom_string_caseless_isequal(tag_name, html->memoised[hds_H6]) + ) { + exc = _dom_html_heading_element_create(html, tag_name, namespace, prefix, + (dom_html_heading_element **) result); + } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_Q])) { + exc = _dom_html_quote_element_create(html, namespace, prefix, + (dom_html_quote_element **) result); + } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_PRE])) { + exc = _dom_html_pre_element_create(html, namespace, prefix, + (dom_html_pre_element **) result); + } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_BR])) { + exc = _dom_html_br_element_create(html, namespace, prefix, + (dom_html_br_element **) result); + } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_LABEL])) { + exc = _dom_html_label_element_create(html, namespace, prefix, + (dom_html_label_element **) result); + } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_UL])) { + exc = _dom_html_u_list_element_create(html, namespace, prefix, + (dom_html_u_list_element **) result); + } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_OL])) { + exc = _dom_html_o_list_element_create(html, namespace, prefix, + (dom_html_o_list_element **) result); + } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_LI])) { + exc = _dom_html_li_element_create(html, namespace, prefix, + (dom_html_li_element **) result); + } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_FONT])) { + exc = _dom_html_font_element_create(html, namespace, prefix, + (dom_html_font_element **) result); + } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_DEL]) || + dom_string_caseless_isequal(tag_name, html->memoised[hds_INS])) { + exc = _dom_html_mod_element_create(html, tag_name, namespace, + prefix, (dom_html_mod_element **) result); + } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_A])) { + exc = _dom_html_anchor_element_create(html, namespace, prefix, + (dom_html_anchor_element **) result); + } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_BASEFONT])) { + exc = _dom_html_base_font_element_create(html, namespace, prefix, + (dom_html_base_font_element **) result); + } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_IMG])) { + exc = _dom_html_image_element_create(html, namespace, prefix, + (dom_html_image_element **) result); + } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_OBJECT])) { + exc = _dom_html_object_element_create(html, namespace, prefix, + (dom_html_object_element **) result); + } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_PARAM])) { + exc = _dom_html_param_element_create(html, namespace, prefix, + (dom_html_param_element **) result); + } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_APPLET])) { + exc = _dom_html_applet_element_create(html, namespace, prefix, + (dom_html_applet_element **) result); + } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_MAP])) { + exc = _dom_html_map_element_create(html, namespace, prefix, + (dom_html_map_element **) result); + } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_AREA])) { + exc = _dom_html_area_element_create(html, namespace, prefix, + (dom_html_area_element **) result); + } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_SCRIPT])) { + exc = _dom_html_script_element_create(html, namespace, prefix, + (dom_html_script_element **) result); + } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_CAPTION])) { + exc = _dom_html_table_caption_element_create(html, namespace, prefix, + (dom_html_table_caption_element **) result); + } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_TD]) || + dom_string_caseless_isequal(tag_name, html->memoised[hds_TH]) + ) { + exc = _dom_html_table_cell_element_create(html, tag_name, namespace, prefix, + (dom_html_table_cell_element **) result); + } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_COL])|| + dom_string_caseless_isequal(tag_name, html->memoised[hds_COLGROUP]) + ) { + exc = _dom_html_table_col_element_create(html, tag_name, namespace, prefix, + (dom_html_table_col_element **) result); + } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_THEAD])|| + dom_string_caseless_isequal(tag_name, html->memoised[hds_TBODY])|| + dom_string_caseless_isequal(tag_name, html->memoised[hds_TFOOT])) { + exc = _dom_html_table_section_element_create(html, tag_name, namespace, prefix, + (dom_html_table_section_element **) result); + } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_TABLE])) { + exc = _dom_html_table_element_create(html, namespace, prefix, + (dom_html_table_element **) result); + } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_TD])) { + exc = _dom_html_table_row_element_create(html, namespace, prefix, + (dom_html_table_row_element **) result); + } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_STYLE])) { + exc = _dom_html_style_element_create(html, + (dom_html_style_element **) result); + } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_FRAMESET])) { + exc = _dom_html_frame_set_element_create(html, namespace, prefix, + (dom_html_frame_set_element **) result); + } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_FRAME])) { + exc = _dom_html_frame_element_create(html, namespace, prefix, + (dom_html_frame_element **) result); + } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_IFRAME])) { + exc = _dom_html_iframe_element_create(html, namespace, prefix, + (dom_html_iframe_element **) result); + } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_ISINDEX])) { + exc = _dom_html_isindex_element_create(html, namespace, prefix, + (dom_html_isindex_element **) result); } else { exc = _dom_html_element_create(html, tag_name, namespace, prefix, result); @@ -486,57 +644,193 @@ dom_exception _dom_html_document_get_url(dom_html_document *doc, dom_exception _dom_html_document_get_body(dom_html_document *doc, struct dom_html_element **body) { - UNUSED(doc); - UNUSED(body); + dom_exception exc = DOM_NO_ERR; - return DOM_NOT_SUPPORTED_ERR; + if (doc->body != NULL) { + *body = doc->body; + } else { + dom_element *node; + dom_nodelist *nodes; + uint32_t len; + + exc = dom_document_get_elements_by_tag_name(doc, + doc->memoised[hds_BODY], + &nodes); + if (exc != DOM_NO_ERR) { + return exc; + } + + exc = dom_nodelist_get_length(nodes, &len); + if (exc != DOM_NO_ERR) { + dom_nodelist_unref(nodes); + return exc; + } + + if (len == 0) { + exc = dom_document_get_elements_by_tag_name(doc, + doc->memoised[hds_FRAMESET], + &nodes); + if (exc != DOM_NO_ERR) { + return exc; + } + exc = dom_nodelist_get_length(nodes, &len); + if (exc != DOM_NO_ERR) { + dom_nodelist_unref(nodes); + return exc; + } + if(len == 0) { + dom_nodelist_unref(nodes); + return DOM_NO_ERR; + } + } + + exc = dom_nodelist_item(nodes, 0, (void *) &node); + dom_nodelist_unref(nodes); + if (exc != DOM_NO_ERR) { + return exc; + } + + *body = (dom_html_element *)node; + dom_node_unref(node); + } + + return exc; } dom_exception _dom_html_document_set_body(dom_html_document *doc, struct dom_html_element *body) { - UNUSED(doc); - UNUSED(body); + doc->body = body; + return DOM_NO_ERR; +} - return DOM_NOT_SUPPORTED_ERR; +/** + * Callback for creating the images collection + * + * \param node The dom_node_internal object + * \param ctx The dom_html_document object (void *) + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +bool images_callback(struct dom_node_internal *node, void *ctx) +{ + if(node->type == DOM_ELEMENT_NODE && + dom_string_caseless_isequal(node->name, + ((dom_html_document *)ctx)->memoised[hds_IMG])) { + return true; + } + return false; } dom_exception _dom_html_document_get_images(dom_html_document *doc, struct dom_html_collection **col) { - UNUSED(doc); - UNUSED(col); + dom_html_document *root; + dom_exception err; + err = dom_document_get_document_element(doc, &root); + if (err != DOM_NO_ERR) + return err; - return DOM_NOT_SUPPORTED_ERR; + return _dom_html_collection_create(doc, (dom_node_internal *) root, + images_callback, doc, col); +} + +bool applet_callback(struct dom_node_internal * node, void *ctx) +{ + if(node->type == DOM_ELEMENT_NODE && + dom_string_caseless_isequal(node->name, + ((dom_html_document *)ctx)->memoised[hds_APPLET])) { + return true; + } + return false; +} +/** + * Callback for creating the applets collection + * + * \param node The dom_node_internal object + * \param ctx The dom_html_document object (void *) + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +bool applets_callback(struct dom_node_internal *node, void *ctx) +{ + if(node->type == DOM_ELEMENT_NODE && + dom_string_caseless_isequal(node->name, + ((dom_html_document *)ctx)->memoised[hds_OBJECT])) { + uint32_t len = 0; + dom_html_collection *applets; + _dom_html_collection_create(ctx, node, + applet_callback, ctx, &applets); + + dom_html_collection_get_length(applets, &len); + if(len != 0) + return true; + } + return false; } dom_exception _dom_html_document_get_applets(dom_html_document *doc, struct dom_html_collection **col) { - UNUSED(doc); - UNUSED(col); + dom_html_document *root; + dom_exception err; + err = dom_document_get_document_element(doc, &root); + if (err != DOM_NO_ERR) + return err; - return DOM_NOT_SUPPORTED_ERR; + return _dom_html_collection_create(doc, (dom_node_internal *) root, + applets_callback, doc, col); +} + +/** + * Callback for creating the links collection + * + * \param node The dom_node_internal object + * \param ctx The dom_html_document object (void *) + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +bool links_callback(struct dom_node_internal *node, void *ctx) +{ + if(node->type == DOM_ELEMENT_NODE && + (dom_string_caseless_isequal(node->name, + ((dom_html_document *)ctx)->memoised[hds_A]) || + dom_string_caseless_isequal(node->name, + ((dom_html_document *)ctx)->memoised[hds_AREA])) + ) { + bool has_value = false; + dom_exception err; + + err = dom_element_has_attribute(node, + ((dom_html_document *)ctx)->memoised[hds_href], &has_value); + if(err !=DOM_NO_ERR) + return err; + + if(has_value) + return true; + } + return false; } dom_exception _dom_html_document_get_links(dom_html_document *doc, struct dom_html_collection **col) { - UNUSED(doc); - UNUSED(col); + dom_html_document *root; + dom_exception err; + err = dom_document_get_document_element(doc, &root); + if (err != DOM_NO_ERR) + return err; - return DOM_NOT_SUPPORTED_ERR; + return _dom_html_collection_create(doc, (dom_node_internal *) root, + links_callback, doc, col); } static bool __dom_html_document_node_is_form(dom_node_internal *node, - void *ctx) + void *ctx) { dom_html_document *doc = (dom_html_document *)node->owner; - + UNUSED(ctx); - + return dom_string_caseless_isequal(node->name, - doc->memoised[hds_FORM]); + doc->memoised[hds_FORM]); } dom_exception _dom_html_document_get_forms(dom_html_document *doc, @@ -564,13 +858,43 @@ dom_exception _dom_html_document_get_forms(dom_html_document *doc, return DOM_NO_ERR; } +/** + * Callback for creating the anchors collection + * + * \param node The dom_node_internal object + * \param ctx The dom_html_document object (void *) + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +bool anchors_callback(struct dom_node_internal *node, void *ctx) +{ + if(node->type == DOM_ELEMENT_NODE && + dom_string_caseless_isequal(node->name, + ((dom_html_document *)ctx)->memoised[hds_A])) { + bool has_value = false; + dom_exception err; + + err = dom_element_has_attribute(node, + ((dom_html_document *)ctx)->memoised[hds_name], &has_value); + if(err !=DOM_NO_ERR) + return err; + + if(has_value) + return true; + } + return false; +} + dom_exception _dom_html_document_get_anchors(dom_html_document *doc, struct dom_html_collection **col) { - UNUSED(doc); - UNUSED(col); + dom_html_document *root; + dom_exception err; + err = dom_document_get_document_element(doc, &root); + if (err != DOM_NO_ERR) + return err; - return DOM_NOT_SUPPORTED_ERR; + return _dom_html_collection_create(doc, (dom_node_internal *) root, + anchors_callback, doc, col); } dom_exception _dom_html_document_get_cookie(dom_html_document *doc, @@ -578,7 +902,7 @@ dom_exception _dom_html_document_get_cookie(dom_html_document *doc, { UNUSED(doc); UNUSED(cookie); - + /*todo implement this after updating client interface */ return DOM_NOT_SUPPORTED_ERR; } @@ -588,6 +912,7 @@ dom_exception _dom_html_document_set_cookie(dom_html_document *doc, UNUSED(doc); UNUSED(cookie); + /*todo implement this after updating client interface */ return DOM_NOT_SUPPORTED_ERR; } @@ -595,13 +920,14 @@ dom_exception _dom_html_document_open(dom_html_document *doc) { UNUSED(doc); + /*todo implement this after updating client interface */ return DOM_NOT_SUPPORTED_ERR; } dom_exception _dom_html_document_close(dom_html_document *doc) { UNUSED(doc); - + /*todo implement this after updating client interface */ return DOM_NOT_SUPPORTED_ERR; } @@ -611,6 +937,7 @@ dom_exception _dom_html_document_write(dom_html_document *doc, UNUSED(doc); UNUSED(text); + /*todo implement this after updating client interface */ return DOM_NOT_SUPPORTED_ERR; } @@ -620,6 +947,7 @@ dom_exception _dom_html_document_writeln(dom_html_document *doc, UNUSED(doc); UNUSED(text); + /*todo implement this after _dom_html_document_write */ return DOM_NOT_SUPPORTED_ERR; } @@ -629,7 +957,7 @@ dom_exception _dom_html_document_get_elements_by_name(dom_html_document *doc, UNUSED(doc); UNUSED(name); UNUSED(list); - + /*todo implement after updating core nodelist interface */ return DOM_NOT_SUPPORTED_ERR; } diff --git a/src/html/html_document.h b/src/html/html_document.h index 67250f5..c00529b 100644 --- a/src/html/html_document.h +++ b/src/html/html_document.h @@ -9,6 +9,7 @@ #define dom_internal_html_document_h_ #include <dom/html/html_document.h> +#include <dom/html/html_element.h> #include "core/document.h" @@ -23,6 +24,7 @@ struct dom_html_document { dom_string *domain; /**< HTML document domain */ dom_string *url; /**< HTML document URL */ dom_string *cookie; /**< HTML document cookie */ + dom_html_element *body; /**< HTML BodyElement */ /** Cached strings for html objects to use */ dom_string **memoised; @@ -126,6 +128,11 @@ dom_exception _dom_html_document_create_attribute(dom_document *doc, dom_exception _dom_html_document_create_attribute_ns(dom_document *doc, dom_string *namespace, dom_string *qname, dom_attr **result); +bool images_callback(struct dom_node_internal *node, void *ctx); +bool applets_callback(struct dom_node_internal *node, void *ctx); +bool applet_callback(struct dom_node_internal *node, void *ctx); +bool links_callback(struct dom_node_internal *node, void *ctx); +bool anchors_callback(struct dom_node_internal *node, void *ctx); #define DOM_DOCUMENT_VTABLE_HTML \ _dom_document_get_doctype, \ diff --git a/src/html/html_document_strings.h b/src/html/html_document_strings.h index 8e9d79e..35fca73 100644 --- a/src/html/html_document_strings.h +++ b/src/html/html_document_strings.h @@ -65,6 +65,8 @@ HTML_DOCUMENT_STRINGS_ACTION1(method) /* HTML_DOCUMENT_STRINGS_ACTION1(target) */ /* Useful attributes used by HTMLButtonElement */ HTML_DOCUMENT_STRINGS_ACTION(access_key,accesskey) +/* Useful attributes used by HTMLBrElement */ +HTML_DOCUMENT_STRINGS_ACTION1(clear) /* HTML_DOCUMENT_STRINGS_ACTION1(name) */ /* HTML_DOCUMENT_STRINGS_ACTION1(type) */ HTML_DOCUMENT_STRINGS_ACTION1(value) @@ -81,7 +83,47 @@ HTML_DOCUMENT_STRINGS_ACTION(read_only,readonly) HTML_DOCUMENT_STRINGS_ACTION1(size) HTML_DOCUMENT_STRINGS_ACTION1(src) HTML_DOCUMENT_STRINGS_ACTION1(width) +HTML_DOCUMENT_STRINGS_ACTION1(compact) +HTML_DOCUMENT_STRINGS_ACTION1(cite) +HTML_DOCUMENT_STRINGS_ACTION1(color) +HTML_DOCUMENT_STRINGS_ACTION1(face) +HTML_DOCUMENT_STRINGS_ACTION1(coords) +HTML_DOCUMENT_STRINGS_ACTION1(shape) +HTML_DOCUMENT_STRINGS_ACTION1(border) +HTML_DOCUMENT_STRINGS_ACTION1(code) +HTML_DOCUMENT_STRINGS_ACTION1(archive) +HTML_DOCUMENT_STRINGS_ACTION1(data) +HTML_DOCUMENT_STRINGS_ACTION1(height) +HTML_DOCUMENT_STRINGS_ACTION1(standby) +HTML_DOCUMENT_STRINGS_ACTION1(object) +HTML_DOCUMENT_STRINGS_ACTION1(event) +HTML_DOCUMENT_STRINGS_ACTION1(defer) +HTML_DOCUMENT_STRINGS_ACTION1(abbr) +HTML_DOCUMENT_STRINGS_ACTION1(axis) +HTML_DOCUMENT_STRINGS_ACTION1(headers) +HTML_DOCUMENT_STRINGS_ACTION1(scope) +HTML_DOCUMENT_STRINGS_ACTION1(frame) +HTML_DOCUMENT_STRINGS_ACTION1(rules) +HTML_DOCUMENT_STRINGS_ACTION1(summary) +HTML_DOCUMENT_STRINGS_ACTION1(prompt) +HTML_DOCUMENT_STRINGS_ACTION1(rows) +HTML_DOCUMENT_STRINGS_ACTION1(cols) +HTML_DOCUMENT_STRINGS_ACTION1(scrolling) HTML_DOCUMENT_STRINGS_ACTION(tab_index,tabindex) +HTML_DOCUMENT_STRINGS_ACTION(html_for,for) +HTML_DOCUMENT_STRINGS_ACTION(date_time,datetime) +HTML_DOCUMENT_STRINGS_ACTION(long_desc,longdesc) +HTML_DOCUMENT_STRINGS_ACTION(code_base,codebase) +HTML_DOCUMENT_STRINGS_ACTION(code_type,codetype) +HTML_DOCUMENT_STRINGS_ACTION(value_type,valuetype) +HTML_DOCUMENT_STRINGS_ACTION(v_align,valign) +HTML_DOCUMENT_STRINGS_ACTION(ch,char) +HTML_DOCUMENT_STRINGS_ACTION(ch_off,charoff) +HTML_DOCUMENT_STRINGS_ACTION(cell_padding,cellpadding) +HTML_DOCUMENT_STRINGS_ACTION(cell_spacing,cellspacing) +HTML_DOCUMENT_STRINGS_ACTION(frame_border,frameborder) +HTML_DOCUMENT_STRINGS_ACTION(margin_height,marginheight) +HTML_DOCUMENT_STRINGS_ACTION(margin_width,marginwidth) /* HTML_DOCUMENT_STRINGS_ACTION1(type) */ HTML_DOCUMENT_STRINGS_ACTION(use_map,usemap) /* HTML_DOCUMENT_STRINGS_ACTION1(value) */ @@ -126,7 +168,7 @@ HTML_DOCUMENT_STRINGS_ACTION1(LEGEND) HTML_DOCUMENT_STRINGS_ACTION1(UL) HTML_DOCUMENT_STRINGS_ACTION1(OL) HTML_DOCUMENT_STRINGS_ACTION1(DL) -HTML_DOCUMENT_STRINGS_ACTION1(DIR) +HTML_DOCUMENT_STRINGS_ACTION1(DIRECTORY) HTML_DOCUMENT_STRINGS_ACTION1(MENU) HTML_DOCUMENT_STRINGS_ACTION1(LI) HTML_DOCUMENT_STRINGS_ACTION1(BLOCKQUOTE) diff --git a/src/html/html_fieldset_element.c b/src/html/html_fieldset_element.c index 2e182d5..2ab873e 100644 --- a/src/html/html_fieldset_element.c +++ b/src/html/html_fieldset_element.c @@ -3,5 +3,151 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#include <assert.h> +#include <stdlib.h> + +#include <dom/html/html_fieldset_element.h> + +#include "html/html_document.h" +#include "html/html_fieldset_element.h" + +#include "core/node.h" +#include "utils/utils.h" + +static struct dom_element_protected_vtable _protect_vtable = { + { + DOM_NODE_PROTECT_VTABLE_HTML_FIELDSET_ELEMENT + }, + DOM_HTML_FIELDSET_ELEMENT_PROTECT_VTABLE +}; + +/** + * Create a dom_html_field_set_element object + * + * \param doc The document object + * \param ele The returned element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_field_set_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_field_set_element **ele) +{ + struct dom_node_internal *node; + + *ele = malloc(sizeof(dom_html_field_set_element)); + if (*ele == NULL) + return DOM_NO_MEM_ERR; + + /* Set up vtables */ + node = (struct dom_node_internal *) *ele; + node->base.vtable = &_dom_html_element_vtable; + node->vtable = &_protect_vtable; + + return _dom_html_field_set_element_initialise(doc, namespace, prefix, *ele); +} + +/** + * Initialise a dom_html_field_set_element object + * + * \param doc The document object + * \param ele The dom_html_field_set_element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_field_set_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_field_set_element *ele) +{ + return _dom_html_element_initialise(doc, &ele->base, + doc->memoised[hds_FIELDSET], + namespace, prefix); +} + +/** + * Finalise a dom_html_field_set_element object + * + * \param ele The dom_html_field_set_element object + */ +void _dom_html_field_set_element_finalise(struct dom_html_field_set_element *ele) +{ + _dom_html_element_finalise(&ele->base); +} + +/** + * Destroy a dom_html_field_set_element object + * + * \param ele The dom_html_field_set_element object + */ +void _dom_html_field_set_element_destroy(struct dom_html_field_set_element *ele) +{ + _dom_html_field_set_element_finalise(ele); + free(ele); +} + +/*------------------------------------------------------------------------*/ +/* The protected virtual functions */ + +/* The virtual function used to parse attribute value, see src/core/element.c + * for detail */ +dom_exception _dom_html_field_set_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed) +{ + UNUSED(ele); + UNUSED(name); + + dom_string_ref(value); + *parsed = value; + + return DOM_NO_ERR; +} + +/* The virtual destroy function, see src/core/node.c for detail */ +void _dom_virtual_html_field_set_element_destroy(dom_node_internal *node) +{ + _dom_html_field_set_element_destroy((struct dom_html_field_set_element *) node); +} + +/* The virtual copy function, see src/core/node.c for detail */ +dom_exception _dom_html_field_set_element_copy(dom_node_internal *old, + dom_node_internal **copy) +{ + return _dom_html_element_copy(old, copy); +} + +/** + * Get the dom_html_form_element object + * + * \param field_set The dom_html_legend_element object + * \param form The returned dom_html_form_element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ + +dom_exception dom_html_field_set_element_get_form( + dom_html_field_set_element *field_set, dom_html_form_element **form) +{ + dom_html_document *doc = + (dom_html_document *) ((dom_node_internal *) field_set)->owner; + dom_node_internal *form_tmp = ((dom_node_internal *) field_set)->parent; + + /* Search ancestor chain for FIELDSET element */ + while (form_tmp != NULL) { + if (form_tmp->type == DOM_ELEMENT_NODE && + dom_string_caseless_isequal(form_tmp->name, + doc->memoised[hds_FORM])) + break; + + form_tmp = form_tmp->parent; + } + + if (form_tmp != NULL) { + *form = (dom_html_form_element *) form_tmp; + return DOM_NO_ERR; + } + + *form = NULL; + + return DOM_NO_ERR; +} diff --git a/src/html/html_fieldset_element.h b/src/html/html_fieldset_element.h index 2e182d5..8ae1d59 100644 --- a/src/html/html_fieldset_element.h +++ b/src/html/html_fieldset_element.h @@ -3,5 +3,51 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_internal_html_field_set_element_h_ +#define dom_internal_html_field_set_element_h_ + +#include <dom/html/html_fieldset_element.h> + +#include "html/html_element.h" + +struct dom_html_field_set_element { + struct dom_html_element base; + /**< The base class */ +}; + +/* Create a dom_html_field_set_element object */ +dom_exception _dom_html_field_set_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_field_set_element **ele); + +/* Initialise a dom_html_field_set_element object */ +dom_exception _dom_html_field_set_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_field_set_element *ele); + +/* Finalise a dom_html_field_set_element object */ +void _dom_html_field_set_element_finalise(struct dom_html_field_set_element *ele); + +/* Destroy a dom_html_field_set_element object */ +void _dom_html_field_set_element_destroy(struct dom_html_field_set_element *ele); + +/* The protected virtual functions */ +dom_exception _dom_html_field_set_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed); +void _dom_virtual_html_field_set_element_destroy(dom_node_internal *node); +dom_exception _dom_html_field_set_element_copy(dom_node_internal *old, + dom_node_internal **copy); + +#define DOM_HTML_FIELDSET_ELEMENT_PROTECT_VTABLE \ + _dom_html_field_set_element_parse_attribute + +#define DOM_NODE_PROTECT_VTABLE_HTML_FIELDSET_ELEMENT \ + _dom_virtual_html_field_set_element_destroy, \ + _dom_html_field_set_element_copy + +#endif + diff --git a/src/html/html_font_element.c b/src/html/html_font_element.c index 2e182d5..aadcb22 100644 --- a/src/html/html_font_element.c +++ b/src/html/html_font_element.c @@ -3,5 +3,162 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar<rsk1coder99@gmail.com> */ +#include <assert.h> +#include <stdlib.h> + +#include <dom/html/html_font_element.h> + +#include "html/html_document.h" +#include "html/html_font_element.h" + +#include "core/node.h" +#include "core/attr.h" +#include "utils/utils.h" + +static struct dom_element_protected_vtable _protect_vtable = { + { + DOM_NODE_PROTECT_VTABLE_HTML_FONT_ELEMENT + }, + DOM_HTML_FONT_ELEMENT_PROTECT_VTABLE +}; + +/** + * Create a dom_html_font_element object + * + * \param doc The document object + * \param ele The returned element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_font_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_font_element **ele) +{ + struct dom_node_internal *node; + + *ele = malloc(sizeof(dom_html_font_element)); + if (*ele == NULL) + return DOM_NO_MEM_ERR; + + /* Set up vtables */ + node = (struct dom_node_internal *) *ele; + node->base.vtable = &_dom_html_element_vtable; + node->vtable = &_protect_vtable; + + return _dom_html_font_element_initialise(doc, namespace, prefix, *ele); +} + +/** + * Initialise a dom_html_font_element object + * + * \param doc The document object + * \param ele The dom_html_font_element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_font_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_font_element *ele) +{ + return _dom_html_element_initialise(doc, &ele->base, + doc->memoised[hds_FONT], + namespace, prefix); +} + +/** + * Finalise a dom_html_font_element object + * + * \param ele The dom_html_font_element object + */ +void _dom_html_font_element_finalise(struct dom_html_font_element *ele) +{ + _dom_html_element_finalise(&ele->base); +} + +/** + * Destroy a dom_html_font_element object + * + * \param ele The dom_html_font_element object + */ +void _dom_html_font_element_destroy(struct dom_html_font_element *ele) +{ + _dom_html_font_element_finalise(ele); + free(ele); +} + + +/*------------------------------------------------------------------------*/ +/* The protected virtual functions */ + +/* The virtual function used to parse attribute value, see src/core/element.c + * for detail */ +dom_exception _dom_html_font_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed) +{ + UNUSED(ele); + UNUSED(name); + + dom_string_ref(value); + *parsed = value; + + return DOM_NO_ERR; +} + +/* The virtual destroy function, see src/core/node.c for detail */ +void _dom_virtual_html_font_element_destroy(dom_node_internal *node) +{ + _dom_html_font_element_destroy((struct dom_html_font_element *) node); +} + +/* The virtual copy function, see src/core/node.c for detail */ +dom_exception _dom_html_font_element_copy(dom_node_internal *old, + dom_node_internal **copy) +{ + return _dom_html_element_copy(old, copy); +} + +/*-----------------------------------------------------------------------*/ +/* API functions */ + +#define SIMPLE_GET(attr) \ + dom_exception dom_html_font_element_get_##attr( \ + dom_html_font_element *element, \ + dom_string **attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_get_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } +#define SIMPLE_SET(attr) \ +dom_exception dom_html_font_element_set_##attr( \ + dom_html_font_element *element, \ + dom_string *attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_set_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } + +#define SIMPLE_GET_SET(attr) SIMPLE_GET(attr) SIMPLE_SET(attr) + +SIMPLE_GET_SET(color); +SIMPLE_GET_SET(face); +SIMPLE_GET_SET(size); diff --git a/src/html/html_font_element.h b/src/html/html_font_element.h index 2e182d5..42a2ec4 100644 --- a/src/html/html_font_element.h +++ b/src/html/html_font_element.h @@ -3,5 +3,50 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_internal_html_font_element_h_ +#define dom_internal_html_font_element_h_ + +#include <dom/html/html_font_element.h> +#include "html/html_element.h" + + +struct dom_html_font_element { + struct dom_html_element base; + /**< The base class */ +}; + +/* Create a dom_html_font_element object */ +dom_exception _dom_html_font_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_font_element **ele); + +/* Initialise a dom_html_font_element object */ +dom_exception _dom_html_font_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_font_element *ele); + +/* Finalise a dom_html_font_element object */ +void _dom_html_font_element_finalise(struct dom_html_font_element *ele); + +/* Destroy a dom_html_font_element object */ +void _dom_html_font_element_destroy(struct dom_html_font_element *ele); + +/* The protected virtual functions */ +dom_exception _dom_html_font_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed); +void _dom_virtual_html_font_element_destroy(dom_node_internal *node); +dom_exception _dom_html_font_element_copy(dom_node_internal *old, + dom_node_internal **copy); + +#define DOM_HTML_FONT_ELEMENT_PROTECT_VTABLE \ + _dom_html_font_element_parse_attribute + +#define DOM_NODE_PROTECT_VTABLE_HTML_FONT_ELEMENT \ + _dom_virtual_html_font_element_destroy, \ + _dom_html_font_element_copy + +#endif diff --git a/src/html/html_form_element.c b/src/html/html_form_element.c index 333cf74..0606ba6 100644 --- a/src/html/html_form_element.c +++ b/src/html/html_form_element.c @@ -281,7 +281,7 @@ static bool _dom_is_form_control(struct dom_node_internal *node, void *ctx) assert(node->type == DOM_ELEMENT_NODE); - /* Form controls are INPUT TEXTAREA SELECT and BUTTON */ + /* Form controls are INPUT TEXTAREA SELECT and BUTTON*/ if (dom_string_caseless_isequal(node->name, doc->memoised[hds_INPUT])) return ((dom_html_input_element *)node)->form == form; diff --git a/src/html/html_frame_element.c b/src/html/html_frame_element.c index 2e182d5..16534b5 100644 --- a/src/html/html_frame_element.c +++ b/src/html/html_frame_element.c @@ -3,5 +3,285 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar<rsk1coder99@gmail.com> */ +#include <assert.h> +#include <stdlib.h> + +#include <dom/html/html_frame_element.h> + +#include "html/html_document.h" +#include "html/html_frame_element.h" + +#include "core/node.h" +#include "core/attr.h" +#include "utils/utils.h" + +static struct dom_element_protected_vtable _protect_vtable = { + { + DOM_NODE_PROTECT_VTABLE_HTML_FRAME_ELEMENT + }, + DOM_HTML_FRAME_ELEMENT_PROTECT_VTABLE +}; + +/** + * Create a dom_html_frame_element object + * + * \param doc The document object + * \param ele The returned element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_frame_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_frame_element **ele) +{ + struct dom_node_internal *node; + + *ele = malloc(sizeof(dom_html_frame_element)); + if (*ele == NULL) + return DOM_NO_MEM_ERR; + + /* Set up vtables */ + node = (struct dom_node_internal *) *ele; + node->base.vtable = &_dom_html_element_vtable; + node->vtable = &_protect_vtable; + + return _dom_html_frame_element_initialise(doc, namespace, prefix, *ele); +} + +/** + * Initialise a dom_html_frame_element object + * + * \param doc The document object + * \param ele The dom_html_frame_element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_frame_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_frame_element *ele) +{ + dom_string *scrolling_default = NULL; + dom_exception err; + err = dom_string_create((const uint8_t *) "auto", SLEN("auto"), &scrolling_default); + if (err != DOM_NO_ERR) + return err; + + + dom_string *frame_border_default = NULL; + err = dom_string_create((const uint8_t *) "1", SLEN("1"), &frame_border_default); + if (err != DOM_NO_ERR) + return err; + + err = _dom_html_element_initialise(doc, &ele->base, + doc->memoised[hds_FRAME], + namespace, prefix); + + ele->scrolling_default = scrolling_default; + ele->frame_border_default = frame_border_default; + + return err; +} + +/** + * Finalise a dom_html_frame_element object + * + * \param ele The dom_html_frame_element object + */ +void _dom_html_frame_element_finalise(struct dom_html_frame_element *ele) +{ + _dom_html_element_finalise(&ele->base); +} + +/** + * Destroy a dom_html_frame_element object + * + * \param ele The dom_html_frame_element object + */ +void _dom_html_frame_element_destroy(struct dom_html_frame_element *ele) +{ + _dom_html_frame_element_finalise(ele); + free(ele); +} + +/** + * Get the no_resize property + * + * \param ele The dom_html_frame_element object + * \param no_resize The status + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_frame_element_get_no_resize(dom_html_frame_element *ele, + bool *no_resize) +{ + return dom_html_element_get_bool_property(&ele->base, "noresize", + SLEN("noresize"), no_resize); +} + +/** + * Set the no_resize property + * + * \param ele The dom_html_frame_element object + * \param no_resize The status + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_frame_element_set_no_resize(dom_html_frame_element *ele, + bool no_resize) +{ + return dom_html_element_set_bool_property(&ele->base, "noresize", + SLEN("noresize"), no_resize); +} + +/*------------------------------------------------------------------------*/ +/* The protected virtual functions */ + +/* The virtual function used to parse attribute value, see src/core/element.c + * for detail */ +dom_exception _dom_html_frame_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed) +{ + UNUSED(ele); + UNUSED(name); + + dom_string_ref(value); + *parsed = value; + + return DOM_NO_ERR; +} + +/* The virtual destroy function, see src/core/node.c for detail */ +void _dom_virtual_html_frame_element_destroy(dom_node_internal *node) +{ + _dom_html_frame_element_destroy((struct dom_html_frame_element *) node); +} + +/* The virtual copy function, see src/core/node.c for detail */ +dom_exception _dom_html_frame_element_copy(dom_node_internal *old, + dom_node_internal **copy) +{ + return _dom_html_element_copy(old, copy); +} + +/*-----------------------------------------------------------------------*/ +/* API functions */ + +#define SIMPLE_GET(attr) \ + dom_exception dom_html_frame_element_get_##attr( \ + dom_html_frame_element *element, \ + dom_string **attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_get_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } +#define SIMPLE_SET(attr) \ +dom_exception dom_html_frame_element_set_##attr( \ + dom_html_frame_element *element, \ + dom_string *attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_set_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } + +#define SIMPLE_GET_SET(attr) SIMPLE_GET(attr) SIMPLE_SET(attr) + +SIMPLE_GET_SET(long_desc); +SIMPLE_GET_SET(name); +SIMPLE_GET_SET(src); +SIMPLE_SET(frame_border); +SIMPLE_GET_SET(margin_width); +SIMPLE_GET_SET(margin_height); +SIMPLE_SET(scrolling); + + +/** + * Get the frame_border property + * + * \param ele The dom_html_frame_element object + * \param frame_border The returned status + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_frame_element_get_frame_border( + dom_html_frame_element *ele, + dom_string **frame_border) +{ + dom_html_document *doc; + bool has_value = false; + dom_exception err; + + doc = (dom_html_document *) ((dom_node_internal *) ele)->owner; + + err = dom_element_has_attribute(ele, + doc->memoised[hds_frame_border], &has_value); + if(err !=DOM_NO_ERR) + return err; + + if(has_value) { + return dom_element_get_attribute(ele, + doc->memoised[hds_frame_border], frame_border); + } + + *frame_border = ele->frame_border_default; + if (*frame_border != NULL) + dom_string_ref(*frame_border); + return DOM_NO_ERR; +} + +/** + * Get the frame_border property + * + * \param ele The dom_html_frame_element object + * \param scrolling The returned status + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_frame_element_get_scrolling( + dom_html_frame_element *ele, + dom_string **scrolling) +{ + dom_html_document *doc; + bool has_value = false; + dom_exception err; + + doc = (dom_html_document *) ((dom_node_internal *) ele)->owner; + + err = dom_element_has_attribute(ele, + doc->memoised[hds_scrolling], &has_value); + if(err !=DOM_NO_ERR) + return err; + + if(has_value) { + return dom_element_get_attribute(ele, + doc->memoised[hds_scrolling], scrolling); + } + + *scrolling = ele->scrolling_default; + if (*scrolling != NULL) + dom_string_ref(*scrolling); + return DOM_NO_ERR; +} + +dom_exception dom_html_frame_element_get_content_document( + dom_html_frame_element *ele, + dom_document **content_document) +{ + *content_document = dom_node_get_owner(ele); + return DOM_NO_ERR; +} diff --git a/src/html/html_frame_element.h b/src/html/html_frame_element.h index 2e182d5..c313cbc 100644 --- a/src/html/html_frame_element.h +++ b/src/html/html_frame_element.h @@ -3,5 +3,52 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_internal_html_frame_element_h_ +#define dom_internal_html_frame_element_h_ + +#include <dom/html/html_frame_element.h> +#include "html/html_element.h" + + +struct dom_html_frame_element { + struct dom_html_element base; + /**< The base class */ + dom_string *scrolling_default; + dom_string *frame_border_default; +}; + +/* Create a dom_html_frame_element object */ +dom_exception _dom_html_frame_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_frame_element **ele); + +/* Initialise a dom_html_frame_element object */ +dom_exception _dom_html_frame_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_frame_element *ele); + +/* Finalise a dom_html_frame_element object */ +void _dom_html_frame_element_finalise(struct dom_html_frame_element *ele); + +/* Destroy a dom_html_frame_element object */ +void _dom_html_frame_element_destroy(struct dom_html_frame_element *ele); + +/* The protected virtual functions */ +dom_exception _dom_html_frame_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed); +void _dom_virtual_html_frame_element_destroy(dom_node_internal *node); +dom_exception _dom_html_frame_element_copy(dom_node_internal *old, + dom_node_internal **copy); + +#define DOM_HTML_FRAME_ELEMENT_PROTECT_VTABLE \ + _dom_html_frame_element_parse_attribute + +#define DOM_NODE_PROTECT_VTABLE_HTML_FRAME_ELEMENT \ + _dom_virtual_html_frame_element_destroy, \ + _dom_html_frame_element_copy + +#endif diff --git a/src/html/html_frameset_element.c b/src/html/html_frameset_element.c index 2e182d5..b096156 100644 --- a/src/html/html_frameset_element.c +++ b/src/html/html_frameset_element.c @@ -3,5 +3,234 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar<rsk1coder99@gmail.com> */ +#include <assert.h> +#include <stdlib.h> +#include <dom/html/html_frameset_element.h> + +#include "html/html_document.h" +#include "html/html_frameset_element.h" + +#include "core/node.h" +#include "core/attr.h" +#include "utils/utils.h" + +static struct dom_element_protected_vtable _protect_vtable = { + { + DOM_NODE_PROTECT_VTABLE_HTML_FRAME_SET_ELEMENT + }, + DOM_HTML_FRAME_SET_ELEMENT_PROTECT_VTABLE +}; + +/** + * Create a dom_html_frame_set_element object + * + * \param doc The document object + * \param ele The returned element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_frame_set_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_frame_set_element **ele) +{ + struct dom_node_internal *node; + + *ele = malloc(sizeof(dom_html_frame_set_element)); + if (*ele == NULL) + return DOM_NO_MEM_ERR; + + /* Set up vtables */ + node = (struct dom_node_internal *) *ele; + node->base.vtable = &_dom_html_element_vtable; + node->vtable = &_protect_vtable; + + return _dom_html_frame_set_element_initialise(doc, namespace, prefix, *ele); +} + +/** + * Initialise a dom_html_frame_set_element object + * + * \param doc The document object + * \param ele The dom_html_frame_set_element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_frame_set_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_frame_set_element *ele) +{ + dom_string *cols_rows_default = NULL; + dom_exception err; + err = dom_string_create((const uint8_t *) "100%", SLEN("100%"), &cols_rows_default); + if (err != DOM_NO_ERR) + return err; + + err = _dom_html_element_initialise(doc, &ele->base, + doc->memoised[hds_FRAMESET], + namespace, prefix); + ele->cols_rows_default = cols_rows_default; + return err; +} + +/** + * Finalise a dom_html_frame_set_element object + * + * \param ele The dom_html_frame_set_element object + */ +void _dom_html_frame_set_element_finalise(struct dom_html_frame_set_element *ele) +{ + _dom_html_element_finalise(&ele->base); +} + +/** + * Destroy a dom_html_frame_set_element object + * + * \param ele The dom_html_frame_set_element object + */ +void _dom_html_frame_set_element_destroy(struct dom_html_frame_set_element *ele) +{ + _dom_html_frame_set_element_finalise(ele); + free(ele); +} + +/*------------------------------------------------------------------------*/ +/* The protected virtual functions */ + +/* The virtual function used to parse attribute value, see src/core/element.c + * for detail */ +dom_exception _dom_html_frame_set_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed) +{ + UNUSED(ele); + UNUSED(name); + + dom_string_ref(value); + *parsed = value; + + return DOM_NO_ERR; +} + +/* The virtual destroy function, see src/core/node.c for detail */ +void _dom_virtual_html_frame_set_element_destroy(dom_node_internal *node) +{ + _dom_html_frame_set_element_destroy((struct dom_html_frame_set_element *) node); +} + +/* The virtual copy function, see src/core/node.c for detail */ +dom_exception _dom_html_frame_set_element_copy(dom_node_internal *old, + dom_node_internal **copy) +{ + return _dom_html_element_copy(old, copy); +} + +/*-----------------------------------------------------------------------*/ +/* API functions */ + +#define SIMPLE_GET(attr) \ + dom_exception dom_html_frame_set_element_get_##attr( \ + dom_html_frame_set_element *element, \ + dom_string **attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_get_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } +#define SIMPLE_SET(attr) \ +dom_exception dom_html_frame_set_element_set_##attr( \ + dom_html_frame_set_element *element, \ + dom_string *attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_set_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } + +#define SIMPLE_GET_SET(attr) SIMPLE_GET(attr) SIMPLE_SET(attr) + +SIMPLE_SET(rows); +SIMPLE_SET(cols); + +/** + * Get the rows property + * + * \param ele The dom_html_frame_set_element object + * \param rows The returned status + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_frame_set_element_get_rows( + dom_html_frame_set_element *ele, + dom_string **rows) +{ + dom_html_document *doc; + bool has_value = false; + dom_exception err; + + doc = (dom_html_document *) ((dom_node_internal *) ele)->owner; + + err = dom_element_has_attribute(ele, + doc->memoised[hds_rows], &has_value); + if(err !=DOM_NO_ERR) + return err; + + if(has_value) { + return dom_element_get_attribute(ele, + doc->memoised[hds_rows], rows); + } + + *rows = ele->cols_rows_default; + if (*rows != NULL) + dom_string_ref(*rows); + + return DOM_NO_ERR; +} + +/** + * Get the cols property + * + * \param ele The dom_html_frame_set_element object + * \param cols The returned status + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_frame_set_element_get_cols( + dom_html_frame_set_element *ele, + dom_string **cols) +{ + dom_html_document *doc; + bool has_value = false; + dom_exception err; + + doc = (dom_html_document *) ((dom_node_internal *) ele)->owner; + + err = dom_element_has_attribute(ele, + doc->memoised[hds_cols], &has_value); + if(err !=DOM_NO_ERR) + return err; + + if(has_value) { + return dom_element_get_attribute(ele, + doc->memoised[hds_cols], cols); + } + + *cols = ele->cols_rows_default; + if (*cols != NULL) + dom_string_ref(*cols); + return DOM_NO_ERR; +} diff --git a/src/html/html_frameset_element.h b/src/html/html_frameset_element.h index 2e182d5..fd1c255 100644 --- a/src/html/html_frameset_element.h +++ b/src/html/html_frameset_element.h @@ -3,5 +3,51 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_internal_html_frame_set_element_h_ +#define dom_internal_html_frame_set_element_h_ + +#include <dom/html/html_frameset_element.h> +#include "html/html_element.h" + + +struct dom_html_frame_set_element { + struct dom_html_element base; + /**< The base class */ + dom_string *cols_rows_default; +}; + +/* Create a dom_html_frame_set_element object */ +dom_exception _dom_html_frame_set_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_frame_set_element **ele); + +/* Initialise a dom_html_frame_set_element object */ +dom_exception _dom_html_frame_set_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_frame_set_element *ele); + +/* Finalise a dom_html_frame_set_element object */ +void _dom_html_frame_set_element_finalise(struct dom_html_frame_set_element *ele); + +/* Destroy a dom_html_frame_set_element object */ +void _dom_html_frame_set_element_destroy(struct dom_html_frame_set_element *ele); + +/* The protected virtual functions */ +dom_exception _dom_html_frame_set_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed); +void _dom_virtual_html_frame_set_element_destroy(dom_node_internal *node); +dom_exception _dom_html_frame_set_element_copy(dom_node_internal *old, + dom_node_internal **copy); + +#define DOM_HTML_FRAME_SET_ELEMENT_PROTECT_VTABLE \ + _dom_html_frame_set_element_parse_attribute + +#define DOM_NODE_PROTECT_VTABLE_HTML_FRAME_SET_ELEMENT \ + _dom_virtual_html_frame_set_element_destroy, \ + _dom_html_frame_set_element_copy + +#endif diff --git a/src/html/html_heading_element.c b/src/html/html_heading_element.c index 2e182d5..ba2842f 100644 --- a/src/html/html_heading_element.c +++ b/src/html/html_heading_element.c @@ -3,5 +3,161 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar<rsk1coder99@gmail.com> */ +#include <assert.h> +#include <stdlib.h> + +#include <dom/html/html_heading_element.h> + +#include "html/html_document.h" +#include "html/html_heading_element.h" + +#include "core/node.h" +#include "core/attr.h" +#include "utils/utils.h" + +static struct dom_element_protected_vtable _protect_vtable = { + { + DOM_NODE_PROTECT_VTABLE_HTML_HEADING_ELEMENT + }, + DOM_HTML_HEADING_ELEMENT_PROTECT_VTABLE +}; + +/** + * Create a dom_html_heading_element object + * + * \param doc The document object + * \param ele The returned element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_heading_element_create(struct dom_html_document *doc, + dom_string *tag_name, dom_string *namespace, + dom_string *prefix, struct dom_html_heading_element **ele) +{ + struct dom_node_internal *node; + + *ele = malloc(sizeof(dom_html_heading_element)); + if (*ele == NULL) + return DOM_NO_MEM_ERR; + + /* Set up vtables */ + node = (struct dom_node_internal *) *ele; + node->base.vtable = &_dom_html_element_vtable; + node->vtable = &_protect_vtable; + + return _dom_html_heading_element_initialise(doc, + tag_name, namespace, + prefix, *ele); +} + +/** + * Initialise a dom_html_heading_element object + * + * \param doc The document object + * \param ele The dom_html_heading_element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_heading_element_initialise(struct dom_html_document *doc, + dom_string *tag_name, dom_string *namespace, + dom_string *prefix, struct dom_html_heading_element *ele) +{ + return _dom_html_element_initialise(doc, &ele->base, + tag_name, namespace, + prefix); +} + +/** + * Finalise a dom_html_heading_element object + * + * \param ele The dom_html_heading_element object + */ +void _dom_html_heading_element_finalise(struct dom_html_heading_element *ele) +{ + _dom_html_element_finalise(&ele->base); +} + +/** + * Destroy a dom_html_heading_element object + * + * \param ele The dom_html_heading_element object + */ +void _dom_html_heading_element_destroy(struct dom_html_heading_element *ele) +{ + _dom_html_heading_element_finalise(ele); + free(ele); +} + +/*------------------------------------------------------------------------*/ +/* The protected virtual functions */ + +/* The virtual function used to parse attribute value, see src/core/element.c + * for detail */ +dom_exception _dom_html_heading_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed) +{ + UNUSED(ele); + UNUSED(name); + + dom_string_ref(value); + *parsed = value; + + return DOM_NO_ERR; +} + +/* The virtual destroy function, see src/core/node.c for detail */ +void _dom_virtual_html_heading_element_destroy(dom_node_internal *node) +{ + _dom_html_heading_element_destroy((struct dom_html_heading_element *) node); +} + +/* The virtual copy function, see src/core/node.c for detail */ +dom_exception _dom_html_heading_element_copy(dom_node_internal *old, + dom_node_internal **copy) +{ + return _dom_html_element_copy(old, copy); +} + +/*-----------------------------------------------------------------------*/ +/* API functions */ + +#define SIMPLE_GET(attr) \ + dom_exception dom_html_heading_element_get_##attr( \ + dom_html_heading_element *element, \ + dom_string **attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_get_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } +#define SIMPLE_SET(attr) \ +dom_exception dom_html_heading_element_set_##attr( \ + dom_html_heading_element *element, \ + dom_string *attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_set_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } + +#define SIMPLE_GET_SET(attr) SIMPLE_GET(attr) SIMPLE_SET(attr) + +SIMPLE_GET_SET(align); diff --git a/src/html/html_heading_element.h b/src/html/html_heading_element.h index 2e182d5..fdd1c25 100644 --- a/src/html/html_heading_element.h +++ b/src/html/html_heading_element.h @@ -3,5 +3,50 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_internal_html_heading_element_h_ +#define dom_internal_html_heading_element_h_ + +#include <dom/html/html_heading_element.h> +#include "html/html_element.h" + + +struct dom_html_heading_element { + struct dom_html_element base; + /**< The base class */ +}; + +/* Create a dom_html_heading_element object */ +dom_exception _dom_html_heading_element_create(struct dom_html_document *doc, + dom_string *tag_name, dom_string *namespace, + dom_string *prefix, struct dom_html_heading_element **ele); + +/* Initialise a dom_html_heading_element object */ +dom_exception _dom_html_heading_element_initialise(struct dom_html_document *doc, + dom_string *tag_name, dom_string *namespace, + dom_string *prefix, struct dom_html_heading_element *ele); + +/* Finalise a dom_html_heading_element object */ +void _dom_html_heading_element_finalise(struct dom_html_heading_element *ele); + +/* Destroy a dom_html_heading_element object */ +void _dom_html_heading_element_destroy(struct dom_html_heading_element *ele); + +/* The protected virtual functions */ +dom_exception _dom_html_heading_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed); +void _dom_virtual_html_heading_element_destroy(dom_node_internal *node); +dom_exception _dom_html_heading_element_copy(dom_node_internal *old, + dom_node_internal **copy); + +#define DOM_HTML_HEADING_ELEMENT_PROTECT_VTABLE \ + _dom_html_heading_element_parse_attribute + +#define DOM_NODE_PROTECT_VTABLE_HTML_HEADING_ELEMENT \ + _dom_virtual_html_heading_element_destroy, \ + _dom_html_heading_element_copy + +#endif diff --git a/src/html/html_iframe_element.c b/src/html/html_iframe_element.c index 2e182d5..6f15b3e 100644 --- a/src/html/html_iframe_element.c +++ b/src/html/html_iframe_element.c @@ -3,5 +3,267 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar<rsk1coder99@gmail.com> */ +#include <assert.h> +#include <stdlib.h> + +#include <dom/html/html_iframe_element.h> + +#include "html/html_document.h" +#include "html/html_iframe_element.h" + +#include "core/node.h" +#include "core/attr.h" +#include "utils/utils.h" + +static struct dom_element_protected_vtable _protect_vtable = { + { + DOM_NODE_PROTECT_VTABLE_HTML_IFRAME_ELEMENT + }, + DOM_HTML_IFRAME_ELEMENT_PROTECT_VTABLE +}; + +/** + * Create a dom_html_iframe_element object + * + * \param doc The document object + * \param ele The returned element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_iframe_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_iframe_element **ele) +{ + struct dom_node_internal *node; + + *ele = malloc(sizeof(dom_html_iframe_element)); + if (*ele == NULL) + return DOM_NO_MEM_ERR; + + /* Set up vtables */ + node = (struct dom_node_internal *) *ele; + node->base.vtable = &_dom_html_element_vtable; + node->vtable = &_protect_vtable; + + return _dom_html_iframe_element_initialise(doc, namespace, prefix, *ele); +} + +/** + * Initialise a dom_html_iframe_element object + * + * \param doc The document object + * \param ele The dom_html_iframe_element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_iframe_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_iframe_element *ele) +{ + dom_string *scrolling_default = NULL; + dom_exception err; + err = dom_string_create((const uint8_t *) "auto", SLEN("auto"), &scrolling_default); + if (err != DOM_NO_ERR) + return err; + + + dom_string *frame_border_default = NULL; + err = dom_string_create((const uint8_t *) "1", SLEN("1"), &frame_border_default); + if (err != DOM_NO_ERR) + return err; + + err = _dom_html_element_initialise(doc, &ele->base, + doc->memoised[hds_IFRAME], + namespace, prefix); + + ele->scrolling_default = scrolling_default; + ele->frame_border_default = frame_border_default; + + return err; +} + +/** + * Finalise a dom_html_iframe_element object + * + * \param ele The dom_html_iframe_element object + */ +void _dom_html_iframe_element_finalise(struct dom_html_iframe_element *ele) +{ + _dom_html_element_finalise(&ele->base); +} + +/** + * Destroy a dom_html_iframe_element object + * + * \param ele The dom_html_iframe_element object + */ +void _dom_html_iframe_element_destroy(struct dom_html_iframe_element *ele) +{ + _dom_html_iframe_element_finalise(ele); + free(ele); +} + +/*------------------------------------------------------------------------*/ +/* The protected virtual functions */ + +/* The virtual function used to parse attribute value, see src/core/element.c + * for detail */ +dom_exception _dom_html_iframe_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed) +{ + UNUSED(ele); + UNUSED(name); + + dom_string_ref(value); + *parsed = value; + + return DOM_NO_ERR; +} + +/* The virtual destroy function, see src/core/node.c for detail */ +void _dom_virtual_html_iframe_element_destroy(dom_node_internal *node) +{ + _dom_html_iframe_element_destroy((struct dom_html_iframe_element *) node); +} + +/* The virtual copy function, see src/core/node.c for detail */ +dom_exception _dom_html_iframe_element_copy(dom_node_internal *old, + dom_node_internal **copy) +{ + return _dom_html_element_copy(old, copy); +} + +/*-----------------------------------------------------------------------*/ +/* API functions */ + +#define SIMPLE_GET(attr) \ + dom_exception dom_html_iframe_element_get_##attr( \ + dom_html_iframe_element *element, \ + dom_string **attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_get_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } +#define SIMPLE_SET(attr) \ +dom_exception dom_html_iframe_element_set_##attr( \ + dom_html_iframe_element *element, \ + dom_string *attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_set_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } + +#define SIMPLE_GET_SET(attr) SIMPLE_GET(attr) SIMPLE_SET(attr) + +SIMPLE_GET_SET(long_desc); +SIMPLE_GET_SET(align); +SIMPLE_GET_SET(name); +SIMPLE_GET_SET(src); +SIMPLE_GET_SET(margin_width); +SIMPLE_GET_SET(margin_height); +SIMPLE_SET(scrolling); +SIMPLE_SET(frame_border); +SIMPLE_GET_SET(width); +SIMPLE_GET_SET(height); + + +/** + * Get the frame_border property + * + * \param ele The dom_html_iframe_element object + * \param iframe_border The returned status + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_iframe_element_get_frame_border( + dom_html_iframe_element *ele, + dom_string **frame_border) +{ + dom_html_document *doc; + bool has_value = false; + dom_exception err; + + doc = (dom_html_document *) ((dom_node_internal *) ele)->owner; + + err = dom_element_has_attribute(ele, + doc->memoised[hds_frame_border], &has_value); + if(err !=DOM_NO_ERR) + return err; + + if(has_value) { + return dom_element_get_attribute(ele, + doc->memoised[hds_frame_border], frame_border); + } + + *frame_border = ele->frame_border_default; + if (*frame_border != NULL) + dom_string_ref(*frame_border); + return DOM_NO_ERR; +} + +/** + * Get the frame_border property + * + * \param ele The dom_html_iframe_element object + * \param scrolling The returned status + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_iframe_element_get_scrolling( + dom_html_iframe_element *ele, + dom_string **scrolling) +{ + dom_html_document *doc; + bool has_value = false; + dom_exception err; + + doc = (dom_html_document *) ((dom_node_internal *) ele)->owner; + + err = dom_element_has_attribute(ele, + doc->memoised[hds_scrolling], &has_value); + if(err !=DOM_NO_ERR) + return err; + + if(has_value) { + return dom_element_get_attribute(ele, + doc->memoised[hds_scrolling], scrolling); + } + + *scrolling = ele->scrolling_default; + if (*scrolling != NULL) + dom_string_ref(*scrolling); + return DOM_NO_ERR; +} + +/** + * Get the frame_border property + * + * \param ele The dom_html_iframe_element object + * \param content_document The returned status + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_iframe_element_get_content_document( + dom_html_iframe_element *ele, + dom_document **content_document) +{ + *content_document = dom_node_get_owner(ele); + return DOM_NO_ERR; +} diff --git a/src/html/html_iframe_element.h b/src/html/html_iframe_element.h index 2e182d5..dafc9e1 100644 --- a/src/html/html_iframe_element.h +++ b/src/html/html_iframe_element.h @@ -3,5 +3,53 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_internal_html_iframe_element_h_ +#define dom_internal_html_iframe_element_h_ + +#include <dom/html/html_iframe_element.h> +#include "html/html_element.h" + + +struct dom_html_iframe_element { + struct dom_html_element base; + /**< The base class */ + dom_string *scrolling_default; + dom_string *frame_border_default; +}; + +/* Create a dom_html_iframe_element object */ +dom_exception _dom_html_iframe_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_iframe_element **ele); + +/* Initialise a dom_html_iframe_element object */ +dom_exception _dom_html_iframe_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_iframe_element *ele); + +/* Finalise a dom_html_iframe_element object */ +void _dom_html_iframe_element_finalise(struct dom_html_iframe_element *ele); + +/* Destroy a dom_html_iframe_element object */ +void _dom_html_iframe_element_destroy(struct dom_html_iframe_element *ele); + +/* The protected virtual functions */ +dom_exception _dom_html_iframe_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed); +void _dom_virtual_html_iframe_element_destroy(dom_node_internal *node); +dom_exception _dom_html_iframe_element_copy(dom_node_internal *old, + dom_node_internal **copy); + +#define DOM_HTML_IFRAME_ELEMENT_PROTECT_VTABLE \ + _dom_html_iframe_element_parse_attribute + +#define DOM_NODE_PROTECT_VTABLE_HTML_IFRAME_ELEMENT \ + _dom_virtual_html_iframe_element_destroy, \ + _dom_html_iframe_element_copy + +#endif + diff --git a/src/html/html_image_element.c b/src/html/html_image_element.c index 2e182d5..77bdd27 100644 --- a/src/html/html_image_element.c +++ b/src/html/html_image_element.c @@ -3,5 +3,250 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#include <assert.h> +#include <stdlib.h> + +#include <dom/html/html_image_element.h> + +#include "html/html_document.h" +#include "html/html_image_element.h" + +#include "core/node.h" +#include "core/attr.h" +#include "utils/utils.h" + +static struct dom_element_protected_vtable _protect_vtable = { + { + DOM_NODE_PROTECT_VTABLE_HTML_IMAGE_ELEMENT + }, + DOM_HTML_IMAGE_ELEMENT_PROTECT_VTABLE +}; + +/** + * Create a dom_html_image_element object + * + * \param doc The document object + * \param ele The returned element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_image_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_image_element **ele) +{ + struct dom_node_internal *node; + + *ele = malloc(sizeof(dom_html_image_element)); + if (*ele == NULL) + return DOM_NO_MEM_ERR; + + /* Set up vtables */ + node = (struct dom_node_internal *) *ele; + node->base.vtable = &_dom_html_element_vtable; + node->vtable = &_protect_vtable; + + return _dom_html_image_element_initialise(doc, namespace, prefix, *ele); +} + +/** + * Initialise a dom_html_image_element object + * + * \param doc The document object + * \param ele The dom_html_image_element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_image_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_image_element *ele) +{ + return _dom_html_element_initialise(doc, &ele->base, + doc->memoised[hds_IMG], + namespace, prefix); +} + +/** + * Finalise a dom_html_image_element object + * + * \param ele The dom_html_image_element object + */ +void _dom_html_image_element_finalise(struct dom_html_image_element *ele) +{ + _dom_html_element_finalise(&ele->base); +} + +/** + * Destroy a dom_html_image_element object + * + * \param ele The dom_html_image_element object + */ +void _dom_html_image_element_destroy(struct dom_html_image_element *ele) +{ + _dom_html_image_element_finalise(ele); + free(ele); +} + +/*------------------------------------------------------------------------*/ +/* The protected virtual functions */ + +/* The virtual function used to parse attribute value, see src/core/element.c + * for detail */ +dom_exception _dom_html_image_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed) +{ + UNUSED(ele); + UNUSED(name); + + dom_string_ref(value); + *parsed = value; + + return DOM_NO_ERR; +} + +/* The virtual destroy function, see src/core/node.c for detail */ +void _dom_virtual_html_image_element_destroy(dom_node_internal *node) +{ + _dom_html_image_element_destroy((struct dom_html_image_element *) node); +} + +/* The virtual copy function, see src/core/node.c for detail */ +dom_exception _dom_html_image_element_copy(dom_node_internal *old, + dom_node_internal **copy) +{ + return _dom_html_element_copy(old, copy); +} + +/*-----------------------------------------------------------------------*/ +/* API functions */ + +#define SIMPLE_GET(attr) \ + dom_exception dom_html_image_element_get_##attr( \ + dom_html_image_element *element, \ + dom_string **attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_get_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } +#define SIMPLE_SET(attr) \ +dom_exception dom_html_image_element_set_##attr( \ + dom_html_image_element *element, \ + dom_string *attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_set_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } + +#define SIMPLE_GET_SET(attr) SIMPLE_GET(attr) SIMPLE_SET(attr) + +SIMPLE_GET_SET(name); +SIMPLE_GET_SET(align); +SIMPLE_GET_SET(alt); +SIMPLE_GET_SET(border); +SIMPLE_GET_SET(long_desc); +SIMPLE_GET_SET(src); +SIMPLE_GET_SET(use_map); + +dom_exception dom_html_image_element_get_height( + dom_html_image_element *image, int32_t *height) +{ + return dom_html_element_get_int32_t_property(&image->base, "height", + SLEN("height"), height); +} + +dom_exception dom_html_image_element_set_height( + dom_html_image_element *image, uint32_t height) +{ + return dom_html_element_set_int32_t_property(&image->base, "height", + SLEN("height"), height); +} + +dom_exception dom_html_image_element_get_hspace( + dom_html_image_element *image, int32_t *hspace) +{ + return dom_html_element_get_int32_t_property(&image->base, "hspace", + SLEN("hspace"), hspace); +} + +dom_exception dom_html_image_element_set_hspace( + dom_html_image_element *image, uint32_t hspace) +{ + return dom_html_element_set_int32_t_property(&image->base, "hspace", + SLEN("hspace"), hspace); +} + +dom_exception dom_html_image_element_get_vspace( + dom_html_image_element *image, int32_t *vspace) +{ + return dom_html_element_get_int32_t_property(&image->base, "vspace", + SLEN("cspace"), vspace); +} + +dom_exception dom_html_image_element_set_vspace( + dom_html_image_element *image, uint32_t vspace) +{ + return dom_html_element_set_int32_t_property(&image->base, "vspace", + SLEN("vsapce"), vspace); +} + +dom_exception dom_html_image_element_get_width( + dom_html_image_element *image, int32_t *width) +{ + return dom_html_element_get_int32_t_property(&image->base, "width", + SLEN("width"), width); +} + +dom_exception dom_html_image_element_set_width( + dom_html_image_element *image, uint32_t width) +{ + return dom_html_element_set_int32_t_property(&image->base, "width", + SLEN("width"), width); +} + +/** + * Get the is_map property + * + * \param ele The dom_html_image_element object + * \param is_map The status + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_image_element_get_is_map(dom_html_image_element *ele, + bool *is_map) +{ + return dom_html_element_get_bool_property(&ele->base, "ismap", + SLEN("ismap"), is_map); +} + +/** + * Set the is_map property + * + * \param ele The dom_html_image_element object + * \param is_map The status + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_image_element_set_is_map(dom_html_image_element *ele, + bool is_map) +{ + return dom_html_element_set_bool_property(&ele->base, "ismap", + SLEN("ismap"), is_map); +} + diff --git a/src/html/html_image_element.h b/src/html/html_image_element.h index 2e182d5..ac73a1b 100644 --- a/src/html/html_image_element.h +++ b/src/html/html_image_element.h @@ -3,5 +3,50 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_internal_html_image_element_h_ +#define dom_internal_html_image_element_h_ + +#include <dom/html/html_image_element.h> + +#include "html/html_element.h" + +struct dom_html_image_element { + struct dom_html_element base; + /**< The base class */ +}; + +/* Create a dom_html_image_element object */ +dom_exception _dom_html_image_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_image_element **ele); + +/* Initialise a dom_html_image_element object */ +dom_exception _dom_html_image_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_image_element *ele); + +/* Finalise a dom_html_image_element object */ +void _dom_html_image_element_finalise(struct dom_html_image_element *ele); + +/* Destroy a dom_html_image_element object */ +void _dom_html_image_element_destroy(struct dom_html_image_element *ele); + +/* The protected virtual functions */ +dom_exception _dom_html_image_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed); +void _dom_virtual_html_image_element_destroy(dom_node_internal *node); +dom_exception _dom_html_image_element_copy(dom_node_internal *old, + dom_node_internal **copy); + +#define DOM_HTML_IMAGE_ELEMENT_PROTECT_VTABLE \ + _dom_html_image_element_parse_attribute + +#define DOM_NODE_PROTECT_VTABLE_HTML_IMAGE_ELEMENT \ + _dom_virtual_html_image_element_destroy, \ + _dom_html_image_element_copy + +#endif diff --git a/src/html/html_input_element.c b/src/html/html_input_element.c index bab79f2..84079f7 100644 --- a/src/html/html_input_element.c +++ b/src/html/html_input_element.c @@ -65,6 +65,8 @@ dom_exception _dom_html_input_element_initialise(struct dom_html_document *doc, ele->default_checked_set = false; ele->default_value = NULL; ele->default_value_set = false; + ele->checked = false; + ele->checked_set = false; return _dom_html_element_initialise(doc, &ele->base, doc->memoised[hds_INPUT], @@ -166,6 +168,11 @@ dom_exception dom_html_input_element_set_read_only(dom_html_input_element *ele, dom_exception dom_html_input_element_get_checked(dom_html_input_element *ele, bool *checked) { + if(ele->checked_set) { + *checked = ele->checked; + return DOM_NO_ERR; + } + return dom_html_element_get_bool_property(&ele->base, "checked", SLEN("checked"), checked); } @@ -349,12 +356,24 @@ SIMPLE_GET_SET(access_key); SIMPLE_GET_SET(align); SIMPLE_GET_SET(alt); SIMPLE_GET_SET(name); -SIMPLE_GET_SET(size); SIMPLE_GET_SET(src); SIMPLE_GET(type); SIMPLE_GET_SET(use_map); SIMPLE_GET_SET(value); +dom_exception dom_html_input_element_get_size( + dom_html_input_element *input, int32_t *size) +{ + return dom_html_element_get_int32_t_property(&input->base, "size", + SLEN("size"), size); +} + +dom_exception dom_html_input_element_set_size( + dom_html_input_element *input, uint32_t size) +{ + return dom_html_element_set_int32_t_property(&input->base, "size", + SLEN("size"), size); +} dom_exception dom_html_input_element_get_tab_index( dom_html_input_element *input, int32_t *tab_index) { @@ -435,11 +454,11 @@ dom_exception dom_html_input_element_focus(dom_html_input_element *ele) bool success = false; assert(doc != NULL); - /** \todo Is this event (a) default (b) bubbling and (c) cancelable? */ + /** \this event doesnt bubble and is non-cancelable src:wikipedia*/ return _dom_dispatch_generic_event((dom_document *)doc, (dom_event_target *) ele, - doc->memoised[hds_focus], true, - true, &success); + doc->memoised[hds_focus], false, + false, &success); } /** @@ -455,11 +474,11 @@ dom_exception dom_html_input_element_select(dom_html_input_element *ele) bool success = false; assert(doc != NULL); - /** \todo Is this event (a) default (b) bubbling and (c) cancelable? */ + /** \this event bubbles and non-cancelable src:wikipedia*/ return _dom_dispatch_generic_event((dom_document *)doc, (dom_event_target *) ele, doc->memoised[hds_select], true, - true, &success); + false, &success); } /** @@ -473,13 +492,21 @@ dom_exception dom_html_input_element_click(dom_html_input_element *ele) struct dom_html_document *doc = (dom_html_document *) dom_node_get_owner(ele); bool success = false; + dom_exception err; assert(doc != NULL); - /** \todo Is this is meant to check/uncheck boxes, radios etc */ - /** \todo Is this event (a) default (b) bubbling and (c) cancelable? */ - return _dom_dispatch_generic_event((dom_document *)doc, + + /** \This event bubbles & is cancelable src:Wikipedia*/ + err = _dom_dispatch_generic_event((dom_document *)doc, (dom_event_target *) ele, doc->memoised[hds_click], true, true, &success); + if(err != DOM_NO_ERR) + return err; + + ele->checked = true; + ele->checked_set = true; + + return DOM_NO_ERR; } diff --git a/src/html/html_input_element.h b/src/html/html_input_element.h index 72c7d51..b818b2e 100644 --- a/src/html/html_input_element.h +++ b/src/html/html_input_element.h @@ -21,6 +21,8 @@ struct dom_html_input_element { bool default_checked_set; /**< Whether default_checked has been set */ dom_string *default_value; /**< Initial value */ bool default_value_set; /**< Whether default_value has been set */ + bool checked; /**< Whether the element has been checked by a click */ + bool checked_set; }; /* Create a dom_html_input_element object */ diff --git a/src/html/html_isindex_element.c b/src/html/html_isindex_element.c index 6dc96b9..e79e011 100644 --- a/src/html/html_isindex_element.c +++ b/src/html/html_isindex_element.c @@ -7,9 +7,13 @@ #include <stdlib.h> +#include <dom/html/html_isindex_element.h> + +#include "html/html_document.h" #include "html/html_isindex_element.h" #include "core/node.h" +#include "core/attr.h" #include "utils/utils.h" static struct dom_element_protected_vtable _protect_vtable = { @@ -22,55 +26,41 @@ static struct dom_element_protected_vtable _protect_vtable = { /** * Create a dom_html_isindex_element object * - * \param doc The document object - * \param form The form element which contains this element - * \param ele The returned element object + * \param doc The document object + * \param ele The returned element object * \return DOM_NO_ERR on success, appropriate dom_exception on failure. */ dom_exception _dom_html_isindex_element_create(struct dom_html_document *doc, - struct dom_html_form_element *form, + dom_string *namespace, dom_string *prefix, struct dom_html_isindex_element **ele) { struct dom_node_internal *node; - *ele = malloc(sizeof(dom_html_isindex_element)); if (*ele == NULL) return DOM_NO_MEM_ERR; - + /* Set up vtables */ node = (struct dom_node_internal *) *ele; node->base.vtable = &_dom_html_element_vtable; node->vtable = &_protect_vtable; - return _dom_html_isindex_element_initialise(doc, form, *ele); + return _dom_html_isindex_element_initialise(doc, namespace, prefix, *ele); } /** * Initialise a dom_html_isindex_element object * - * \param doc The document object - * \param form The form element which contains this element - * \param ele The dom_html_isindex_element object + * \param doc The document object + * \param ele The dom_html_isindex_element object * \return DOM_NO_ERR on success, appropriate dom_exception on failure. */ dom_exception _dom_html_isindex_element_initialise(struct dom_html_document *doc, - struct dom_html_form_element *form, + dom_string *namespace, dom_string *prefix, struct dom_html_isindex_element *ele) { - dom_string *name = NULL; - dom_exception err; - - UNUSED(form); - - err = dom_string_create((const uint8_t *) "ISINDEX", SLEN("ISINDEX"), - &name); - if (err != DOM_NO_ERR) - return err; - - err = _dom_html_element_initialise(doc, &ele->base, name, NULL, NULL); - dom_string_unref(name); - - return err; + return _dom_html_element_initialise(doc, &ele->base, + doc->memoised[hds_ISINDEX], + namespace, prefix); } /** @@ -125,7 +115,46 @@ dom_exception _dom_html_isindex_element_copy(dom_node_internal *old, return _dom_html_element_copy(old, copy); } - +/*-----------------------------------------------------------------------*/ +/* API functions */ + +#define SIMPLE_GET(attr) \ + dom_exception dom_html_isindex_element_get_##attr( \ + dom_html_isindex_element *element, \ + dom_string **attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_get_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } +#define SIMPLE_SET(attr) \ +dom_exception dom_html_isindex_element_set_##attr( \ + dom_html_isindex_element *element, \ + dom_string *attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_set_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } + +#define SIMPLE_GET_SET(attr) SIMPLE_GET(attr) SIMPLE_SET(attr) +SIMPLE_GET_SET(prompt); /*-----------------------------------------------------------------------*/ /* Public APIs */ diff --git a/src/html/html_isindex_element.h b/src/html/html_isindex_element.h index 12ad26e..a39170b 100644 --- a/src/html/html_isindex_element.h +++ b/src/html/html_isindex_element.h @@ -19,12 +19,12 @@ struct dom_html_isindex_element { /* Create a dom_html_isindex_element object */ dom_exception _dom_html_isindex_element_create(struct dom_html_document *doc, - struct dom_html_form_element *form, + dom_string *namespace, dom_string *prefix, struct dom_html_isindex_element **ele); /* Initialise a dom_html_isindex_element object */ dom_exception _dom_html_isindex_element_initialise(struct dom_html_document *doc, - struct dom_html_form_element *form, + dom_string *namespace, dom_string *prefix, struct dom_html_isindex_element *ele); /* Finalise a dom_html_isindex_element object */ diff --git a/src/html/html_label_element.c b/src/html/html_label_element.c index 2e182d5..1ffbf71 100644 --- a/src/html/html_label_element.c +++ b/src/html/html_label_element.c @@ -3,5 +3,192 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#include <assert.h> +#include <stdlib.h> + +#include "html/html_document.h" +#include "html/html_label_element.h" + +#include "core/node.h" +#include "utils/utils.h" + +static struct dom_element_protected_vtable _protect_vtable = { + { + DOM_NODE_PROTECT_VTABLE_HTML_LABEL_ELEMENT + }, + DOM_HTML_LABEL_ELEMENT_PROTECT_VTABLE +}; + +/** + * Create a dom_html_label_element object + * + * \param doc The document object + * \param ele The returned element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_label_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_label_element **ele) +{ + struct dom_node_internal *node; + + *ele = malloc(sizeof(dom_html_label_element)); + if (*ele == NULL) + return DOM_NO_MEM_ERR; + + /* Set up vtables */ + node = (struct dom_node_internal *) *ele; + node->base.vtable = &_dom_html_element_vtable; + node->vtable = &_protect_vtable; + + return _dom_html_label_element_initialise(doc, namespace, prefix, *ele); +} + +/** + * Initialise a dom_html_label_element object + * + * \param doc The document object + * \param ele The dom_html_label_element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_label_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_label_element *ele) +{ + ele->form = NULL; + + return _dom_html_element_initialise(doc, &ele->base, + doc->memoised[hds_LABEL], + namespace, prefix); +} + +/** + * Finalise a dom_html_label_element object + * + * \param ele The dom_html_label_element object + */ +void _dom_html_label_element_finalise(struct dom_html_label_element *ele) +{ + _dom_html_element_finalise(&ele->base); +} + +/** + * Destroy a dom_html_label_element object + * + * \param ele The dom_html_label_element object + */ +void _dom_html_label_element_destroy(struct dom_html_label_element *ele) +{ + _dom_html_label_element_finalise(ele); + free(ele); +} + +/*------------------------------------------------------------------------*/ +/* The protected virtual functions */ + +/* The virtual function used to parse attribute value, see src/core/element.c + * for detail */ +dom_exception _dom_html_label_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed) +{ + UNUSED(ele); + UNUSED(name); + + dom_string_ref(value); + *parsed = value; + + return DOM_NO_ERR; +} + +/* The virtual destroy function, see src/core/node.c for detail */ +void _dom_virtual_html_label_element_destroy(dom_node_internal *node) +{ + _dom_html_label_element_destroy((struct dom_html_label_element *) node); +} + +/* The virtual copy function, see src/core/node.c for detail */ +dom_exception _dom_html_label_element_copy(dom_node_internal *old, + dom_node_internal **copy) +{ + return _dom_html_element_copy(old, copy); +} + +/** + * Get the dom_html_form_element object + * + * \param label The dom_html_label_element object + * \param form The returned dom_htmlform_element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_label_element_get_form( + dom_html_label_element *label, dom_html_form_element **form) +{ + dom_html_document *doc + = (dom_html_document *) ((dom_node_internal *) label)->owner; + dom_node_internal *form_tmp = ((dom_node_internal *) label)->parent; + + /* Search ancestor chain for FIELDSET element */ + while (form_tmp != NULL) { + if (form_tmp->type == DOM_ELEMENT_NODE && + dom_string_caseless_isequal(form_tmp->name, + doc->memoised[hds_FORM])) + break; + + form_tmp = form_tmp->parent; + } + + if (form_tmp != NULL) { + *form = (dom_html_form_element *) form_tmp; + return DOM_NO_ERR; + } + + *form = NULL; + + return DOM_NO_ERR; +} +/*-----------------------------------------------------------------------*/ +/* API functions */ + +#define SIMPLE_GET(attr) \ + dom_exception dom_html_label_element_get_##attr( \ + dom_html_label_element *element, \ + dom_string **attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_get_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } +#define SIMPLE_SET(attr) \ +dom_exception dom_html_label_element_set_##attr( \ + dom_html_label_element *element, \ + dom_string *attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_set_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } + +#define SIMPLE_GET_SET(attr) SIMPLE_GET(attr) SIMPLE_SET(attr) +SIMPLE_GET_SET(access_key); +SIMPLE_GET_SET(html_for); + diff --git a/src/html/html_label_element.h b/src/html/html_label_element.h index 2e182d5..e28b453 100644 --- a/src/html/html_label_element.h +++ b/src/html/html_label_element.h @@ -3,5 +3,52 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_internal_html_label_element_h_ +#define dom_internal_html_label_element_h_ + +#include <dom/html/html_label_element.h> +#include "html/html_element.h" + + +struct dom_html_label_element { + struct dom_html_element base; + /**< The base class */ + dom_html_form_element *form; + /**< The form associated with label */ +}; + +/* Create a dom_html_label_element object */ +dom_exception _dom_html_label_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_label_element **ele); + +/* Initialise a dom_html_label_element object */ +dom_exception _dom_html_label_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_label_element *ele); + +/* Finalise a dom_html_label_element object */ +void _dom_html_label_element_finalise(struct dom_html_label_element *ele); + +/* Destroy a dom_html_label_element object */ +void _dom_html_label_element_destroy(struct dom_html_label_element *ele); + +/* The protected virtual functions */ +dom_exception _dom_html_label_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed); +void _dom_virtual_html_label_element_destroy(dom_node_internal *node); +dom_exception _dom_html_label_element_copy(dom_node_internal *old, + dom_node_internal **copy); + +#define DOM_HTML_LABEL_ELEMENT_PROTECT_VTABLE \ + _dom_html_label_element_parse_attribute + +#define DOM_NODE_PROTECT_VTABLE_HTML_LABEL_ELEMENT \ + _dom_virtual_html_label_element_destroy, \ + _dom_html_label_element_copy + +#endif diff --git a/src/html/html_legend_element.c b/src/html/html_legend_element.c index 2e182d5..2d0e939 100644 --- a/src/html/html_legend_element.c +++ b/src/html/html_legend_element.c @@ -3,5 +3,213 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#include <assert.h> +#include <stdlib.h> + +#include <dom/html/html_legend_element.h> +#include <dom/html/html_fieldset_element.h> + +#include "html/html_document.h" +#include "html/html_legend_element.h" + +#include "core/node.h" +#include "core/attr.h" +#include "utils/utils.h" + +static struct dom_element_protected_vtable _protect_vtable = { + { + DOM_NODE_PROTECT_VTABLE_HTML_LEGEND_ELEMENT + }, + DOM_HTML_LEGEND_ELEMENT_PROTECT_VTABLE +}; + +/** + * Create a dom_html_legend_element object + * + * \param doc The document object + * \param ele The returned element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_legend_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_legend_element **ele) +{ + struct dom_node_internal *node; + + *ele = malloc(sizeof(dom_html_legend_element)); + if (*ele == NULL) + return DOM_NO_MEM_ERR; + + /* Set up vtables */ + node = (struct dom_node_internal *) *ele; + node->base.vtable = &_dom_html_element_vtable; + node->vtable = &_protect_vtable; + + return _dom_html_legend_element_initialise(doc, namespace, prefix, *ele); +} + +/** + * Initialise a dom_html_legend_element object + * + * \param doc The document object + * \param ele The dom_html_legend_element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_legend_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_legend_element *ele) +{ + return _dom_html_element_initialise(doc, &ele->base, + doc->memoised[hds_LEGEND], + namespace, prefix); +} + +/** + * Finalise a dom_html_legend_element object + * + * \param ele The dom_html_legend_element object + */ +void _dom_html_legend_element_finalise(struct dom_html_legend_element *ele) +{ + _dom_html_element_finalise(&ele->base); +} + +/** + * Destroy a dom_html_legend_element object + * + * \param ele The dom_html_legend_element object + */ +void _dom_html_legend_element_destroy(struct dom_html_legend_element *ele) +{ + _dom_html_legend_element_finalise(ele); + free(ele); +} + +/** + * Get the dom_html_form_element object + * + * \param legend The dom_html_legend_element object + * \param form The returned dom_html_form_element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_legend_element_get_form( + dom_html_legend_element *legend, dom_html_form_element **form) +{ + dom_html_document *doc + = (dom_html_document *) ((dom_node_internal *) legend)->owner; + dom_node_internal *field_set = ((dom_node_internal *) legend)->parent; + + /* Search ancestor chain for FIELDSET element */ + while (field_set != NULL) { + if (field_set->type == DOM_ELEMENT_NODE && + dom_string_caseless_isequal(field_set->name, + doc->memoised[hds_FIELDSET])) + break; + + field_set = field_set->parent; + } + + if (field_set != NULL) { + return dom_html_field_set_element_get_form((dom_html_field_set_element *) field_set, + form); + } + + *form = NULL; + + return DOM_NO_ERR; +} + +/*------------------------------------------------------------------------*/ +/* The protected virtual functions */ + +/* The virtual function used to parse attribute value, see src/core/element.c + * for detail */ +dom_exception _dom_html_legend_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed) +{ + UNUSED(ele); + UNUSED(name); + dom_string_ref(value); + *parsed = value; + + return DOM_NO_ERR; +} + +/* The virtual destroy function, see src/core/node.c for detail */ +void _dom_virtual_html_legend_element_destroy(dom_node_internal *node) +{ + _dom_html_legend_element_destroy((struct dom_html_legend_element *) node); +} + +/* The virtual copy function, see src/core/node.c for detail */ +dom_exception _dom_html_legend_element_copy(dom_node_internal *old, + dom_node_internal **copy) +{ + return _dom_html_element_copy(old, copy); +} + +/*-----------------------------------------------------------------------*/ +/* API functions */ + +#define SIMPLE_GET(attr) \ + dom_exception dom_html_legend_element_get_##attr( \ + dom_html_legend_element *element, \ + dom_string **attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_get_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } +#define SIMPLE_SET(attr) \ +dom_exception dom_html_legend_element_set_##attr( \ + dom_html_legend_element *element, \ + dom_string *attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_set_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } + +#define SIMPLE_GET_SET(attr) SIMPLE_GET(attr) SIMPLE_SET(attr) + +SIMPLE_GET_SET(access_key); +SIMPLE_SET(align); + +dom_exception dom_html_legend_element_get_align( + dom_html_legend_element *legend, dom_string **align) +{ + dom_exception err; + dom_html_document *doc = (dom_html_document *) + ((dom_node_internal *)legend)->owner; + err = dom_element_get_attribute(legend, + doc->memoised[hds_align], align); + if (err != DOM_NO_ERR) + return err; + + if (*align == NULL) { + err = dom_string_create((const uint8_t *) "none", SLEN("none"), align); + } + + return err; +} + diff --git a/src/html/html_legend_element.h b/src/html/html_legend_element.h index 2e182d5..a656ae4 100644 --- a/src/html/html_legend_element.h +++ b/src/html/html_legend_element.h @@ -3,5 +3,51 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_internal_html_legend_element_h_ +#define dom_internal_html_legend_element_h_ + +#include <dom/html/html_legend_element.h> +#include "html/html_element.h" + + +struct dom_html_legend_element { + struct dom_html_element base; + /**< The base class */ +}; + +/* Create a dom_html_legend_element object */ +dom_exception _dom_html_legend_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_legend_element **ele); + +/* Initialise a dom_html_legend_element object */ +dom_exception _dom_html_legend_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_legend_element *ele); + +/* Finalise a dom_html_legend_element object */ +void _dom_html_legend_element_finalise(struct dom_html_legend_element *ele); + +/* Destroy a dom_html_legend_element object */ +void _dom_html_legend_element_destroy(struct dom_html_legend_element *ele); + +/* The protected virtual functions */ +dom_exception _dom_html_legend_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed); +void _dom_virtual_html_legend_element_destroy(dom_node_internal *node); +dom_exception _dom_html_legend_element_copy(dom_node_internal *old, + dom_node_internal **copy); + +#define DOM_HTML_LEGEND_ELEMENT_PROTECT_VTABLE \ + _dom_html_legend_element_parse_attribute + +#define DOM_NODE_PROTECT_VTABLE_HTML_LEGEND_ELEMENT \ + _dom_virtual_html_legend_element_destroy, \ + _dom_html_legend_element_copy + +#endif + diff --git a/src/html/html_li_element.c b/src/html/html_li_element.c index 2e182d5..ca265ae 100644 --- a/src/html/html_li_element.c +++ b/src/html/html_li_element.c @@ -3,5 +3,182 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar<rsk1coder99@gmail.com> */ +#include <assert.h> +#include <stdlib.h> +#include <dom/html/html_li_element.h> + +#include "html/html_document.h" +#include "html/html_li_element.h" + +#include "core/node.h" +#include "core/attr.h" +#include "utils/utils.h" + +static struct dom_element_protected_vtable _protect_vtable = { + { + DOM_NODE_PROTECT_VTABLE_HTML_LI_ELEMENT + }, + DOM_HTML_LI_ELEMENT_PROTECT_VTABLE +}; + +/** + * Create a dom_html_li_element object + * + * \param doc The document object + * \param ele The returned element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_li_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *lifix, + struct dom_html_li_element **ele) +{ + struct dom_node_internal *node; + + *ele = malloc(sizeof(dom_html_li_element)); + if (*ele == NULL) + return DOM_NO_MEM_ERR; + + /* Set up vtables */ + node = (struct dom_node_internal *) *ele; + node->base.vtable = &_dom_html_element_vtable; + node->vtable = &_protect_vtable; + + return _dom_html_li_element_initialise(doc, namespace, lifix, *ele); +} + +/** + * Initialise a dom_html_li_element object + * + * \param doc The document object + * \param ele The dom_html_li_element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_li_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *lifix, + struct dom_html_li_element *ele) +{ + return _dom_html_element_initialise(doc, &ele->base, + doc->memoised[hds_LI], + namespace, lifix); +} + +/** + * Finalise a dom_html_li_element object + * + * \param ele The dom_html_li_element object + */ +void _dom_html_li_element_finalise(struct dom_html_li_element *ele) +{ + _dom_html_element_finalise(&ele->base); +} + +/** + * Destroy a dom_html_li_element object + * + * \param ele The dom_html_li_element object + */ +void _dom_html_li_element_destroy(struct dom_html_li_element *ele) +{ + _dom_html_li_element_finalise(ele); + free(ele); +} + +/** + * Get the value Property + * + * \param li The dom_html_li_element object + */ +dom_exception dom_html_li_element_get_value( + dom_html_li_element *li, int32_t *value) +{ + return dom_html_element_get_int32_t_property(&li->base, "value", + SLEN("value"), value); +} + +/** + * Set the value Property + * + * \param li The dom_html_li_element object + */ +dom_exception dom_html_li_element_set_value( + dom_html_li_element *li, uint32_t value) +{ + return dom_html_element_set_int32_t_property(&li->base, "value", + SLEN("value"), value); +} + +/*------------------------------------------------------------------------*/ +/* The protected virtual functions */ + +/* The virtual function used to parse attribute value, see src/core/element.c + * for detail */ +dom_exception _dom_html_li_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed) +{ + UNUSED(ele); + UNUSED(name); + + dom_string_ref(value); + *parsed = value; + + return DOM_NO_ERR; +} + +/* The virtual destroy function, see src/core/node.c for detail */ +void _dom_virtual_html_li_element_destroy(dom_node_internal *node) +{ + _dom_html_li_element_destroy((struct dom_html_li_element *) node); +} + +/* The virtual copy function, see src/core/node.c for detail */ +dom_exception _dom_html_li_element_copy(dom_node_internal *old, + dom_node_internal **copy) +{ + return _dom_html_element_copy(old, copy); +} + +/*-----------------------------------------------------------------------*/ +/* API functions */ + +#define SIMPLE_GET(attr) \ + dom_exception dom_html_li_element_get_##attr( \ + dom_html_li_element *element, \ + dom_string **attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_get_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } +#define SIMPLE_SET(attr) \ + dom_exception dom_html_li_element_set_##attr( \ + dom_html_li_element *element, \ + dom_string *attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_set_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } + +#define SIMPLE_GET_SET(attr) SIMPLE_GET(attr) SIMPLE_SET(attr) + +SIMPLE_GET_SET(type); diff --git a/src/html/html_li_element.h b/src/html/html_li_element.h index 2e182d5..c50a2db 100644 --- a/src/html/html_li_element.h +++ b/src/html/html_li_element.h @@ -3,5 +3,50 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_internal_html_li_element_h_ +#define dom_internal_html_li_element_h_ + +#include <dom/html/html_li_element.h> +#include "html/html_element.h" + + +struct dom_html_li_element { + struct dom_html_element base; + /**< The base class */ +}; + +/* Create a dom_html_li_element object */ +dom_exception _dom_html_li_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *lifix, + struct dom_html_li_element **ele); + +/* Initialise a dom_html_li_element object */ +dom_exception _dom_html_li_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *lifix, + struct dom_html_li_element *ele); + +/* Finalise a dom_html_li_element object */ +void _dom_html_li_element_finalise(struct dom_html_li_element *ele); + +/* Destroy a dom_html_li_element object */ +void _dom_html_li_element_destroy(struct dom_html_li_element *ele); + +/* The protected virtual functions */ +dom_exception _dom_html_li_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed); +void _dom_virtual_html_li_element_destroy(dom_node_internal *node); +dom_exception _dom_html_li_element_copy(dom_node_internal *old, + dom_node_internal **copy); + +#define DOM_HTML_LI_ELEMENT_PROTECT_VTABLE \ + _dom_html_li_element_parse_attribute + +#define DOM_NODE_PROTECT_VTABLE_HTML_LI_ELEMENT \ + _dom_virtual_html_li_element_destroy, \ + _dom_html_li_element_copy + +#endif diff --git a/src/html/html_map_element.c b/src/html/html_map_element.c index 2e182d5..cf0fe5e 100644 --- a/src/html/html_map_element.c +++ b/src/html/html_map_element.c @@ -3,5 +3,193 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar<rsk1coder99@gmail.com> */ +#include <assert.h> +#include <stdlib.h> +#include <dom/html/html_map_element.h> + +#include "html/html_document.h" +#include "html/html_map_element.h" + +#include "html/html_collection.h" + +#include "core/node.h" +#include "core/attr.h" +#include "utils/utils.h" + +static struct dom_element_protected_vtable _protect_vtable = { + { + DOM_NODE_PROTECT_VTABLE_HTML_MAP_ELEMENT + }, + DOM_HTML_MAP_ELEMENT_PROTECT_VTABLE +}; + +/** + * Create a dom_html_map_element object + * + * \param doc The document object + * \param ele The returned element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_map_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_map_element **ele) +{ + struct dom_node_internal *node; + + *ele = malloc(sizeof(dom_html_map_element)); + if (*ele == NULL) + return DOM_NO_MEM_ERR; + + /* Set up vtables */ + node = (struct dom_node_internal *) *ele; + node->base.vtable = &_dom_html_element_vtable; + node->vtable = &_protect_vtable; + + return _dom_html_map_element_initialise(doc, namespace, prefix, *ele); +} + +/** + * Initialise a dom_html_map_element object + * + * \param doc The document object + * \param ele The dom_html_map_element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_map_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_map_element *ele) +{ + return _dom_html_element_initialise(doc, &ele->base, + doc->memoised[hds_MAP], + namespace, prefix); +} + +/** + * Finalise a dom_html_map_element object + * + * \param ele The dom_html_map_element object + */ +void _dom_html_map_element_finalise(struct dom_html_map_element *ele) +{ + _dom_html_element_finalise(&ele->base); +} + +/** + * Destroy a dom_html_map_element object + * + * \param ele The dom_html_map_element object + */ +void _dom_html_map_element_destroy(struct dom_html_map_element *ele) +{ + _dom_html_map_element_finalise(ele); + free(ele); +} + + +/*------------------------------------------------------------------------*/ +/* The protected virtual functions */ + +/* The virtual function used to parse attribute value, see src/core/element.c + * for detail */ +dom_exception _dom_html_map_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed) +{ + UNUSED(ele); + UNUSED(name); + + dom_string_ref(value); + *parsed = value; + + return DOM_NO_ERR; +} + +/* The virtual destroy function, see src/core/node.c for detail */ +void _dom_virtual_html_map_element_destroy(dom_node_internal *node) +{ + _dom_html_map_element_destroy((struct dom_html_map_element *) node); +} + +/* The virtual copy function, see src/core/node.c for detail */ +dom_exception _dom_html_map_element_copy(dom_node_internal *old, + dom_node_internal **copy) +{ + return _dom_html_element_copy(old, copy); +} + +/*-----------------------------------------------------------------------*/ +/* API functions */ + +#define SIMPLE_GET(attr) \ + dom_exception dom_html_map_element_get_##attr( \ + dom_html_map_element *element, \ + dom_string **attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_get_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } +#define SIMPLE_SET(attr) \ +dom_exception dom_html_map_element_set_##attr( \ + dom_html_map_element *element, \ + dom_string *attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_set_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } + +#define SIMPLE_GET_SET(attr) SIMPLE_GET(attr) SIMPLE_SET(attr) + +SIMPLE_GET_SET(name); + +/* The callback function for _dom_html_collection_create*/ +bool callback(struct dom_node_internal *node, void *ctx) +{ + if(node->type == DOM_ELEMENT_NODE && + dom_string_caseless_isequal(node->name, + ((dom_html_document *)ctx)->memoised[hds_AREA])) + { + return true; + } + + return false; +} + +/** + * Get the areas property + * + * \param ele The dom_html_map_element object + * \param areas The returned dom_html_collection object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ + +dom_exception dom_html_map_element_get_areas( + dom_html_map_element *ele, dom_html_collection **areas) +{ + dom_html_document *doc + = (dom_html_document *) ((dom_node_internal *) ele)->owner; + + /*doc is passed as a parameter to callback to avoid repeated calculations */ + return _dom_html_collection_create(doc, (dom_node_internal *) ele, + callback, (void *) doc, areas); +} diff --git a/src/html/html_map_element.h b/src/html/html_map_element.h index 2e182d5..0230808 100644 --- a/src/html/html_map_element.h +++ b/src/html/html_map_element.h @@ -3,5 +3,52 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_internal_html_map_element_h_ +#define dom_internal_html_map_element_h_ + +#include <dom/html/html_map_element.h> +#include "html/html_element.h" + + +struct dom_html_map_element { + struct dom_html_element base; + /**< The base class */ +}; + +/* Create a dom_html_map_element object */ +dom_exception _dom_html_map_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_map_element **ele); + +/* Initialise a dom_html_map_element object */ +dom_exception _dom_html_map_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_map_element *ele); + +/* Finalise a dom_html_map_element object */ +void _dom_html_map_element_finalise(struct dom_html_map_element *ele); + +/* Destroy a dom_html_map_element object */ +void _dom_html_map_element_destroy(struct dom_html_map_element *ele); + +/* The protected virtual functions */ +dom_exception _dom_html_map_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed); +void _dom_virtual_html_map_element_destroy(dom_node_internal *node); +dom_exception _dom_html_map_element_copy(dom_node_internal *old, + dom_node_internal **copy); + +#define DOM_HTML_MAP_ELEMENT_PROTECT_VTABLE \ + _dom_html_map_element_parse_attribute + +#define DOM_NODE_PROTECT_VTABLE_HTML_MAP_ELEMENT \ + _dom_virtual_html_map_element_destroy, \ + _dom_html_map_element_copy + +#endif + +bool callback(struct dom_node_internal *node, void *ctx); diff --git a/src/html/html_menu_element.c b/src/html/html_menu_element.c index 2e182d5..af0f34c 100644 --- a/src/html/html_menu_element.c +++ b/src/html/html_menu_element.c @@ -3,5 +3,145 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar<rsk1coder99@gmail.com> */ +#include <assert.h> +#include <stdlib.h> + +#include <dom/html/html_menu_element.h> + +#include "html/html_document.h" +#include "html/html_menu_element.h" + +#include "core/node.h" +#include "core/attr.h" +#include "utils/utils.h" + +static struct dom_element_protected_vtable _protect_vtable = { + { + DOM_NODE_PROTECT_VTABLE_HTML_MENU_ELEMENT + }, + DOM_HTML_MENU_ELEMENT_PROTECT_VTABLE +}; + +/** + * Create a dom_html_menu_element object + * + * \param doc The document object + * \param ele The returned element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_menu_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_menu_element **ele) +{ + struct dom_node_internal *node; + + *ele = malloc(sizeof(dom_html_menu_element)); + if (*ele == NULL) + return DOM_NO_MEM_ERR; + + /* Set up vtables */ + node = (struct dom_node_internal *) *ele; + node->base.vtable = &_dom_html_element_vtable; + node->vtable = &_protect_vtable; + + return _dom_html_menu_element_initialise(doc, namespace, prefix, *ele); +} + +/** + * Initialise a dom_html_menu_element object + * + * \param doc The document object + * \param ele The dom_html_menu_element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_menu_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_menu_element *ele) +{ + return _dom_html_element_initialise(doc, &ele->base, + doc->memoised[hds_MENU], + namespace, prefix); +} + +/** + * Finalise a dom_html_menu_element object + * + * \param ele The dom_html_menu_element object + */ +void _dom_html_menu_element_finalise(struct dom_html_menu_element *ele) +{ + _dom_html_element_finalise(&ele->base); +} + +/** + * Destroy a dom_html_menu_element object + * + * \param ele The dom_html_menu_element object + */ +void _dom_html_menu_element_destroy(struct dom_html_menu_element *ele) +{ + _dom_html_menu_element_finalise(ele); + free(ele); +} + +/** + * Get the compact property + * + * \param ele The dom_html_menu_element object + * \param compact The status + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_menu_element_get_compact(dom_html_menu_element *ele, + bool *compact) +{ + return dom_html_element_get_bool_property(&ele->base, "compact", + SLEN("compact"), compact); +} + +/** + * Set the compact property + * + * \param ele The dom_html_menu_element object + * \param compact The status + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_menu_element_set_compact(dom_html_menu_element *ele, + bool compact) +{ + return dom_html_element_set_bool_property(&ele->base, "compact", + SLEN("compact"), compact); +} + +/*------------------------------------------------------------------------*/ +/* The protected virtual functions */ + +/* The virtual function used to parse attribute value, see src/core/element.c + * for detail */ +dom_exception _dom_html_menu_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed) +{ + UNUSED(ele); + UNUSED(name); + + dom_string_ref(value); + *parsed = value; + + return DOM_NO_ERR; +} + +/* The virtual destroy function, see src/core/node.c for detail */ +void _dom_virtual_html_menu_element_destroy(dom_node_internal *node) +{ + _dom_html_menu_element_destroy((struct dom_html_menu_element *) node); +} + +/* The virtual copy function, see src/core/node.c for detail */ +dom_exception _dom_html_menu_element_copy(dom_node_internal *old, + dom_node_internal **copy) +{ + return _dom_html_element_copy(old, copy); +} diff --git a/src/html/html_menu_element.h b/src/html/html_menu_element.h index 2e182d5..cb84e3d 100644 --- a/src/html/html_menu_element.h +++ b/src/html/html_menu_element.h @@ -3,5 +3,50 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_internal_html_menu_element_h_ +#define dom_internal_html_menu_element_h_ + +#include <dom/html/html_menu_element.h> +#include "html/html_element.h" + + +struct dom_html_menu_element { + struct dom_html_element base; + /**< The base class */ +}; + +/* Create a dom_html_menu_element object */ +dom_exception _dom_html_menu_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_menu_element **ele); + +/* Initialise a dom_html_menu_element object */ +dom_exception _dom_html_menu_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_menu_element *ele); + +/* Finalise a dom_html_menu_element object */ +void _dom_html_menu_element_finalise(struct dom_html_menu_element *ele); + +/* Destroy a dom_html_menu_element object */ +void _dom_html_menu_element_destroy(struct dom_html_menu_element *ele); + +/* The protected virtual functions */ +dom_exception _dom_html_menu_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed); +void _dom_virtual_html_menu_element_destroy(dom_node_internal *node); +dom_exception _dom_html_menu_element_copy(dom_node_internal *old, + dom_node_internal **copy); + +#define DOM_HTML_MENU_ELEMENT_PROTECT_VTABLE \ + _dom_html_menu_element_parse_attribute + +#define DOM_NODE_PROTECT_VTABLE_HTML_MENU_ELEMENT \ + _dom_virtual_html_menu_element_destroy, \ + _dom_html_menu_element_copy + +#endif diff --git a/src/html/html_mod_element.c b/src/html/html_mod_element.c index 2e182d5..f20a994 100644 --- a/src/html/html_mod_element.c +++ b/src/html/html_mod_element.c @@ -3,5 +3,161 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar<rsk1coder99@gmail.com> */ +#include <assert.h> +#include <stdlib.h> + +#include <dom/html/html_mod_element.h> + +#include "html/html_document.h" +#include "html/html_mod_element.h" + +#include "core/node.h" +#include "core/attr.h" +#include "utils/utils.h" + +static struct dom_element_protected_vtable _protect_vtable = { + { + DOM_NODE_PROTECT_VTABLE_HTML_MOD_ELEMENT + }, + DOM_HTML_MOD_ELEMENT_PROTECT_VTABLE +}; + +/** + * Create a dom_html_mod_element object + * + * \param doc The document object + * \param ele The returned element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_mod_element_create(struct dom_html_document *doc, + dom_string *tag_name, dom_string *namespace, + dom_string *prefix, struct dom_html_mod_element **ele) +{ + struct dom_node_internal *node; + + *ele = malloc(sizeof(dom_html_mod_element)); + if (*ele == NULL) + return DOM_NO_MEM_ERR; + + /* Set up vtables */ + node = (struct dom_node_internal *) *ele; + node->base.vtable = &_dom_html_element_vtable; + node->vtable = &_protect_vtable; + + return _dom_html_mod_element_initialise(doc, tag_name, namespace, prefix, *ele); +} + +/** + * Initialise a dom_html_mod_element object + * + * \param doc The document object + * \param ele The dom_html_mod_element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_mod_element_initialise(struct dom_html_document *doc, + dom_string *tag_name, dom_string *namespace, + dom_string *prefix, struct dom_html_mod_element *ele) +{ + return _dom_html_element_initialise(doc, &ele->base, + tag_name, + namespace, prefix); +} + +/** + * Finalise a dom_html_mod_element object + * + * \param ele The dom_html_mod_element object + */ +void _dom_html_mod_element_finalise(struct dom_html_mod_element *ele) +{ + _dom_html_element_finalise(&ele->base); +} + +/** + * Destroy a dom_html_mod_element object + * + * \param ele The dom_html_mod_element object + */ +void _dom_html_mod_element_destroy(struct dom_html_mod_element *ele) +{ + _dom_html_mod_element_finalise(ele); + free(ele); +} + + +/*------------------------------------------------------------------------*/ +/* The protected virtual functions */ + +/* The virtual function used to parse attribute value, see src/core/element.c + * for detail */ +dom_exception _dom_html_mod_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed) +{ + UNUSED(ele); + UNUSED(name); + + dom_string_ref(value); + *parsed = value; + + return DOM_NO_ERR; +} + +/* The virtual destroy function, see src/core/node.c for detail */ +void _dom_virtual_html_mod_element_destroy(dom_node_internal *node) +{ + _dom_html_mod_element_destroy((struct dom_html_mod_element *) node); +} + +/* The virtual copy function, see src/core/node.c for detail */ +dom_exception _dom_html_mod_element_copy(dom_node_internal *old, + dom_node_internal **copy) +{ + return _dom_html_element_copy(old, copy); +} + +/*-----------------------------------------------------------------------*/ +/* API functions */ + +#define SIMPLE_GET(attr) \ + dom_exception dom_html_mod_element_get_##attr( \ + dom_html_mod_element *element, \ + dom_string **attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_get_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } +#define SIMPLE_SET(attr) \ +dom_exception dom_html_mod_element_set_##attr( \ + dom_html_mod_element *element, \ + dom_string *attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_set_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } + +#define SIMPLE_GET_SET(attr) SIMPLE_GET(attr) SIMPLE_SET(attr) + +SIMPLE_GET_SET(cite); +SIMPLE_GET_SET(date_time); diff --git a/src/html/html_mod_element.h b/src/html/html_mod_element.h index 2e182d5..9df07d5 100644 --- a/src/html/html_mod_element.h +++ b/src/html/html_mod_element.h @@ -3,5 +3,50 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_internal_html_mod_element_h_ +#define dom_internal_html_mod_element_h_ + +#include <dom/html/html_mod_element.h> +#include "html/html_element.h" + + +struct dom_html_mod_element { + struct dom_html_element base; + /**< The base class */ +}; + +/* Create a dom_html_mod_element object */ +dom_exception _dom_html_mod_element_create(struct dom_html_document *doc, + dom_string *tag_name, dom_string *namespace, + dom_string *prefix, struct dom_html_mod_element **ele); + +/* Initialise a dom_html_mod_element object */ +dom_exception _dom_html_mod_element_initialise(struct dom_html_document *doc, + dom_string *tag_name, dom_string *namespace, dom_string *prefix, + struct dom_html_mod_element *ele); + +/* Finalise a dom_html_mod_element object */ +void _dom_html_mod_element_finalise(struct dom_html_mod_element *ele); + +/* Destroy a dom_html_mod_element object */ +void _dom_html_mod_element_destroy(struct dom_html_mod_element *ele); + +/* The protected virtual functions */ +dom_exception _dom_html_mod_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed); +void _dom_virtual_html_mod_element_destroy(dom_node_internal *node); +dom_exception _dom_html_mod_element_copy(dom_node_internal *old, + dom_node_internal **copy); + +#define DOM_HTML_MOD_ELEMENT_PROTECT_VTABLE \ + _dom_html_mod_element_parse_attribute + +#define DOM_NODE_PROTECT_VTABLE_HTML_MOD_ELEMENT \ + _dom_virtual_html_mod_element_destroy, \ + _dom_html_mod_element_copy + +#endif diff --git a/src/html/html_object_element.c b/src/html/html_object_element.c index 2e182d5..7da4567 100644 --- a/src/html/html_object_element.c +++ b/src/html/html_object_element.c @@ -3,5 +3,264 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#include <assert.h> +#include <stdlib.h> + +#include <dom/html/html_object_element.h> + +#include "html/html_document.h" +#include "html/html_object_element.h" + +#include "html/html_form_element.h" + +#include "core/node.h" +#include "core/attr.h" +#include "utils/utils.h" + +static struct dom_element_protected_vtable _protect_vtable = { + { + DOM_NODE_PROTECT_VTABLE_HTML_OBJECT_ELEMENT + }, + DOM_HTML_OBJECT_ELEMENT_PROTECT_VTABLE +}; + +/** + * Create a dom_html_object_element object + * + * \param doc The document object + * \param ele The returned element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_object_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_object_element **ele) +{ + struct dom_node_internal *node; + + *ele = malloc(sizeof(dom_html_object_element)); + if (*ele == NULL) + return DOM_NO_MEM_ERR; + + /* Set up vtables */ + node = (struct dom_node_internal *) *ele; + node->base.vtable = &_dom_html_element_vtable; + node->vtable = &_protect_vtable; + + return _dom_html_object_element_initialise(doc, namespace, prefix, *ele); +} + +/** + * Initialise a dom_html_object_element object + * + * \param doc The document object + * \param ele The dom_html_object_element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_object_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_object_element *ele) +{ + ele->form = NULL; + return _dom_html_element_initialise(doc, &ele->base, + doc->memoised[hds_OBJECT], + namespace, prefix); +} + +/** + * Finalise a dom_html_object_element object + * + * \param ele The dom_html_object_element object + */ +void _dom_html_object_element_finalise(struct dom_html_object_element *ele) +{ + _dom_html_element_finalise(&ele->base); +} + +/** + * Destroy a dom_html_object_element object + * + * \param ele The dom_html_object_element object + */ +void _dom_html_object_element_destroy(struct dom_html_object_element *ele) +{ + _dom_html_object_element_finalise(ele); + free(ele); +} + +/*------------------------------------------------------------------------*/ +/* The protected virtual functions */ + +/* The virtual function used to parse attribute value, see src/core/element.c + * for detail */ +dom_exception _dom_html_object_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed) +{ + UNUSED(ele); + UNUSED(name); + + dom_string_ref(value); + *parsed = value; + + return DOM_NO_ERR; +} + +/* The virtual destroy function, see src/core/node.c for detail */ +void _dom_virtual_html_object_element_destroy(dom_node_internal *node) +{ + _dom_html_object_element_destroy((struct dom_html_object_element *) node); +} + +/* The virtual copy function, see src/core/node.c for detail */ +dom_exception _dom_html_object_element_copy(dom_node_internal *old, + dom_node_internal **copy) +{ + return _dom_html_element_copy(old, copy); +} + +/*-----------------------------------------------------------------------*/ +/* API functions */ + +#define SIMPLE_GET(attr) \ + dom_exception dom_html_object_element_get_##attr( \ + dom_html_object_element *element, \ + dom_string **attr) \ +{ \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_get_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ +} +#define SIMPLE_SET(attr) \ + dom_exception dom_html_object_element_set_##attr( \ + dom_html_object_element *element, \ + dom_string *attr) \ +{ \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_set_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ +} + +#define SIMPLE_GET_SET(attr) SIMPLE_GET(attr) SIMPLE_SET(attr) + +SIMPLE_GET_SET(code); +SIMPLE_GET_SET(align); +SIMPLE_GET_SET(archive); +SIMPLE_GET_SET(border); +SIMPLE_GET_SET(code_base); +SIMPLE_GET_SET(code_type); +SIMPLE_GET_SET(data); +SIMPLE_GET_SET(height); +SIMPLE_GET_SET(name); +SIMPLE_GET_SET(standby); +SIMPLE_GET_SET(type); +SIMPLE_GET_SET(use_map); +SIMPLE_GET_SET(width); + +dom_exception dom_html_object_element_get_hspace( + dom_html_object_element *object, int32_t *hspace) +{ + return dom_html_element_get_int32_t_property(&object->base, "hspace", + SLEN("hspace"), hspace); +} + +dom_exception dom_html_object_element_set_hspace( + dom_html_object_element *object, uint32_t hspace) +{ + return dom_html_element_set_int32_t_property(&object->base, "hspace", + SLEN("hspace"), hspace); +} + +dom_exception dom_html_object_element_get_vspace( + dom_html_object_element *object, int32_t *vspace) +{ + return dom_html_element_get_int32_t_property(&object->base, "vspace", + SLEN("vspace"), vspace); +} + +dom_exception dom_html_object_element_set_vspace( + dom_html_object_element *object, uint32_t vspace) +{ + return dom_html_element_set_int32_t_property(&object->base, "vspace", + SLEN("vspace"), vspace); +} + +dom_exception dom_html_object_element_get_tab_index( + dom_html_object_element *object, int32_t *tab_index) +{ + return dom_html_element_get_int32_t_property(&object->base, "tabindex", + SLEN("tabindex"), tab_index); +} + +dom_exception dom_html_object_element_set_tab_index( + dom_html_object_element *object, uint32_t tab_index) +{ + return dom_html_element_set_int32_t_property(&object->base, "tabindex", + SLEN("tabindex"), tab_index); +} + +dom_exception dom_html_object_element_get_declare(dom_html_object_element *ele, + bool *declare) +{ + return dom_html_element_get_bool_property(&ele->base, "declare", + SLEN("declare"), declare); +} + +dom_exception dom_html_object_element_set_declare(dom_html_object_element *ele, + bool declare) +{ + return dom_html_element_set_bool_property(&ele->base, "declare", + SLEN("declare"), declare); +} + +dom_exception dom_html_object_element_get_form( + dom_html_object_element *object, dom_html_form_element **form) +{ + dom_html_document *doc + = (dom_html_document *) ((dom_node_internal *) object)->owner; + dom_node_internal *form_tmp = ((dom_node_internal *) object)->parent; + + while (form_tmp != NULL) { + if (form_tmp->type == DOM_ELEMENT_NODE && + dom_string_caseless_isequal(form_tmp->name, + doc->memoised[hds_FORM])) + break; + + form_tmp = form_tmp->parent; + } + + if (form_tmp != NULL) { + *form = (dom_html_form_element *) form_tmp; + return DOM_NO_ERR; + } + + *form = NULL; + + return DOM_NO_ERR; +} + +dom_exception dom_html_object_element_get_content_document( + dom_html_object_element *object, dom_document **content_document) +{ + *content_document = (((dom_node_internal *) object)->owner); + return DOM_NO_ERR; +} + diff --git a/src/html/html_object_element.h b/src/html/html_object_element.h index 2e182d5..83512d6 100644 --- a/src/html/html_object_element.h +++ b/src/html/html_object_element.h @@ -3,5 +3,54 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_internal_html_object_element_h_ +#define dom_internal_html_object_element_h_ + +#include <dom/html/html_object_element.h> + +#include "html/html_element.h" + +struct dom_html_object_element { + struct dom_html_element base; + /**< The base class */ + dom_html_form_element *form; + /**< The form associated with object */ +}; + +/* Create a dom_html_object_element object */ +dom_exception _dom_html_object_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_object_element **ele); + +/* Initialise a dom_html_object_element object */ +dom_exception _dom_html_object_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_object_element *ele); + +/* Finalise a dom_html_object_element object */ +void _dom_html_object_element_finalise(struct dom_html_object_element *ele); + +/* Destroy a dom_html_object_element object */ +void _dom_html_object_element_destroy(struct dom_html_object_element *ele); + +/* The protected virtual functions */ +dom_exception _dom_html_object_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed); + +void _dom_virtual_html_object_element_destroy(dom_node_internal *node); +dom_exception _dom_html_object_element_copy(dom_node_internal *old, + dom_node_internal **copy); + +#define DOM_HTML_OBJECT_ELEMENT_PROTECT_VTABLE \ + _dom_html_object_element_parse_attribute + +#define DOM_NODE_PROTECT_VTABLE_HTML_OBJECT_ELEMENT \ + _dom_virtual_html_object_element_destroy, \ + _dom_html_object_element_copy + +#endif + diff --git a/src/html/html_olist_element.c b/src/html/html_olist_element.c index 2e182d5..16b8763 100644 --- a/src/html/html_olist_element.c +++ b/src/html/html_olist_element.c @@ -3,5 +3,206 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar<rsk1coder99@gmail.com> */ +#include <assert.h> +#include <stdlib.h> +#include <dom/html/html_olist_element.h> + +#include "html/html_document.h" +#include "html/html_olist_element.h" + +#include "core/node.h" +#include "core/attr.h" +#include "utils/utils.h" + +static struct dom_element_protected_vtable _protect_vtable = { + { + DOM_NODE_PROTECT_VTABLE_HTML_O_LIST_ELEMENT + }, + DOM_HTML_O_LIST_ELEMENT_PROTECT_VTABLE +}; + +/** + * Create a dom_html_o_list_element object + * + * \param doc The document object + * \param ele The returned element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_o_list_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *o_listfix, + struct dom_html_o_list_element **ele) +{ + struct dom_node_internal *node; + + *ele = malloc(sizeof(dom_html_o_list_element)); + if (*ele == NULL) + return DOM_NO_MEM_ERR; + + /* Set up vtables */ + node = (struct dom_node_internal *) *ele; + node->base.vtable = &_dom_html_element_vtable; + node->vtable = &_protect_vtable; + + return _dom_html_o_list_element_initialise(doc, namespace, o_listfix, *ele); +} + +/** + * Initialise a dom_html_o_list_element object + * + * \param doc The document object + * \param ele The dom_html_o_list_element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_o_list_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *o_listfix, + struct dom_html_o_list_element *ele) +{ + return _dom_html_element_initialise(doc, &ele->base, + doc->memoised[hds_OL], + namespace, o_listfix); +} + +/** + * Finalise a dom_html_o_list_element object + * + * \param ele The dom_html_o_list_element object + */ +void _dom_html_o_list_element_finalise(struct dom_html_o_list_element *ele) +{ + _dom_html_element_finalise(&ele->base); +} + +/** + * Destroy a dom_html_o_list_element object + * + * \param ele The dom_html_o_list_element object + */ +void _dom_html_o_list_element_destroy(struct dom_html_o_list_element *ele) +{ + _dom_html_o_list_element_finalise(ele); + free(ele); +} + +/** + * Get the compact Property + * + * \param o_list The dom_html_o_list_element object + */ +dom_exception dom_html_o_list_element_get_compact( + dom_html_o_list_element *o_list, bool *compact) +{ + return dom_html_element_get_bool_property(&o_list->base, "compact", + SLEN("compact"), compact); +} + +/** + * Set the compact Property + * + * \param o_list The dom_html_o_list_element object + */ +dom_exception dom_html_o_list_element_set_compact( + dom_html_o_list_element *o_list, bool compact) +{ + return dom_html_element_set_bool_property(&o_list->base, "compact", + SLEN("compact"), compact); +} + +/** + * Get the start Property + * + * \param o_list The dom_html_o_list_element object + */ +dom_exception dom_html_o_list_element_get_start( + dom_html_o_list_element *o_list, int32_t *start) +{ + return dom_html_element_get_int32_t_property(&o_list->base, "start", + SLEN("start"), start); +} + +/** + * Set the start Property + * + * \param o_list The dom_html_o_list_element object + */ +dom_exception dom_html_o_list_element_set_start( + dom_html_o_list_element *o_list, uint32_t start) +{ + return dom_html_element_set_int32_t_property(&o_list->base, "start", + SLEN("start"), start); +} + +/*------------------------------------------------------------------------*/ +/* The protected virtual functions */ + +/* The virtual function used to parse attribute value, see src/core/element.c + * for detail */ +dom_exception _dom_html_o_list_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed) +{ + UNUSED(ele); + UNUSED(name); + + dom_string_ref(value); + *parsed = value; + + return DOM_NO_ERR; +} + +/* The virtual destroy function, see src/core/node.c for detail */ +void _dom_virtual_html_o_list_element_destroy(dom_node_internal *node) +{ + _dom_html_o_list_element_destroy((struct dom_html_o_list_element *) node); +} + +/* The virtual copy function, see src/core/node.c for detail */ +dom_exception _dom_html_o_list_element_copy(dom_node_internal *old, + dom_node_internal **copy) +{ + return _dom_html_element_copy(old, copy); +} + +/*-----------------------------------------------------------------------*/ +/* API functions */ + +#define SIMPLE_GET(attr) \ + dom_exception dom_html_o_list_element_get_##attr( \ + dom_html_o_list_element *element, \ + dom_string **attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_get_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } +#define SIMPLE_SET(attr) \ + dom_exception dom_html_o_list_element_set_##attr( \ + dom_html_o_list_element *element, \ + dom_string *attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_set_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } + +#define SIMPLE_GET_SET(attr) SIMPLE_GET(attr) SIMPLE_SET(attr) + +SIMPLE_GET_SET(type); diff --git a/src/html/html_olist_element.h b/src/html/html_olist_element.h index 2e182d5..301d8ac 100644 --- a/src/html/html_olist_element.h +++ b/src/html/html_olist_element.h @@ -3,5 +3,50 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_internal_html_o_list_element_h_ +#define dom_internal_html_o_list_element_h_ + +#include <dom/html/html_olist_element.h> +#include "html/html_element.h" + + +struct dom_html_o_list_element { + struct dom_html_element base; + /**< The base class */ +}; + +/* Create a dom_html_o_list_element object */ +dom_exception _dom_html_o_list_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *o_listfix, + struct dom_html_o_list_element **ele); + +/* Initialise a dom_html_o_list_element object */ +dom_exception _dom_html_o_list_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *o_listfix, + struct dom_html_o_list_element *ele); + +/* Finalise a dom_html_o_list_element object */ +void _dom_html_o_list_element_finalise(struct dom_html_o_list_element *ele); + +/* Destroy a dom_html_o_list_element object */ +void _dom_html_o_list_element_destroy(struct dom_html_o_list_element *ele); + +/* The protected virtual functions */ +dom_exception _dom_html_o_list_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed); +void _dom_virtual_html_o_list_element_destroy(dom_node_internal *node); +dom_exception _dom_html_o_list_element_copy(dom_node_internal *old, + dom_node_internal **copy); + +#define DOM_HTML_O_LIST_ELEMENT_PROTECT_VTABLE \ + _dom_html_o_list_element_parse_attribute + +#define DOM_NODE_PROTECT_VTABLE_HTML_O_LIST_ELEMENT \ + _dom_virtual_html_o_list_element_destroy, \ + _dom_html_o_list_element_copy + +#endif diff --git a/src/html/html_option_element.c b/src/html/html_option_element.c index b133deb..b777c5f 100644 --- a/src/html/html_option_element.c +++ b/src/html/html_option_element.c @@ -255,13 +255,22 @@ dom_exception dom_html_option_element_get_text( * \return DOM_NO_ERR on success, appropriate error otherwise. */ dom_exception dom_html_option_element_get_index( - dom_html_option_element *option, unsigned long *index) + dom_html_option_element *option, int32_t *index) { - UNUSED(option); - UNUSED(index); + dom_html_document *doc = (dom_html_document *) dom_node_get_owner(option); + int32_t idx = 0; + dom_node_internal *n = ((dom_node_internal *)option)->parent; - /** \todo Implement */ - return DOM_NOT_SUPPORTED_ERR; + for(n = n->first_child;n != NULL; n = n->next) { + if((dom_node_internal *)option == n) { + *index = idx; + break; + } else if(dom_string_caseless_isequal(n->name,doc->memoised[hds_OPTION])) { + idx += 1; + } + } + + return DOM_NO_ERR; } /** diff --git a/src/html/html_options_collection.c b/src/html/html_options_collection.c index 85001ad..3e06915 100644 --- a/src/html/html_options_collection.c +++ b/src/html/html_options_collection.c @@ -190,13 +190,13 @@ dom_exception dom_html_options_collection_named_item(dom_html_options_collection /* No children and siblings */ struct dom_node_internal *parent = n->parent; - while (parent != col->base.root && + while (n != col->base.root && n == parent->last_child) { n = parent; parent = parent->parent; } - if (parent == col->base.root) + if (n == col->base.root) n = NULL; else n = n->next; diff --git a/src/html/html_paragraph_element.c b/src/html/html_paragraph_element.c index 2e182d5..20a6c28 100644 --- a/src/html/html_paragraph_element.c +++ b/src/html/html_paragraph_element.c @@ -3,5 +3,159 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar<rsk1coder99@gmail.com> */ +#include <assert.h> +#include <stdlib.h> + +#include <dom/html/html_paragraph_element.h> + +#include "html/html_document.h" +#include "html/html_paragraph_element.h" + +#include "core/node.h" +#include "core/attr.h" +#include "utils/utils.h" + +static struct dom_element_protected_vtable _protect_vtable = { + { + DOM_NODE_PROTECT_VTABLE_HTML_P_ELEMENT + }, + DOM_HTML_P_ELEMENT_PROTECT_VTABLE +}; + +/** + * Create a dom_html_paragraph_element object + * + * \param doc The document object + * \param ele The returned element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_paragraph_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_paragraph_element **ele) +{ + struct dom_node_internal *node; + + *ele = malloc(sizeof(dom_html_paragraph_element)); + if (*ele == NULL) + return DOM_NO_MEM_ERR; + + /* Set up vtables */ + node = (struct dom_node_internal *) *ele; + node->base.vtable = &_dom_html_element_vtable; + node->vtable = &_protect_vtable; + + return _dom_html_paragraph_element_initialise(doc, namespace, prefix, *ele); +} + +/** + * Initialise a dom_html_paragraph_element object + * + * \param doc The document object + * \param ele The dom_html_paragraph_element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_paragraph_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_paragraph_element *ele) +{ + return _dom_html_element_initialise(doc, &ele->base, + doc->memoised[hds_P], + namespace, prefix); +} + +/** + * Finalise a dom_html_paragraph_element object + * + * \param ele The dom_html_paragraph_element object + */ +void _dom_html_paragraph_element_finalise(struct dom_html_paragraph_element *ele) +{ + _dom_html_element_finalise(&ele->base); +} + +/** + * Destroy a dom_html_paragraph_element object + * + * \param ele The dom_html_paragraph_element object + */ +void _dom_html_paragraph_element_destroy(struct dom_html_paragraph_element *ele) +{ + _dom_html_paragraph_element_finalise(ele); + free(ele); +} + +/*------------------------------------------------------------------------*/ +/* The protected virtual functions */ + +/* The virtual function used to parse attribute value, see src/core/element.c + * for detail */ +dom_exception _dom_html_paragraph_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed) +{ + UNUSED(ele); + UNUSED(name); + + dom_string_ref(value); + *parsed = value; + + return DOM_NO_ERR; +} + +/* The virtual destroy function, see src/core/node.c for detail */ +void _dom_virtual_html_paragraph_element_destroy(dom_node_internal *node) +{ + _dom_html_paragraph_element_destroy((struct dom_html_paragraph_element *) node); +} + +/* The virtual copy function, see src/core/node.c for detail */ +dom_exception _dom_html_paragraph_element_copy(dom_node_internal *old, + dom_node_internal **copy) +{ + return _dom_html_element_copy(old, copy); +} + +/*-----------------------------------------------------------------------*/ +/* API functions */ + +#define SIMPLE_GET(attr) \ + dom_exception dom_html_paragraph_element_get_##attr( \ + dom_html_paragraph_element *element, \ + dom_string **attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_get_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } +#define SIMPLE_SET(attr) \ +dom_exception dom_html_paragraph_element_set_##attr( \ + dom_html_paragraph_element *element, \ + dom_string *attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_set_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } + +#define SIMPLE_GET_SET(attr) SIMPLE_GET(attr) SIMPLE_SET(attr) + +SIMPLE_GET_SET(align); diff --git a/src/html/html_paragraph_element.h b/src/html/html_paragraph_element.h index 2e182d5..b6627dd 100644 --- a/src/html/html_paragraph_element.h +++ b/src/html/html_paragraph_element.h @@ -3,5 +3,50 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_internal_html_paragraph_element_h_ +#define dom_internal_html_paragraph_element_h_ + +#include <dom/html/html_paragraph_element.h> +#include "html/html_element.h" + + +struct dom_html_paragraph_element { + struct dom_html_element base; + /**< The base class */ +}; + +/* Create a dom_html_paragraph_element object */ +dom_exception _dom_html_paragraph_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_paragraph_element **ele); + +/* Initialise a dom_html_paragraph_element object */ +dom_exception _dom_html_paragraph_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_paragraph_element *ele); + +/* Finalise a dom_html_paragraph_element object */ +void _dom_html_paragraph_element_finalise(struct dom_html_paragraph_element *ele); + +/* Destroy a dom_html_paragraph_element object */ +void _dom_html_paragraph_element_destroy(struct dom_html_paragraph_element *ele); + +/* The protected virtual functions */ +dom_exception _dom_html_paragraph_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed); +void _dom_virtual_html_paragraph_element_destroy(dom_node_internal *node); +dom_exception _dom_html_paragraph_element_copy(dom_node_internal *old, + dom_node_internal **copy); + +#define DOM_HTML_P_ELEMENT_PROTECT_VTABLE \ + _dom_html_paragraph_element_parse_attribute + +#define DOM_NODE_PROTECT_VTABLE_HTML_P_ELEMENT \ + _dom_virtual_html_paragraph_element_destroy, \ + _dom_html_paragraph_element_copy + +#endif diff --git a/src/html/html_param_element.c b/src/html/html_param_element.c index 2e182d5..6bda015 100644 --- a/src/html/html_param_element.c +++ b/src/html/html_param_element.c @@ -3,5 +3,160 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar<rsk1coder99@gmail.com> */ +#include <assert.h> +#include <stdlib.h> +#include <dom/html/html_param_element.h> + +#include "html/html_document.h" +#include "html/html_param_element.h" + +#include "core/node.h" +#include "core/attr.h" +#include "utils/utils.h" + +static struct dom_element_protected_vtable _protect_vtable = { + { + DOM_NODE_PROTECT_VTABLE_HTML_PARAM_ELEMENT + }, + DOM_HTML_PARAM_ELEMENT_PROTECT_VTABLE +}; + +/** + * Create a dom_html_param_element object + * + * \param doc The document object + * \param ele The returned element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_param_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_param_element **ele) +{ + struct dom_node_internal *node; + + *ele = malloc(sizeof(dom_html_param_element)); + if (*ele == NULL) + return DOM_NO_MEM_ERR; + + /* Set up vtables */ + node = (struct dom_node_internal *) *ele; + node->base.vtable = &_dom_html_element_vtable; + node->vtable = &_protect_vtable; + + return _dom_html_param_element_initialise(doc, namespace, prefix, *ele); +} + +/** + * Initialise a dom_html_param_element object + * + * \param doc The document object + * \param ele The dom_html_param_element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_param_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_param_element *ele) +{ + return _dom_html_element_initialise(doc, &ele->base, + doc->memoised[hds_PARAM], + namespace, prefix); +} + +/** + * Finalise a dom_html_param_element object + * + * \param ele The dom_html_param_element object + */ +void _dom_html_param_element_finalise(struct dom_html_param_element *ele) +{ + _dom_html_element_finalise(&ele->base); +} + +/** + * Destroy a dom_html_param_element object + * + * \param ele The dom_html_param_element object + */ +void _dom_html_param_element_destroy(struct dom_html_param_element *ele) +{ + _dom_html_param_element_finalise(ele); + free(ele); +} + +/*------------------------------------------------------------------------*/ +/* The protected virtual functions */ + +/* The virtual function used to parse attribute value, see src/core/element.c + * for detail */ +dom_exception _dom_html_param_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed) +{ + UNUSED(ele); + UNUSED(name); + + dom_string_ref(value); + *parsed = value; + + return DOM_NO_ERR; +} + +/* The virtual destroy function, see src/core/node.c for detail */ +void _dom_virtual_html_param_element_destroy(dom_node_internal *node) +{ + _dom_html_param_element_destroy((struct dom_html_param_element *) node); +} + +/* The virtual copy function, see src/core/node.c for detail */ +dom_exception _dom_html_param_element_copy(dom_node_internal *old, + dom_node_internal **copy) +{ + return _dom_html_element_copy(old, copy); +} + +/*-----------------------------------------------------------------------*/ +/* API functions */ + +#define SIMPLE_GET(attr) \ + dom_exception dom_html_param_element_get_##attr( \ + dom_html_param_element *element, \ + dom_string **attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)-> \ + memoised[hds_##attr]; \ + \ + ret = dom_element_get_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } +#define SIMPLE_SET(attr) \ + dom_exception dom_html_param_element_set_##attr( \ + dom_html_param_element *element, \ + dom_string *attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)-> \ + memoised[hds_##attr]; \ + \ + ret = dom_element_set_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } + +#define SIMPLE_GET_SET(attr) SIMPLE_GET(attr) SIMPLE_SET(attr) +SIMPLE_GET_SET(name); +SIMPLE_GET_SET(type); +SIMPLE_GET_SET(value); +SIMPLE_GET_SET(value_type); diff --git a/src/html/html_param_element.h b/src/html/html_param_element.h index 2e182d5..2cd8150 100644 --- a/src/html/html_param_element.h +++ b/src/html/html_param_element.h @@ -3,5 +3,50 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_internal_html_param_element_h_ +#define dom_internal_html_param_element_h_ + +#include <dom/html/html_param_element.h> +#include "html/html_element.h" + + +struct dom_html_param_element { + struct dom_html_element base; + /**< The base class */ +}; + +/* Create a dom_html_param_element object */ +dom_exception _dom_html_param_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_param_element **ele); + +/* Initialise a dom_html_param_element object */ +dom_exception _dom_html_param_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_param_element *ele); + +/* Finalise a dom_html_param_element object */ +void _dom_html_param_element_finalise(struct dom_html_param_element *ele); + +/* Destroy a dom_html_param_element object */ +void _dom_html_param_element_destroy(struct dom_html_param_element *ele); + +/* The protected virtual functions */ +dom_exception _dom_html_param_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed); +void _dom_virtual_html_param_element_destroy(dom_node_internal *node); +dom_exception _dom_html_param_element_copy(dom_node_internal *old, + dom_node_internal **copy); + +#define DOM_HTML_PARAM_ELEMENT_PROTECT_VTABLE \ + _dom_html_param_element_parse_attribute + +#define DOM_NODE_PROTECT_VTABLE_HTML_PARAM_ELEMENT \ + _dom_virtual_html_param_element_destroy, \ + _dom_html_param_element_copy + +#endif diff --git a/src/html/html_pre_element.c b/src/html/html_pre_element.c index 2e182d5..1d220fd 100644 --- a/src/html/html_pre_element.c +++ b/src/html/html_pre_element.c @@ -3,5 +3,141 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar<rsk1coder99@gmail.com> */ +#include <assert.h> +#include <stdlib.h> + +#include <dom/html/html_pre_element.h> + +#include "html/html_document.h" +#include "html/html_pre_element.h" + +#include "core/node.h" +#include "core/attr.h" +#include "utils/utils.h" + +static struct dom_element_protected_vtable _protect_vtable = { + { + DOM_NODE_PROTECT_VTABLE_HTML_PRE_ELEMENT + }, + DOM_HTML_PRE_ELEMENT_PROTECT_VTABLE +}; + +/** + * Create a dom_html_pre_element object + * + * \param doc The document object + * \param ele The returned element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_pre_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_pre_element **ele) +{ + struct dom_node_internal *node; + + *ele = malloc(sizeof(dom_html_pre_element)); + if (*ele == NULL) + return DOM_NO_MEM_ERR; + + /* Set up vtables */ + node = (struct dom_node_internal *) *ele; + node->base.vtable = &_dom_html_element_vtable; + node->vtable = &_protect_vtable; + + return _dom_html_pre_element_initialise(doc, namespace, prefix, *ele); +} + +/** + * Initialise a dom_html_pre_element object + * + * \param doc The document object + * \param ele The dom_html_pre_element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_pre_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_pre_element *ele) +{ + return _dom_html_element_initialise(doc, &ele->base, + doc->memoised[hds_PRE], + namespace, prefix); +} + +/** + * Finalise a dom_html_pre_element object + * + * \param ele The dom_html_pre_element object + */ +void _dom_html_pre_element_finalise(struct dom_html_pre_element *ele) +{ + _dom_html_element_finalise(&ele->base); +} + +/** + * Destroy a dom_html_pre_element object + * + * \param ele The dom_html_pre_element object + */ +void _dom_html_pre_element_destroy(struct dom_html_pre_element *ele) +{ + _dom_html_pre_element_finalise(ele); + free(ele); +} + +/** + * Get the width Property + * + * \param pre The dom_html_pre_element object + */ +dom_exception dom_html_pre_element_get_width( + dom_html_pre_element *pre, int32_t *width) +{ + return dom_html_element_get_int32_t_property(&pre->base, "width", + SLEN("width"), width); +} + +/** + * Set the width Property + * + * \param pre The dom_html_pre_element object + */ +dom_exception dom_html_pre_element_set_width( + dom_html_pre_element *pre, uint32_t width) +{ + return dom_html_element_set_int32_t_property(&pre->base, "width", + SLEN("width"), width); +} + +/*------------------------------------------------------------------------*/ +/* The protected virtual functions */ + +/* The virtual function used to parse attribute value, see src/core/element.c + * for detail */ +dom_exception _dom_html_pre_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed) +{ + UNUSED(ele); + UNUSED(name); + + dom_string_ref(value); + *parsed = value; + + return DOM_NO_ERR; +} + +/* The virtual destroy function, see src/core/node.c for detail */ +void _dom_virtual_html_pre_element_destroy(dom_node_internal *node) +{ + _dom_html_pre_element_destroy((struct dom_html_pre_element *) node); +} + +/* The virtual copy function, see src/core/node.c for detail */ +dom_exception _dom_html_pre_element_copy(dom_node_internal *old, + dom_node_internal **copy) +{ + return _dom_html_element_copy(old, copy); +} diff --git a/src/html/html_pre_element.h b/src/html/html_pre_element.h index 2e182d5..75d8df8 100644 --- a/src/html/html_pre_element.h +++ b/src/html/html_pre_element.h @@ -3,5 +3,50 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_internal_html_pre_element_h_ +#define dom_internal_html_pre_element_h_ + +#include <dom/html/html_pre_element.h> +#include "html/html_element.h" + + +struct dom_html_pre_element { + struct dom_html_element base; + /**< The base class */ +}; + +/* Create a dom_html_pre_element object */ +dom_exception _dom_html_pre_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_pre_element **ele); + +/* Initialise a dom_html_pre_element object */ +dom_exception _dom_html_pre_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_pre_element *ele); + +/* Finalise a dom_html_pre_element object */ +void _dom_html_pre_element_finalise(struct dom_html_pre_element *ele); + +/* Destroy a dom_html_pre_element object */ +void _dom_html_pre_element_destroy(struct dom_html_pre_element *ele); + +/* The protected virtual functions */ +dom_exception _dom_html_pre_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed); +void _dom_virtual_html_pre_element_destroy(dom_node_internal *node); +dom_exception _dom_html_pre_element_copy(dom_node_internal *old, + dom_node_internal **copy); + +#define DOM_HTML_PRE_ELEMENT_PROTECT_VTABLE \ + _dom_html_pre_element_parse_attribute + +#define DOM_NODE_PROTECT_VTABLE_HTML_PRE_ELEMENT \ + _dom_virtual_html_pre_element_destroy, \ + _dom_html_pre_element_copy + +#endif diff --git a/src/html/html_quote_element.c b/src/html/html_quote_element.c index 2e182d5..d16bad8 100644 --- a/src/html/html_quote_element.c +++ b/src/html/html_quote_element.c @@ -3,5 +3,159 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar<rsk1coder99@gmail.com> */ +#include <assert.h> +#include <stdlib.h> + +#include <dom/html/html_quote_element.h> + +#include "html/html_document.h" +#include "html/html_quote_element.h" + +#include "core/node.h" +#include "core/attr.h" +#include "utils/utils.h" + +static struct dom_element_protected_vtable _protect_vtable = { + { + DOM_NODE_PROTECT_VTABLE_HTML_QUOTE_ELEMENT + }, + DOM_HTML_QUOTE_ELEMENT_PROTECT_VTABLE +}; + +/** + * Create a dom_html_quote_element object + * + * \param doc The document object + * \param ele The returned element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_quote_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_quote_element **ele) +{ + struct dom_node_internal *node; + + *ele = malloc(sizeof(dom_html_quote_element)); + if (*ele == NULL) + return DOM_NO_MEM_ERR; + + /* Set up vtables */ + node = (struct dom_node_internal *) *ele; + node->base.vtable = &_dom_html_element_vtable; + node->vtable = &_protect_vtable; + + return _dom_html_quote_element_initialise(doc, namespace, prefix, *ele); +} + +/** + * Initialise a dom_html_quote_element object + * + * \param doc The document object + * \param ele The dom_html_quote_element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_quote_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_quote_element *ele) +{ + return _dom_html_element_initialise(doc, &ele->base, + doc->memoised[hds_Q], + namespace, prefix); +} + +/** + * Finalise a dom_html_quote_element object + * + * \param ele The dom_html_quote_element object + */ +void _dom_html_quote_element_finalise(struct dom_html_quote_element *ele) +{ + _dom_html_element_finalise(&ele->base); +} + +/** + * Destroy a dom_html_quote_element object + * + * \param ele The dom_html_quote_element object + */ +void _dom_html_quote_element_destroy(struct dom_html_quote_element *ele) +{ + _dom_html_quote_element_finalise(ele); + free(ele); +} + +/*------------------------------------------------------------------------*/ +/* The protected virtual functions */ + +/* The virtual function used to parse attribute value, see src/core/element.c + * for detail */ +dom_exception _dom_html_quote_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed) +{ + UNUSED(ele); + UNUSED(name); + + dom_string_ref(value); + *parsed = value; + + return DOM_NO_ERR; +} + +/* The virtual destroy function, see src/core/node.c for detail */ +void _dom_virtual_html_quote_element_destroy(dom_node_internal *node) +{ + _dom_html_quote_element_destroy((struct dom_html_quote_element *) node); +} + +/* The virtual copy function, see src/core/node.c for detail */ +dom_exception _dom_html_quote_element_copy(dom_node_internal *old, + dom_node_internal **copy) +{ + return _dom_html_element_copy(old, copy); +} + +/*-----------------------------------------------------------------------*/ +/* API functions */ + +#define SIMPLE_GET(attr) \ + dom_exception dom_html_quote_element_get_##attr( \ + dom_html_quote_element *element, \ + dom_string **attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_get_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } +#define SIMPLE_SET(attr) \ +dom_exception dom_html_quote_element_set_##attr( \ + dom_html_quote_element *element, \ + dom_string *attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_set_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } + +#define SIMPLE_GET_SET(attr) SIMPLE_GET(attr) SIMPLE_SET(attr) + +SIMPLE_GET_SET(cite); diff --git a/src/html/html_quote_element.h b/src/html/html_quote_element.h index 2e182d5..a8bfbb2 100644 --- a/src/html/html_quote_element.h +++ b/src/html/html_quote_element.h @@ -3,5 +3,50 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_internal_html_quote_element_h_ +#define dom_internal_html_quote_element_h_ + +#include <dom/html/html_quote_element.h> +#include "html/html_element.h" + + +struct dom_html_quote_element { + struct dom_html_element base; + /**< The base class */ +}; + +/* Create a dom_html_quote_element object */ +dom_exception _dom_html_quote_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_quote_element **ele); + +/* Initialise a dom_html_quote_element object */ +dom_exception _dom_html_quote_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_quote_element *ele); + +/* Finalise a dom_html_quote_element object */ +void _dom_html_quote_element_finalise(struct dom_html_quote_element *ele); + +/* Destroy a dom_html_quote_element object */ +void _dom_html_quote_element_destroy(struct dom_html_quote_element *ele); + +/* The protected virtual functions */ +dom_exception _dom_html_quote_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed); +void _dom_virtual_html_quote_element_destroy(dom_node_internal *node); +dom_exception _dom_html_quote_element_copy(dom_node_internal *old, + dom_node_internal **copy); + +#define DOM_HTML_QUOTE_ELEMENT_PROTECT_VTABLE \ + _dom_html_quote_element_parse_attribute + +#define DOM_NODE_PROTECT_VTABLE_HTML_QUOTE_ELEMENT \ + _dom_virtual_html_quote_element_destroy, \ + _dom_html_quote_element_copy + +#endif diff --git a/src/html/html_script_element.c b/src/html/html_script_element.c index 2e182d5..f107d45 100644 --- a/src/html/html_script_element.c +++ b/src/html/html_script_element.c @@ -3,5 +3,218 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar<rsk1coder99@gmail.com> */ +#include <assert.h> +#include <stdlib.h> +#include <dom/html/html_script_element.h> + +#include "html/html_document.h" +#include "html/html_script_element.h" + +#include "core/node.h" +#include "core/attr.h" +#include "utils/utils.h" + +static struct dom_element_protected_vtable _protect_vtable = { + { + DOM_NODE_PROTECT_VTABLE_HTML_SCRIPT_ELEMENT + }, + DOM_HTML_SCRIPT_ELEMENT_PROTECT_VTABLE +}; + +/** + * Create a dom_html_script_element object + * + * \param doc The document object + * \param ele The returned element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_script_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_script_element **ele) +{ + struct dom_node_internal *node; + + *ele = malloc(sizeof(dom_html_script_element)); + if (*ele == NULL) + return DOM_NO_MEM_ERR; + + /* Set up vtables */ + node = (struct dom_node_internal *) *ele; + node->base.vtable = &_dom_html_element_vtable; + node->vtable = &_protect_vtable; + + return _dom_html_script_element_initialise(doc, namespace, prefix, *ele); +} + +/** + * Initialise a dom_html_script_element object + * + * \param doc The document object + * \param ele The dom_html_script_element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_script_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_script_element *ele) +{ + return _dom_html_element_initialise(doc, &ele->base, + doc->memoised[hds_SCRIPT], + namespace, prefix); +} + +/** + * Finalise a dom_html_script_element object + * + * \param ele The dom_html_script_element object + */ +void _dom_html_script_element_finalise(struct dom_html_script_element *ele) +{ + _dom_html_element_finalise(&ele->base); +} + +/** + * Destroy a dom_html_script_element object + * + * \param ele The dom_html_script_element object + */ +void _dom_html_script_element_destroy(struct dom_html_script_element *ele) +{ + _dom_html_script_element_finalise(ele); + free(ele); +} + +/*------------------------------------------------------------------------*/ +/* The protected virtual functions */ + +/* The virtual function used to parse attribute value, see src/core/element.c + * for detail */ +dom_exception _dom_html_script_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed) +{ + UNUSED(ele); + UNUSED(name); + + dom_string_ref(value); + *parsed = value; + + return DOM_NO_ERR; +} + +/* The virtual destroy function, see src/core/node.c for detail */ +void _dom_virtual_html_script_element_destroy(dom_node_internal *node) +{ + _dom_html_script_element_destroy((struct dom_html_script_element *) node); +} + +/* The virtual copy function, see src/core/node.c for detail */ +dom_exception _dom_html_script_element_copy(dom_node_internal *old, + dom_node_internal **copy) +{ + return _dom_html_element_copy(old, copy); +} + +/*-----------------------------------------------------------------------*/ +/* API functions */ + +#define SIMPLE_GET(attr) \ + dom_exception dom_html_script_element_get_##attr( \ + dom_html_script_element *element, \ + dom_string **attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_get_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } +#define SIMPLE_SET(attr) \ +dom_exception dom_html_script_element_set_##attr( \ + dom_html_script_element *element, \ + dom_string *attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_set_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } + +#define SIMPLE_GET_SET(attr) SIMPLE_GET(attr) SIMPLE_SET(attr) + +SIMPLE_GET_SET(html_for); +SIMPLE_GET_SET(event); +SIMPLE_GET_SET(charset); +SIMPLE_GET_SET(src); +SIMPLE_GET_SET(type); + +/** + * Get the defer property + * + * \param ele The dom_html_script_element object + * \param defer The status + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_script_element_get_defer(dom_html_script_element *ele, + bool *defer) +{ + return dom_html_element_get_bool_property(&ele->base, "defer", + SLEN("defer"), defer); +} + +/** + * Set the defer property + * + * \param ele The dom_html_script_element object + * \param defer The status + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_script_element_set_defer(dom_html_script_element *ele, + bool defer) +{ + return dom_html_element_set_bool_property(&ele->base, "defer", + SLEN("defer"), defer); +} + +/** + * Get the text property + * + * \param ele The dom_html_script_element object + * \param text The returned dom_string object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_script_element_get_text( + dom_html_script_element *ele, + dom_string **text) +{ + return _dom_node_get_text_content((dom_node_internal *)ele, text); +} + +/** + * Set the text property + * + * \param ele The dom_html_script_element object + * \param text The dom_string value to be set + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_script_element_set_text( + dom_html_script_element *ele, + dom_string *text) +{ + return _dom_node_set_text_content((dom_node_internal *)ele, text); +} diff --git a/src/html/html_script_element.h b/src/html/html_script_element.h index 2e182d5..dcb7b72 100644 --- a/src/html/html_script_element.h +++ b/src/html/html_script_element.h @@ -3,5 +3,50 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_internal_html_script_element_h_ +#define dom_internal_html_script_element_h_ + +#include <dom/html/html_script_element.h> +#include "html/html_element.h" + + +struct dom_html_script_element { + struct dom_html_element base; + /**< The base class */ +}; + +/* Create a dom_html_script_element object */ +dom_exception _dom_html_script_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_script_element **ele); + +/* Initialise a dom_html_script_element object */ +dom_exception _dom_html_script_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_script_element *ele); + +/* Finalise a dom_html_script_element object */ +void _dom_html_script_element_finalise(struct dom_html_script_element *ele); + +/* Destroy a dom_html_script_element object */ +void _dom_html_script_element_destroy(struct dom_html_script_element *ele); + +/* The protected virtual functions */ +dom_exception _dom_html_script_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed); +void _dom_virtual_html_script_element_destroy(dom_node_internal *node); +dom_exception _dom_html_script_element_copy(dom_node_internal *old, + dom_node_internal **copy); + +#define DOM_HTML_SCRIPT_ELEMENT_PROTECT_VTABLE \ + _dom_html_script_element_parse_attribute + +#define DOM_NODE_PROTECT_VTABLE_HTML_SCRIPT_ELEMENT \ + _dom_virtual_html_script_element_destroy, \ + _dom_html_script_element_copy + +#endif diff --git a/src/html/html_select_element.c b/src/html/html_select_element.c index c02f0bd..7a5e84e 100644 --- a/src/html/html_select_element.c +++ b/src/html/html_select_element.c @@ -65,8 +65,8 @@ dom_exception _dom_html_select_element_initialise(struct dom_html_document *doc, ele->form = NULL; return _dom_html_element_initialise(doc, &ele->base, - doc->memoised[hds_SELECT], - namespace, prefix); + doc->memoised[hds_SELECT], + namespace, prefix); } /** @@ -125,16 +125,16 @@ dom_exception _dom_html_select_element_copy(dom_node_internal *old, /* Public APIs */ static dom_exception _dom_html_select_element_make_collection( - dom_html_select_element *ele, - dom_html_options_collection **col) + dom_html_select_element *ele, + dom_html_options_collection **col) { dom_html_document *doc = (dom_html_document *) dom_node_get_owner(ele); assert(doc != NULL); return _dom_html_options_collection_create(doc, - (dom_node_internal *) ele, - is_option, ele, col); + (dom_node_internal *) ele, + is_option, ele, col); } /** @@ -174,11 +174,11 @@ dom_exception dom_html_select_element_get_selected_index( dom_html_select_element *ele, int32_t *index) { dom_exception err; - uint32_t idx, len; + uint32_t idx,len; dom_node *option; bool selected; dom_html_options_collection *col; - + err = _dom_html_select_element_make_collection(ele, &col); err = dom_html_options_collection_get_length(col, &len); @@ -194,7 +194,7 @@ dom_exception dom_html_select_element_get_selected_index( dom_html_options_collection_unref(col); return err; } - + err = dom_html_option_element_get_selected( (dom_html_option_element *) option, &selected); @@ -204,7 +204,7 @@ dom_exception dom_html_select_element_get_selected_index( dom_html_options_collection_unref(col); return err; } - + if (selected) { *index = idx; dom_html_options_collection_unref(col); @@ -228,11 +228,30 @@ dom_exception dom_html_select_element_get_selected_index( dom_exception dom_html_select_element_set_selected_index( dom_html_select_element *ele, int32_t index) { - UNUSED(ele); - UNUSED(index); + dom_exception err; + dom_node *option; + dom_html_options_collection *col; - /** \todo Implement */ - return DOM_NOT_SUPPORTED_ERR; + err = _dom_html_select_element_make_collection(ele, &col); + + err = dom_html_options_collection_item(col, + index, &option); + if (err != DOM_NO_ERR) { + dom_html_options_collection_unref(col); + return err; + } + + err = dom_html_option_element_set_selected( + (dom_html_option_element *) option, true); + + dom_node_unref(option); + + dom_html_options_collection_unref(col); + if (err != DOM_NO_ERR) { + return err; + } + + return DOM_NO_ERR; } /** @@ -250,7 +269,7 @@ dom_exception dom_html_select_element_get_value( dom_node *option; bool selected; dom_html_options_collection *col; - + err = _dom_html_select_element_make_collection(ele, &col); if (err != DOM_NO_ERR) return err; @@ -291,7 +310,7 @@ dom_exception dom_html_select_element_get_value( *value = NULL; dom_html_options_collection_unref(col); - + return DOM_NO_ERR; } @@ -305,11 +324,54 @@ dom_exception dom_html_select_element_get_value( dom_exception dom_html_select_element_set_value( dom_html_select_element *ele, dom_string *value) { - UNUSED(ele); - UNUSED(value); + dom_exception err; + uint32_t idx, len; + dom_node *option; + bool selected; + dom_html_options_collection *col; + + err = _dom_html_select_element_make_collection(ele, &col); + if (err != DOM_NO_ERR) + return err; + + err = dom_html_select_element_get_length(ele, &len); + if (err != DOM_NO_ERR) { + dom_html_options_collection_unref(col); + return err; + } + + for (idx = 0; idx < len; idx++) { + err = dom_html_options_collection_item(col, + idx, &option); + if (err != DOM_NO_ERR) { + dom_html_options_collection_unref(col); + return err; + } + + err = dom_html_option_element_get_selected( + (dom_html_option_element *) option, &selected); + if (err != DOM_NO_ERR) { + dom_html_options_collection_unref(col); + dom_node_unref(option); + return err; + } + + if (selected) { + err = dom_html_option_element_set_value( + (dom_html_option_element *) option, + value); + + dom_html_options_collection_unref(col); + dom_node_unref(option); + + return err; + } + } + + dom_html_options_collection_unref(col); + + return DOM_NO_ERR; - /** \todo Implement */ - return DOM_NOT_SUPPORTED_ERR; } /** @@ -362,7 +424,7 @@ dom_exception dom_html_select_element_set_length( * \return DOM_NO_ERR on success, appropriate error otherwise. */ dom_exception dom_html_select_element_get_form( - dom_html_select_element *select, dom_html_form_element **form) + dom_html_select_element *select, dom_html_form_element **form) { *form = select->form; @@ -536,12 +598,12 @@ dom_exception dom_html_select_element_set_tab_index( dom_exception dom__html_select_element_add(dom_html_select_element *select, struct dom_html_element *ele, struct dom_html_element *before) { - UNUSED(select); - UNUSED(ele); - UNUSED(before); - /** \todo Implement */ - return DOM_NOT_SUPPORTED_ERR; + return _dom_node_insert_before((dom_node_internal *)select, + (dom_node_internal *)ele, (dom_node_internal *)before, + (dom_node_internal **)&ele); + + } dom_exception dom_html_select_element_remove(dom_html_select_element *ele, @@ -549,17 +611,31 @@ dom_exception dom_html_select_element_remove(dom_html_select_element *ele, { dom_exception err; uint32_t len; + dom_node *option; err = dom_html_select_element_get_length(ele, &len); if (err != DOM_NO_ERR) return err; /* Ensure index is in range */ - if (index < 0 || (uint32_t)index >= len) + if (index < 0 || index >= (int32_t)len) return DOM_NO_ERR; + dom_html_options_collection *col; - /** \todo What does remove mean? Remove option from tree and destroy it? */ - return DOM_NOT_SUPPORTED_ERR; + err = _dom_html_select_element_make_collection(ele, &col); + if (err != DOM_NO_ERR) + return err; + + err = dom_html_options_collection_item(col, + index, &option); + + if (err != DOM_NO_ERR) { + dom_html_options_collection_unref(col); + return err; + } + return _dom_node_remove_child(((dom_node_internal *)option)->parent, + (dom_node_internal *)option, + (dom_node_internal **)&option); } /** @@ -577,9 +653,9 @@ dom_exception dom_html_select_element_blur(struct dom_html_select_element *ele) /** \todo Is this event (a) default (b) bubbling and (c) cancelable? */ return _dom_dispatch_generic_event((dom_document *) doc, - (dom_event_target *) ele, - doc->memoised[hds_blur], true, - true, &success); + (dom_event_target *) ele, + doc->memoised[hds_blur], true, + true, &success); } /** @@ -597,9 +673,9 @@ dom_exception dom_html_select_element_focus(struct dom_html_select_element *ele) /** \todo Is this event (a) default (b) bubbling and (c) cancelable? */ return _dom_dispatch_generic_event((dom_document *) doc, - (dom_event_target *) ele, - doc->memoised[hds_focus], true, - true, &success); + (dom_event_target *) ele, + doc->memoised[hds_focus], true, + true, &success); } @@ -611,7 +687,7 @@ bool is_option(struct dom_node_internal *node, void *ctx) { dom_html_select_element *ele = ctx; dom_html_document *doc = (dom_html_document *) dom_node_get_owner(ele); - + if (dom_string_isequal(node->name, doc->memoised[hds_OPTION])) return true; @@ -619,7 +695,7 @@ bool is_option(struct dom_node_internal *node, void *ctx) } dom_exception _dom_html_select_element_set_form( - dom_html_select_element *select, dom_html_form_element *form) + dom_html_select_element *select, dom_html_form_element *form) { select->form = form; diff --git a/src/html/html_style_element.c b/src/html/html_style_element.c index 98eb79b..681f0b8 100644 --- a/src/html/html_style_element.c +++ b/src/html/html_style_element.c @@ -8,6 +8,7 @@ #include <stdlib.h> #include "html/html_style_element.h" +#include "html/html_document.h" #include "core/node.h" #include "utils/utils.h" @@ -34,7 +35,7 @@ dom_exception _dom_html_style_element_create(struct dom_html_document *doc, *ele = malloc(sizeof(dom_html_style_element)); if (*ele == NULL) return DOM_NO_MEM_ERR; - + /* Set up vtables */ node = (struct dom_node_internal *) *ele; node->base.vtable = &_dom_html_element_vtable; @@ -54,13 +55,20 @@ dom_exception _dom_html_style_element_initialise(struct dom_html_document *doc, struct dom_html_style_element *ele) { dom_string *name = NULL; + dom_string *media_default = NULL; dom_exception err; err = dom_string_create((const uint8_t *) "STYLE", SLEN("STYLE"), &name); if (err != DOM_NO_ERR) return err; + + err = dom_string_create((const uint8_t *) "screen", SLEN("screen"), + &media_default); + if (err != DOM_NO_ERR) + return err; + ele->media = media_default; err = _dom_html_element_initialise(doc, &ele->base, name, NULL, NULL); dom_string_unref(name); @@ -119,9 +127,49 @@ dom_exception _dom_html_style_element_copy(dom_node_internal *old, return _dom_html_element_copy(old, copy); } + /*-----------------------------------------------------------------------*/ /* Public APIs */ +#define SIMPLE_GET(attr) \ + dom_exception dom_html_style_element_get_##attr( \ + dom_html_style_element *element, \ + dom_string **attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_get_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } +#define SIMPLE_SET(attr) \ +dom_exception dom_html_style_element_set_##attr( \ + dom_html_style_element *element, \ + dom_string *attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_set_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } + +#define SIMPLE_GET_SET(attr) SIMPLE_GET(attr) SIMPLE_SET(attr) +SIMPLE_GET_SET(type); +SIMPLE_SET(media); + /** * Get the disabled property * @@ -150,3 +198,36 @@ dom_exception dom_html_style_element_set_disabled(dom_html_style_element *ele, SLEN("disabled"), disabled); } +/** + * Get the media property + * + * \param ele The dom_html_style_element object + * \param media The returned status + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_style_element_get_media(dom_html_style_element *ele, + dom_string **media) +{ + dom_html_document *doc; + bool has_value = false; + dom_exception err; + + doc = (dom_html_document *) ((dom_node_internal *) ele)->owner; + + err = dom_element_has_attribute(ele, + doc->memoised[hds_media], &has_value); + if(err !=DOM_NO_ERR) + return err; + + if(has_value) { + return dom_element_get_attribute(ele, + doc->memoised[hds_media], media); + } + + *media = ele->media; + if (*media != NULL) + dom_string_ref(*media); + return DOM_NO_ERR; + +} + diff --git a/src/html/html_style_element.h b/src/html/html_style_element.h index e7a47e5..285da94 100644 --- a/src/html/html_style_element.h +++ b/src/html/html_style_element.h @@ -15,6 +15,8 @@ struct dom_html_style_element { struct dom_html_element base; /**< The base class */ + dom_string *media; + /**< The default string value for the media attribute*/ }; /* Create a dom_html_style_element object */ diff --git a/src/html/html_table_element.c b/src/html/html_table_element.c index 2e182d5..0f27fd3 100644 --- a/src/html/html_table_element.c +++ b/src/html/html_table_element.c @@ -3,5 +3,745 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar<rsk1coder99@gmail.com> */ +#include <assert.h> +#include <stdlib.h> + +#include <dom/html/html_table_element.h> + +#include "html/html_document.h" +#include "html/html_table_element.h" +#include "html/html_tablecaption_element.h" +#include "html/html_tablesection_element.h" +#include "html/html_tablerow_element.h" +#include "html/html_collection.h" + +#include "core/node.h" +#include "core/attr.h" +#include "utils/utils.h" + +static struct dom_element_protected_vtable _protect_vtable = { + { + DOM_NODE_PROTECT_VTABLE_HTML_TABLE_ELEMENT + }, + DOM_HTML_TABLE_ELEMENT_PROTECT_VTABLE +}; + +/** + * Create a dom_html_table_element object + * + * \param doc The document object + * \param ele The returned element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_table_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_table_element **ele) +{ + struct dom_node_internal *node; + + *ele = malloc(sizeof(dom_html_table_element)); + if (*ele == NULL) + return DOM_NO_MEM_ERR; + + /* Set up vtables */ + node = (struct dom_node_internal *) *ele; + node->base.vtable = &_dom_html_element_vtable; + node->vtable = &_protect_vtable; + + return _dom_html_table_element_initialise(doc, namespace, prefix, *ele); +} + +/** + * Initialise a dom_html_table_element object + * + * \param doc The document object + * \param ele The dom_html_table_element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_table_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_table_element *ele) +{ + ele->caption = NULL; + ele->t_head = NULL; + ele->t_foot = NULL; + return _dom_html_element_initialise(doc, &ele->base, + doc->memoised[hds_TABLE], + namespace, prefix); +} + +/** + * Finalise a dom_html_table_element object + * + * \param ele The dom_html_table_element object + */ +void _dom_html_table_element_finalise(struct dom_html_table_element *ele) +{ + _dom_html_element_finalise(&ele->base); +} + +/** + * Destroy a dom_html_table_element object + * + * \param ele The dom_html_table_element object + */ +void _dom_html_table_element_destroy(struct dom_html_table_element *ele) +{ + _dom_html_table_element_finalise(ele); + free(ele); +} + +/*------------------------------------------------------------------------*/ +/* The protected virtual functions */ + +/* The virtual function used to parse attribute value, see src/core/element.c + * for detail */ +dom_exception _dom_html_table_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed) +{ + UNUSED(ele); + UNUSED(name); + + dom_string_ref(value); + *parsed = value; + + return DOM_NO_ERR; +} + +/* The virtual destroy function, see src/core/node.c for detail */ +void _dom_virtual_html_table_element_destroy(dom_node_internal *node) +{ + _dom_html_table_element_destroy((struct dom_html_table_element *) node); +} + +/* The virtual copy function, see src/core/node.c for detail */ +dom_exception _dom_html_table_element_copy(dom_node_internal *old, + dom_node_internal **copy) +{ + return _dom_html_element_copy(old, copy); +} + +/*-----------------------------------------------------------------------*/ +/* API functions */ + +#define SIMPLE_GET(attr) \ + dom_exception dom_html_table_element_get_##attr( \ + dom_html_table_element *element, \ + dom_string **attr) \ +{ \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)-> \ + memoised[hds_##attr]; \ + \ + ret = dom_element_get_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ +} +#define SIMPLE_SET(attr) \ + dom_exception dom_html_table_element_set_##attr( \ + dom_html_table_element *element, \ + dom_string *attr) \ +{ \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)-> \ + memoised[hds_##attr]; \ + \ + ret = dom_element_set_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ +} + +#define SIMPLE_GET_SET(attr) SIMPLE_GET(attr) SIMPLE_SET(attr) +SIMPLE_GET_SET(align); +SIMPLE_GET_SET(bg_color); +SIMPLE_GET_SET(border); +SIMPLE_GET_SET(cell_padding); +SIMPLE_GET_SET(cell_spacing); +SIMPLE_GET_SET(frame); +SIMPLE_GET_SET(rules); +SIMPLE_GET_SET(summary); +SIMPLE_GET_SET(width); + +/** + * Get the caption Attribute + * + * \param table The dom_html_table_element object + */ +dom_exception dom_html_table_element_get_caption( + dom_html_table_element *table, dom_html_table_caption_element **caption) +{ + dom_node_internal *node_tmp = ((dom_node_internal *)table); + dom_html_document *doc = (dom_html_document *)(node_tmp->owner); + + if(table->caption == NULL) { + for (node_tmp = node_tmp->first_child; node_tmp != NULL; node_tmp = node_tmp->next) { + if((node_tmp->type == DOM_ELEMENT_NODE) && + dom_string_caseless_isequal(doc->memoised[hds_CAPTION],node_tmp->name)) { + break; + } + } + table->caption = (dom_html_table_caption_element *)node_tmp; + } + *caption = (table->caption); + return DOM_NO_ERR; +} + +/** + * Set the caption Attribute + * + * \param table The dom_html_table_element object + * \param table The dom_html_table_element object + */ +dom_exception dom_html_table_element_set_caption( + dom_html_table_element *table, dom_html_table_caption_element *caption) +{ + dom_node_internal *check_node = ((dom_node_internal *)caption); + dom_html_document *doc = (dom_html_document *)(((dom_node_internal *)table)->owner); + if(check_node == NULL) { + return DOM_HIERARCHY_REQUEST_ERR; + } + if(!dom_string_caseless_isequal(doc->memoised[hds_CAPTION],check_node->name)) { + return DOM_HIERARCHY_REQUEST_ERR; + } + table->caption = caption; + return DOM_NO_ERR; +} + +/** + * Get the t_head Attribute + * + * \param table The dom_html_table_element object + */ +dom_exception dom_html_table_element_get_t_head( + dom_html_table_element *table, dom_html_table_section_element **t_head) +{ + dom_node_internal *node_tmp = ((dom_node_internal *)table); + dom_html_document *doc = (dom_html_document *)(node_tmp->owner); + + if(table->t_head == NULL) { + for (node_tmp = node_tmp->first_child; node_tmp != NULL; node_tmp = node_tmp->next) { + if((node_tmp->type == DOM_ELEMENT_NODE) && + dom_string_caseless_isequal(doc->memoised[hds_THEAD],node_tmp->name)) { + break; + } + } + table->t_head = (dom_html_table_section_element *)node_tmp; + } + *t_head = table->t_head; + return DOM_NO_ERR; +} + +/** + * Set the t_head Attribute + * + * \param table The dom_html_table_element object + * \param table The dom_html_table_element object + */ +dom_exception dom_html_table_element_set_t_head( + dom_html_table_element *table, dom_html_table_section_element *t_head) +{ + dom_node_internal *check_node = ((dom_node_internal *)t_head); + dom_html_document *doc = (dom_html_document *)(((dom_node_internal *)table)->owner); + if(check_node == NULL) { + return DOM_HIERARCHY_REQUEST_ERR; + } + if(!dom_string_caseless_isequal(doc->memoised[hds_CAPTION],check_node->name)) { + return DOM_HIERARCHY_REQUEST_ERR; + } + table->t_head = t_head; + return DOM_NO_ERR; +} + +/** + * Get the t_foot Attribute + * + * \param table The dom_html_table_element object + */ +dom_exception dom_html_table_element_get_t_foot( + dom_html_table_element *table, dom_html_table_section_element **t_foot) +{ + dom_node_internal *node_tmp = ((dom_node_internal *)table); + dom_html_document *doc = (dom_html_document *)(node_tmp->owner); + + if(table->t_foot == NULL) { + for (node_tmp = node_tmp->first_child; node_tmp != NULL; node_tmp = node_tmp->next) { + if((node_tmp->type == DOM_ELEMENT_NODE) && + dom_string_caseless_isequal(doc->memoised[hds_TFOOT],node_tmp->name)) { + break; + } + } + table->t_foot = (dom_html_table_section_element *)node_tmp; + } + *t_foot = (table->t_foot); + return DOM_NO_ERR; +} + +/** + * Set the t_foot Attribute + * + * \param table The dom_html_table_element object + */ +dom_exception dom_html_table_element_set_t_foot( + dom_html_table_element *table, dom_html_table_section_element *t_foot) +{ + dom_node_internal *check_node = ((dom_node_internal *)t_foot); /*< temporary node to check for raised exceptions */ + dom_html_document *doc = (dom_html_document *)(((dom_node_internal *)table)->owner); + if(check_node == NULL) { + return DOM_HIERARCHY_REQUEST_ERR; + } + if(!dom_string_caseless_isequal(doc->memoised[hds_TFOOT],check_node->name)) { + return DOM_HIERARCHY_REQUEST_ERR; + } + table->t_foot = t_foot; + return DOM_NO_ERR; +} + +/** + * Callback for creating the rows collection + * + * \param node The dom_html_table_element object + * \param ctx The dom_html_document object (void *) + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +bool table_rows_callback(struct dom_node_internal *node, void *ctx) +{ + if(node->type == DOM_ELEMENT_NODE && + dom_string_caseless_isequal(node->name, + ((dom_html_document *)ctx)->memoised[hds_TR])) { + return true; + } + return false; +} + +/** + * Get the rows collection + * + * \param element The dom_html_table_element object + * \param rows The Status + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_table_element_get_rows( + dom_html_table_element *element, + dom_html_collection **rows) +{ + dom_html_document *doc = (dom_html_document *) ((dom_node_internal *) element)->owner; + return _dom_html_collection_create(doc, (dom_node_internal *)element, + table_rows_callback, (void *)doc, rows); +} + +/** + * Callback for creating the tbodies collection + * + * \param node The dom_html_table_element object + * \param ctx The dom_html_document object (void *) + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +bool table_t_bodies_callback(struct dom_node_internal *node, void *ctx) +{ + if(node->type == DOM_ELEMENT_NODE && + dom_string_caseless_isequal(node->name, + ((dom_html_document *)ctx)->memoised[hds_TBODY])) { + return true; + } + return false; +} + +/** + * Get the tBodies collection + * + * \param element The dom_html_table_element object + * \param t_bodies The Status + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_table_element_get_t_bodies( + dom_html_table_element *element, + dom_html_collection **t_bodies) +{ + dom_html_document *doc = (dom_html_document *) ((dom_node_internal *) element)->owner; + return _dom_html_collection_create(doc, (dom_node_internal *)element, + table_t_bodies_callback, (void *)doc, t_bodies); +} + +/** + * Get or Create the table caption + * + * \param element The dom_html_table_element object + * \param caption The Status + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_table_element_create_caption( + dom_html_table_element *element, + dom_html_element **caption) +{ + dom_exception exp; + if((exp = dom_html_table_element_get_caption(element, + (dom_html_table_caption_element **)caption)) != DOM_NO_ERR) { + return exp; + } + if((*caption) == NULL) { + dom_html_document *doc = (dom_html_document *) + ((dom_node_internal *) element)->owner; + exp = _dom_html_table_caption_element_create(doc, + ((dom_node_internal *)element)->namespace, + ((dom_node_internal *)element)->prefix, + (dom_html_table_caption_element **)caption); + if(exp != DOM_NO_ERR) { + return exp; + } + _dom_node_append_child((dom_node_internal *)element, + (dom_node_internal *)*caption, + (dom_node_internal **)caption); + element->caption = (dom_html_table_caption_element *)*caption; + + } + return DOM_NO_ERR; +} + +/** + * Delete the table caption, if one exists + * + * \param element The dom_html_table_element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_table_element_delete_caption( + dom_html_table_element *element) +{ + dom_html_table_caption_element *caption; + dom_html_table_element_get_caption(element, &caption); + _dom_node_remove_child((dom_node_internal *)element, + (dom_node_internal *)caption, + (dom_node_internal **)&caption); + element->caption = NULL; + return DOM_NO_ERR; +} + +/** + * Get or Create the table Foot + * + * \param element The dom_html_table_element object + * \param t_foot The Status + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_table_element_create_t_foot( + dom_html_table_element *element, + dom_html_element **t_foot) +{ + dom_exception exp; + exp = dom_html_table_element_get_t_foot(element, + (dom_html_table_section_element **)t_foot); + if(exp !=DOM_NO_ERR) { + return exp; + } + if((*t_foot) == NULL) { + dom_html_document *doc = (dom_html_document *) + ((dom_node_internal *) element)->owner; + exp = _dom_html_table_section_element_create(doc, + doc->memoised[hds_TFOOT], + ((dom_node_internal *)element)->namespace, + ((dom_node_internal *)element)->prefix, + (dom_html_table_section_element **)t_foot); + if(exp != DOM_NO_ERR) { + return exp; + } + _dom_node_append_child((dom_node_internal *)element, + (dom_node_internal *)*t_foot, + (dom_node_internal **)t_foot); + element->t_foot = (dom_html_table_section_element *)*t_foot; + + } + return DOM_NO_ERR; +} + +/** + * Delete the table Foot, if one exists + * + * \param element The dom_html_table_element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_table_element_delete_t_foot( + dom_html_table_element *element) +{ + dom_html_table_section_element *t_foot; + dom_html_table_element_get_t_foot(element, &t_foot); + _dom_node_remove_child((dom_node_internal *)element, + (dom_node_internal *)t_foot, + (dom_node_internal **)&t_foot); + element->t_foot = NULL; + return DOM_NO_ERR; +} + +/** + * Get or Create the table Head + * + * \param element The dom_html_table_element object + * \param t_head The Status + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_table_element_create_t_head( + dom_html_table_element *element, + dom_html_element **t_head) +{ + dom_html_table_element_get_t_head(element, + (dom_html_table_section_element **)t_head); + if((*t_head) == NULL) { + dom_exception exp; + dom_html_document *doc = (dom_html_document *) + ((dom_node_internal *) element)->owner; + exp = _dom_html_table_section_element_create(doc, + doc->memoised[hds_THEAD], + ((dom_node_internal *)element)->namespace, + ((dom_node_internal *)element)->prefix, + (dom_html_table_section_element **)t_head); + if(exp != DOM_NO_ERR) { + return exp; + } + _dom_node_append_child((dom_node_internal *)element, + (dom_node_internal *)*t_head, + (dom_node_internal **)t_head); + element->t_head = (dom_html_table_section_element *)*t_head; + + } + return DOM_NO_ERR; +} + +/** + * Delete the table Head, if one exists + * + * \param element The dom_html_table_element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_table_element_delete_t_head( + dom_html_table_element *element) +{ + dom_html_table_section_element *t_head; + dom_html_table_element_get_t_head(element, &t_head); + _dom_node_remove_child((dom_node_internal *)element, + (dom_node_internal *)t_head, + (dom_node_internal **)&t_head); + element->t_head = NULL; + return DOM_NO_ERR; +} + +/** + * Get or Create the table Body + * + * \param element The dom_html_table_element object + * \param t_head The Status + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_table_element_create_t_body( + dom_html_table_element *element, + dom_html_table_section_element **t_body) +{ + dom_html_collection *t_bodies; + uint32_t len; + dom_html_table_element_get_t_bodies(element, + &t_bodies); + dom_html_collection_get_length(t_bodies, + &len); + + if(len == 0) { + dom_exception exp; + dom_html_document *doc = (dom_html_document *) + ((dom_node_internal *) element)->owner; + exp = _dom_html_table_section_element_create(doc, + doc->memoised[hds_TBODY], + ((dom_node_internal *)element)->namespace, + ((dom_node_internal *)element)->prefix, + t_body); + if(exp != DOM_NO_ERR) { + return exp; + } + return _dom_node_append_child((dom_node_internal *)element, + (dom_node_internal *)*t_body, + (dom_node_internal **)t_body); + + } else { + return dom_html_collection_item(t_bodies, + 0, (dom_node **)t_body); + } + return DOM_NO_ERR; +} +/** + * Insert a new Row into the table + * + * \param element The dom_html_table_element object + * \param index The Index to insert the Row + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_table_element_insert_row( + dom_html_table_element *element, + int32_t index, + dom_html_element **row) +{ + dom_exception exp; + dom_html_collection* rows; + uint32_t len; + dom_html_document *doc = (dom_html_document *) + ((dom_node_internal *) element)->owner; + + exp = dom_html_table_element_get_rows(element, + &rows); + if(exp != DOM_NO_ERR) { + return exp; + } + exp = dom_html_collection_get_length(rows, + &len); + + exp = _dom_html_table_row_element_create(doc, + ((dom_node_internal *)element)->namespace, + ((dom_node_internal *)element)->prefix, + (dom_html_table_row_element **)row); + if(exp != DOM_NO_ERR) { + return exp; + } + + if(index > (int32_t)len || index < -1) { + return DOM_INDEX_SIZE_ERR; + } else if(len == 0) { + dom_html_table_section_element *new_body; + exp = dom_html_table_element_create_t_body(element, + &new_body); + if(exp != DOM_NO_ERR) { + return exp; + } + + return _dom_node_append_child((dom_node_internal *)new_body, + (dom_node_internal *)*row, + (dom_node_internal **)row); + + } else { + if(index ==-1) { + index = (int32_t)len; + } + + dom_html_collection* rows; + dom_html_table_section_element *t_head; + dom_html_table_section_element *t_foot; + uint32_t window_len = 0, section_len; + + dom_html_table_element_get_t_head(element, &t_head); + dom_html_table_section_element_get_rows(t_head, &rows); + dom_html_collection_get_length(rows, §ion_len); + + if(window_len + section_len > (uint32_t)index || + window_len + section_len == len) { + return dom_html_table_section_element_insert_row(t_head, + index-window_len, row); + } + + window_len += section_len; + + dom_node_internal *n = (dom_node_internal *)element; + + for (n = n->first_child; n != NULL; n = n->next) { + if((n->type == DOM_ELEMENT_NODE) && + dom_string_caseless_isequal(doc->memoised[hds_TBODY],n->name)) { + + dom_html_table_section_element_get_rows((dom_html_table_section_element *)n, &rows); + dom_html_collection_get_length(rows, §ion_len); + + if(window_len + section_len > (uint32_t)index || + window_len + section_len == len) { + return dom_html_table_section_element_insert_row( + (dom_html_table_section_element *)n, + index-window_len, row); + } + + window_len += section_len; + } + } + dom_html_table_element_get_t_foot(element, &t_foot); + dom_html_table_section_element_get_rows(t_foot, &rows); + dom_html_collection_get_length(rows, §ion_len); + if(window_len + section_len > (uint32_t)index || + window_len +section_len == len) { + return dom_html_table_section_element_insert_row(t_foot, + index-window_len, row); + } + return DOM_INDEX_SIZE_ERR; + } +} +/** + * Delete the table Head, if one exists + * + * \param element The dom_html_table_element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_table_element_delete_row( + dom_html_table_element *element, + int32_t index) +{ + dom_exception exp; + dom_html_collection* rows; + uint32_t len; + dom_html_document *doc = (dom_html_document *) + ((dom_node_internal *) element)->owner; + + exp = dom_html_table_element_get_rows(element, + &rows); + if(exp != DOM_NO_ERR) { + return exp; + } + exp = dom_html_collection_get_length(rows, + &len); + + if(exp != DOM_NO_ERR) { + return exp; + } + + if(index >= (int32_t)len || index < -1 || len ==0) { + return DOM_INDEX_SIZE_ERR; + } else { + if(index ==-1) { + index = (int32_t)len-1; + } + dom_html_collection* rows; + dom_html_table_section_element *t_head; + dom_html_table_section_element *t_foot; + uint32_t window_len = 0, section_len; + dom_html_table_element_get_t_head(element, &t_head); + dom_html_table_section_element_get_rows(t_head, &rows); + dom_html_collection_get_length(rows, §ion_len); + if(window_len + section_len > (uint32_t)index) { + return dom_html_table_section_element_delete_row(t_head, + index-window_len); + } + window_len += section_len; + dom_node_internal *n = (dom_node_internal *)element; + for (n = n->first_child; n != NULL; n = n->next) { + if((n->type == DOM_ELEMENT_NODE) && + dom_string_caseless_isequal(doc->memoised[hds_TBODY],n->name)) { + dom_html_table_section_element_get_rows((dom_html_table_section_element *)n, &rows); + dom_html_collection_get_length(rows, §ion_len); + if(window_len + section_len > (uint32_t)index) { + return dom_html_table_section_element_delete_row( + (dom_html_table_section_element *)n, + index-window_len); + } + window_len += section_len; + } + } + exp = dom_html_table_element_get_t_foot(element, &t_foot); + dom_html_table_section_element_get_rows(t_foot, &rows); + dom_html_collection_get_length(rows, §ion_len); + if(window_len + section_len > (uint32_t)index) { + return dom_html_table_section_element_delete_row(t_foot, + index-window_len); + } + return DOM_INDEX_SIZE_ERR; + } + +} diff --git a/src/html/html_table_element.h b/src/html/html_table_element.h index 2e182d5..caabbe8 100644 --- a/src/html/html_table_element.h +++ b/src/html/html_table_element.h @@ -3,5 +3,61 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_internal_html_table_element_h_ +#define dom_internal_html_table_element_h_ + +#include <dom/html/html_table_element.h> +#include "html/html_element.h" + +struct dom_html_table_element { + struct dom_html_element base; + /**< The base class */ + dom_html_table_caption_element* caption; + /**< The caption associated with the table*/ + dom_html_table_section_element* t_head; + /**< The thead element associated with the table*/ + dom_html_table_section_element* t_foot; + /**< The tfoot element associated with the table*/ +}; + +/* Create a dom_html_table_element object */ +dom_exception _dom_html_table_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_table_element **ele); + +/* Initialise a dom_html_table_element object */ +dom_exception _dom_html_table_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_table_element *ele); + +/* Finalise a dom_html_table_element object */ +void _dom_html_table_element_finalise(struct dom_html_table_element *ele); + +/* Destroy a dom_html_table_element object */ +void _dom_html_table_element_destroy(struct dom_html_table_element *ele); + +/* The protected virtual functions */ +dom_exception _dom_html_table_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed); +void _dom_virtual_html_table_element_destroy(dom_node_internal *node); +dom_exception _dom_html_table_element_copy(dom_node_internal *old, + dom_node_internal **copy); + +#define DOM_HTML_TABLE_ELEMENT_PROTECT_VTABLE \ + _dom_html_table_element_parse_attribute + +#define DOM_NODE_PROTECT_VTABLE_HTML_TABLE_ELEMENT \ + _dom_virtual_html_table_element_destroy, \ + _dom_html_table_element_copy + +#endif + +bool table_rows_callback(struct dom_node_internal *node, void *ctx); +bool table_t_bodies_callback(struct dom_node_internal *node, void *ctx); +dom_exception dom_html_table_element_create_t_body( + dom_html_table_element *element, + dom_html_table_section_element **t_body); diff --git a/src/html/html_tablecaption_element.c b/src/html/html_tablecaption_element.c index 2e182d5..d2c3fc6 100644 --- a/src/html/html_tablecaption_element.c +++ b/src/html/html_tablecaption_element.c @@ -3,5 +3,158 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar<rsk1coder99@gmail.com> */ +#include <assert.h> +#include <stdlib.h> + +#include <dom/html/html_tablecaption_element.h> + +#include "html/html_document.h" +#include "html/html_tablecaption_element.h" + +#include "core/node.h" +#include "core/attr.h" +#include "utils/utils.h" + +static struct dom_element_protected_vtable _protect_vtable = { + { + DOM_NODE_PROTECT_VTABLE_HTML_TABLE_CAPTION_ELEMENT + }, + DOM_HTML_TABLE_CAPTION_ELEMENT_PROTECT_VTABLE +}; + +/** + * Create a dom_html_table_caption_element object + * + * \table_caption doc The document object + * \table_caption ele The returned element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_table_caption_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_table_caption_element **ele) +{ + struct dom_node_internal *node; + + *ele = malloc(sizeof(dom_html_table_caption_element)); + if (*ele == NULL) + return DOM_NO_MEM_ERR; + + /* Set up vtables */ + node = (struct dom_node_internal *) *ele; + node->base.vtable = &_dom_html_element_vtable; + node->vtable = &_protect_vtable; + + return _dom_html_table_caption_element_initialise(doc, namespace, prefix, *ele); +} + +/** + * Initialise a dom_html_table_caption_element object + * + * \table_caption doc The document object + * \table_caption ele The dom_html_table_caption_element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_table_caption_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_table_caption_element *ele) +{ + return _dom_html_element_initialise(doc, &ele->base, + doc->memoised[hds_CAPTION], + namespace, prefix); +} + +/** + * Finalise a dom_html_table_caption_element object + * + * \table_caption ele The dom_html_table_caption_element object + */ +void _dom_html_table_caption_element_finalise(struct dom_html_table_caption_element *ele) +{ + _dom_html_element_finalise(&ele->base); +} + +/** + * Destroy a dom_html_table_caption_element object + * + * \table_caption ele The dom_html_table_caption_element object + */ +void _dom_html_table_caption_element_destroy(struct dom_html_table_caption_element *ele) +{ + _dom_html_table_caption_element_finalise(ele); + free(ele); +} + +/*------------------------------------------------------------------------*/ +/* The protected virtual functions */ + +/* The virtual function used to parse attribute value, see src/core/element.c + * for detail */ +dom_exception _dom_html_table_caption_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed) +{ + UNUSED(ele); + UNUSED(name); + + dom_string_ref(value); + *parsed = value; + + return DOM_NO_ERR; +} + +/* The virtual destroy function, see src/core/node.c for detail */ +void _dom_virtual_html_table_caption_element_destroy(dom_node_internal *node) +{ + _dom_html_table_caption_element_destroy((struct dom_html_table_caption_element *) node); +} + +/* The virtual copy function, see src/core/node.c for detail */ +dom_exception _dom_html_table_caption_element_copy(dom_node_internal *old, + dom_node_internal **copy) +{ + return _dom_html_element_copy(old, copy); +} + +/*-----------------------------------------------------------------------*/ +/* API functions */ + +#define SIMPLE_GET(attr) \ + dom_exception dom_html_table_caption_element_get_##attr( \ + dom_html_table_caption_element *element, \ + dom_string **attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)-> \ + memoised[hds_##attr]; \ + \ + ret = dom_element_get_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } +#define SIMPLE_SET(attr) \ + dom_exception dom_html_table_caption_element_set_##attr( \ + dom_html_table_caption_element *element, \ + dom_string *attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)-> \ + memoised[hds_##attr]; \ + \ + ret = dom_element_set_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } + +#define SIMPLE_GET_SET(attr) SIMPLE_GET(attr) SIMPLE_SET(attr) +SIMPLE_GET_SET(align); diff --git a/src/html/html_tablecaption_element.h b/src/html/html_tablecaption_element.h index 2e182d5..b1cfd3b 100644 --- a/src/html/html_tablecaption_element.h +++ b/src/html/html_tablecaption_element.h @@ -3,5 +3,50 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_internal_html_table_caption_element_h_ +#define dom_internal_html_table_caption_element_h_ + +#include <dom/html/html_tablecaption_element.h> +#include "html/html_element.h" + + +struct dom_html_table_caption_element { + struct dom_html_element base; + /**< The base class */ +}; + +/* Create a dom_html_table_caption_element object */ +dom_exception _dom_html_table_caption_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_table_caption_element **ele); + +/* Initialise a dom_html_table_caption_element object */ +dom_exception _dom_html_table_caption_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_table_caption_element *ele); + +/* Finalise a dom_html_table_caption_element object */ +void _dom_html_table_caption_element_finalise(struct dom_html_table_caption_element *ele); + +/* Destroy a dom_html_table_caption_element object */ +void _dom_html_table_caption_element_destroy(struct dom_html_table_caption_element *ele); + +/* The protected virtual functions */ +dom_exception _dom_html_table_caption_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed); +void _dom_virtual_html_table_caption_element_destroy(dom_node_internal *node); +dom_exception _dom_html_table_caption_element_copy(dom_node_internal *old, + dom_node_internal **copy); + +#define DOM_HTML_TABLE_CAPTION_ELEMENT_PROTECT_VTABLE \ + _dom_html_table_caption_element_parse_attribute + +#define DOM_NODE_PROTECT_VTABLE_HTML_TABLE_CAPTION_ELEMENT \ + _dom_virtual_html_table_caption_element_destroy, \ + _dom_html_table_caption_element_copy + +#endif diff --git a/src/html/html_tablecell_element.c b/src/html/html_tablecell_element.c index 2e182d5..cc596c1 100644 --- a/src/html/html_tablecell_element.c +++ b/src/html/html_tablecell_element.c @@ -3,5 +3,311 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#include <assert.h> +#include <stdlib.h> + +#include <dom/html/html_tablecell_element.h> + +#include "html/html_document.h" +#include "html/html_tablecell_element.h" + +#include "core/node.h" +#include "core/attr.h" +#include "utils/utils.h" + +static struct dom_element_protected_vtable _protect_vtable = { + { + DOM_NODE_PROTECT_VTABLE_HTML_TABLE_CELL_ELEMENT + }, + DOM_HTML_TABLE_CELL_ELEMENT_PROTECT_VTABLE +}; + +/** + * Create a dom_html_table_cell_element table_cell + * + * \param doc The document table_cell + * \param ele The returned element table_cell + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_table_cell_element_create(struct dom_html_document *doc, + dom_string *tag_name, dom_string *namespace, dom_string *prefix, + struct dom_html_table_cell_element **ele) +{ + struct dom_node_internal *node; + + *ele = malloc(sizeof(dom_html_table_cell_element)); + if (*ele == NULL) + return DOM_NO_MEM_ERR; + + /* Set up vtables */ + node = (struct dom_node_internal *) *ele; + node->base.vtable = &_dom_html_element_vtable; + node->vtable = &_protect_vtable; + + return _dom_html_table_cell_element_initialise(doc, tag_name, namespace, prefix, *ele); +} + +/** + * Initialise a dom_html_table_cell_element table_cell + * + * \param doc The document table_cell + * \param ele The dom_html_table_cell_element table_cell + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_table_cell_element_initialise(struct dom_html_document *doc, + dom_string *tag_name, dom_string *namespace, dom_string *prefix, + struct dom_html_table_cell_element *ele) +{ + ele->id = -1; + return _dom_html_element_initialise(doc, &ele->base, + tag_name, + namespace, prefix); +} + +/** + * Finalise a dom_html_table_cell_element table_cell + * + * \param ele The dom_html_table_cell_element table_cell + */ +void _dom_html_table_cell_element_finalise(struct dom_html_table_cell_element *ele) +{ + _dom_html_element_finalise(&ele->base); +} + +/** + * Destroy a dom_html_table_cell_element table_cell + * + * \param ele The dom_html_table_cell_element table_cell + */ +void _dom_html_table_cell_element_destroy(struct dom_html_table_cell_element *ele) +{ + _dom_html_table_cell_element_finalise(ele); + free(ele); +} + +/*------------------------------------------------------------------------*/ +/* The protected virtual functions */ + +/* The virtual function used to parse attribute value, see src/core/element.c + * for detail */ +dom_exception _dom_html_table_cell_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed) +{ + UNUSED(ele); + UNUSED(name); + + dom_string_ref(value); + *parsed = value; + + return DOM_NO_ERR; +} + +/* The virtual destroy function, see src/core/node.c for detail */ +void _dom_virtual_html_table_cell_element_destroy(dom_node_internal *node) +{ + _dom_html_table_cell_element_destroy((struct dom_html_table_cell_element *) node); +} + +/* The virtual copy function, see src/core/node.c for detail */ +dom_exception _dom_html_table_cell_element_copy(dom_node_internal *old, + dom_node_internal **copy) +{ + return _dom_html_element_copy(old, copy); +} + +/*-----------------------------------------------------------------------*/ +/* API functions */ + +#define SIMPLE_GET(attr) \ + dom_exception dom_html_table_cell_element_get_##attr( \ + dom_html_table_cell_element *element, \ + dom_string **attr) \ +{ \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_get_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ +} +#define SIMPLE_SET(attr) \ + dom_exception dom_html_table_cell_element_set_##attr( \ + dom_html_table_cell_element *element, \ + dom_string *attr) \ +{ \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_set_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ +} + +#define SIMPLE_GET_SET(attr) SIMPLE_GET(attr) SIMPLE_SET(attr) + +SIMPLE_GET_SET(abbr); +SIMPLE_GET_SET(align); +SIMPLE_GET_SET(axis); +SIMPLE_GET_SET(bg_color); +SIMPLE_GET_SET(ch); +SIMPLE_GET_SET(ch_off); +SIMPLE_GET_SET(headers); +SIMPLE_GET_SET(height); +SIMPLE_GET_SET(scope); +SIMPLE_GET_SET(v_align); +SIMPLE_GET_SET(width); + +/** + * Get the cell_index property + * + * \param table_cell The dom_html_table_cell_element object + * \param cell_index The status + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_table_cell_element_get_cell_index( + dom_html_table_cell_element *table_cell, int32_t *cell_index) +{ + if(table_cell->id == -1) { + dom_node_internal *n = ((dom_node_internal *)table_cell)->parent; + dom_html_document *doc = (dom_html_document *)(n->owner); + int32_t cnt = 0; + while(n != NULL) { + if(dom_string_caseless_isequal(doc->memoised[hds_TR],n->name)) { + break; + } + n = n->parent; + } + dom_node_internal *root = n; + while(n != NULL) { + if(n == (dom_node_internal *)table_cell) { + break; + } else if((n->type == DOM_ELEMENT_NODE) && + (dom_string_caseless_isequal(doc->memoised[hds_TD],n->name) || + dom_string_caseless_isequal(doc->memoised[hds_TH],n->name))) { + ((dom_html_table_cell_element *)n)->id = cnt; + cnt += 1; + } + if(n->first_child != NULL) { + n = n->first_child; + } else if(n->next != NULL) { + n = n->next; + } else { + /* No children and siblings */ + struct dom_node_internal *parent = n->parent; + while (n == parent->last_child && + n != root) { + n = parent; + parent = parent->parent; + } + + if(n == root) { + n = NULL; + } else { + n = n->next; + } + } + } + table_cell->id = cnt; + } + *cell_index = table_cell->id; + return DOM_NO_ERR; +} + +/** + * Get the col_span property + * + * \param table_cell The dom_html_table_cell_element object + * \param no_wrap The returned status + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_table_cell_element_get_col_span( + dom_html_table_cell_element *table_cell, int32_t *col_span) +{ + return dom_html_element_get_int32_t_property(&table_cell->base, "colspan", + SLEN("colspan"), col_span); +} + +/** + * Set the col_span property + * + * \param table_cell The dom_html_table_cell_element object + * \param no_wrap The status + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_table_cell_element_set_col_span( + dom_html_table_cell_element *table_cell, uint32_t col_span) +{ + return dom_html_element_set_int32_t_property(&table_cell->base, "colspan", + SLEN("colspan"), col_span); +} + +/** + * Get the row_span property + * + * \param table_cell The dom_html_table_cell_element object + * \param no_wrap The returned status + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_table_cell_element_get_row_span( + dom_html_table_cell_element *table_cell, int32_t *row_span) +{ + return dom_html_element_get_int32_t_property(&table_cell->base, "rowspan", + SLEN("rowspan"), row_span); +} + +/** + * Set the row_span property + * + * \param table_cell The dom_html_table_cell_element object + * \param no_wrap The status + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_table_cell_element_set_row_span( + dom_html_table_cell_element *table_cell, uint32_t row_span) +{ + return dom_html_element_set_int32_t_property(&table_cell->base, "rowspan", + SLEN("rowspan"), row_span); +} + +/** + * Get the no_wrap property + * + * \param ele The dom_html_table_cell_element object + * \param no_wrap The status + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_table_cell_element_get_no_wrap(dom_html_table_cell_element *ele, + bool *no_wrap) +{ + return dom_html_element_get_bool_property(&ele->base, "nowrap", + SLEN("nowrap"), no_wrap); +} + +/** + * Set the no_wrap property + * + * \param ele The dom_html_table_cell_element object + * \param no_wrap The status + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_table_cell_element_set_no_wrap(dom_html_table_cell_element *ele, + bool no_wrap) +{ + return dom_html_element_set_bool_property(&ele->base, "nowrap", + SLEN("nowrap"), no_wrap); +} + diff --git a/src/html/html_tablecell_element.h b/src/html/html_tablecell_element.h index 2e182d5..801c3c0 100644 --- a/src/html/html_tablecell_element.h +++ b/src/html/html_tablecell_element.h @@ -3,5 +3,52 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_internal_html_table_cell_element_h_ +#define dom_internal_html_table_cell_element_h_ + +#include <dom/html/html_tablecell_element.h> +#include "html/html_element.h" + + +struct dom_html_table_cell_element { + struct dom_html_element base; + /**< The base class */ + int32_t id; + /**< The Index Associated with the cell*/ +}; + +/* Create a dom_html_table_cell_element object */ +dom_exception _dom_html_table_cell_element_create(struct dom_html_document *doc, + dom_string *tag_name, dom_string *namespace, dom_string *prefix, + struct dom_html_table_cell_element **ele); + +/* Initialise a dom_html_table_cell_element object */ +dom_exception _dom_html_table_cell_element_initialise(struct dom_html_document *doc, + dom_string *tag_name, dom_string *namespace, dom_string *prefix, + struct dom_html_table_cell_element *ele); + +/* Finalise a dom_html_table_cell_element object */ +void _dom_html_table_cell_element_finalise(struct dom_html_table_cell_element *ele); + +/* Destroy a dom_html_table_cell_element object */ +void _dom_html_table_cell_element_destroy(struct dom_html_table_cell_element *ele); + +/* The protected virtual functions */ +dom_exception _dom_html_table_cell_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed); +void _dom_virtual_html_table_cell_element_destroy(dom_node_internal *node); +dom_exception _dom_html_table_cell_element_copy(dom_node_internal *old, + dom_node_internal **copy); + +#define DOM_HTML_TABLE_CELL_ELEMENT_PROTECT_VTABLE \ + _dom_html_table_cell_element_parse_attribute + +#define DOM_NODE_PROTECT_VTABLE_HTML_TABLE_CELL_ELEMENT \ + _dom_virtual_html_table_cell_element_destroy, \ + _dom_html_table_cell_element_copy + +#endif diff --git a/src/html/html_tablecol_element.c b/src/html/html_tablecol_element.c index 2e182d5..cf21a24 100644 --- a/src/html/html_tablecol_element.c +++ b/src/html/html_tablecol_element.c @@ -3,5 +3,186 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar<rsk1coder99@gmail.com> */ +#include <assert.h> +#include <stdlib.h> + +#include <dom/html/html_tablecol_element.h> + +#include "html/html_document.h" +#include "html/html_tablecol_element.h" + +#include "core/node.h" +#include "core/attr.h" +#include "utils/utils.h" + +static struct dom_element_protected_vtable _protect_vtable = { + { + DOM_NODE_PROTECT_VTABLE_HTML_TABLE_COL_ELEMENT + }, + DOM_HTML_TABLE_COL_ELEMENT_PROTECT_VTABLE +}; + +/** + * Create a dom_html_table_col_element object + * + * \param doc The document object + * \param ele The returned element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_table_col_element_create(struct dom_html_document *doc, + dom_string *tag_name, dom_string *namespace, dom_string *prefix, + struct dom_html_table_col_element **ele) +{ + struct dom_node_internal *node; + + *ele = malloc(sizeof(dom_html_table_col_element)); + if (*ele == NULL) + return DOM_NO_MEM_ERR; + + /* Set up vtables */ + node = (struct dom_node_internal *) *ele; + node->base.vtable = &_dom_html_element_vtable; + node->vtable = &_protect_vtable; + + return _dom_html_table_col_element_initialise(doc, tag_name, namespace, prefix, *ele); +} + +/** + * Initialise a dom_html_table_col_element object + * + * \param doc The document object + * \param ele The dom_html_table_col_element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_table_col_element_initialise(struct dom_html_document *doc, + dom_string *tag_name, dom_string *namespace, dom_string *prefix, + struct dom_html_table_col_element *ele) +{ + return _dom_html_element_initialise(doc, &ele->base, + tag_name, + namespace, prefix); +} + +/** + * Finalise a dom_html_table_col_element object + * + * \param ele The dom_html_table_col_element object + */ +void _dom_html_table_col_element_finalise(struct dom_html_table_col_element *ele) +{ + _dom_html_element_finalise(&ele->base); +} + +/** + * Destroy a dom_html_table_col_element object + * + * \param ele The dom_html_table_col_element object + */ +void _dom_html_table_col_element_destroy(struct dom_html_table_col_element *ele) +{ + _dom_html_table_col_element_finalise(ele); + free(ele); +} + +/** + * Get the width Property + * + * \param table_col The dom_html_table_col_element object + */ +dom_exception dom_html_table_col_element_get_span( + dom_html_table_col_element *table_col, int32_t *span) +{ + return dom_html_element_get_int32_t_property(&table_col->base, "span", + SLEN("span"), span); +} + +/** + * Set the width Property + * + * \param table_col The dom_html_table_col_element object + */ +dom_exception dom_html_table_col_element_set_span( + dom_html_table_col_element *table_col, uint32_t span) +{ + return dom_html_element_set_int32_t_property(&table_col->base, "span", + SLEN("span"), span); +} + +/*------------------------------------------------------------------------*/ +/* The protected virtual functions */ + +/* The virtual function used to parse attribute value, see src/core/element.c + * for detail */ +dom_exception _dom_html_table_col_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed) +{ + UNUSED(ele); + UNUSED(name); + + dom_string_ref(value); + *parsed = value; + + return DOM_NO_ERR; +} + +/* The virtual destroy function, see src/core/node.c for detail */ +void _dom_virtual_html_table_col_element_destroy(dom_node_internal *node) +{ + _dom_html_table_col_element_destroy((struct dom_html_table_col_element *) node); +} + +/* The virtual copy function, see src/core/node.c for detail */ +dom_exception _dom_html_table_col_element_copy(dom_node_internal *old, + dom_node_internal **copy) +{ + return _dom_html_element_copy(old, copy); +} + +/*-----------------------------------------------------------------------*/ +/* API functions */ + +#define SIMPLE_GET(attr) \ + dom_exception dom_html_table_col_element_get_##attr( \ + dom_html_table_col_element *element, \ + dom_string **attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)-> \ + memoised[hds_##attr]; \ + \ + ret = dom_element_get_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } +#define SIMPLE_SET(attr) \ + dom_exception dom_html_table_col_element_set_##attr( \ + dom_html_table_col_element *element, \ + dom_string *attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)-> \ + memoised[hds_##attr]; \ + \ + ret = dom_element_set_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } + +#define SIMPLE_GET_SET(attr) SIMPLE_GET(attr) SIMPLE_SET(attr) +SIMPLE_GET_SET(align); +SIMPLE_GET_SET(ch); +SIMPLE_GET_SET(ch_off); +SIMPLE_GET_SET(v_align); +SIMPLE_GET_SET(width); diff --git a/src/html/html_tablecol_element.h b/src/html/html_tablecol_element.h index 2e182d5..a8e6fa7 100644 --- a/src/html/html_tablecol_element.h +++ b/src/html/html_tablecol_element.h @@ -3,5 +3,50 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_internal_html_table_col_element_h_ +#define dom_internal_html_table_col_element_h_ + +#include <dom/html/html_tablecol_element.h> +#include "html/html_element.h" + + +struct dom_html_table_col_element { + struct dom_html_element base; + /**< The base class */ +}; + +/* Create a dom_html_table_col_element object */ +dom_exception _dom_html_table_col_element_create(struct dom_html_document *doc, + dom_string *tag_name, dom_string *namespace, dom_string *prefix, + struct dom_html_table_col_element **ele); + +/* Initialise a dom_html_table_col_element object */ +dom_exception _dom_html_table_col_element_initialise(struct dom_html_document *doc, + dom_string *tag_name, dom_string *namespace, dom_string *prefix, + struct dom_html_table_col_element *ele); + +/* Finalise a dom_html_table_col_element object */ +void _dom_html_table_col_element_finalise(struct dom_html_table_col_element *ele); + +/* Destroy a dom_html_table_col_element object */ +void _dom_html_table_col_element_destroy(struct dom_html_table_col_element *ele); + +/* The protected virtual functions */ +dom_exception _dom_html_table_col_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed); +void _dom_virtual_html_table_col_element_destroy(dom_node_internal *node); +dom_exception _dom_html_table_col_element_copy(dom_node_internal *old, + dom_node_internal **copy); + +#define DOM_HTML_TABLE_COL_ELEMENT_PROTECT_VTABLE \ + _dom_html_table_col_element_parse_attribute + +#define DOM_NODE_PROTECT_VTABLE_HTML_TABLE_COL_ELEMENT \ + _dom_virtual_html_table_col_element_destroy, \ + _dom_html_table_col_element_copy + +#endif diff --git a/src/html/html_tablerow_element.c b/src/html/html_tablerow_element.c index 2e182d5..fb3e27b 100644 --- a/src/html/html_tablerow_element.c +++ b/src/html/html_tablerow_element.c @@ -3,5 +3,373 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#include <assert.h> +#include <stdlib.h> + +#include <dom/html/html_tablerow_element.h> +#include <dom/html/html_table_element.h> + +#include "html/html_document.h" +#include "html/html_tablerow_element.h" +#include "html/html_collection.h" + +#include "core/node.h" +#include "core/attr.h" +#include "utils/utils.h" + +static struct dom_element_protected_vtable _protect_vtable = { + { + DOM_NODE_PROTECT_VTABLE_HTML_TABLE_ROW_ELEMENT + }, + DOM_HTML_TABLE_ROW_ELEMENT_PROTECT_VTABLE +}; + +/** + * Create a dom_html_table_row_element table_row + * + * \param doc The document table_row + * \param ele The returned element table_row + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_table_row_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_table_row_element **ele) +{ + struct dom_node_internal *node; + + *ele = malloc(sizeof(dom_html_table_row_element)); + if (*ele == NULL) + return DOM_NO_MEM_ERR; + + /* Set up vtables */ + node = (struct dom_node_internal *) *ele; + node->base.vtable = &_dom_html_element_vtable; + node->vtable = &_protect_vtable; + + return _dom_html_table_row_element_initialise(doc, namespace, prefix, *ele); +} + +/** + * Initialise a dom_html_table_row_element table_row + * + * \param doc The document table_row + * \param ele The dom_html_table_row_element table_row + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_table_row_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_table_row_element *ele) +{ + return _dom_html_element_initialise(doc, &ele->base, + doc->memoised[hds_TR], + namespace, prefix); +} + +/** + * Finalise a dom_html_table_row_element table_row + * + * \param ele The dom_html_table_row_element table_row + */ +void _dom_html_table_row_element_finalise(struct dom_html_table_row_element *ele) +{ + _dom_html_element_finalise(&ele->base); +} + +/** + * Destroy a dom_html_table_row_element table_row + * + * \param ele The dom_html_table_row_element table_row + */ +void _dom_html_table_row_element_destroy(struct dom_html_table_row_element *ele) +{ + _dom_html_table_row_element_finalise(ele); + free(ele); +} + +/*------------------------------------------------------------------------*/ +/* The protected virtual functions */ + +/* The virtual function used to parse attribute value, see src/core/element.c + * for detail */ +dom_exception _dom_html_table_row_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed) +{ + UNUSED(ele); + UNUSED(name); + + dom_string_ref(value); + *parsed = value; + + return DOM_NO_ERR; +} + +/* The virtual destroy function, see src/core/node.c for detail */ +void _dom_virtual_html_table_row_element_destroy(dom_node_internal *node) +{ + _dom_html_table_row_element_destroy((struct dom_html_table_row_element *) node); +} + +/* The virtual copy function, see src/core/node.c for detail */ +dom_exception _dom_html_table_row_element_copy(dom_node_internal *old, + dom_node_internal **copy) +{ + return _dom_html_element_copy(old, copy); +} + +/*-----------------------------------------------------------------------*/ +/* API functions */ + +#define SIMPLE_GET(attr) \ + dom_exception dom_html_table_row_element_get_##attr( \ + dom_html_table_row_element *element, \ + dom_string **attr) \ +{ \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_get_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ +} +#define SIMPLE_SET(attr) \ + dom_exception dom_html_table_row_element_set_##attr( \ + dom_html_table_row_element *element, \ + dom_string *attr) \ +{ \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_set_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ +} + +#define SIMPLE_GET_SET(attr) SIMPLE_GET(attr) SIMPLE_SET(attr) + +SIMPLE_GET_SET(align); +SIMPLE_GET_SET(bg_color); +SIMPLE_GET_SET(ch); +SIMPLE_GET_SET(ch_off); +SIMPLE_GET_SET(v_align); + +/** + * Get the index of the Row in logical order + * + * \param element The dom_html_table_row_element object + * \param index The Status + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_table_row_element_get_row_index( + dom_html_table_row_element *table_row, int32_t *row_index) +{ + dom_node_internal *n = ((dom_node_internal *)table_row)->parent; + dom_node_internal *parent = n; + dom_html_document *doc = (dom_html_document *) ((dom_node_internal *) table_row)->owner; + uint32_t count = 0; + for(n = n->first_child; n != (dom_node_internal *)table_row; + n = n->next) { + if(n->type == DOM_ELEMENT_NODE && + dom_string_caseless_isequal(n->name,doc->memoised[hds_TR])) { + count += 1; + } + } + + if(dom_string_caseless_isequal((parent->parent)->name, doc->memoised[hds_TABLE]) && + dom_string_caseless_isequal(parent->name, doc->memoised[hds_THEAD]) + ) { + *row_index = count; + }else if(dom_string_caseless_isequal((parent->parent)->name, doc->memoised[hds_TABLE]) && + (dom_string_caseless_isequal(parent->name, doc->memoised[hds_TBODY]) || + dom_string_caseless_isequal(parent->name, doc->memoised[hds_TFOOT]))) { + uint32_t len; + n = parent->parent; + dom_html_table_section_element *t_head; + dom_html_collection *rows; + dom_html_table_element_get_t_head( + (dom_html_table_element *)(parent->parent), + &t_head); + dom_html_table_section_element_get_rows(t_head, + &rows); + dom_html_collection_get_length(rows, + &len); + count += len; + for(n = n->first_child;n != parent && n != NULL; + n = n->next) { + if(dom_string_caseless_isequal(n->name, doc->memoised[hds_TBODY])) { + dom_html_table_section_element_get_rows( + (dom_html_table_section_element *)n, + &rows); + dom_html_collection_get_length(rows, &len); + count += len; + } + } + *row_index = (int32_t)count; + + } else { + return DOM_HIERARCHY_REQUEST_ERR; + } + return DOM_NO_ERR; +} + +/** + * Get the index of a row within its Section + * + * \param element The dom_html_table_row_element object + * \param index The Status + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_table_row_element_get_section_row_index( + dom_html_table_row_element *table_row, int32_t *section_row_index) +{ + dom_node_internal *n = ((dom_node_internal *)table_row)->parent; + dom_html_document *doc = (dom_html_document *) ((dom_node_internal *) table_row)->owner; + int32_t count = 0; + for(n = n->first_child; n != (dom_node_internal *)table_row; + n = n->next) { + if(n->type == DOM_ELEMENT_NODE && + dom_string_caseless_isequal(n->name, doc->memoised[hds_TR])) { + count += 1; + } + } + *section_row_index = count; + return DOM_NO_ERR; +} + +/** + * Callback for creating the Cells collection + * + * \param node The dom_node_internal object + * \param ctx The dom_html_document object (void *) + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +bool table_cells_callback(struct dom_node_internal *node, void *ctx) +{ + if(node->type == DOM_ELEMENT_NODE && + dom_string_caseless_isequal(node->name, + ((dom_html_document *)ctx)->memoised[hds_TD])) { + return true; + } + return false; +} + +/** + * Get the Cells collection + * + * \param element The dom_html_table_element object + * \param t_bodies The Status + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_table_row_element_get_cells( + dom_html_table_row_element *element, + dom_html_collection **cells) +{ + dom_html_document *doc = (dom_html_document *) ((dom_node_internal *) element)->owner; + return _dom_html_collection_create(doc, (dom_node_internal *)element, + table_cells_callback, (void *)doc, cells); +} + +/** + * Insert Cell before the given Index + * + * \param element The dom_html_table_row_element object + * \param index The Index of the Cell node to be inserted + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_table_row_element_insert_cell( + dom_html_table_row_element *element, + int32_t index, dom_html_element **cell) { + dom_html_document *doc = (dom_html_document *) ((dom_node_internal *) element)->owner; + + dom_node *node; /*< The node at the (index)th position*/ + + dom_html_collection *cells; /*< The collection of cells in input table_row_element*/ + uint32_t len; /*< The size of the cell collection */ + dom_exception exp; /*< Variable for getting the exceptions*/ + exp = _dom_html_element_create(doc, doc->memoised[hds_TD], + ((dom_node_internal *)element)->namespace, + ((dom_node_internal *)element)->prefix, + cell); + if(exp != DOM_NO_ERR) + return exp; + + exp = dom_html_table_row_element_get_cells(element, &cells); + if(exp != DOM_NO_ERR) + return exp; + + exp = dom_html_collection_get_length(cells, &len); + if(exp != DOM_NO_ERR) + return exp; + + if(index < -1 || index > (int32_t)len) { + /* Check for index validity */ + return DOM_INDEX_SIZE_ERR; + } else if(index == -1 || index == (int32_t)len) { + return _dom_node_append_child((dom_node_internal *)element, + (dom_node_internal *)*cell, + (dom_node_internal **)cell); + } else { + dom_html_collection_item(cells, + index, &node); + return _dom_node_insert_before((dom_node_internal *)element, + (dom_node_internal *)*cell, (dom_node_internal *)node, + (dom_node_internal **)cell); + } +} + +/** + * Delete Cell at given Index + * + * \param element The dom_html_table_row_element object + * \param index The Index of the Cell node to be deleted + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_table_row_element_delete_cell( + dom_html_table_row_element *element, + int32_t index) { + dom_node *node; /*< The node at the (index)th position*/ + + dom_html_collection *cells; /*< The collection of rows in input table_row_element*/ + uint32_t len; /*< The size of the row collection */ + + dom_exception exp; /*< Temporary variable to store & check the exceptions*/ + + exp = dom_html_table_row_element_get_cells(element, &cells); + if(exp != DOM_NO_ERR) { + return exp; + } + + exp = dom_html_collection_get_length(cells, &len); + if(exp != DOM_NO_ERR) { + return exp; + } + + if(index < -1 || index >= (int32_t)len || len ==0) { + /* Check for index validity */ + return DOM_INDEX_SIZE_ERR; + } else if(index == -1) { + exp = dom_html_collection_item(cells, + len-1, &node); + } else { + exp = dom_html_collection_item(cells, + index, &node); + } + return _dom_node_remove_child((dom_node_internal *)element, + (dom_node_internal *)node, + (dom_node_internal **)&node); + +} + diff --git a/src/html/html_tablerow_element.h b/src/html/html_tablerow_element.h index 2e182d5..2401790 100644 --- a/src/html/html_tablerow_element.h +++ b/src/html/html_tablerow_element.h @@ -3,5 +3,51 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_internal_html_table_row_element_h_ +#define dom_internal_html_table_row_element_h_ + +#include <dom/html/html_tablerow_element.h> +#include "html/html_element.h" + +struct dom_html_table_row_element { + struct dom_html_element base; + /**< The base class */ +}; + +/* Create a dom_html_table_row_element object */ +dom_exception _dom_html_table_row_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_table_row_element **ele); + +/* Initialise a dom_html_table_row_element object */ +dom_exception _dom_html_table_row_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_table_row_element *ele); + +/* Finalise a dom_html_table_row_element object */ +void _dom_html_table_row_element_finalise(struct dom_html_table_row_element *ele); + +/* Destroy a dom_html_table_row_element object */ +void _dom_html_table_row_element_destroy(struct dom_html_table_row_element *ele); + +/* The protected virtual functions */ +dom_exception _dom_html_table_row_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed); +void _dom_virtual_html_table_row_element_destroy(dom_node_internal *node); +dom_exception _dom_html_table_row_element_copy(dom_node_internal *old, + dom_node_internal **copy); + +#define DOM_HTML_TABLE_ROW_ELEMENT_PROTECT_VTABLE \ + _dom_html_table_row_element_parse_attribute + +#define DOM_NODE_PROTECT_VTABLE_HTML_TABLE_ROW_ELEMENT \ + _dom_virtual_html_table_row_element_destroy, \ + _dom_html_table_row_element_copy + +#endif +bool table_cells_callback(struct dom_node_internal *node, void *ctx); + diff --git a/src/html/html_tablesection_element.c b/src/html/html_tablesection_element.c index 2e182d5..b35cfb4 100644 --- a/src/html/html_tablesection_element.c +++ b/src/html/html_tablesection_element.c @@ -3,5 +3,284 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar<rsk1coder99@gmail.com> */ +#include <assert.h> +#include <stdlib.h> + +#include <dom/html/html_tablesection_element.h> + +#include "html/html_document.h" +#include "html/html_tablesection_element.h" +#include "html/html_tablerow_element.h" + +#include "html/html_collection.h" +#include "html/html_element.h" + +#include "core/node.h" +#include "core/attr.h" +#include "utils/utils.h" + +static struct dom_element_protected_vtable _protect_vtable = { + { + DOM_NODE_PROTECT_VTABLE_HTML_TABLE_SECTION_ELEMENT + }, + DOM_HTML_TABLE_SECTION_ELEMENT_PROTECT_VTABLE +}; + +/** + * Create a dom_html_table_section_element object + * + * \table_section doc The document object + * \table_section ele The returned element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_table_section_element_create(struct dom_html_document *doc, + dom_string *tag_name, dom_string *namespace, dom_string *prefix, + struct dom_html_table_section_element **ele) +{ + struct dom_node_internal *node; + + *ele = malloc(sizeof(dom_html_table_section_element)); + if (*ele == NULL) + return DOM_NO_MEM_ERR; + + /* Set up vtables */ + node = (struct dom_node_internal *) *ele; + node->base.vtable = &_dom_html_element_vtable; + node->vtable = &_protect_vtable; + + return _dom_html_table_section_element_initialise(doc, tag_name, namespace, prefix, *ele); +} + +/** + * Initialise a dom_html_table_section_element object + * + * \table_section doc The document object + * \table_section ele The dom_html_table_section_element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_table_section_element_initialise(struct dom_html_document *doc, + dom_string *tag_name, dom_string *namespace, dom_string *prefix, + struct dom_html_table_section_element *ele) +{ + return _dom_html_element_initialise(doc, &ele->base, + tag_name, + namespace, prefix); +} + +/** + * Finalise a dom_html_table_section_element object + * + * \table_section ele The dom_html_table_section_element object + */ +void _dom_html_table_section_element_finalise(struct dom_html_table_section_element *ele) +{ + _dom_html_element_finalise(&ele->base); +} + +/** + * Destroy a dom_html_table_section_element object + * + * \table_section ele The dom_html_table_section_element object + */ +void _dom_html_table_section_element_destroy(struct dom_html_table_section_element *ele) +{ + _dom_html_table_section_element_finalise(ele); + free(ele); +} + +/*------------------------------------------------------------------------*/ +/* The protected virtual functions */ + +/* The virtual function used to parse attribute value, see src/core/element.c + * for detail */ +dom_exception _dom_html_table_section_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed) +{ + UNUSED(ele); + UNUSED(name); + + dom_string_ref(value); + *parsed = value; + + return DOM_NO_ERR; +} + +/* The virtual destroy function, see src/core/node.c for detail */ +void _dom_virtual_html_table_section_element_destroy(dom_node_internal *node) +{ + _dom_html_table_section_element_destroy((struct dom_html_table_section_element *) node); +} + +/* The virtual copy function, see src/core/node.c for detail */ +dom_exception _dom_html_table_section_element_copy(dom_node_internal *old, + dom_node_internal **copy) +{ + return _dom_html_element_copy(old, copy); +} + +/*-----------------------------------------------------------------------*/ +/* API functions */ + +#define SIMPLE_GET(attr) \ + dom_exception dom_html_table_section_element_get_##attr( \ + dom_html_table_section_element *element, \ + dom_string **attr) \ +{ \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)-> \ + memoised[hds_##attr]; \ + \ + ret = dom_element_get_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ +} +#define SIMPLE_SET(attr) \ + dom_exception dom_html_table_section_element_set_##attr( \ + dom_html_table_section_element *element, \ + dom_string *attr) \ +{ \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)-> \ + memoised[hds_##attr]; \ + \ + ret = dom_element_set_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ +} + +#define SIMPLE_GET_SET(attr) SIMPLE_GET(attr) SIMPLE_SET(attr) +SIMPLE_GET_SET(align); +SIMPLE_GET_SET(ch); +SIMPLE_GET_SET(ch_off); +SIMPLE_GET_SET(v_align); + +/* The callback function for _dom_html_collection_create*/ +bool table_section_callback(struct dom_node_internal *node, void *ctx) +{ + if(node->type == DOM_ELEMENT_NODE && + dom_string_caseless_isequal(node->name, + ((dom_html_document *)ctx)->memoised[hds_TR])) { + return true; + } + return false; +} + +/** + * Get the rows collection + * + * \param element The dom_html_table_section_element object + * \param rows The Status + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_table_section_element_get_rows( + dom_html_table_section_element *element, + dom_html_collection **rows) +{ + dom_html_document *doc = (dom_html_document *) ((dom_node_internal *) element)->owner; + return _dom_html_collection_create(doc, (dom_node_internal *)element, + table_section_callback, (void *)doc, rows); +} + +/** + * Insert Row before the given Index + * + * \param element The dom_html_table_section_element object + * \param index The Index of the Row node to be inserted + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_table_section_element_insert_row( + dom_html_table_section_element *element, + int32_t index, dom_html_element **new_row) { + dom_html_document *doc = (dom_html_document *) ((dom_node_internal *) element)->owner; + + dom_node *node; /*< The node at the (index)th position*/ + + dom_html_collection *rows; /*< The collection of rows in input table_section_element*/ + uint32_t len; /*< The size of the row collection */ + dom_exception exp; /*< Variable for getting the exceptions*/ + exp = _dom_html_table_row_element_create(doc, + ((dom_node_internal *)element)->namespace, + ((dom_node_internal *)element)->prefix, + (dom_html_table_row_element **)new_row); + if(exp != DOM_NO_ERR) + return exp; + + exp = dom_html_table_section_element_get_rows(element, &rows); + if(exp != DOM_NO_ERR) + return exp; + + exp = dom_html_collection_get_length(rows, &len); + if(exp != DOM_NO_ERR) + return exp; + + if(index < -1 || index > (int32_t)len) { + /* Check for index validity */ + return DOM_INDEX_SIZE_ERR; + } else if(index == -1 || index == (int32_t)len) { + return _dom_node_append_child((dom_node_internal *)element, + (dom_node_internal *)*new_row, + (dom_node_internal **)new_row); + } else { + dom_html_collection_item(rows, + index, &node); + return _dom_node_insert_before((dom_node_internal *)element, + (dom_node_internal *)*new_row, (dom_node_internal *)node, + (dom_node_internal **)new_row); + } +} + +/** + * Delete Row at given Index + * + * \param element The dom_html_table_section_element object + * \param index The Index of the Row node to be deleted + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_table_section_element_delete_row( + dom_html_table_section_element *element, + int32_t index) { + dom_node *node; /*< The node at the (index)th position*/ + + dom_html_collection *rows; /*< The collection of rows in input table_section_element*/ + uint32_t len; /*< The size of the row collection */ + + dom_exception exp; /*< Temporary variable to store & check the exceptions*/ + + exp = dom_html_table_section_element_get_rows(element, &rows); + if(exp != DOM_NO_ERR) { + return exp; + } + + exp = dom_html_collection_get_length(rows, &len); + if(exp != DOM_NO_ERR) { + return exp; + } + + if(index < -1 || index >= (int32_t)len) { + /* Check for index validity */ + return DOM_INDEX_SIZE_ERR; + } else if(index == -1) { + exp = dom_html_collection_item(rows, + len-1, &node); + } else { + exp = dom_html_collection_item(rows, + index, &node); + } + exp = _dom_node_remove_child((dom_node_internal *)element, + (dom_node_internal *)node, + (dom_node_internal **)&node); + + return DOM_NO_ERR; +} diff --git a/src/html/html_tablesection_element.h b/src/html/html_tablesection_element.h index 2e182d5..387882a 100644 --- a/src/html/html_tablesection_element.h +++ b/src/html/html_tablesection_element.h @@ -3,5 +3,52 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_internal_html_table_section_element_h_ +#define dom_internal_html_table_section_element_h_ + +#include <dom/html/html_tablesection_element.h> + +#include "html/html_element.h" + +struct dom_html_table_section_element { + struct dom_html_element base; + /**< The base class */ +}; + +/* Create a dom_html_table_section_element object */ +dom_exception _dom_html_table_section_element_create(struct dom_html_document *doc, + dom_string *tag_name, dom_string *namespace, dom_string *prefix, + struct dom_html_table_section_element **ele); + +/* Initialise a dom_html_table_section_element object */ +dom_exception _dom_html_table_section_element_initialise(struct dom_html_document *doc, + dom_string *tag_name, dom_string *namespace, dom_string *prefix, + struct dom_html_table_section_element *ele); + +/* Finalise a dom_html_table_section_element object */ +void _dom_html_table_section_element_finalise(struct dom_html_table_section_element *ele); + +/* Destroy a dom_html_table_section_element object */ +void _dom_html_table_section_element_destroy(struct dom_html_table_section_element *ele); + +/* The protected virtual functions */ +dom_exception _dom_html_table_section_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed); +void _dom_virtual_html_table_section_element_destroy(dom_node_internal *node); +dom_exception _dom_html_table_section_element_copy(dom_node_internal *old, + dom_node_internal **copy); + +#define DOM_HTML_TABLE_SECTION_ELEMENT_PROTECT_VTABLE \ + _dom_html_table_section_element_parse_attribute + +#define DOM_NODE_PROTECT_VTABLE_HTML_TABLE_SECTION_ELEMENT \ + _dom_virtual_html_table_section_element_destroy, \ + _dom_html_table_section_element_copy + +#endif +bool table_section_callback(struct dom_node_internal *node, void *ctx); + diff --git a/src/html/html_text_area_element.c b/src/html/html_text_area_element.c index eea5b4e..ac90a76 100644 --- a/src/html/html_text_area_element.c +++ b/src/html/html_text_area_element.c @@ -438,11 +438,11 @@ dom_exception dom_html_text_area_element_blur(dom_html_text_area_element *ele) bool success = false; assert(doc != NULL); - /** \todo Is this event (a) default (b) bubbling and (c) cancelable? */ + /* This event does not bubble & is Non-cancellable. Mentioned in w3 specs. More research is needed to prove why. */ return _dom_dispatch_generic_event((dom_document *) doc, (dom_event_target *) ele, - doc->memoised[hds_blur], true, - true, &success); + doc->memoised[hds_blur], false, + false, &success); } /** @@ -458,11 +458,11 @@ dom_exception dom_html_text_area_element_focus(dom_html_text_area_element *ele) bool success = false; assert(doc != NULL); - /** \todo Is this event (a) default (b) bubbling and (c) cancelable? */ + /* This event does not bubble & is Non-cancellable. Mentioned in w3 specs. More research is needed to prove why. */ return _dom_dispatch_generic_event((dom_document *)doc, (dom_event_target *) ele, - doc->memoised[hds_focus], true, - true, &success); + doc->memoised[hds_focus], false, + false, &success); } /** @@ -478,9 +478,9 @@ dom_exception dom_html_text_area_element_select(dom_html_text_area_element *ele) bool success = false; assert(doc != NULL); - /** \todo Is this event (a) default (b) bubbling and (c) cancelable? */ + /* This event bubbles & is non-cancelable. Mentioned in w3 specs. More research is needed to prove why. */ return _dom_dispatch_generic_event((dom_document *)doc, (dom_event_target *) ele, doc->memoised[hds_select], true, - true, &success); + false, &success); } diff --git a/src/html/html_ulist_element.c b/src/html/html_ulist_element.c index 2e182d5..e7f8bb3 100644 --- a/src/html/html_ulist_element.c +++ b/src/html/html_ulist_element.c @@ -3,5 +3,182 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar<rsk1coder99@gmail.com> */ +#include <assert.h> +#include <stdlib.h> +#include <dom/html/html_ulist_element.h> + +#include "html/html_document.h" +#include "html/html_ulist_element.h" + +#include "core/node.h" +#include "core/attr.h" +#include "utils/utils.h" + +static struct dom_element_protected_vtable _protect_vtable = { + { + DOM_NODE_PROTECT_VTABLE_HTML_U_LIST_ELEMENT + }, + DOM_HTML_U_LIST_ELEMENT_PROTECT_VTABLE +}; + +/** + * Create a dom_html_u_list_element object + * + * \param doc The document object + * \param ele The returned element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_u_list_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *u_listfix, + struct dom_html_u_list_element **ele) +{ + struct dom_node_internal *node; + + *ele = malloc(sizeof(dom_html_u_list_element)); + if (*ele == NULL) + return DOM_NO_MEM_ERR; + + /* Set up vtables */ + node = (struct dom_node_internal *) *ele; + node->base.vtable = &_dom_html_element_vtable; + node->vtable = &_protect_vtable; + + return _dom_html_u_list_element_initialise(doc, namespace, u_listfix, *ele); +} + +/** + * Initialise a dom_html_u_list_element object + * + * \param doc The document object + * \param ele The dom_html_u_list_element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_u_list_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *u_listfix, + struct dom_html_u_list_element *ele) +{ + return _dom_html_element_initialise(doc, &ele->base, + doc->memoised[hds_UL], + namespace, u_listfix); +} + +/** + * Finalise a dom_html_u_list_element object + * + * \param ele The dom_html_u_list_element object + */ +void _dom_html_u_list_element_finalise(struct dom_html_u_list_element *ele) +{ + _dom_html_element_finalise(&ele->base); +} + +/** + * Destroy a dom_html_u_list_element object + * + * \param ele The dom_html_u_list_element object + */ +void _dom_html_u_list_element_destroy(struct dom_html_u_list_element *ele) +{ + _dom_html_u_list_element_finalise(ele); + free(ele); +} + +/** + * Get the compact Property + * + * \param u_list The dom_html_u_list_element object + */ +dom_exception dom_html_u_list_element_get_compact( + dom_html_u_list_element *u_list, bool *compact) +{ + return dom_html_element_get_bool_property(&u_list->base, "compact", + SLEN("compact"), compact); +} + +/** + * Set the compact Property + * + * \param u_list The dom_html_u_list_element object + */ +dom_exception dom_html_u_list_element_set_compact( + dom_html_u_list_element *u_list, bool compact) +{ + return dom_html_element_set_bool_property(&u_list->base, "compact", + SLEN("compact"), compact); +} + +/*------------------------------------------------------------------------*/ +/* The protected virtual functions */ + +/* The virtual function used to parse attribute value, see src/core/element.c + * for detail */ +dom_exception _dom_html_u_list_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed) +{ + UNUSED(ele); + UNUSED(name); + + dom_string_ref(value); + *parsed = value; + + return DOM_NO_ERR; +} + +/* The virtual destroy function, see src/core/node.c for detail */ +void _dom_virtual_html_u_list_element_destroy(dom_node_internal *node) +{ + _dom_html_u_list_element_destroy((struct dom_html_u_list_element *) node); +} + +/* The virtual copy function, see src/core/node.c for detail */ +dom_exception _dom_html_u_list_element_copy(dom_node_internal *old, + dom_node_internal **copy) +{ + return _dom_html_element_copy(old, copy); +} + +/*-----------------------------------------------------------------------*/ +/* API functions */ + +#define SIMPLE_GET(attr) \ + dom_exception dom_html_u_list_element_get_##attr( \ + dom_html_u_list_element *element, \ + dom_string **attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_get_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } +#define SIMPLE_SET(attr) \ + dom_exception dom_html_u_list_element_set_##attr( \ + dom_html_u_list_element *element, \ + dom_string *attr) \ + { \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)->\ + memoised[hds_##attr]; \ + \ + ret = dom_element_set_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ + } + +#define SIMPLE_GET_SET(attr) SIMPLE_GET(attr) SIMPLE_SET(attr) + +SIMPLE_GET_SET(type); diff --git a/src/html/html_ulist_element.h b/src/html/html_ulist_element.h index 2e182d5..7e03f47 100644 --- a/src/html/html_ulist_element.h +++ b/src/html/html_ulist_element.h @@ -3,5 +3,50 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com> + * Copyright 2014 Rupinder Singh Khokhar <rsk1coder99@gmail.com> */ +#ifndef dom_internal_html_u_list_element_h_ +#define dom_internal_html_u_list_element_h_ + +#include <dom/html/html_ulist_element.h> +#include "html/html_element.h" + + +struct dom_html_u_list_element { + struct dom_html_element base; + /**< The base class */ +}; + +/* Create a dom_html_u_list_element object */ +dom_exception _dom_html_u_list_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_u_list_element **ele); + +/* Initialise a dom_html_u_list_element object */ +dom_exception _dom_html_u_list_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_u_list_element *ele); + +/* Finalise a dom_html_u_list_element object */ +void _dom_html_u_list_element_finalise(struct dom_html_u_list_element *ele); + +/* Destroy a dom_html_u_list_element object */ +void _dom_html_u_list_element_destroy(struct dom_html_u_list_element *ele); + +/* The protected virtual functions */ +dom_exception _dom_html_u_list_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed); +void _dom_virtual_html_u_list_element_destroy(dom_node_internal *node); +dom_exception _dom_html_u_list_element_copy(dom_node_internal *old, + dom_node_internal **copy); + +#define DOM_HTML_U_LIST_ELEMENT_PROTECT_VTABLE \ + _dom_html_u_list_element_parse_attribute + +#define DOM_NODE_PROTECT_VTABLE_HTML_U_LIST_ELEMENT \ + _dom_virtual_html_u_list_element_destroy, \ + _dom_html_u_list_element_copy + +#endif diff --git a/test/DOMTSHandler.pm b/test/DOMTSHandler.pm index df2b028..fec9bcb 100644 --- a/test/DOMTSHandler.pm +++ b/test/DOMTSHandler.pm @@ -42,6 +42,13 @@ our %special_type = ( HTMLFormElement => "dom_html_form_element *", CharacterData => "dom_characterdata *", CDATASection => "dom_cdata_section *", + HTMLAnchorElement => "dom_html_anchor_element *", + HTMLElement => "dom_html_element *", + HTMLTableCaptionElement => "dom_html_table_caption_element *", + HTMLTableSectionElement => "dom_html_table_section_element *", + HTMLTableElement => "dom_html_table_element *", + HTMLTableRowElement => "dom_html_table_row_element *", + HTMLOptionsCollection => "dom_html_options_collection *", ); our %special_prefix = ( DOMString => "dom_string", @@ -53,6 +60,23 @@ our %special_prefix = ( CharacterData => "dom_characterdata", CDATASection => "dom_cdata_section *", HTMLHRElement => "dom_html_hr_element", + HTMLBRElement => "dom_html_br_element", + HTMLLIElement => "dom_html_li_element", + HTMLTableCaptionElement => "dom_html_table_caption_element", + HTMLTableSectionElement => "dom_html_table_section_element", + HTMLIsIndexElement => "dom_html_isindex_element", + HTMLIFrameElement => "dom_html_iframe_element", + caption => "dom_html_table_caption_element *", + section => "dom_html_table_section_element *", + createCaption => "dom_html_element *", + createTHead => "dom_html_element *", + createTFoot => "dom_html_element *", + deleteCaption => "dom_html_element *", + deleteTHead => "dom_html_element *", + deleteTFoot => "dom_html_element *", + insertRow => "dom_html_element *", + deleteRow => "dom_html_element *", + form => "dom_html_form_element *", ); our %unref_prefix = ( @@ -60,6 +84,7 @@ our %unref_prefix = ( NamedNodeMap => "dom_namednodemap", NodeList => "dom_nodelist", HTMLCollection => "dom_html_collection", + HTMLDocument => "dom_html_document", ); our %special_method = ( @@ -67,6 +92,7 @@ our %special_method = ( our %special_attribute = ( namespaceURI => "namespace", + URL => "url", ); our %no_unref = ( @@ -160,10 +186,14 @@ sub new { # The name of the current List/Collection list_name => "", # The number of items of the current List/Collection + list_last_name => [], + # The number of items of the current List/Collection list_num => 0, # Whether List/Collection has members list_hasmem => 0, # The type of the current List/Collection + member_list_declared => 0, + # The type of the current List/Collection list_type => "", # Whether we are in exception assertion exception => 0, @@ -385,6 +415,7 @@ int main(int argc, char **argv) perror("chdir (\\"$self->{chdir})\\""); return 1; } + int list_temp[100], count = -1; __EOF__ } @@ -438,7 +469,6 @@ sub generate_list { # Yes, we are in List/Collection declaration # Firstly, enclose the Array declaration print "};\n"; - # Now, we should create the list * for the List/Collection # Note, we should deal with "int" or "string" type with different params. if ($self->{"list_type"} eq "char *") { @@ -446,18 +476,37 @@ sub generate_list { } if ($self->{"list_type"} eq "int *") { print $self->{"list_name"}." = list_new(INT);\n"; + while(defined ($x = pop @{$self->{"list_last_name"}})) { + print $x." = list_new(INT);\n"; + } + } + while(defined($x = pop(@{$self->{"list_last_name"}}))) { + print $x." = list_new(DOM_STRING);\n"; } + $self->{"member_list_declared"} = 1; if ($self->{"list_type"} eq "") { die "A List/Collection has children member but no type is impossible!"; } - for (my $i = 0; $i < $self->{"list_num"}; $i++) { - # Use *(char **) to convert char *[] to char * - print "list_add(".$self->{"list_name"}.", *(char **)(".$self->{"list_name"}."Array + $i));\n"; + if ($self->{"list_type"} eq "int *") { + + for (my $i = 0; $i < $self->{"list_num"}; $i++) { + # Use *(char **) to convert char *[] to char * + print "list_add(".$self->{"list_name"}.", (int *)(".$self->{"list_name"}."Array) + $i);\n"; + } + } else { + for (my $i = 0; $i < $self->{"list_num"}; $i++) { + # Use *(char **) to convert char *[] to char * + print "list_add(".$self->{"list_name"}.", *(char **)(".$self->{"list_name"}."Array + $i));\n"; + } } } else { if ($self->{"list_name"} ne "") { #TODO: generally, we set the list type as dom_string, but it may be dom_node - print $self->{"list_name"}." = list_new(DOM_STRING);\n"; + if( $self->{"member_list_declared"} eq 1) { + print $self->{"list_name"}." = list_new(DOM_STRING);\n"; + } else { + push(@{$self->{"list_last_name"}}, $self->{"list_name"}); + } $self->{"list_type"} = "DOMString"; } } @@ -476,21 +525,29 @@ sub generate_load { my ($self, $a) = @_; my %ats = %$a; my $doc = $ats{"var"}; - $test_index ++; + my $var = $self->{"var"}; # define the test file path, use HTML if there is, otherwise using XML # Attention: I intend to copy the test files to the program excuting dir print "\tconst char *test$test_index = \"$ats{'href'}.html\";\n\n"; - print "\t$doc = load_html(test$test_index, $ats{'willBeModified'});"; + if ($var->{$doc} eq "Node") { + print "\t$doc = (dom_node*) load_html(test$test_index, $ats{'willBeModified'});"; + } else { + print "\t$doc = load_html(test$test_index, $ats{'willBeModified'});"; + } print "\tif ($doc == NULL) {\n"; $test_index ++; print "\t\tconst char *test$test_index = \"$ats{'href'}.xml\";\n\n"; - print "\t\t$doc = load_xml(test$test_index, $ats{'willBeModified'});\n"; + if ($var->{$doc} eq "Node") { + print "\t\t$doc = (dom_node *) load_xml(test$test_index, $ats{'willBeModified'});\n"; + } else { + print "\t\t$doc = load_xml(test$test_index, $ats{'willBeModified'});\n"; + } print "\t\tif ($doc == NULL)\n"; print "\t\t\treturn 1;\n"; print "\t\t}\n"; print << "__EOF__"; - exp = dom_document_get_implementation($doc, &doc_impl); + exp = dom_document_get_implementation((dom_document *) $doc, &doc_impl); if (exp != DOM_NO_ERR) return exp; __EOF__ @@ -541,14 +598,19 @@ sub generate_framework_statement { if (exists $ats->{"obj"}) { $obj = $ats->{"obj"}; } else { - $obj = $ats->{"item"} + $obj = $ats->{"item"}; } - + if (not $self->{"var"}->{$col} =~ /^(List|Collection)/) { die "Append data to some non-list type!"; } - - print "list_add($col, $obj);\n"; + $type = $self->{"var"}->{$obj}; + if ($type eq "int") { + print "\nlist_temp[++count] =$obj;\n"; + print "list_add($col, &list_temp[count]);\n\n"; + } else { + print "list_add($col, $obj);\n"; + } } case [qw(plus subtract mult divide)] { @@ -669,6 +731,8 @@ sub generate_method { $method = to_cmethod($ats{'interface'}, $en); my $cast = to_attribute_cast($ats{'interface'}); + my $get_attribute = $node->getAttribute("name"); + my $cast_get_attribute = to_get_attribute_cast($get_attribute, $ats{'interface'}); my $ns = $dd->find("parameters/param", $node); my $params = "${cast}$ats{'obj'}"; for ($count = 1; $count <= $ns->size; $count++) { @@ -734,7 +798,7 @@ sub generate_method { # Indicate that we have created a temp node $temp_node = 1; } else { - $params = $params.", (void *) \&$ats{'var'}"; + $params = $params.", $cast_get_attribute\&$ats{'var'}"; $unref = $self->param_unref($ats{'var'}); } } @@ -796,6 +860,8 @@ sub generate_attribute_fetcher { my $fetcher = to_attribute_fetcher($ats{'interface'}, "$en"); my $cast = to_attribute_cast($ats{'interface'}); + my $get_attribute = $node->getAttribute("name"); + my $cast_get_attribute = to_get_attribute_cast($get_attribute, $ats{'interface'}); my $unref = 0; my $temp_node = 0; # Deal with the situation like @@ -821,7 +887,7 @@ sub generate_attribute_fetcher { $temp_node = 1; } else { $unref = $self->param_unref($ats{'var'}); - print "\texp = $fetcher(${cast}$ats{'obj'}, \&$ats{'var'});\n"; + print "\texp = $fetcher(${cast}$ats{'obj'}, ${cast_get_attribute}\&$ats{'var'});\n"; } @@ -1146,7 +1212,7 @@ sub generate_assertion { $fragment = $ats->{fragment}; } if (exists $ats->{isAbsolute}) { - $isAbsolute = $ats->{isAbsolute}; + $isAbsolute = "\"$ats->{isAbsolute}\""; } print "is_uri_equals($scheme, $path, $host, $file, $name, $query, $fragment, $isAbsolute, $actual)" @@ -1412,7 +1478,30 @@ sub get_prefix { } return $prefix; } +sub to_get_attribute_cast { + my $type = shift; + my $interface = shift; + my $ret = get_get_attribute_prefix($type, $interface); + if($ret eq "") { + return $ret; + } + $ret =~ s/h_t_m_l/html/; + return "(${ret} *)"; +} + +sub get_get_attribute_prefix { + my $type = shift; + my $interface = shift; + if ($type eq "length") { + $prefix = "uint32_t "; + } elsif (exists $special_prefix{$type}) { + $prefix = $special_prefix{$type}; + } else { + $prefix = ""; + } + return $prefix; +} # This function remain unsed sub get_suffix { my $type = shift; diff --git a/test/Makefile b/test/Makefile index 79f075d..951d1bd 100644 --- a/test/Makefile +++ b/test/Makefile @@ -60,6 +60,9 @@ $(eval $(call do_xml_suite,level1/html,dom1-interfaces.xml)) # Include the level 2 core tests $(eval $(call do_xml_suite,level2/core,dom2-core-interface.xml)) +# Include level 2 html tests +$(eval $(call do_xml_suite,level2/html,dom1-interfaces.xml)) + CLEAN_ITEMS := $(DIR)INDEX include $(NSBUILD)/Makefile.subdir diff --git a/test/dom1-interfaces.xml b/test/dom1-interfaces.xml index 0c2488e..a0d11c7 100644 --- a/test/dom1-interfaces.xml +++ b/test/dom1-interfaces.xml @@ -160,6 +160,25 @@ See W3C License http://www.w3.org/Consortium/Legal/ for more details. </exception> </raises> </method> +<method name="getElementById" id="ID-36113835"> +<descr> +<p>Returns the Element whose<code>id</code>is given by elementId. If no such element exists, returns<code>null</code>. Behavior is not defined if more than one element has this<code>id</code>.</p> +</descr> +<parameters> +<param id="ID-9998411" name="elementId" type="DOMString" attr="in"> +<descr> +<p>The unique<code>id</code>value for an element.</p> +</descr> +</param> +</parameters> +<returns type="Element"> +<descr> +<p>The matching element.</p> +</descr> +</returns> +<raises/> +</method> + <method name="createDocumentFragment" id="ID-35CB04B5"> <descr> <p>Creates an empty<code>DocumentFragment</code>object.</p> @@ -701,7 +720,31 @@ See W3C License http://www.w3.org/Consortium/Legal/ for more details. </returns> <raises/> </method> +<method name="isSupported" id="notknown"> +<descr> +<p/> +</descr> +<parameters> +<param name="feature" type="DOMString" attr="in"> +<descr> +<p/> +</descr> +</param> +<param name="version" type="DOMString" attr="in"> +<descr> +<p/> +</descr> +</param> +</parameters> +<returns type="bool"> +<descr> +<p/> +</descr> +</returns> +<raises/> +</method> </interface> + <interface name="NodeList" id="ID-536297177"> <descr> <p>The<code>NodeList</code>interface provides the abstraction of an ordered collection of nodes, without defining or constraining how this collection is implemented.</p> @@ -1564,24 +1607,6 @@ See W3C License http://www.w3.org/Consortium/Legal/ for more details. </returns> <raises/> </method> -<method name="getElementById" id="ID-36113835"> -<descr> -<p>Returns the Element whose<code>id</code>is given by elementId. If no such element exists, returns<code>null</code>. Behavior is not defined if more than one element has this<code>id</code>.</p> -</descr> -<parameters> -<param id="ID-9998411" name="elementId" type="DOMString" attr="in"> -<descr> -<p>The unique<code>id</code>value for an element.</p> -</descr> -</param> -</parameters> -<returns type="Element"> -<descr> -<p>The matching element.</p> -</descr> -</returns> -<raises/> -</method> <method name="getElementsByName" id="ID-71555259"> <descr> <p>Returns the (possibly empty) collection of elements whose<code>name</code>value is given by<code>elementName</code>.</p> @@ -3606,6 +3631,11 @@ See W3C License http://www.w3.org/Consortium/Legal/ for more details. <p>A URI designating the initial frame contents. See the<loc href="http://www.w3.org/TR/REC-html40/present/frames.html#adef-src-FRAME" form="simple" show="embed" actuate="auto">src attribute definition</loc>in HTML 4.0.</p> </descr> </attribute> +<attribute readonly="yes" type="Document" name="contentDocument" id="contentDoc"> +<descr> +<p/> +</descr> +</attribute> </interface> <interface name="HTMLIFrameElement" inherits="HTMLElement" id="ID-50708718"> <descr> @@ -3661,5 +3691,58 @@ See W3C License http://www.w3.org/Consortium/Legal/ for more details. <p>Frame width. See the<loc href="http://www.w3.org/TR/REC-html40/present/frames.html#adef-width-IFRAME" form="simple" show="embed" actuate="auto">width attribute definition</loc>in HTML 4.0.</p> </descr> </attribute> +<attribute readonly="yes" type="Document" name="contentDocument" id="contentDoc"> +<descr> +<p/> +</descr> +</attribute> + +</interface> +<interface name="HTMLOptionsCollection" id="ID-75708506"> +<descr> +<p>An<code>HTMLOptionsCollection</code>is a list of nodes. An individual node may be accessed by either ordinal index or the node's<code>name</code>or<code>id</code>attributes.<emph>Note:</emph>Collections in the HTML DOM are assumed to be<emph>live</emph>meaning that they are automatically updated when the underlying document is changed.</p> +</descr> +<attribute readonly="yes" type="unsigned long" name="length" id="ID-40057551"> +<descr> +<p>This attribute specifies the length or<emph>size</emph>of the list.</p> +</descr> +</attribute> +<method name="item" id="ID-33262535"> +<descr> +<p>This method retrieves a node specified by ordinal index. Nodes are numbered in tree order (depth-first traversal order).</p> +</descr> +<parameters> +<param id="ID-3496656" name="index" type="unsigned long" attr="in"> +<descr> +<p>The index of the node to be fetched. The index origin is 0.</p> +</descr> +</param> +</parameters> +<returns type="Node"> +<descr> +<p>The<code>Node</code>at the corresponding position upon success. A value of<code>null</code>is returned if the index is out of range.</p> +</descr> +</returns> +<raises/> +</method> +<method name="namedItem" id="ID-21069976"> +<descr> +<p>This method retrieves a<code>Node</code>using a name. It first searches for a<code>Node</code>with a matching<code>id</code>attribute. If it doesn't find one, it then searches for a<code>Node</code>with a matching<code>name</code>attribute, but only on those elements that are allowed a name attribute.</p> +</descr> +<parameters> +<param id="ID-76682631" name="name" type="DOMString" attr="in"> +<descr> +<p>The name of the<code>Node</code>to be fetched.</p> +</descr> +</param> +</parameters> +<returns type="Node"> +<descr> +<p>The<code>Node</code>with a<code>name</code>or<code>id</code>attribute whose value corresponds to the specified string. Upon failure (e.g., no node with this name exists), returns<code>null</code>.</p> +</descr> +</returns> +<raises/> +</method> </interface> + </library> diff --git a/test/testcases/tests/level1/html/HTMLAnchorElement01.xml.notimpl b/test/testcases/tests/level1/html/HTMLAnchorElement01.xml index a076a18..a076a18 100644 --- a/test/testcases/tests/level1/html/HTMLAnchorElement01.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLAnchorElement01.xml diff --git a/test/testcases/tests/level1/html/HTMLAnchorElement02.xml.notimpl b/test/testcases/tests/level1/html/HTMLAnchorElement02.xml index 247a8cb..247a8cb 100644 --- a/test/testcases/tests/level1/html/HTMLAnchorElement02.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLAnchorElement02.xml diff --git a/test/testcases/tests/level1/html/HTMLAnchorElement03.xml.notimpl b/test/testcases/tests/level1/html/HTMLAnchorElement03.xml index 07a421c..07a421c 100644 --- a/test/testcases/tests/level1/html/HTMLAnchorElement03.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLAnchorElement03.xml diff --git a/test/testcases/tests/level1/html/HTMLAnchorElement04.xml.notimpl b/test/testcases/tests/level1/html/HTMLAnchorElement04.xml index 7b961c4..7b961c4 100644 --- a/test/testcases/tests/level1/html/HTMLAnchorElement04.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLAnchorElement04.xml diff --git a/test/testcases/tests/level1/html/HTMLAnchorElement05.xml.notimpl b/test/testcases/tests/level1/html/HTMLAnchorElement05.xml index 0329515..0329515 100644 --- a/test/testcases/tests/level1/html/HTMLAnchorElement05.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLAnchorElement05.xml diff --git a/test/testcases/tests/level1/html/HTMLAnchorElement06.xml.notimpl b/test/testcases/tests/level1/html/HTMLAnchorElement06.xml index ad768fa..ad768fa 100644 --- a/test/testcases/tests/level1/html/HTMLAnchorElement06.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLAnchorElement06.xml diff --git a/test/testcases/tests/level1/html/HTMLAnchorElement07.xml.notimpl b/test/testcases/tests/level1/html/HTMLAnchorElement07.xml index a70cc36..a70cc36 100644 --- a/test/testcases/tests/level1/html/HTMLAnchorElement07.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLAnchorElement07.xml diff --git a/test/testcases/tests/level1/html/HTMLAnchorElement08.xml.notimpl b/test/testcases/tests/level1/html/HTMLAnchorElement08.xml index bb76341..bb76341 100644 --- a/test/testcases/tests/level1/html/HTMLAnchorElement08.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLAnchorElement08.xml diff --git a/test/testcases/tests/level1/html/HTMLAnchorElement09.xml.notimpl b/test/testcases/tests/level1/html/HTMLAnchorElement09.xml index 7da6d18..7da6d18 100644 --- a/test/testcases/tests/level1/html/HTMLAnchorElement09.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLAnchorElement09.xml diff --git a/test/testcases/tests/level1/html/HTMLAnchorElement10.xml.notimpl b/test/testcases/tests/level1/html/HTMLAnchorElement10.xml index 201c113..201c113 100644 --- a/test/testcases/tests/level1/html/HTMLAnchorElement10.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLAnchorElement10.xml diff --git a/test/testcases/tests/level1/html/HTMLAnchorElement11.xml.notimpl b/test/testcases/tests/level1/html/HTMLAnchorElement11.xml index 00c2bb9..00c2bb9 100644 --- a/test/testcases/tests/level1/html/HTMLAnchorElement11.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLAnchorElement11.xml diff --git a/test/testcases/tests/level1/html/HTMLAnchorElement12.xml.notimpl b/test/testcases/tests/level1/html/HTMLAnchorElement12.xml index 3b22328..3b22328 100644 --- a/test/testcases/tests/level1/html/HTMLAnchorElement12.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLAnchorElement12.xml diff --git a/test/testcases/tests/level1/html/HTMLAnchorElement13.xml.notimpl b/test/testcases/tests/level1/html/HTMLAnchorElement13.xml index 555985d..555985d 100644 --- a/test/testcases/tests/level1/html/HTMLAnchorElement13.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLAnchorElement13.xml diff --git a/test/testcases/tests/level1/html/HTMLAnchorElement14.xml.notimpl b/test/testcases/tests/level1/html/HTMLAnchorElement14.xml index 7d3d0c6..7d3d0c6 100644 --- a/test/testcases/tests/level1/html/HTMLAnchorElement14.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLAnchorElement14.xml diff --git a/test/testcases/tests/level1/html/HTMLAppletElement01.xml.notimpl b/test/testcases/tests/level1/html/HTMLAppletElement01.xml index 7be4ac6..7be4ac6 100644 --- a/test/testcases/tests/level1/html/HTMLAppletElement01.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLAppletElement01.xml diff --git a/test/testcases/tests/level1/html/HTMLAppletElement02.xml.notimpl b/test/testcases/tests/level1/html/HTMLAppletElement02.xml index 2042f0a..2042f0a 100644 --- a/test/testcases/tests/level1/html/HTMLAppletElement02.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLAppletElement02.xml diff --git a/test/testcases/tests/level1/html/HTMLAppletElement03.xml.notimpl b/test/testcases/tests/level1/html/HTMLAppletElement03.xml index a68e3e0..a68e3e0 100644 --- a/test/testcases/tests/level1/html/HTMLAppletElement03.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLAppletElement03.xml diff --git a/test/testcases/tests/level1/html/HTMLAppletElement04.xml.notimpl b/test/testcases/tests/level1/html/HTMLAppletElement04.xml index 23e8bb6..23e8bb6 100644 --- a/test/testcases/tests/level1/html/HTMLAppletElement04.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLAppletElement04.xml diff --git a/test/testcases/tests/level1/html/HTMLAppletElement05.xml.notimpl b/test/testcases/tests/level1/html/HTMLAppletElement05.xml index 81076d1..81076d1 100644 --- a/test/testcases/tests/level1/html/HTMLAppletElement05.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLAppletElement05.xml diff --git a/test/testcases/tests/level1/html/HTMLAppletElement06.xml.notimpl b/test/testcases/tests/level1/html/HTMLAppletElement06.xml index 1d280da..1d280da 100644 --- a/test/testcases/tests/level1/html/HTMLAppletElement06.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLAppletElement06.xml diff --git a/test/testcases/tests/level1/html/HTMLAppletElement07.xml.notimpl b/test/testcases/tests/level1/html/HTMLAppletElement07.xml.kfail index d3b4858..d3b4858 100644 --- a/test/testcases/tests/level1/html/HTMLAppletElement07.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLAppletElement07.xml.kfail diff --git a/test/testcases/tests/level1/html/HTMLAppletElement08.xml.notimpl b/test/testcases/tests/level1/html/HTMLAppletElement08.xml index a473f23..a473f23 100644 --- a/test/testcases/tests/level1/html/HTMLAppletElement08.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLAppletElement08.xml diff --git a/test/testcases/tests/level1/html/HTMLAppletElement09.xml.notimpl b/test/testcases/tests/level1/html/HTMLAppletElement09.xml.kfail index 98d2413..98d2413 100644 --- a/test/testcases/tests/level1/html/HTMLAppletElement09.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLAppletElement09.xml.kfail diff --git a/test/testcases/tests/level1/html/HTMLAppletElement10.xml.notimpl b/test/testcases/tests/level1/html/HTMLAppletElement10.xml index 2cf1b6a..2cf1b6a 100644 --- a/test/testcases/tests/level1/html/HTMLAppletElement10.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLAppletElement10.xml diff --git a/test/testcases/tests/level1/html/HTMLAppletElement11.xml.notimpl b/test/testcases/tests/level1/html/HTMLAppletElement11.xml index 91cba8b..91cba8b 100644 --- a/test/testcases/tests/level1/html/HTMLAppletElement11.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLAppletElement11.xml diff --git a/test/testcases/tests/level1/html/HTMLAreaElement01.xml.notimpl b/test/testcases/tests/level1/html/HTMLAreaElement01.xml index 58db920..58db920 100644 --- a/test/testcases/tests/level1/html/HTMLAreaElement01.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLAreaElement01.xml diff --git a/test/testcases/tests/level1/html/HTMLAreaElement02.xml.notimpl b/test/testcases/tests/level1/html/HTMLAreaElement02.xml index e90e643..e90e643 100644 --- a/test/testcases/tests/level1/html/HTMLAreaElement02.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLAreaElement02.xml diff --git a/test/testcases/tests/level1/html/HTMLAreaElement03.xml.notimpl b/test/testcases/tests/level1/html/HTMLAreaElement03.xml index e0d2114..e0d2114 100644 --- a/test/testcases/tests/level1/html/HTMLAreaElement03.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLAreaElement03.xml diff --git a/test/testcases/tests/level1/html/HTMLAreaElement04.xml.notimpl b/test/testcases/tests/level1/html/HTMLAreaElement04.xml index c464ae0..c464ae0 100644 --- a/test/testcases/tests/level1/html/HTMLAreaElement04.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLAreaElement04.xml diff --git a/test/testcases/tests/level1/html/HTMLAreaElement05.xml.notimpl b/test/testcases/tests/level1/html/HTMLAreaElement05.xml index 31bff76..31bff76 100644 --- a/test/testcases/tests/level1/html/HTMLAreaElement05.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLAreaElement05.xml diff --git a/test/testcases/tests/level1/html/HTMLAreaElement06.xml.notimpl b/test/testcases/tests/level1/html/HTMLAreaElement06.xml index 407f72a..407f72a 100644 --- a/test/testcases/tests/level1/html/HTMLAreaElement06.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLAreaElement06.xml diff --git a/test/testcases/tests/level1/html/HTMLAreaElement07.xml.notimpl b/test/testcases/tests/level1/html/HTMLAreaElement07.xml index c03b07d..c03b07d 100644 --- a/test/testcases/tests/level1/html/HTMLAreaElement07.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLAreaElement07.xml diff --git a/test/testcases/tests/level1/html/HTMLAreaElement08.xml.notimpl b/test/testcases/tests/level1/html/HTMLAreaElement08.xml index 9d485fe..9d485fe 100644 --- a/test/testcases/tests/level1/html/HTMLAreaElement08.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLAreaElement08.xml diff --git a/test/testcases/tests/level1/html/HTMLBRElement01.xml.notimpl b/test/testcases/tests/level1/html/HTMLBRElement01.xml index cc4d17a..cc4d17a 100644 --- a/test/testcases/tests/level1/html/HTMLBRElement01.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLBRElement01.xml diff --git a/test/testcases/tests/level1/html/HTMLBaseElement01.xml.notimpl b/test/testcases/tests/level1/html/HTMLBaseElement01.xml index fa6eacc..fa6eacc 100644 --- a/test/testcases/tests/level1/html/HTMLBaseElement01.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLBaseElement01.xml diff --git a/test/testcases/tests/level1/html/HTMLBaseElement02.xml.notimpl b/test/testcases/tests/level1/html/HTMLBaseElement02.xml index d2a20a5..d2a20a5 100644 --- a/test/testcases/tests/level1/html/HTMLBaseElement02.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLBaseElement02.xml diff --git a/test/testcases/tests/level1/html/HTMLBaseFontElement01.xml.notimpl b/test/testcases/tests/level1/html/HTMLBaseFontElement01.xml index 525438f..525438f 100644 --- a/test/testcases/tests/level1/html/HTMLBaseFontElement01.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLBaseFontElement01.xml diff --git a/test/testcases/tests/level1/html/HTMLBaseFontElement02.xml.notimpl b/test/testcases/tests/level1/html/HTMLBaseFontElement02.xml index 94894d6..94894d6 100644 --- a/test/testcases/tests/level1/html/HTMLBaseFontElement02.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLBaseFontElement02.xml diff --git a/test/testcases/tests/level1/html/HTMLBaseFontElement03.xml.notimpl b/test/testcases/tests/level1/html/HTMLBaseFontElement03.xml.kfail index e63b16f..e63b16f 100644 --- a/test/testcases/tests/level1/html/HTMLBaseFontElement03.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLBaseFontElement03.xml.kfail diff --git a/test/testcases/tests/level1/html/HTMLCollection01.xml.notimpl b/test/testcases/tests/level1/html/HTMLCollection01.xml.notimpl deleted file mode 100644 index fd2cfe4..0000000 --- a/test/testcases/tests/level1/html/HTMLCollection01.xml.notimpl +++ /dev/null @@ -1,49 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<?xml-stylesheet href="test-to-html.xml" type="text/xml"?> - -<!-- - -Copyright (c) 2001 World Wide Web Consortium, -(Massachusetts Institute of Technology, Institut National de -Recherche en Informatique et en Automatique, Keio University). All -Rights Reserved. This program is distributed under the W3C's Software -Intellectual Property License. This program is distributed in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -PURPOSE. - -See W3C License http://www.w3.org/Consortium/Legal/ for more details. - ---> -<!DOCTYPE test SYSTEM "dom1.dtd"> -<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="HTMLCollection01"> -<metadata> -<title>HTMLCollection01</title> -<creator>NIST</creator> -<description> - An individual node may be accessed by either ordinal index, the node's - name or id attributes. (Test ordinal index). - - Retrieve the first TABLE element and create a HTMLCollection by invoking - the "rows" attribute. The item located at ordinal index 0 is further - retrieved and its "rowIndex" attribute is examined. -</description> -<contributor>Rick Rivello</contributor> -<date qualifier="created">2002-05-01</date> -<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-33262535"/> -</metadata> -<var name="nodeList" type="NodeList"/> -<var name="testNode" type="Node"/> -<var name="rowNode" type="Node"/> -<var name="rowsnodeList" type="HTMLCollection"/> -<var name="vrowindex" type="int" /> -<var name="doc" type="Document"/> -<load var="doc" href="collection" willBeModified="false"/> -<getElementsByTagName interface="Document" obj="doc" var="nodeList" tagname='"table"'/> -<assertSize collection="nodeList" size="1" id="Asize"/> -<item interface="NodeList" obj="nodeList" var="testNode" index="0"/> -<rows interface="HTMLTableElement" obj="testNode" var="rowsnodeList"/> -<item interface="HTMLCollection" obj="rowsnodeList" var="rowNode" index="0"/> -<rowIndex interface="HTMLTableRowElement" obj="rowNode" var="vrowindex"/> -<assertEquals actual="vrowindex" expected="0" id="rowIndexLink" ignoreCase="false"/> -</test> diff --git a/test/testcases/tests/level1/html/HTMLCollection02.xml.kfail b/test/testcases/tests/level1/html/HTMLCollection02.xml.kfail deleted file mode 100644 index 521d5ae..0000000 --- a/test/testcases/tests/level1/html/HTMLCollection02.xml.kfail +++ /dev/null @@ -1,49 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<?xml-stylesheet href="test-to-html.xml" type="text/xml"?> - -<!-- - -Copyright (c) 2001 World Wide Web Consortium, -(Massachusetts Institute of Technology, Institut National de -Recherche en Informatique et en Automatique, Keio University). All -Rights Reserved. This program is distributed under the W3C's Software -Intellectual Property License. This program is distributed in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -PURPOSE. - -See W3C License http://www.w3.org/Consortium/Legal/ for more details. - ---> -<!DOCTYPE test SYSTEM "dom1.dtd"> -<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="HTMLCollection02"> -<metadata> -<title>HTMLCollection02</title> -<creator>NIST</creator> -<description> - An individual node may be accessed by either ordinal index, the node's - name or id attributes. (Test node name). - - Retrieve the first FORM element and create a HTMLCollection by invoking - the elements attribute. The first SELECT element is further retrieved - using the elements name attribute. -</description> -<contributor>Rick Rivello</contributor> -<date qualifier="created">2002-05-01</date> -<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-76728479"/> -</metadata> -<var name="nodeList" type="NodeList"/> -<var name="testNode" type="Node"/> -<var name="formNode" type="Node"/> -<var name="formsnodeList" type="HTMLCollection"/> -<var name="vname" type="DOMString" /> -<var name="doc" type="Document"/> -<load var="doc" href="collection" willBeModified="false"/> -<getElementsByTagName interface="Document" obj="doc" var="nodeList" tagname='"form"'/> -<assertSize collection="nodeList" size="1" id="Asize"/> -<item interface="NodeList" obj="nodeList" var="testNode" index="0"/> -<elements interface="HTMLFormElement" obj="testNode" var="formsnodeList"/> -<namedItem obj="formsnodeList" var="formNode" name='"select1"'/> -<nodeName obj="formNode" var="vname"/> -<assertEquals actual="vname" expected='"SELECT"' id="nameIndexLink" ignoreCase="auto"/> -</test> diff --git a/test/testcases/tests/level1/html/HTMLCollection03.xml.kfail b/test/testcases/tests/level1/html/HTMLCollection03.xml.kfail deleted file mode 100644 index 36d489e..0000000 --- a/test/testcases/tests/level1/html/HTMLCollection03.xml.kfail +++ /dev/null @@ -1,49 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<?xml-stylesheet href="test-to-html.xml" type="text/xml"?> - -<!-- - -Copyright (c) 2001 World Wide Web Consortium, -(Massachusetts Institute of Technology, Institut National de -Recherche en Informatique et en Automatique, Keio University). All -Rights Reserved. This program is distributed under the W3C's Software -Intellectual Property License. This program is distributed in the -hope that it will be useful, but WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -PURPOSE. - -See W3C License http://www.w3.org/Consortium/Legal/ for more details. - ---> -<!DOCTYPE test SYSTEM "dom1.dtd"> -<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="HTMLCollection03"> -<metadata> -<title>HTMLCollection03</title> -<creator>NIST</creator> -<description> - An individual node may be accessed by either ordinal index, the node's - name or id attributes. (Test id attribute). - - Retrieve the first FORM element and create a HTMLCollection by invoking - the "element" attribute. The first SELECT element is further retrieved - using the elements id. -</description> -<contributor>Rick Rivello</contributor> -<date qualifier="created">2002-05-01</date> -<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-21069976"/> -</metadata> -<var name="nodeList" type="NodeList"/> -<var name="testNode" type="Node"/> -<var name="formNode" type="Node"/> -<var name="formsnodeList" type="HTMLCollection"/> -<var name="vname" type="DOMString" /> -<var name="doc" type="Document"/> -<load var="doc" href="collection" willBeModified="false"/> -<getElementsByTagName interface="Document" obj="doc" var="nodeList" tagname='"form"'/> -<assertSize collection="nodeList" size="1" id="Asize"/> -<item interface="NodeList" obj="nodeList" var="testNode" index="0"/> -<elements interface="HTMLFormElement" obj="testNode" var="formsnodeList"/> -<namedItem obj="formsnodeList" var="formNode" name='"selectId"'/> -<nodeName obj="formNode" var="vname"/> -<assertEquals actual="vname" expected='"select"' id="nameIndexLink" ignoreCase="auto"/> -</test> diff --git a/test/testcases/tests/level1/html/HTMLCollection04.xml.notimpl b/test/testcases/tests/level1/html/HTMLCollection04.xml index 5d78405..5d78405 100644 --- a/test/testcases/tests/level1/html/HTMLCollection04.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLCollection04.xml diff --git a/test/testcases/tests/level1/html/HTMLCollection05.xml.notimpl b/test/testcases/tests/level1/html/HTMLCollection05.xml index ffb7d13..ffb7d13 100644 --- a/test/testcases/tests/level1/html/HTMLCollection05.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLCollection05.xml diff --git a/test/testcases/tests/level1/html/HTMLCollection06.xml.notimpl b/test/testcases/tests/level1/html/HTMLCollection06.xml index 1026310..1026310 100644 --- a/test/testcases/tests/level1/html/HTMLCollection06.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLCollection06.xml diff --git a/test/testcases/tests/level1/html/HTMLCollection07.xml.notimpl b/test/testcases/tests/level1/html/HTMLCollection07.xml index e0a21a2..55e392f 100644 --- a/test/testcases/tests/level1/html/HTMLCollection07.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLCollection07.xml @@ -45,5 +45,5 @@ See W3C License http://www.w3.org/Consortium/Legal/ for more details. <rows interface="HTMLTableElement" obj="testNode" var="rowsnodeList"/> <item interface="HTMLCollection" obj="rowsnodeList" var="rowNode" index="3"/> <rowIndex interface="HTMLTableRowElement" obj="rowNode" var="vrowindex"/> -<assertEquals actual="vrowindex" expected="3" id="rowIndexLink" ignoreCase="false"/> +<assertEquals actual="vrowindex" expected="2" id="rowIndexLink" ignoreCase="false"/> </test> diff --git a/test/testcases/tests/level1/html/HTMLCollection08.xml.notimpl b/test/testcases/tests/level1/html/HTMLCollection08.xml index dfc2e10..8f7f138 100644 --- a/test/testcases/tests/level1/html/HTMLCollection08.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLCollection08.xml @@ -43,7 +43,7 @@ See W3C License http://www.w3.org/Consortium/Legal/ for more details. <assertSize collection="nodeList" size="1" id="Asize"/> <item interface="NodeList" obj="nodeList" var="testNode" index="0"/> <rows interface="HTMLTableElement" obj="testNode" var="rowsnodeList"/> -<item interface="HTMLCollection" obj="rowsnodeList" var="rowNode" index="2"/> +<item interface="HTMLCollection" obj="rowsnodeList" var="rowNode" index="3"/> <rowIndex interface="HTMLTableRowElement" obj="rowNode" var="vrowindex"/> <assertEquals actual="vrowindex" expected="2" id="rowIndexLink" ignoreCase="false"/> </test> diff --git a/test/testcases/tests/level1/html/HTMLCollection09.xml.notimpl b/test/testcases/tests/level1/html/HTMLCollection09.xml index f81e7af..f81e7af 100644 --- a/test/testcases/tests/level1/html/HTMLCollection09.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLCollection09.xml diff --git a/test/testcases/tests/level1/html/HTMLCollection10.xml.kfail b/test/testcases/tests/level1/html/HTMLCollection10.xml index 78f4c9a..78f4c9a 100644 --- a/test/testcases/tests/level1/html/HTMLCollection10.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLCollection10.xml diff --git a/test/testcases/tests/level1/html/HTMLCollection11.xml.kfail b/test/testcases/tests/level1/html/HTMLCollection11.xml index ebf217f..ebf217f 100644 --- a/test/testcases/tests/level1/html/HTMLCollection11.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLCollection11.xml diff --git a/test/testcases/tests/level1/html/HTMLDirectoryElement01.xml.notimpl b/test/testcases/tests/level1/html/HTMLDirectoryElement01.xml index 4b1b402..4b1b402 100644 --- a/test/testcases/tests/level1/html/HTMLDirectoryElement01.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLDirectoryElement01.xml diff --git a/test/testcases/tests/level1/html/HTMLDivElement01.xml.notimpl b/test/testcases/tests/level1/html/HTMLDivElement01.xml index c658eb2..c658eb2 100644 --- a/test/testcases/tests/level1/html/HTMLDivElement01.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLDivElement01.xml diff --git a/test/testcases/tests/level1/html/HTMLDlistElement01.xml.notimpl b/test/testcases/tests/level1/html/HTMLDlistElement01.xml index 727c189..727c189 100644 --- a/test/testcases/tests/level1/html/HTMLDlistElement01.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLDlistElement01.xml diff --git a/test/testcases/tests/level1/html/HTMLDocument02.xml b/test/testcases/tests/level1/html/HTMLDocument02.xml.kfail index 24bd58f..24bd58f 100644 --- a/test/testcases/tests/level1/html/HTMLDocument02.xml +++ b/test/testcases/tests/level1/html/HTMLDocument02.xml.kfail diff --git a/test/testcases/tests/level1/html/HTMLDocument03.xml b/test/testcases/tests/level1/html/HTMLDocument03.xml.kfail index 97e291d..97e291d 100644 --- a/test/testcases/tests/level1/html/HTMLDocument03.xml +++ b/test/testcases/tests/level1/html/HTMLDocument03.xml.kfail diff --git a/test/testcases/tests/level1/html/HTMLDocument04.xml.notimpl b/test/testcases/tests/level1/html/HTMLDocument04.xml.kfail index 223d426..223d426 100644 --- a/test/testcases/tests/level1/html/HTMLDocument04.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLDocument04.xml.kfail diff --git a/test/testcases/tests/level1/html/HTMLDocument05.xml.notimpl b/test/testcases/tests/level1/html/HTMLDocument05.xml index a764b35..a764b35 100644 --- a/test/testcases/tests/level1/html/HTMLDocument05.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLDocument05.xml diff --git a/test/testcases/tests/level1/html/HTMLDocument07.xml.notimpl b/test/testcases/tests/level1/html/HTMLDocument07.xml index a08972f..a08972f 100644 --- a/test/testcases/tests/level1/html/HTMLDocument07.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLDocument07.xml diff --git a/test/testcases/tests/level1/html/HTMLDocument08.xml.notimpl b/test/testcases/tests/level1/html/HTMLDocument08.xml.kfail index fcc8147..f4b3e3d 100644 --- a/test/testcases/tests/level1/html/HTMLDocument08.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLDocument08.xml.kfail @@ -38,5 +38,6 @@ See W3C License http://www.w3.org/Consortium/Legal/ for more details. <load var="doc" href="document" willBeModified="false"/> <applets interface="HTMLDocument" obj="doc" var="vapplets" /> <length interface="HTMLCollection" obj="vapplets" var="vlength" /> +<!-- The following assertion appears to be false. There appear to be 2 object elements containing applet type elements in the test file. Mentor approval is neccessary--!> <assertEquals actual="vlength" expected='4' id="length" ignoreCase="false" /> </test> diff --git a/test/testcases/tests/level1/html/HTMLDocument09.xml.notimpl b/test/testcases/tests/level1/html/HTMLDocument09.xml index 037811f..037811f 100644 --- a/test/testcases/tests/level1/html/HTMLDocument09.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLDocument09.xml diff --git a/test/testcases/tests/level1/html/HTMLDocument10.xml.notimpl b/test/testcases/tests/level1/html/HTMLDocument10.xml index 700cebd..700cebd 100644 --- a/test/testcases/tests/level1/html/HTMLDocument10.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLDocument10.xml diff --git a/test/testcases/tests/level1/html/HTMLDocument11.xml.notimpl b/test/testcases/tests/level1/html/HTMLDocument11.xml index 308131f..308131f 100644 --- a/test/testcases/tests/level1/html/HTMLDocument11.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLDocument11.xml diff --git a/test/testcases/tests/level1/html/HTMLDocument12.xml.notimpl b/test/testcases/tests/level1/html/HTMLDocument12.xml.kfail index 964e70c..964e70c 100644 --- a/test/testcases/tests/level1/html/HTMLDocument12.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLDocument12.xml.kfail diff --git a/test/testcases/tests/level1/html/HTMLDocument13.xml.notimpl b/test/testcases/tests/level1/html/HTMLDocument13.xml.kfail index fc7244b..fc7244b 100644 --- a/test/testcases/tests/level1/html/HTMLDocument13.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLDocument13.xml.kfail diff --git a/test/testcases/tests/level1/html/HTMLDocument14.xml.notimpl b/test/testcases/tests/level1/html/HTMLDocument14.xml.kfail index c41fe14..c41fe14 100644 --- a/test/testcases/tests/level1/html/HTMLDocument14.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLDocument14.xml.kfail diff --git a/test/testcases/tests/level1/html/HTMLDocument15.xml.notimpl b/test/testcases/tests/level1/html/HTMLDocument15.xml index e01d4ca..e01d4ca 100644 --- a/test/testcases/tests/level1/html/HTMLDocument15.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLDocument15.xml diff --git a/test/testcases/tests/level1/html/HTMLDocument16.xml.notimpl b/test/testcases/tests/level1/html/HTMLDocument16.xml index 1bb1fa7..1bb1fa7 100644 --- a/test/testcases/tests/level1/html/HTMLDocument16.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLDocument16.xml diff --git a/test/testcases/tests/level1/html/HTMLDocument17.xml.notimpl b/test/testcases/tests/level1/html/HTMLDocument17.xml.kfail index 6c89504..6c89504 100644 --- a/test/testcases/tests/level1/html/HTMLDocument17.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLDocument17.xml.kfail diff --git a/test/testcases/tests/level1/html/HTMLDocument18.xml.notimpl b/test/testcases/tests/level1/html/HTMLDocument18.xml.kfail index 7454a15..7454a15 100644 --- a/test/testcases/tests/level1/html/HTMLDocument18.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLDocument18.xml.kfail diff --git a/test/testcases/tests/level1/html/HTMLDocument19.xml.notimpl b/test/testcases/tests/level1/html/HTMLDocument19.xml.kfail index 3fa1a81..3fa1a81 100644 --- a/test/testcases/tests/level1/html/HTMLDocument19.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLDocument19.xml.kfail diff --git a/test/testcases/tests/level1/html/HTMLDocument20.xml.notimpl b/test/testcases/tests/level1/html/HTMLDocument20.xml.kfail index 0b03356..0b03356 100644 --- a/test/testcases/tests/level1/html/HTMLDocument20.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLDocument20.xml.kfail diff --git a/test/testcases/tests/level1/html/HTMLDocument21.xml.notimpl b/test/testcases/tests/level1/html/HTMLDocument21.xml.kfail index 4942f45..4942f45 100644 --- a/test/testcases/tests/level1/html/HTMLDocument21.xml.notimpl +++ b/test/testcases/tests/level1/html/HTMLDocument21.xml.kfail diff --git a/test/testcases/tests/level1/html/HTMLFieldSetElement01.xml.kfail b/test/testcases/tests/level1/html/HTMLFieldSetElement01.xml index b6c6e98..b6c6e98 100644 --- a/test/testcases/tests/level1/html/HTMLFieldSetElement01.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLFieldSetElement01.xml diff --git a/test/testcases/tests/level1/html/HTMLFieldSetElement02.xml.kfail b/test/testcases/tests/level1/html/HTMLFieldSetElement02.xml index 09d0877..09d0877 100644 --- a/test/testcases/tests/level1/html/HTMLFieldSetElement02.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLFieldSetElement02.xml diff --git a/test/testcases/tests/level1/html/HTMLFontElement01.xml.kfail b/test/testcases/tests/level1/html/HTMLFontElement01.xml index 48f0994..48f0994 100644 --- a/test/testcases/tests/level1/html/HTMLFontElement01.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLFontElement01.xml diff --git a/test/testcases/tests/level1/html/HTMLFontElement02.xml.kfail b/test/testcases/tests/level1/html/HTMLFontElement02.xml index 48e405e..48e405e 100644 --- a/test/testcases/tests/level1/html/HTMLFontElement02.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLFontElement02.xml diff --git a/test/testcases/tests/level1/html/HTMLFontElement03.xml.kfail b/test/testcases/tests/level1/html/HTMLFontElement03.xml index 82ced1a..82ced1a 100644 --- a/test/testcases/tests/level1/html/HTMLFontElement03.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLFontElement03.xml diff --git a/test/testcases/tests/level1/html/HTMLFormElement01.xml.int-broken b/test/testcases/tests/level1/html/HTMLFormElement01.xml index 057fac5..057fac5 100644 --- a/test/testcases/tests/level1/html/HTMLFormElement01.xml.int-broken +++ b/test/testcases/tests/level1/html/HTMLFormElement01.xml diff --git a/test/testcases/tests/level1/html/HTMLFormElement02.xml.int-broken b/test/testcases/tests/level1/html/HTMLFormElement02.xml index 06abf8d..06abf8d 100644 --- a/test/testcases/tests/level1/html/HTMLFormElement02.xml.int-broken +++ b/test/testcases/tests/level1/html/HTMLFormElement02.xml diff --git a/test/testcases/tests/level1/html/HTMLFrameElement01.xml.kfail b/test/testcases/tests/level1/html/HTMLFrameElement01.xml index e74ef5e..e74ef5e 100644 --- a/test/testcases/tests/level1/html/HTMLFrameElement01.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLFrameElement01.xml diff --git a/test/testcases/tests/level1/html/HTMLFrameElement02.xml.kfail b/test/testcases/tests/level1/html/HTMLFrameElement02.xml index e6197e7..e6197e7 100644 --- a/test/testcases/tests/level1/html/HTMLFrameElement02.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLFrameElement02.xml diff --git a/test/testcases/tests/level1/html/HTMLFrameElement03.xml.kfail b/test/testcases/tests/level1/html/HTMLFrameElement03.xml index 601ad32..601ad32 100644 --- a/test/testcases/tests/level1/html/HTMLFrameElement03.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLFrameElement03.xml diff --git a/test/testcases/tests/level1/html/HTMLFrameElement04.xml.kfail b/test/testcases/tests/level1/html/HTMLFrameElement04.xml index 85a6b3e..85a6b3e 100644 --- a/test/testcases/tests/level1/html/HTMLFrameElement04.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLFrameElement04.xml diff --git a/test/testcases/tests/level1/html/HTMLFrameElement05.xml.kfail b/test/testcases/tests/level1/html/HTMLFrameElement05.xml index 8df7700..8df7700 100644 --- a/test/testcases/tests/level1/html/HTMLFrameElement05.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLFrameElement05.xml diff --git a/test/testcases/tests/level1/html/HTMLFrameElement06.xml.kfail b/test/testcases/tests/level1/html/HTMLFrameElement06.xml index 43f46e1..43f46e1 100644 --- a/test/testcases/tests/level1/html/HTMLFrameElement06.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLFrameElement06.xml diff --git a/test/testcases/tests/level1/html/HTMLFrameElement07.xml.kfail b/test/testcases/tests/level1/html/HTMLFrameElement07.xml index a7fdea4..a7fdea4 100644 --- a/test/testcases/tests/level1/html/HTMLFrameElement07.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLFrameElement07.xml diff --git a/test/testcases/tests/level1/html/HTMLFrameElement08.xml.kfail b/test/testcases/tests/level1/html/HTMLFrameElement08.xml index 4b2843a..4b2843a 100644 --- a/test/testcases/tests/level1/html/HTMLFrameElement08.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLFrameElement08.xml diff --git a/test/testcases/tests/level1/html/HTMLFrameSetElement01.xml.kfail b/test/testcases/tests/level1/html/HTMLFrameSetElement01.xml index 18e5ff5..18e5ff5 100644 --- a/test/testcases/tests/level1/html/HTMLFrameSetElement01.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLFrameSetElement01.xml diff --git a/test/testcases/tests/level1/html/HTMLFrameSetElement02.xml.kfail b/test/testcases/tests/level1/html/HTMLFrameSetElement02.xml index e598cef..e598cef 100644 --- a/test/testcases/tests/level1/html/HTMLFrameSetElement02.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLFrameSetElement02.xml diff --git a/test/testcases/tests/level1/html/HTMLHeadingElement01.xml.kfail b/test/testcases/tests/level1/html/HTMLHeadingElement01.xml index 3f8b9fa..3f8b9fa 100644 --- a/test/testcases/tests/level1/html/HTMLHeadingElement01.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLHeadingElement01.xml diff --git a/test/testcases/tests/level1/html/HTMLHeadingElement02.xml.kfail b/test/testcases/tests/level1/html/HTMLHeadingElement02.xml index e74b428..e74b428 100644 --- a/test/testcases/tests/level1/html/HTMLHeadingElement02.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLHeadingElement02.xml diff --git a/test/testcases/tests/level1/html/HTMLHeadingElement03.xml.kfail b/test/testcases/tests/level1/html/HTMLHeadingElement03.xml index a03702b..a03702b 100644 --- a/test/testcases/tests/level1/html/HTMLHeadingElement03.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLHeadingElement03.xml diff --git a/test/testcases/tests/level1/html/HTMLHeadingElement04.xml.kfail b/test/testcases/tests/level1/html/HTMLHeadingElement04.xml index 9e16866..9e16866 100644 --- a/test/testcases/tests/level1/html/HTMLHeadingElement04.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLHeadingElement04.xml diff --git a/test/testcases/tests/level1/html/HTMLHeadingElement05.xml.kfail b/test/testcases/tests/level1/html/HTMLHeadingElement05.xml index e732f74..e732f74 100644 --- a/test/testcases/tests/level1/html/HTMLHeadingElement05.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLHeadingElement05.xml diff --git a/test/testcases/tests/level1/html/HTMLHeadingElement06.xml.kfail b/test/testcases/tests/level1/html/HTMLHeadingElement06.xml index 3853483..3853483 100644 --- a/test/testcases/tests/level1/html/HTMLHeadingElement06.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLHeadingElement06.xml diff --git a/test/testcases/tests/level1/html/HTMLIFrameElement01.xml.kfail b/test/testcases/tests/level1/html/HTMLIFrameElement01.xml index 1280955..1280955 100644 --- a/test/testcases/tests/level1/html/HTMLIFrameElement01.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLIFrameElement01.xml diff --git a/test/testcases/tests/level1/html/HTMLIFrameElement02.xml.kfail b/test/testcases/tests/level1/html/HTMLIFrameElement02.xml index c815c67..c815c67 100644 --- a/test/testcases/tests/level1/html/HTMLIFrameElement02.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLIFrameElement02.xml diff --git a/test/testcases/tests/level1/html/HTMLIFrameElement03.xml.kfail b/test/testcases/tests/level1/html/HTMLIFrameElement03.xml index 3842aa3..3842aa3 100644 --- a/test/testcases/tests/level1/html/HTMLIFrameElement03.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLIFrameElement03.xml diff --git a/test/testcases/tests/level1/html/HTMLIFrameElement04.xml.kfail b/test/testcases/tests/level1/html/HTMLIFrameElement04.xml index 65535fd..65535fd 100644 --- a/test/testcases/tests/level1/html/HTMLIFrameElement04.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLIFrameElement04.xml diff --git a/test/testcases/tests/level1/html/HTMLIFrameElement05.xml.kfail b/test/testcases/tests/level1/html/HTMLIFrameElement05.xml index 5ba9855..5ba9855 100644 --- a/test/testcases/tests/level1/html/HTMLIFrameElement05.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLIFrameElement05.xml diff --git a/test/testcases/tests/level1/html/HTMLIFrameElement06.xml.kfail b/test/testcases/tests/level1/html/HTMLIFrameElement06.xml index 85654d7..85654d7 100644 --- a/test/testcases/tests/level1/html/HTMLIFrameElement06.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLIFrameElement06.xml diff --git a/test/testcases/tests/level1/html/HTMLIFrameElement07.xml.kfail b/test/testcases/tests/level1/html/HTMLIFrameElement07.xml index 8143aa5..8143aa5 100644 --- a/test/testcases/tests/level1/html/HTMLIFrameElement07.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLIFrameElement07.xml diff --git a/test/testcases/tests/level1/html/HTMLIFrameElement08.xml.kfail b/test/testcases/tests/level1/html/HTMLIFrameElement08.xml index 729c1a9..729c1a9 100644 --- a/test/testcases/tests/level1/html/HTMLIFrameElement08.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLIFrameElement08.xml diff --git a/test/testcases/tests/level1/html/HTMLIFrameElement09.xml.kfail b/test/testcases/tests/level1/html/HTMLIFrameElement09.xml index e9cc84b..e9cc84b 100644 --- a/test/testcases/tests/level1/html/HTMLIFrameElement09.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLIFrameElement09.xml diff --git a/test/testcases/tests/level1/html/HTMLIFrameElement10.xml.kfail b/test/testcases/tests/level1/html/HTMLIFrameElement10.xml index 7278bb4..7278bb4 100644 --- a/test/testcases/tests/level1/html/HTMLIFrameElement10.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLIFrameElement10.xml diff --git a/test/testcases/tests/level1/html/HTMLImageElement01.xml.kfail b/test/testcases/tests/level1/html/HTMLImageElement01.xml index ca61559..ca61559 100644 --- a/test/testcases/tests/level1/html/HTMLImageElement01.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLImageElement01.xml diff --git a/test/testcases/tests/level1/html/HTMLImageElement02.xml.kfail b/test/testcases/tests/level1/html/HTMLImageElement02.xml index f314888..f314888 100644 --- a/test/testcases/tests/level1/html/HTMLImageElement02.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLImageElement02.xml diff --git a/test/testcases/tests/level1/html/HTMLImageElement03.xml.kfail b/test/testcases/tests/level1/html/HTMLImageElement03.xml index 75716f9..75716f9 100644 --- a/test/testcases/tests/level1/html/HTMLImageElement03.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLImageElement03.xml diff --git a/test/testcases/tests/level1/html/HTMLImageElement04.xml.kfail b/test/testcases/tests/level1/html/HTMLImageElement04.xml index 80a30b0..80a30b0 100644 --- a/test/testcases/tests/level1/html/HTMLImageElement04.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLImageElement04.xml diff --git a/test/testcases/tests/level1/html/HTMLImageElement07.xml.kfail b/test/testcases/tests/level1/html/HTMLImageElement07.xml index faca09e..faca09e 100644 --- a/test/testcases/tests/level1/html/HTMLImageElement07.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLImageElement07.xml diff --git a/test/testcases/tests/level1/html/HTMLImageElement08.xml.kfail b/test/testcases/tests/level1/html/HTMLImageElement08.xml index e7bedbf..e7bedbf 100644 --- a/test/testcases/tests/level1/html/HTMLImageElement08.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLImageElement08.xml diff --git a/test/testcases/tests/level1/html/HTMLImageElement09.xml.kfail b/test/testcases/tests/level1/html/HTMLImageElement09.xml index 6d0f584..6d0f584 100644 --- a/test/testcases/tests/level1/html/HTMLImageElement09.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLImageElement09.xml diff --git a/test/testcases/tests/level1/html/HTMLImageElement10.xml.kfail b/test/testcases/tests/level1/html/HTMLImageElement10.xml index 3c13080..3c13080 100644 --- a/test/testcases/tests/level1/html/HTMLImageElement10.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLImageElement10.xml diff --git a/test/testcases/tests/level1/html/HTMLInputElement21.xml.kfail b/test/testcases/tests/level1/html/HTMLInputElement21.xml index 57fbc76..57fbc76 100644 --- a/test/testcases/tests/level1/html/HTMLInputElement21.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLInputElement21.xml diff --git a/test/testcases/tests/level1/html/HTMLLIElement01.xml.kfail b/test/testcases/tests/level1/html/HTMLLIElement01.xml index 2fe59d5..2fe59d5 100644 --- a/test/testcases/tests/level1/html/HTMLLIElement01.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLLIElement01.xml diff --git a/test/testcases/tests/level1/html/HTMLLIElement02.xml.kfail b/test/testcases/tests/level1/html/HTMLLIElement02.xml index a397773..a397773 100644 --- a/test/testcases/tests/level1/html/HTMLLIElement02.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLLIElement02.xml diff --git a/test/testcases/tests/level1/html/HTMLLabelElement01.xml.kfail b/test/testcases/tests/level1/html/HTMLLabelElement01.xml index 2111d6e..2111d6e 100644 --- a/test/testcases/tests/level1/html/HTMLLabelElement01.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLLabelElement01.xml diff --git a/test/testcases/tests/level1/html/HTMLLabelElement02.xml.kfail b/test/testcases/tests/level1/html/HTMLLabelElement02.xml index 444a753..444a753 100644 --- a/test/testcases/tests/level1/html/HTMLLabelElement02.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLLabelElement02.xml diff --git a/test/testcases/tests/level1/html/HTMLLabelElement03.xml.kfail b/test/testcases/tests/level1/html/HTMLLabelElement03.xml index b4daacf..b4daacf 100644 --- a/test/testcases/tests/level1/html/HTMLLabelElement03.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLLabelElement03.xml diff --git a/test/testcases/tests/level1/html/HTMLLabelElement04.xml.kfail b/test/testcases/tests/level1/html/HTMLLabelElement04.xml index ae22b88..ae22b88 100644 --- a/test/testcases/tests/level1/html/HTMLLabelElement04.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLLabelElement04.xml diff --git a/test/testcases/tests/level1/html/HTMLLegendElement01.xml.kfail b/test/testcases/tests/level1/html/HTMLLegendElement01.xml index f478379..f478379 100644 --- a/test/testcases/tests/level1/html/HTMLLegendElement01.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLLegendElement01.xml diff --git a/test/testcases/tests/level1/html/HTMLLegendElement02.xml.kfail b/test/testcases/tests/level1/html/HTMLLegendElement02.xml index 19cf87f..19cf87f 100644 --- a/test/testcases/tests/level1/html/HTMLLegendElement02.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLLegendElement02.xml diff --git a/test/testcases/tests/level1/html/HTMLLegendElement03.xml.kfail b/test/testcases/tests/level1/html/HTMLLegendElement03.xml index a3747fd..a3747fd 100644 --- a/test/testcases/tests/level1/html/HTMLLegendElement03.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLLegendElement03.xml diff --git a/test/testcases/tests/level1/html/HTMLLegendElement04.xml.kfail b/test/testcases/tests/level1/html/HTMLLegendElement04.xml index fa3e76c..fa3e76c 100644 --- a/test/testcases/tests/level1/html/HTMLLegendElement04.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLLegendElement04.xml diff --git a/test/testcases/tests/level1/html/HTMLMapElement01.xml.kfail b/test/testcases/tests/level1/html/HTMLMapElement01.xml.kfail deleted file mode 100644 index 01e2459..0000000 --- a/test/testcases/tests/level1/html/HTMLMapElement01.xml.kfail +++ /dev/null @@ -1,44 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
-
-<!--
-
-Copyright (c) 2001 World Wide Web Consortium,
-(Massachusetts Institute of Technology, Institut National de
-Recherche en Informatique et en Automatique, Keio University). All
-Rights Reserved. This program is distributed under the W3C's Software
-Intellectual Property License. This program is distributed in the
-hope that it will be useful, but WITHOUT ANY WARRANTY; without even
-the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-PURPOSE.
-
-See W3C License http://www.w3.org/Consortium/Legal/ for more details.
-
--->
-<!DOCTYPE test SYSTEM "dom1.dtd">
-<test xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-1" name="HTMLMapElement01">
-<metadata>
-<title>HTMLMapElement01</title>
-<creator>NIST</creator>
-<description>
- The areas attribute is a list of areas defined for the image map.
-
- Retrieve the areas attribute and find the number of areas defined.
-</description>
-<contributor>Mary Brady</contributor>
-<date qualifier="created">2002-02-22</date>
-<subject resource="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-71838730"/>
-</metadata>
-<var name="nodeList" type="NodeList"/>
-<var name="areasnodeList" type="HTMLCollection"/>
-<var name="testNode" type="Node"/>
-<var name="vareas" type="int" />
-<var name="doc" type="Document"/>
-<load var="doc" href="map" willBeModified="false"/>
-<getElementsByTagName interface="Document" obj="doc" var="nodeList" tagname='"map"'/>
-<assertSize collection="nodeList" size="1" id="Asize"/>
-<item interface="NodeList" obj="nodeList" var="testNode" index="0"/>
-<areas interface="HTMLMapElement" obj="testNode" var="areasnodeList"/>
-<length interface="HTMLCollection" obj="areasnodeList" var="vareas"/>
-<assertEquals actual="vareas" expected="3" id="areasLink" ignoreCase="false"/>
-</test>
diff --git a/test/testcases/tests/level1/html/HTMLMapElement02.xml.kfail b/test/testcases/tests/level1/html/HTMLMapElement02.xml index fc83993..fc83993 100644 --- a/test/testcases/tests/level1/html/HTMLMapElement02.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLMapElement02.xml diff --git a/test/testcases/tests/level1/html/HTMLMenuElement01.xml.kfail b/test/testcases/tests/level1/html/HTMLMenuElement01.xml index 509a114..509a114 100644 --- a/test/testcases/tests/level1/html/HTMLMenuElement01.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLMenuElement01.xml diff --git a/test/testcases/tests/level1/html/HTMLModElement01.xml.kfail b/test/testcases/tests/level1/html/HTMLModElement01.xml index 616bc36..616bc36 100644 --- a/test/testcases/tests/level1/html/HTMLModElement01.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLModElement01.xml diff --git a/test/testcases/tests/level1/html/HTMLModElement02.xml.kfail b/test/testcases/tests/level1/html/HTMLModElement02.xml index bcb8c11..bcb8c11 100644 --- a/test/testcases/tests/level1/html/HTMLModElement02.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLModElement02.xml diff --git a/test/testcases/tests/level1/html/HTMLModElement03.xml.kfail b/test/testcases/tests/level1/html/HTMLModElement03.xml index 82f85b0..82f85b0 100644 --- a/test/testcases/tests/level1/html/HTMLModElement03.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLModElement03.xml diff --git a/test/testcases/tests/level1/html/HTMLModElement04.xml.kfail b/test/testcases/tests/level1/html/HTMLModElement04.xml index 4220ba5..4220ba5 100644 --- a/test/testcases/tests/level1/html/HTMLModElement04.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLModElement04.xml diff --git a/test/testcases/tests/level1/html/HTMLOListElement01.xml.kfail b/test/testcases/tests/level1/html/HTMLOListElement01.xml index 7b053bf..7b053bf 100644 --- a/test/testcases/tests/level1/html/HTMLOListElement01.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLOListElement01.xml diff --git a/test/testcases/tests/level1/html/HTMLOListElement02.xml.kfail b/test/testcases/tests/level1/html/HTMLOListElement02.xml index 85b78d4..85b78d4 100644 --- a/test/testcases/tests/level1/html/HTMLOListElement02.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLOListElement02.xml diff --git a/test/testcases/tests/level1/html/HTMLOListElement03.xml.kfail b/test/testcases/tests/level1/html/HTMLOListElement03.xml index e6306ec..e6306ec 100644 --- a/test/testcases/tests/level1/html/HTMLOListElement03.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLOListElement03.xml diff --git a/test/testcases/tests/level1/html/HTMLObjectElement01.xml.kfail b/test/testcases/tests/level1/html/HTMLObjectElement01.xml index 9b39aaf..9b39aaf 100644 --- a/test/testcases/tests/level1/html/HTMLObjectElement01.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLObjectElement01.xml diff --git a/test/testcases/tests/level1/html/HTMLObjectElement02.xml.kfail b/test/testcases/tests/level1/html/HTMLObjectElement02.xml index 52539a5..52539a5 100644 --- a/test/testcases/tests/level1/html/HTMLObjectElement02.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLObjectElement02.xml diff --git a/test/testcases/tests/level1/html/HTMLObjectElement03.xml.kfail b/test/testcases/tests/level1/html/HTMLObjectElement03.xml index 086f0d9..086f0d9 100644 --- a/test/testcases/tests/level1/html/HTMLObjectElement03.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLObjectElement03.xml diff --git a/test/testcases/tests/level1/html/HTMLObjectElement04.xml.kfail b/test/testcases/tests/level1/html/HTMLObjectElement04.xml index c4091ec..c4091ec 100644 --- a/test/testcases/tests/level1/html/HTMLObjectElement04.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLObjectElement04.xml diff --git a/test/testcases/tests/level1/html/HTMLObjectElement05.xml.kfail b/test/testcases/tests/level1/html/HTMLObjectElement05.xml index 5348c20..5348c20 100644 --- a/test/testcases/tests/level1/html/HTMLObjectElement05.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLObjectElement05.xml diff --git a/test/testcases/tests/level1/html/HTMLObjectElement06.xml.kfail b/test/testcases/tests/level1/html/HTMLObjectElement06.xml index 974fd88..974fd88 100644 --- a/test/testcases/tests/level1/html/HTMLObjectElement06.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLObjectElement06.xml diff --git a/test/testcases/tests/level1/html/HTMLObjectElement07.xml.kfail b/test/testcases/tests/level1/html/HTMLObjectElement07.xml index 8e2c5d2..8e2c5d2 100644 --- a/test/testcases/tests/level1/html/HTMLObjectElement07.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLObjectElement07.xml diff --git a/test/testcases/tests/level1/html/HTMLObjectElement08.xml.kfail b/test/testcases/tests/level1/html/HTMLObjectElement08.xml index f5fd14c..f5fd14c 100644 --- a/test/testcases/tests/level1/html/HTMLObjectElement08.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLObjectElement08.xml diff --git a/test/testcases/tests/level1/html/HTMLObjectElement09.xml.kfail b/test/testcases/tests/level1/html/HTMLObjectElement09.xml index 8c6ca17..8c6ca17 100644 --- a/test/testcases/tests/level1/html/HTMLObjectElement09.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLObjectElement09.xml diff --git a/test/testcases/tests/level1/html/HTMLObjectElement10.xml.kfail b/test/testcases/tests/level1/html/HTMLObjectElement10.xml index b0f0c8b..b0f0c8b 100644 --- a/test/testcases/tests/level1/html/HTMLObjectElement10.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLObjectElement10.xml diff --git a/test/testcases/tests/level1/html/HTMLObjectElement12.xml.kfail b/test/testcases/tests/level1/html/HTMLObjectElement12.xml index 8ef377d..8ef377d 100644 --- a/test/testcases/tests/level1/html/HTMLObjectElement12.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLObjectElement12.xml diff --git a/test/testcases/tests/level1/html/HTMLObjectElement13.xml.kfail b/test/testcases/tests/level1/html/HTMLObjectElement13.xml index 0e764de..0e764de 100644 --- a/test/testcases/tests/level1/html/HTMLObjectElement13.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLObjectElement13.xml diff --git a/test/testcases/tests/level1/html/HTMLObjectElement14.xml.kfail b/test/testcases/tests/level1/html/HTMLObjectElement14.xml index 0fa56d3..0fa56d3 100644 --- a/test/testcases/tests/level1/html/HTMLObjectElement14.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLObjectElement14.xml diff --git a/test/testcases/tests/level1/html/HTMLObjectElement15.xml.kfail b/test/testcases/tests/level1/html/HTMLObjectElement15.xml index 07d3c97..07d3c97 100644 --- a/test/testcases/tests/level1/html/HTMLObjectElement15.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLObjectElement15.xml diff --git a/test/testcases/tests/level1/html/HTMLObjectElement17.xml.kfail b/test/testcases/tests/level1/html/HTMLObjectElement17.xml index caabb88..caabb88 100644 --- a/test/testcases/tests/level1/html/HTMLObjectElement17.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLObjectElement17.xml diff --git a/test/testcases/tests/level1/html/HTMLObjectElement18.xml.kfail b/test/testcases/tests/level1/html/HTMLObjectElement18.xml index f994859..f994859 100644 --- a/test/testcases/tests/level1/html/HTMLObjectElement18.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLObjectElement18.xml diff --git a/test/testcases/tests/level1/html/HTMLObjectElement19.xml.kfail b/test/testcases/tests/level1/html/HTMLObjectElement19.xml index 51d1115..51d1115 100644 --- a/test/testcases/tests/level1/html/HTMLObjectElement19.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLObjectElement19.xml diff --git a/test/testcases/tests/level1/html/HTMLOptionElement05.xml.kfail b/test/testcases/tests/level1/html/HTMLOptionElement05.xml index 46812a1..46812a1 100644 --- a/test/testcases/tests/level1/html/HTMLOptionElement05.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLOptionElement05.xml diff --git a/test/testcases/tests/level1/html/HTMLParagraphElement01.xml.kfail b/test/testcases/tests/level1/html/HTMLParagraphElement01.xml index 0f3fa0e..0f3fa0e 100644 --- a/test/testcases/tests/level1/html/HTMLParagraphElement01.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLParagraphElement01.xml diff --git a/test/testcases/tests/level1/html/HTMLParamElement01.xml.kfail b/test/testcases/tests/level1/html/HTMLParamElement01.xml index 33f9238..33f9238 100644 --- a/test/testcases/tests/level1/html/HTMLParamElement01.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLParamElement01.xml diff --git a/test/testcases/tests/level1/html/HTMLParamElement02.xml.kfail b/test/testcases/tests/level1/html/HTMLParamElement02.xml index 52e3b8a..52e3b8a 100644 --- a/test/testcases/tests/level1/html/HTMLParamElement02.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLParamElement02.xml diff --git a/test/testcases/tests/level1/html/HTMLParamElement03.xml.kfail b/test/testcases/tests/level1/html/HTMLParamElement03.xml index 48b227a..48b227a 100644 --- a/test/testcases/tests/level1/html/HTMLParamElement03.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLParamElement03.xml diff --git a/test/testcases/tests/level1/html/HTMLParamElement04.xml.kfail b/test/testcases/tests/level1/html/HTMLParamElement04.xml index da298fd..da298fd 100644 --- a/test/testcases/tests/level1/html/HTMLParamElement04.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLParamElement04.xml diff --git a/test/testcases/tests/level1/html/HTMLPreElement01.xml.kfail b/test/testcases/tests/level1/html/HTMLPreElement01.xml index 9b8d4f2..9b8d4f2 100644 --- a/test/testcases/tests/level1/html/HTMLPreElement01.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLPreElement01.xml diff --git a/test/testcases/tests/level1/html/HTMLQuoteElement01.xml.kfail b/test/testcases/tests/level1/html/HTMLQuoteElement01.xml index f7aadf7..f7aadf7 100644 --- a/test/testcases/tests/level1/html/HTMLQuoteElement01.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLQuoteElement01.xml diff --git a/test/testcases/tests/level1/html/HTMLQuoteElement02.xml.kfail b/test/testcases/tests/level1/html/HTMLQuoteElement02.xml index 342b10f..342b10f 100644 --- a/test/testcases/tests/level1/html/HTMLQuoteElement02.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLQuoteElement02.xml diff --git a/test/testcases/tests/level1/html/HTMLScriptElement01.xml.kfail b/test/testcases/tests/level1/html/HTMLScriptElement01.xml index c4f28dd..c4f28dd 100644 --- a/test/testcases/tests/level1/html/HTMLScriptElement01.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLScriptElement01.xml diff --git a/test/testcases/tests/level1/html/HTMLScriptElement02.xml.kfail b/test/testcases/tests/level1/html/HTMLScriptElement02.xml index dd3911d..dd3911d 100644 --- a/test/testcases/tests/level1/html/HTMLScriptElement02.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLScriptElement02.xml diff --git a/test/testcases/tests/level1/html/HTMLScriptElement03.xml.kfail b/test/testcases/tests/level1/html/HTMLScriptElement03.xml index d23ad8a..d23ad8a 100644 --- a/test/testcases/tests/level1/html/HTMLScriptElement03.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLScriptElement03.xml diff --git a/test/testcases/tests/level1/html/HTMLScriptElement04.xml.kfail b/test/testcases/tests/level1/html/HTMLScriptElement04.xml index da94196..da94196 100644 --- a/test/testcases/tests/level1/html/HTMLScriptElement04.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLScriptElement04.xml diff --git a/test/testcases/tests/level1/html/HTMLScriptElement05.xml.kfail b/test/testcases/tests/level1/html/HTMLScriptElement05.xml index 2a3ede2..2a3ede2 100644 --- a/test/testcases/tests/level1/html/HTMLScriptElement05.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLScriptElement05.xml diff --git a/test/testcases/tests/level1/html/HTMLScriptElement06.xml.kfail b/test/testcases/tests/level1/html/HTMLScriptElement06.xml index 4e869fc..4e869fc 100644 --- a/test/testcases/tests/level1/html/HTMLScriptElement06.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLScriptElement06.xml diff --git a/test/testcases/tests/level1/html/HTMLScriptElement07.xml.kfail b/test/testcases/tests/level1/html/HTMLScriptElement07.xml index d5a0145..d5a0145 100644 --- a/test/testcases/tests/level1/html/HTMLScriptElement07.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLScriptElement07.xml diff --git a/test/testcases/tests/level1/html/HTMLSelectElement05.xml.int-broken b/test/testcases/tests/level1/html/HTMLSelectElement05.xml index 16c78e1..16c78e1 100644 --- a/test/testcases/tests/level1/html/HTMLSelectElement05.xml.int-broken +++ b/test/testcases/tests/level1/html/HTMLSelectElement05.xml diff --git a/test/testcases/tests/level1/html/HTMLSelectElement16.xml.kfail b/test/testcases/tests/level1/html/HTMLSelectElement16.xml index a5e9422..a5e9422 100644 --- a/test/testcases/tests/level1/html/HTMLSelectElement16.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLSelectElement16.xml diff --git a/test/testcases/tests/level1/html/HTMLSelectElement17.xml.int-broken b/test/testcases/tests/level1/html/HTMLSelectElement17.xml index 03549ff..03549ff 100644 --- a/test/testcases/tests/level1/html/HTMLSelectElement17.xml.int-broken +++ b/test/testcases/tests/level1/html/HTMLSelectElement17.xml diff --git a/test/testcases/tests/level1/html/HTMLSelectElement18.xml.kfail b/test/testcases/tests/level1/html/HTMLSelectElement18.xml index aff29d9..aff29d9 100644 --- a/test/testcases/tests/level1/html/HTMLSelectElement18.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLSelectElement18.xml diff --git a/test/testcases/tests/level1/html/HTMLSelectElement19.xml.kfail b/test/testcases/tests/level1/html/HTMLSelectElement19.xml index 2d2a732..5d06fe1 100644 --- a/test/testcases/tests/level1/html/HTMLSelectElement19.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLSelectElement19.xml @@ -33,7 +33,7 @@ Add a new option before the selected node using HTMLSelectElement.add. <var name="selected" type="int"/> <var name="newOpt" type="Element"/> <var name="newOptText" type="Text"/> -<var name="opt" type="Element"/> +<var name="opt" type="Node"/> <var name="optText" type="Text"/> <var name="optValue" type="DOMString"/> <var name="retNode" type="Node"/> diff --git a/test/testcases/tests/level1/html/HTMLStyleElement01.xml.kfail b/test/testcases/tests/level1/html/HTMLStyleElement01.xml index 60c2e57..60c2e57 100644 --- a/test/testcases/tests/level1/html/HTMLStyleElement01.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLStyleElement01.xml diff --git a/test/testcases/tests/level1/html/HTMLStyleElement02.xml.kfail b/test/testcases/tests/level1/html/HTMLStyleElement02.xml index 727df54..727df54 100644 --- a/test/testcases/tests/level1/html/HTMLStyleElement02.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLStyleElement02.xml diff --git a/test/testcases/tests/level1/html/HTMLStyleElement03.xml.kfail b/test/testcases/tests/level1/html/HTMLStyleElement03.xml index 54394e3..54394e3 100644 --- a/test/testcases/tests/level1/html/HTMLStyleElement03.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLStyleElement03.xml diff --git a/test/testcases/tests/level1/html/HTMLTableCaptionElement01.xml.kfail b/test/testcases/tests/level1/html/HTMLTableCaptionElement01.xml index fb2fae7..fb2fae7 100644 --- a/test/testcases/tests/level1/html/HTMLTableCaptionElement01.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableCaptionElement01.xml diff --git a/test/testcases/tests/level1/html/HTMLTableCellElement01.xml.kfail b/test/testcases/tests/level1/html/HTMLTableCellElement01.xml index 456d6d4..456d6d4 100644 --- a/test/testcases/tests/level1/html/HTMLTableCellElement01.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableCellElement01.xml diff --git a/test/testcases/tests/level1/html/HTMLTableCellElement02.xml.kfail b/test/testcases/tests/level1/html/HTMLTableCellElement02.xml index f93075e..f93075e 100644 --- a/test/testcases/tests/level1/html/HTMLTableCellElement02.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableCellElement02.xml diff --git a/test/testcases/tests/level1/html/HTMLTableCellElement03.xml.kfail b/test/testcases/tests/level1/html/HTMLTableCellElement03.xml index ed23a81..ed23a81 100644 --- a/test/testcases/tests/level1/html/HTMLTableCellElement03.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableCellElement03.xml diff --git a/test/testcases/tests/level1/html/HTMLTableCellElement04.xml.kfail b/test/testcases/tests/level1/html/HTMLTableCellElement04.xml index 2a6ba39..2a6ba39 100644 --- a/test/testcases/tests/level1/html/HTMLTableCellElement04.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableCellElement04.xml diff --git a/test/testcases/tests/level1/html/HTMLTableCellElement05.xml.kfail b/test/testcases/tests/level1/html/HTMLTableCellElement05.xml index 97e12ee..97e12ee 100644 --- a/test/testcases/tests/level1/html/HTMLTableCellElement05.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableCellElement05.xml diff --git a/test/testcases/tests/level1/html/HTMLTableCellElement06.xml.kfail b/test/testcases/tests/level1/html/HTMLTableCellElement06.xml index d642df3..d642df3 100644 --- a/test/testcases/tests/level1/html/HTMLTableCellElement06.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableCellElement06.xml diff --git a/test/testcases/tests/level1/html/HTMLTableCellElement07.xml.kfail b/test/testcases/tests/level1/html/HTMLTableCellElement07.xml index 9041f28..9041f28 100644 --- a/test/testcases/tests/level1/html/HTMLTableCellElement07.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableCellElement07.xml diff --git a/test/testcases/tests/level1/html/HTMLTableCellElement08.xml.kfail b/test/testcases/tests/level1/html/HTMLTableCellElement08.xml index 27136ed..27136ed 100644 --- a/test/testcases/tests/level1/html/HTMLTableCellElement08.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableCellElement08.xml diff --git a/test/testcases/tests/level1/html/HTMLTableCellElement09.xml.kfail b/test/testcases/tests/level1/html/HTMLTableCellElement09.xml index efd65ad..efd65ad 100644 --- a/test/testcases/tests/level1/html/HTMLTableCellElement09.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableCellElement09.xml diff --git a/test/testcases/tests/level1/html/HTMLTableCellElement10.xml.kfail b/test/testcases/tests/level1/html/HTMLTableCellElement10.xml index 64a2746..64a2746 100644 --- a/test/testcases/tests/level1/html/HTMLTableCellElement10.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableCellElement10.xml diff --git a/test/testcases/tests/level1/html/HTMLTableCellElement11.xml.kfail b/test/testcases/tests/level1/html/HTMLTableCellElement11.xml index 0c7c2b3..0c7c2b3 100644 --- a/test/testcases/tests/level1/html/HTMLTableCellElement11.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableCellElement11.xml diff --git a/test/testcases/tests/level1/html/HTMLTableCellElement12.xml.kfail b/test/testcases/tests/level1/html/HTMLTableCellElement12.xml index 17ff175..17ff175 100644 --- a/test/testcases/tests/level1/html/HTMLTableCellElement12.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableCellElement12.xml diff --git a/test/testcases/tests/level1/html/HTMLTableCellElement13.xml.kfail b/test/testcases/tests/level1/html/HTMLTableCellElement13.xml index 74beef5..74beef5 100644 --- a/test/testcases/tests/level1/html/HTMLTableCellElement13.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableCellElement13.xml diff --git a/test/testcases/tests/level1/html/HTMLTableCellElement14.xml.kfail b/test/testcases/tests/level1/html/HTMLTableCellElement14.xml index c703661..c703661 100644 --- a/test/testcases/tests/level1/html/HTMLTableCellElement14.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableCellElement14.xml diff --git a/test/testcases/tests/level1/html/HTMLTableCellElement15.xml.kfail b/test/testcases/tests/level1/html/HTMLTableCellElement15.xml index b476253..b476253 100644 --- a/test/testcases/tests/level1/html/HTMLTableCellElement15.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableCellElement15.xml diff --git a/test/testcases/tests/level1/html/HTMLTableCellElement16.xml.kfail b/test/testcases/tests/level1/html/HTMLTableCellElement16.xml index f5a7408..f5a7408 100644 --- a/test/testcases/tests/level1/html/HTMLTableCellElement16.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableCellElement16.xml diff --git a/test/testcases/tests/level1/html/HTMLTableCellElement17.xml.kfail b/test/testcases/tests/level1/html/HTMLTableCellElement17.xml index f10d801..f10d801 100644 --- a/test/testcases/tests/level1/html/HTMLTableCellElement17.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableCellElement17.xml diff --git a/test/testcases/tests/level1/html/HTMLTableCellElement18.xml.kfail b/test/testcases/tests/level1/html/HTMLTableCellElement18.xml index 0ed53d0..0ed53d0 100644 --- a/test/testcases/tests/level1/html/HTMLTableCellElement18.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableCellElement18.xml diff --git a/test/testcases/tests/level1/html/HTMLTableCellElement19.xml.kfail b/test/testcases/tests/level1/html/HTMLTableCellElement19.xml index a4ab68d..a4ab68d 100644 --- a/test/testcases/tests/level1/html/HTMLTableCellElement19.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableCellElement19.xml diff --git a/test/testcases/tests/level1/html/HTMLTableCellElement20.xml.kfail b/test/testcases/tests/level1/html/HTMLTableCellElement20.xml index a5fa5ae..a5fa5ae 100644 --- a/test/testcases/tests/level1/html/HTMLTableCellElement20.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableCellElement20.xml diff --git a/test/testcases/tests/level1/html/HTMLTableCellElement21.xml.kfail b/test/testcases/tests/level1/html/HTMLTableCellElement21.xml index 19bb5fe..19bb5fe 100644 --- a/test/testcases/tests/level1/html/HTMLTableCellElement21.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableCellElement21.xml diff --git a/test/testcases/tests/level1/html/HTMLTableCellElement22.xml.kfail b/test/testcases/tests/level1/html/HTMLTableCellElement22.xml index 98e11c4..98e11c4 100644 --- a/test/testcases/tests/level1/html/HTMLTableCellElement22.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableCellElement22.xml diff --git a/test/testcases/tests/level1/html/HTMLTableCellElement23.xml.kfail b/test/testcases/tests/level1/html/HTMLTableCellElement23.xml index b276fbc..b276fbc 100644 --- a/test/testcases/tests/level1/html/HTMLTableCellElement23.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableCellElement23.xml diff --git a/test/testcases/tests/level1/html/HTMLTableCellElement24.xml.kfail b/test/testcases/tests/level1/html/HTMLTableCellElement24.xml index 3679bee..3679bee 100644 --- a/test/testcases/tests/level1/html/HTMLTableCellElement24.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableCellElement24.xml diff --git a/test/testcases/tests/level1/html/HTMLTableCellElement25.xml.kfail b/test/testcases/tests/level1/html/HTMLTableCellElement25.xml index bc74f39..bc74f39 100644 --- a/test/testcases/tests/level1/html/HTMLTableCellElement25.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableCellElement25.xml diff --git a/test/testcases/tests/level1/html/HTMLTableCellElement26.xml.kfail b/test/testcases/tests/level1/html/HTMLTableCellElement26.xml index 5cf82e8..5cf82e8 100644 --- a/test/testcases/tests/level1/html/HTMLTableCellElement26.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableCellElement26.xml diff --git a/test/testcases/tests/level1/html/HTMLTableCellElement27.xml.kfail b/test/testcases/tests/level1/html/HTMLTableCellElement27.xml index dceae74..dceae74 100644 --- a/test/testcases/tests/level1/html/HTMLTableCellElement27.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableCellElement27.xml diff --git a/test/testcases/tests/level1/html/HTMLTableCellElement28.xml.kfail b/test/testcases/tests/level1/html/HTMLTableCellElement28.xml index 1594528..1594528 100644 --- a/test/testcases/tests/level1/html/HTMLTableCellElement28.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableCellElement28.xml diff --git a/test/testcases/tests/level1/html/HTMLTableCellElement29.xml.kfail b/test/testcases/tests/level1/html/HTMLTableCellElement29.xml index 571458b..571458b 100644 --- a/test/testcases/tests/level1/html/HTMLTableCellElement29.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableCellElement29.xml diff --git a/test/testcases/tests/level1/html/HTMLTableCellElement30.xml.kfail b/test/testcases/tests/level1/html/HTMLTableCellElement30.xml index 332c038..332c038 100644 --- a/test/testcases/tests/level1/html/HTMLTableCellElement30.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableCellElement30.xml diff --git a/test/testcases/tests/level1/html/HTMLTableColElement01.xml.kfail b/test/testcases/tests/level1/html/HTMLTableColElement01.xml index ae5fea0..ae5fea0 100644 --- a/test/testcases/tests/level1/html/HTMLTableColElement01.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableColElement01.xml diff --git a/test/testcases/tests/level1/html/HTMLTableColElement02.xml.kfail b/test/testcases/tests/level1/html/HTMLTableColElement02.xml index 2d30433..2d30433 100644 --- a/test/testcases/tests/level1/html/HTMLTableColElement02.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableColElement02.xml diff --git a/test/testcases/tests/level1/html/HTMLTableColElement03.xml.kfail b/test/testcases/tests/level1/html/HTMLTableColElement03.xml index 6710753..6710753 100644 --- a/test/testcases/tests/level1/html/HTMLTableColElement03.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableColElement03.xml diff --git a/test/testcases/tests/level1/html/HTMLTableColElement04.xml.kfail b/test/testcases/tests/level1/html/HTMLTableColElement04.xml index db0ebd0..db0ebd0 100644 --- a/test/testcases/tests/level1/html/HTMLTableColElement04.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableColElement04.xml diff --git a/test/testcases/tests/level1/html/HTMLTableColElement05.xml.kfail b/test/testcases/tests/level1/html/HTMLTableColElement05.xml index ebd56a9..ebd56a9 100644 --- a/test/testcases/tests/level1/html/HTMLTableColElement05.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableColElement05.xml diff --git a/test/testcases/tests/level1/html/HTMLTableColElement06.xml.kfail b/test/testcases/tests/level1/html/HTMLTableColElement06.xml index 285f794..285f794 100644 --- a/test/testcases/tests/level1/html/HTMLTableColElement06.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableColElement06.xml diff --git a/test/testcases/tests/level1/html/HTMLTableColElement07.xml.kfail b/test/testcases/tests/level1/html/HTMLTableColElement07.xml index 7a70e40..7a70e40 100644 --- a/test/testcases/tests/level1/html/HTMLTableColElement07.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableColElement07.xml diff --git a/test/testcases/tests/level1/html/HTMLTableColElement08.xml.kfail b/test/testcases/tests/level1/html/HTMLTableColElement08.xml index 491ea88..491ea88 100644 --- a/test/testcases/tests/level1/html/HTMLTableColElement08.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableColElement08.xml diff --git a/test/testcases/tests/level1/html/HTMLTableColElement09.xml.kfail b/test/testcases/tests/level1/html/HTMLTableColElement09.xml index 0e3314b..0e3314b 100644 --- a/test/testcases/tests/level1/html/HTMLTableColElement09.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableColElement09.xml diff --git a/test/testcases/tests/level1/html/HTMLTableColElement10.xml.kfail b/test/testcases/tests/level1/html/HTMLTableColElement10.xml index 7be9c98..7be9c98 100644 --- a/test/testcases/tests/level1/html/HTMLTableColElement10.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableColElement10.xml diff --git a/test/testcases/tests/level1/html/HTMLTableColElement11.xml.kfail b/test/testcases/tests/level1/html/HTMLTableColElement11.xml index 636a0ae..636a0ae 100644 --- a/test/testcases/tests/level1/html/HTMLTableColElement11.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableColElement11.xml diff --git a/test/testcases/tests/level1/html/HTMLTableColElement12.xml.kfail b/test/testcases/tests/level1/html/HTMLTableColElement12.xml index bc39b9a..bc39b9a 100644 --- a/test/testcases/tests/level1/html/HTMLTableColElement12.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableColElement12.xml diff --git a/test/testcases/tests/level1/html/HTMLTableElement01.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement01.xml index 7135fd7..7135fd7 100644 --- a/test/testcases/tests/level1/html/HTMLTableElement01.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableElement01.xml diff --git a/test/testcases/tests/level1/html/HTMLTableElement02.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement02.xml index fb9fa8f..fb9fa8f 100644 --- a/test/testcases/tests/level1/html/HTMLTableElement02.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableElement02.xml diff --git a/test/testcases/tests/level1/html/HTMLTableElement03.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement03.xml index 0b59fe6..0b59fe6 100644 --- a/test/testcases/tests/level1/html/HTMLTableElement03.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableElement03.xml diff --git a/test/testcases/tests/level1/html/HTMLTableElement04.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement04.xml index 1e254b3..1e254b3 100644 --- a/test/testcases/tests/level1/html/HTMLTableElement04.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableElement04.xml diff --git a/test/testcases/tests/level1/html/HTMLTableElement05.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement05.xml index 15de11c..15de11c 100644 --- a/test/testcases/tests/level1/html/HTMLTableElement05.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableElement05.xml diff --git a/test/testcases/tests/level1/html/HTMLTableElement06.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement06.xml index e18b8f8..e18b8f8 100644 --- a/test/testcases/tests/level1/html/HTMLTableElement06.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableElement06.xml diff --git a/test/testcases/tests/level1/html/HTMLTableElement07.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement07.xml index 44be1c3..44be1c3 100644 --- a/test/testcases/tests/level1/html/HTMLTableElement07.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableElement07.xml diff --git a/test/testcases/tests/level1/html/HTMLTableElement08.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement08.xml index 1a744b1..1a744b1 100644 --- a/test/testcases/tests/level1/html/HTMLTableElement08.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableElement08.xml diff --git a/test/testcases/tests/level1/html/HTMLTableElement09.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement09.xml index a0aecf3..a0aecf3 100644 --- a/test/testcases/tests/level1/html/HTMLTableElement09.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableElement09.xml diff --git a/test/testcases/tests/level1/html/HTMLTableElement10.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement10.xml index 160afeb..160afeb 100644 --- a/test/testcases/tests/level1/html/HTMLTableElement10.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableElement10.xml diff --git a/test/testcases/tests/level1/html/HTMLTableElement11.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement11.xml index 785c4d0..785c4d0 100644 --- a/test/testcases/tests/level1/html/HTMLTableElement11.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableElement11.xml diff --git a/test/testcases/tests/level1/html/HTMLTableElement12.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement12.xml index 811a147..811a147 100644 --- a/test/testcases/tests/level1/html/HTMLTableElement12.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableElement12.xml diff --git a/test/testcases/tests/level1/html/HTMLTableElement13.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement13.xml index 4a18d8d..4a18d8d 100644 --- a/test/testcases/tests/level1/html/HTMLTableElement13.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableElement13.xml diff --git a/test/testcases/tests/level1/html/HTMLTableElement14.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement14.xml index 478e9c9..478e9c9 100644 --- a/test/testcases/tests/level1/html/HTMLTableElement14.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableElement14.xml diff --git a/test/testcases/tests/level1/html/HTMLTableElement15.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement15.xml index 51f9763..51f9763 100644 --- a/test/testcases/tests/level1/html/HTMLTableElement15.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableElement15.xml diff --git a/test/testcases/tests/level1/html/HTMLTableElement16.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement16.xml index 7166437..7166437 100644 --- a/test/testcases/tests/level1/html/HTMLTableElement16.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableElement16.xml diff --git a/test/testcases/tests/level1/html/HTMLTableElement17.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement17.xml index 9337c09..9337c09 100644 --- a/test/testcases/tests/level1/html/HTMLTableElement17.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableElement17.xml diff --git a/test/testcases/tests/level1/html/HTMLTableElement18.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement18.xml index 210e2b1..210e2b1 100644 --- a/test/testcases/tests/level1/html/HTMLTableElement18.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableElement18.xml diff --git a/test/testcases/tests/level1/html/HTMLTableElement19.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement19.xml index 152174d..152174d 100644 --- a/test/testcases/tests/level1/html/HTMLTableElement19.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableElement19.xml diff --git a/test/testcases/tests/level1/html/HTMLTableElement20.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement20.xml index 032725b..032725b 100644 --- a/test/testcases/tests/level1/html/HTMLTableElement20.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableElement20.xml diff --git a/test/testcases/tests/level1/html/HTMLTableElement21.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement21.xml index 3903b69..b50a007 100644 --- a/test/testcases/tests/level1/html/HTMLTableElement21.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableElement21.xml @@ -35,8 +35,8 @@ See W3C License http://www.w3.org/Consortium/Legal/ for more details. <var name="nodeList" type="NodeList"/> <var name="rowsnodeList" type="HTMLCollection"/> <var name="testNode" type="Node"/> -<var name="vsection1" type="HTMLTableElement" /> -<var name="vsection2" type="HTMLTableElement" /> +<var name="vsection1" type="HTMLTableSectionElement" /> +<var name="vsection2" type="HTMLTableSectionElement" /> <var name="vrows" type="int"/> <var name="doc" type="Document"/> <var name="result" type="List"/> diff --git a/test/testcases/tests/level1/html/HTMLTableElement22.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement22.xml index 6649b0f..6649b0f 100644 --- a/test/testcases/tests/level1/html/HTMLTableElement22.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableElement22.xml diff --git a/test/testcases/tests/level1/html/HTMLTableElement23.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement23.xml index 1f53f03..1f53f03 100644 --- a/test/testcases/tests/level1/html/HTMLTableElement23.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableElement23.xml diff --git a/test/testcases/tests/level1/html/HTMLTableElement24.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement24.xml index d6f993c..58af66e 100644 --- a/test/testcases/tests/level1/html/HTMLTableElement24.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableElement24.xml @@ -35,8 +35,8 @@ See W3C License http://www.w3.org/Consortium/Legal/ for more details. <var name="nodeList" type="NodeList"/> <var name="rowsnodeList" type="HTMLCollection"/> <var name="testNode" type="Node"/> -<var name="vsection1" type="HTMLTableElement" /> -<var name="vsection2" type="HTMLTableElement" /> +<var name="vsection1" type="HTMLTableSectionElement" /> +<var name="vsection2" type="HTMLTableSectionElement" /> <var name="vrows" type="int"/> <var name="doc" type="Document"/> <var name="result" type="List"/> diff --git a/test/testcases/tests/level1/html/HTMLTableElement25.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement25.xml index a28ae65..a28ae65 100644 --- a/test/testcases/tests/level1/html/HTMLTableElement25.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableElement25.xml diff --git a/test/testcases/tests/level1/html/HTMLTableElement26.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement26.xml index 5517f2f..5517f2f 100644 --- a/test/testcases/tests/level1/html/HTMLTableElement26.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableElement26.xml diff --git a/test/testcases/tests/level1/html/HTMLTableElement27.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement27.xml index c387d69..c387d69 100644 --- a/test/testcases/tests/level1/html/HTMLTableElement27.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableElement27.xml diff --git a/test/testcases/tests/level1/html/HTMLTableElement28.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement28.xml index 95f300c..95f300c 100644 --- a/test/testcases/tests/level1/html/HTMLTableElement28.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableElement28.xml diff --git a/test/testcases/tests/level1/html/HTMLTableElement29.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement29.xml index ba62848..ba62848 100644 --- a/test/testcases/tests/level1/html/HTMLTableElement29.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableElement29.xml diff --git a/test/testcases/tests/level1/html/HTMLTableElement30.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement30.xml index e45cf68..e45cf68 100644 --- a/test/testcases/tests/level1/html/HTMLTableElement30.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableElement30.xml diff --git a/test/testcases/tests/level1/html/HTMLTableElement31.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement31.xml index e5eb32d..e5eb32d 100644 --- a/test/testcases/tests/level1/html/HTMLTableElement31.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableElement31.xml diff --git a/test/testcases/tests/level1/html/HTMLTableElement32.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement32.xml index a6529b0..a6529b0 100644 --- a/test/testcases/tests/level1/html/HTMLTableElement32.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableElement32.xml diff --git a/test/testcases/tests/level1/html/HTMLTableElement33.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement33.xml index 1ae507a..1ae507a 100644 --- a/test/testcases/tests/level1/html/HTMLTableElement33.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableElement33.xml diff --git a/test/testcases/tests/level1/html/HTMLTableRowElement01.xml.kfail b/test/testcases/tests/level1/html/HTMLTableRowElement01.xml index 0dbd008..0dbd008 100644 --- a/test/testcases/tests/level1/html/HTMLTableRowElement01.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableRowElement01.xml diff --git a/test/testcases/tests/level1/html/HTMLTableRowElement02.xml.kfail b/test/testcases/tests/level1/html/HTMLTableRowElement02.xml index 284bc84..284bc84 100644 --- a/test/testcases/tests/level1/html/HTMLTableRowElement02.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableRowElement02.xml diff --git a/test/testcases/tests/level1/html/HTMLTableRowElement03.xml.kfail b/test/testcases/tests/level1/html/HTMLTableRowElement03.xml index 341c2a5..341c2a5 100644 --- a/test/testcases/tests/level1/html/HTMLTableRowElement03.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableRowElement03.xml diff --git a/test/testcases/tests/level1/html/HTMLTableRowElement04.xml.kfail b/test/testcases/tests/level1/html/HTMLTableRowElement04.xml index bca05d4..bca05d4 100644 --- a/test/testcases/tests/level1/html/HTMLTableRowElement04.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableRowElement04.xml diff --git a/test/testcases/tests/level1/html/HTMLTableRowElement05.xml.kfail b/test/testcases/tests/level1/html/HTMLTableRowElement05.xml index 638126b..638126b 100644 --- a/test/testcases/tests/level1/html/HTMLTableRowElement05.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableRowElement05.xml diff --git a/test/testcases/tests/level1/html/HTMLTableRowElement06.xml.kfail b/test/testcases/tests/level1/html/HTMLTableRowElement06.xml index 55fc2ac..55fc2ac 100644 --- a/test/testcases/tests/level1/html/HTMLTableRowElement06.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableRowElement06.xml diff --git a/test/testcases/tests/level1/html/HTMLTableRowElement07.xml.kfail b/test/testcases/tests/level1/html/HTMLTableRowElement07.xml index c586f6a..c586f6a 100644 --- a/test/testcases/tests/level1/html/HTMLTableRowElement07.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableRowElement07.xml diff --git a/test/testcases/tests/level1/html/HTMLTableRowElement08.xml.kfail b/test/testcases/tests/level1/html/HTMLTableRowElement08.xml index 751ef9e..751ef9e 100644 --- a/test/testcases/tests/level1/html/HTMLTableRowElement08.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableRowElement08.xml diff --git a/test/testcases/tests/level1/html/HTMLTableRowElement09.xml.kfail b/test/testcases/tests/level1/html/HTMLTableRowElement09.xml index eda033b..eda033b 100644 --- a/test/testcases/tests/level1/html/HTMLTableRowElement09.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableRowElement09.xml diff --git a/test/testcases/tests/level1/html/HTMLTableRowElement10.xml.kfail b/test/testcases/tests/level1/html/HTMLTableRowElement10.xml index 3554fb6..3554fb6 100644 --- a/test/testcases/tests/level1/html/HTMLTableRowElement10.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableRowElement10.xml diff --git a/test/testcases/tests/level1/html/HTMLTableRowElement11.xml.kfail b/test/testcases/tests/level1/html/HTMLTableRowElement11.xml index f284090..f284090 100644 --- a/test/testcases/tests/level1/html/HTMLTableRowElement11.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableRowElement11.xml diff --git a/test/testcases/tests/level1/html/HTMLTableRowElement12.xml.kfail b/test/testcases/tests/level1/html/HTMLTableRowElement12.xml index 121954c..121954c 100644 --- a/test/testcases/tests/level1/html/HTMLTableRowElement12.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableRowElement12.xml diff --git a/test/testcases/tests/level1/html/HTMLTableRowElement13.xml.kfail b/test/testcases/tests/level1/html/HTMLTableRowElement13.xml index a90f596..a90f596 100644 --- a/test/testcases/tests/level1/html/HTMLTableRowElement13.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableRowElement13.xml diff --git a/test/testcases/tests/level1/html/HTMLTableRowElement14.xml.kfail b/test/testcases/tests/level1/html/HTMLTableRowElement14.xml index 27af8e2..27af8e2 100644 --- a/test/testcases/tests/level1/html/HTMLTableRowElement14.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableRowElement14.xml diff --git a/test/testcases/tests/level1/html/HTMLTableSectionElement01.xml.kfail b/test/testcases/tests/level1/html/HTMLTableSectionElement01.xml index 238dcb2..238dcb2 100644 --- a/test/testcases/tests/level1/html/HTMLTableSectionElement01.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableSectionElement01.xml diff --git a/test/testcases/tests/level1/html/HTMLTableSectionElement02.xml.kfail b/test/testcases/tests/level1/html/HTMLTableSectionElement02.xml index c4bdbf9..c4bdbf9 100644 --- a/test/testcases/tests/level1/html/HTMLTableSectionElement02.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableSectionElement02.xml diff --git a/test/testcases/tests/level1/html/HTMLTableSectionElement03.xml.kfail b/test/testcases/tests/level1/html/HTMLTableSectionElement03.xml index 2236435..2236435 100644 --- a/test/testcases/tests/level1/html/HTMLTableSectionElement03.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableSectionElement03.xml diff --git a/test/testcases/tests/level1/html/HTMLTableSectionElement04.xml.kfail b/test/testcases/tests/level1/html/HTMLTableSectionElement04.xml index 2060f35..2060f35 100644 --- a/test/testcases/tests/level1/html/HTMLTableSectionElement04.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableSectionElement04.xml diff --git a/test/testcases/tests/level1/html/HTMLTableSectionElement05.xml.kfail b/test/testcases/tests/level1/html/HTMLTableSectionElement05.xml index 32022bb..32022bb 100644 --- a/test/testcases/tests/level1/html/HTMLTableSectionElement05.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableSectionElement05.xml diff --git a/test/testcases/tests/level1/html/HTMLTableSectionElement06.xml.kfail b/test/testcases/tests/level1/html/HTMLTableSectionElement06.xml index be665e4..be665e4 100644 --- a/test/testcases/tests/level1/html/HTMLTableSectionElement06.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableSectionElement06.xml diff --git a/test/testcases/tests/level1/html/HTMLTableSectionElement07.xml.kfail b/test/testcases/tests/level1/html/HTMLTableSectionElement07.xml index ecf38f3..ecf38f3 100644 --- a/test/testcases/tests/level1/html/HTMLTableSectionElement07.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableSectionElement07.xml diff --git a/test/testcases/tests/level1/html/HTMLTableSectionElement08.xml.kfail b/test/testcases/tests/level1/html/HTMLTableSectionElement08.xml index 48440ca..48440ca 100644 --- a/test/testcases/tests/level1/html/HTMLTableSectionElement08.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableSectionElement08.xml diff --git a/test/testcases/tests/level1/html/HTMLTableSectionElement09.xml.kfail b/test/testcases/tests/level1/html/HTMLTableSectionElement09.xml index 501446b..501446b 100644 --- a/test/testcases/tests/level1/html/HTMLTableSectionElement09.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableSectionElement09.xml diff --git a/test/testcases/tests/level1/html/HTMLTableSectionElement10.xml.kfail b/test/testcases/tests/level1/html/HTMLTableSectionElement10.xml index 3e011c1..3e011c1 100644 --- a/test/testcases/tests/level1/html/HTMLTableSectionElement10.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableSectionElement10.xml diff --git a/test/testcases/tests/level1/html/HTMLTableSectionElement11.xml.kfail b/test/testcases/tests/level1/html/HTMLTableSectionElement11.xml index ba5ae68..ba5ae68 100644 --- a/test/testcases/tests/level1/html/HTMLTableSectionElement11.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableSectionElement11.xml diff --git a/test/testcases/tests/level1/html/HTMLTableSectionElement12.xml.kfail b/test/testcases/tests/level1/html/HTMLTableSectionElement12.xml index e649489..e649489 100644 --- a/test/testcases/tests/level1/html/HTMLTableSectionElement12.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableSectionElement12.xml diff --git a/test/testcases/tests/level1/html/HTMLTableSectionElement13.xml.kfail b/test/testcases/tests/level1/html/HTMLTableSectionElement13.xml index 1110c65..1110c65 100644 --- a/test/testcases/tests/level1/html/HTMLTableSectionElement13.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableSectionElement13.xml diff --git a/test/testcases/tests/level1/html/HTMLTableSectionElement14.xml.kfail b/test/testcases/tests/level1/html/HTMLTableSectionElement14.xml index 83c90c0..83c90c0 100644 --- a/test/testcases/tests/level1/html/HTMLTableSectionElement14.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableSectionElement14.xml diff --git a/test/testcases/tests/level1/html/HTMLTableSectionElement15.xml.kfail b/test/testcases/tests/level1/html/HTMLTableSectionElement15.xml index 6c8f0dd..6c8f0dd 100644 --- a/test/testcases/tests/level1/html/HTMLTableSectionElement15.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableSectionElement15.xml diff --git a/test/testcases/tests/level1/html/HTMLTableSectionElement16.xml.kfail b/test/testcases/tests/level1/html/HTMLTableSectionElement16.xml index 567d86b..567d86b 100644 --- a/test/testcases/tests/level1/html/HTMLTableSectionElement16.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableSectionElement16.xml diff --git a/test/testcases/tests/level1/html/HTMLTableSectionElement17.xml.kfail b/test/testcases/tests/level1/html/HTMLTableSectionElement17.xml index 4a3e283..4a3e283 100644 --- a/test/testcases/tests/level1/html/HTMLTableSectionElement17.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableSectionElement17.xml diff --git a/test/testcases/tests/level1/html/HTMLTableSectionElement18.xml.kfail b/test/testcases/tests/level1/html/HTMLTableSectionElement18.xml index e8073be..e8073be 100644 --- a/test/testcases/tests/level1/html/HTMLTableSectionElement18.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableSectionElement18.xml diff --git a/test/testcases/tests/level1/html/HTMLTableSectionElement19.xml.kfail b/test/testcases/tests/level1/html/HTMLTableSectionElement19.xml index f8d7933..f8d7933 100644 --- a/test/testcases/tests/level1/html/HTMLTableSectionElement19.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableSectionElement19.xml diff --git a/test/testcases/tests/level1/html/HTMLTableSectionElement20.xml.kfail b/test/testcases/tests/level1/html/HTMLTableSectionElement20.xml index 99452e7..99452e7 100644 --- a/test/testcases/tests/level1/html/HTMLTableSectionElement20.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableSectionElement20.xml diff --git a/test/testcases/tests/level1/html/HTMLTableSectionElement21.xml.kfail b/test/testcases/tests/level1/html/HTMLTableSectionElement21.xml index 05d7ef8..05d7ef8 100644 --- a/test/testcases/tests/level1/html/HTMLTableSectionElement21.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableSectionElement21.xml diff --git a/test/testcases/tests/level1/html/HTMLTableSectionElement22.xml.kfail b/test/testcases/tests/level1/html/HTMLTableSectionElement22.xml index 5d8bef4..5d8bef4 100644 --- a/test/testcases/tests/level1/html/HTMLTableSectionElement22.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableSectionElement22.xml diff --git a/test/testcases/tests/level1/html/HTMLTableSectionElement23.xml.kfail b/test/testcases/tests/level1/html/HTMLTableSectionElement23.xml index eb3f972..eb3f972 100644 --- a/test/testcases/tests/level1/html/HTMLTableSectionElement23.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableSectionElement23.xml diff --git a/test/testcases/tests/level1/html/HTMLTableSectionElement24.xml.kfail b/test/testcases/tests/level1/html/HTMLTableSectionElement24.xml index 39896e1..39896e1 100644 --- a/test/testcases/tests/level1/html/HTMLTableSectionElement24.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableSectionElement24.xml diff --git a/test/testcases/tests/level1/html/HTMLUListElement01.xml.kfail b/test/testcases/tests/level1/html/HTMLUListElement01.xml index 75695aa..75695aa 100644 --- a/test/testcases/tests/level1/html/HTMLUListElement01.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLUListElement01.xml diff --git a/test/testcases/tests/level1/html/HTMLUListElement02.xml.kfail b/test/testcases/tests/level1/html/HTMLUListElement02.xml index e525d5b..e525d5b 100644 --- a/test/testcases/tests/level1/html/HTMLUListElement02.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLUListElement02.xml diff --git a/test/testcases/tests/level1/html/anchor01.xml.notimpl b/test/testcases/tests/level1/html/anchor01.xml index 19a2711..19a2711 100644 --- a/test/testcases/tests/level1/html/anchor01.xml.notimpl +++ b/test/testcases/tests/level1/html/anchor01.xml diff --git a/test/testcases/tests/level1/html/anchor02.xml.notimpl b/test/testcases/tests/level1/html/anchor02.xml index 61486a7..61486a7 100644 --- a/test/testcases/tests/level1/html/anchor02.xml.notimpl +++ b/test/testcases/tests/level1/html/anchor02.xml diff --git a/test/testcases/tests/level1/html/anchor03.xml.notimpl b/test/testcases/tests/level1/html/anchor03.xml index e6bd32e..e6bd32e 100644 --- a/test/testcases/tests/level1/html/anchor03.xml.notimpl +++ b/test/testcases/tests/level1/html/anchor03.xml diff --git a/test/testcases/tests/level1/html/anchor04.xml.notimpl b/test/testcases/tests/level1/html/anchor04.xml.kfail index b5ce201..b5ce201 100644 --- a/test/testcases/tests/level1/html/anchor04.xml.notimpl +++ b/test/testcases/tests/level1/html/anchor04.xml.kfail diff --git a/test/testcases/tests/level1/html/anchor05.xml.notimpl b/test/testcases/tests/level1/html/anchor05.xml index 27b34ac..27b34ac 100644 --- a/test/testcases/tests/level1/html/anchor05.xml.notimpl +++ b/test/testcases/tests/level1/html/anchor05.xml diff --git a/test/testcases/tests/level1/html/anchor06.xml.notimpl b/test/testcases/tests/level1/html/anchor06.xml index 31190be..31190be 100644 --- a/test/testcases/tests/level1/html/anchor06.xml.notimpl +++ b/test/testcases/tests/level1/html/anchor06.xml diff --git a/test/testcases/tests/level1/html/area01.xml.notimpl b/test/testcases/tests/level1/html/area01.xml index 34ebdb2..34ebdb2 100644 --- a/test/testcases/tests/level1/html/area01.xml.notimpl +++ b/test/testcases/tests/level1/html/area01.xml diff --git a/test/testcases/tests/level1/html/area02.xml.notimpl b/test/testcases/tests/level1/html/area02.xml index 8f85598..8f85598 100644 --- a/test/testcases/tests/level1/html/area02.xml.notimpl +++ b/test/testcases/tests/level1/html/area02.xml diff --git a/test/testcases/tests/level1/html/area03.xml.notimpl b/test/testcases/tests/level1/html/area03.xml index 577e711..577e711 100644 --- a/test/testcases/tests/level1/html/area03.xml.notimpl +++ b/test/testcases/tests/level1/html/area03.xml diff --git a/test/testcases/tests/level1/html/area04.xml.notimpl b/test/testcases/tests/level1/html/area04.xml index f964a57..f964a57 100644 --- a/test/testcases/tests/level1/html/area04.xml.notimpl +++ b/test/testcases/tests/level1/html/area04.xml diff --git a/test/testcases/tests/level1/html/basefont01.xml.notimpl b/test/testcases/tests/level1/html/basefont01.xml index eadfca4..eadfca4 100644 --- a/test/testcases/tests/level1/html/basefont01.xml.notimpl +++ b/test/testcases/tests/level1/html/basefont01.xml diff --git a/test/testcases/tests/level1/html/body01.xml.notimpl b/test/testcases/tests/level1/html/body01.xml index 3ab179d..3ab179d 100644 --- a/test/testcases/tests/level1/html/body01.xml.notimpl +++ b/test/testcases/tests/level1/html/body01.xml diff --git a/test/testcases/tests/level1/html/button01.xml.notimpl b/test/testcases/tests/level1/html/button01.xml index f128ea8..f128ea8 100644 --- a/test/testcases/tests/level1/html/button01.xml.notimpl +++ b/test/testcases/tests/level1/html/button01.xml diff --git a/test/testcases/tests/level1/html/button02.xml.notimpl b/test/testcases/tests/level1/html/button02.xml index bd072ef..bd072ef 100644 --- a/test/testcases/tests/level1/html/button02.xml.notimpl +++ b/test/testcases/tests/level1/html/button02.xml diff --git a/test/testcases/tests/level1/html/button03.xml.notimpl b/test/testcases/tests/level1/html/button03.xml index 4074059..4074059 100644 --- a/test/testcases/tests/level1/html/button03.xml.notimpl +++ b/test/testcases/tests/level1/html/button03.xml diff --git a/test/testcases/tests/level1/html/button04.xml.notimpl b/test/testcases/tests/level1/html/button04.xml index 737ddaa..737ddaa 100644 --- a/test/testcases/tests/level1/html/button04.xml.notimpl +++ b/test/testcases/tests/level1/html/button04.xml diff --git a/test/testcases/tests/level1/html/button05.xml.notimpl b/test/testcases/tests/level1/html/button05.xml index ecff6b5..ecff6b5 100644 --- a/test/testcases/tests/level1/html/button05.xml.notimpl +++ b/test/testcases/tests/level1/html/button05.xml diff --git a/test/testcases/tests/level1/html/button06.xml.notimpl b/test/testcases/tests/level1/html/button06.xml index 7a5e558..7a5e558 100644 --- a/test/testcases/tests/level1/html/button06.xml.notimpl +++ b/test/testcases/tests/level1/html/button06.xml diff --git a/test/testcases/tests/level1/html/button07.xml.notimpl b/test/testcases/tests/level1/html/button07.xml index daddf76..daddf76 100644 --- a/test/testcases/tests/level1/html/button07.xml.notimpl +++ b/test/testcases/tests/level1/html/button07.xml diff --git a/test/testcases/tests/level1/html/button08.xml.notimpl b/test/testcases/tests/level1/html/button08.xml index a4dbb0b..a4dbb0b 100644 --- a/test/testcases/tests/level1/html/button08.xml.notimpl +++ b/test/testcases/tests/level1/html/button08.xml diff --git a/test/testcases/tests/level1/html/button09.xml.notimpl b/test/testcases/tests/level1/html/button09.xml index d0efa94..d0efa94 100644 --- a/test/testcases/tests/level1/html/button09.xml.notimpl +++ b/test/testcases/tests/level1/html/button09.xml diff --git a/test/testcases/tests/level1/html/dlist01.xml.notimpl b/test/testcases/tests/level1/html/dlist01.xml index 35cbe2c..35cbe2c 100644 --- a/test/testcases/tests/level1/html/dlist01.xml.notimpl +++ b/test/testcases/tests/level1/html/dlist01.xml diff --git a/test/testcases/tests/level1/html/doc01.xml.notimpl b/test/testcases/tests/level1/html/doc01.xml index cb0c897..cb0c897 100644 --- a/test/testcases/tests/level1/html/doc01.xml.notimpl +++ b/test/testcases/tests/level1/html/doc01.xml diff --git a/test/testcases/tests/level1/html/files/object.html b/test/testcases/tests/level1/html/files/object.html index 7960549..c7fbab1 100644 --- a/test/testcases/tests/level1/html/files/object.html +++ b/test/testcases/tests/level1/html/files/object.html @@ -6,7 +6,7 @@ </HEAD> <BODY onload="parent.loadComplete()"> <P> -<OBJECT ALIGN="middle" ARCHIVE="" BORDER="0" CODEBASE="http://www.w3.org/DOM/" DATA="./pix/logo.gif" HEIGHT="60" HSPACE="0" STANDBY="Loading Image ..." TABINDEX="0" TYPE="image/gif" USEMAP="#DivLogo-map" VSPACE="0" WIDTH="550"></OBJECT> +<OBJECT ALIGN="middle" ARCHIVE="" BORDER="0" CODEBASE="http://xw2k.sdct.itl.nist.gov/brady/dom/" DATA="./pix/logo.gif" HEIGHT="60" HSPACE="0" STANDBY="Loading Image ..." TABINDEX="0" TYPE="image/gif" USEMAP="#DivLogo-map" VSPACE="0" WIDTH="550"></OBJECT> </P> <FORM NAME="OBJECT2" ACTION="./files/getData.pl" METHOD="post"> <P> diff --git a/test/testcases/tests/level1/html/files/object.xhtml b/test/testcases/tests/level1/html/files/object.xhtml index 3399588..824f7fc 100644 --- a/test/testcases/tests/level1/html/files/object.xhtml +++ b/test/testcases/tests/level1/html/files/object.xhtml @@ -8,7 +8,7 @@ </head> <body onload="parent.loadComplete()"> <p> -<object align="middle" archive="" border="0" codebase="http://www.w3.org/DOM/" data="./pix/logo.gif" height="60" hspace="0" standby="Loading Image ..." tabindex="0" type="image/gif" usemap="#DivLogo-map" vspace="0" width="550"></object> +<object align="middle" archive="" border="0" codebase="http://xw2k.sdct.itl.nist.gov/brady/dom/" data="./pix/logo.gif" height="60" hspace="0" standby="Loading Image ..." tabindex="0" type="image/gif" usemap="#DivLogo-map" vspace="0" width="550"></object> </p> <form name="OBJECT2" action="./files/getData.pl" method="post"> <p> diff --git a/test/testcases/tests/level1/html/object01.xml.kfail b/test/testcases/tests/level1/html/object01.xml index 52e053c..52e053c 100644 --- a/test/testcases/tests/level1/html/object01.xml.kfail +++ b/test/testcases/tests/level1/html/object01.xml diff --git a/test/testcases/tests/level1/html/object02.xml.kfail b/test/testcases/tests/level1/html/object02.xml index fc3c215..fc3c215 100644 --- a/test/testcases/tests/level1/html/object02.xml.kfail +++ b/test/testcases/tests/level1/html/object02.xml diff --git a/test/testcases/tests/level1/html/object03.xml.kfail b/test/testcases/tests/level1/html/object03.xml index e2591ad..e2591ad 100644 --- a/test/testcases/tests/level1/html/object03.xml.kfail +++ b/test/testcases/tests/level1/html/object03.xml diff --git a/test/testcases/tests/level1/html/object04.xml.kfail b/test/testcases/tests/level1/html/object04.xml index 33a99a5..33a99a5 100644 --- a/test/testcases/tests/level1/html/object04.xml.kfail +++ b/test/testcases/tests/level1/html/object04.xml diff --git a/test/testcases/tests/level1/html/object05.xml.kfail b/test/testcases/tests/level1/html/object05.xml index 93e2967..93e2967 100644 --- a/test/testcases/tests/level1/html/object05.xml.kfail +++ b/test/testcases/tests/level1/html/object05.xml diff --git a/test/testcases/tests/level1/html/object06.xml.kfail b/test/testcases/tests/level1/html/object06.xml index 6f9e613..6f9e613 100644 --- a/test/testcases/tests/level1/html/object06.xml.kfail +++ b/test/testcases/tests/level1/html/object06.xml diff --git a/test/testcases/tests/level1/html/object07.xml.kfail b/test/testcases/tests/level1/html/object07.xml index aff1fcc..aff1fcc 100644 --- a/test/testcases/tests/level1/html/object07.xml.kfail +++ b/test/testcases/tests/level1/html/object07.xml diff --git a/test/testcases/tests/level1/html/object09.xml.kfail b/test/testcases/tests/level1/html/object09.xml index 4b9d336..4b9d336 100644 --- a/test/testcases/tests/level1/html/object09.xml.kfail +++ b/test/testcases/tests/level1/html/object09.xml diff --git a/test/testcases/tests/level1/html/object10.xml.kfail b/test/testcases/tests/level1/html/object10.xml index 7dd5741..7dd5741 100644 --- a/test/testcases/tests/level1/html/object10.xml.kfail +++ b/test/testcases/tests/level1/html/object10.xml diff --git a/test/testcases/tests/level1/html/object11.xml.kfail b/test/testcases/tests/level1/html/object11.xml index 332ca50..332ca50 100644 --- a/test/testcases/tests/level1/html/object11.xml.kfail +++ b/test/testcases/tests/level1/html/object11.xml diff --git a/test/testcases/tests/level1/html/object12.xml.kfail b/test/testcases/tests/level1/html/object12.xml index 4af4455..4af4455 100644 --- a/test/testcases/tests/level1/html/object12.xml.kfail +++ b/test/testcases/tests/level1/html/object12.xml diff --git a/test/testcases/tests/level1/html/object14.xml.kfail b/test/testcases/tests/level1/html/object14.xml index 0a8fce5..0a8fce5 100644 --- a/test/testcases/tests/level1/html/object14.xml.kfail +++ b/test/testcases/tests/level1/html/object14.xml diff --git a/test/testcases/tests/level1/html/object15.xml.kfail b/test/testcases/tests/level1/html/object15.xml index 37182c0..37182c0 100644 --- a/test/testcases/tests/level1/html/object15.xml.kfail +++ b/test/testcases/tests/level1/html/object15.xml diff --git a/test/testcases/tests/level1/html/table01.xml.kfail b/test/testcases/tests/level1/html/table01.xml index 4cee6f7..4cee6f7 100644 --- a/test/testcases/tests/level1/html/table01.xml.kfail +++ b/test/testcases/tests/level1/html/table01.xml diff --git a/test/testcases/tests/level1/html/table02.xml.kfail b/test/testcases/tests/level1/html/table02.xml index 2433751..2433751 100644 --- a/test/testcases/tests/level1/html/table02.xml.kfail +++ b/test/testcases/tests/level1/html/table02.xml diff --git a/test/testcases/tests/level1/html/table03.xml.kfail b/test/testcases/tests/level1/html/table03.xml index b8c3ef6..b8c3ef6 100644 --- a/test/testcases/tests/level1/html/table03.xml.kfail +++ b/test/testcases/tests/level1/html/table03.xml diff --git a/test/testcases/tests/level1/html/table04.xml.kfail b/test/testcases/tests/level1/html/table04.xml index 2d4fcf8..2d4fcf8 100644 --- a/test/testcases/tests/level1/html/table04.xml.kfail +++ b/test/testcases/tests/level1/html/table04.xml diff --git a/test/testcases/tests/level1/html/table06.xml.kfail b/test/testcases/tests/level1/html/table06.xml index 3d461f6..3d461f6 100644 --- a/test/testcases/tests/level1/html/table06.xml.kfail +++ b/test/testcases/tests/level1/html/table06.xml diff --git a/test/testcases/tests/level1/html/table07.xml.kfail b/test/testcases/tests/level1/html/table07.xml index 4a04d77..4a04d77 100644 --- a/test/testcases/tests/level1/html/table07.xml.kfail +++ b/test/testcases/tests/level1/html/table07.xml diff --git a/test/testcases/tests/level1/html/table08.xml.kfail b/test/testcases/tests/level1/html/table08.xml index ea77b80..ea77b80 100644 --- a/test/testcases/tests/level1/html/table08.xml.kfail +++ b/test/testcases/tests/level1/html/table08.xml diff --git a/test/testcases/tests/level1/html/table09.xml.kfail b/test/testcases/tests/level1/html/table09.xml index fcb9018..fcb9018 100644 --- a/test/testcases/tests/level1/html/table09.xml.kfail +++ b/test/testcases/tests/level1/html/table09.xml diff --git a/test/testcases/tests/level1/html/table10.xml.kfail b/test/testcases/tests/level1/html/table10.xml index aa05594..aa05594 100644 --- a/test/testcases/tests/level1/html/table10.xml.kfail +++ b/test/testcases/tests/level1/html/table10.xml diff --git a/test/testcases/tests/level1/html/table12.xml.kfail b/test/testcases/tests/level1/html/table12.xml index 93e475b..93e475b 100644 --- a/test/testcases/tests/level1/html/table12.xml.kfail +++ b/test/testcases/tests/level1/html/table12.xml diff --git a/test/testcases/tests/level1/html/table15.xml.kfail b/test/testcases/tests/level1/html/table15.xml index 89455c3..89455c3 100644 --- a/test/testcases/tests/level1/html/table15.xml.kfail +++ b/test/testcases/tests/level1/html/table15.xml diff --git a/test/testcases/tests/level1/html/table17.xml.kfail b/test/testcases/tests/level1/html/table17.xml index 7223562..7223562 100644 --- a/test/testcases/tests/level1/html/table17.xml.kfail +++ b/test/testcases/tests/level1/html/table17.xml diff --git a/test/testcases/tests/level1/html/table18.xml.kfail b/test/testcases/tests/level1/html/table18.xml index db8c161..db8c161 100644 --- a/test/testcases/tests/level1/html/table18.xml.kfail +++ b/test/testcases/tests/level1/html/table18.xml diff --git a/test/testcases/tests/level1/html/table19.xml.kfail b/test/testcases/tests/level1/html/table19.xml index e88be88..e88be88 100644 --- a/test/testcases/tests/level1/html/table19.xml.kfail +++ b/test/testcases/tests/level1/html/table19.xml diff --git a/test/testcases/tests/level1/html/table20.xml.kfail b/test/testcases/tests/level1/html/table20.xml index 2205987..2205987 100644 --- a/test/testcases/tests/level1/html/table20.xml.kfail +++ b/test/testcases/tests/level1/html/table20.xml diff --git a/test/testcases/tests/level1/html/table21.xml.kfail b/test/testcases/tests/level1/html/table21.xml index fa22103..fa22103 100644 --- a/test/testcases/tests/level1/html/table21.xml.kfail +++ b/test/testcases/tests/level1/html/table21.xml diff --git a/test/testcases/tests/level1/html/table22.xml.kfail b/test/testcases/tests/level1/html/table22.xml index 7c097b4..7c097b4 100644 --- a/test/testcases/tests/level1/html/table22.xml.kfail +++ b/test/testcases/tests/level1/html/table22.xml diff --git a/test/testcases/tests/level1/html/table23.xml.kfail b/test/testcases/tests/level1/html/table23.xml index 4ea8ace..4ea8ace 100644 --- a/test/testcases/tests/level1/html/table23.xml.kfail +++ b/test/testcases/tests/level1/html/table23.xml diff --git a/test/testcases/tests/level1/html/table24.xml.kfail b/test/testcases/tests/level1/html/table24.xml index 7606917..7606917 100644 --- a/test/testcases/tests/level1/html/table24.xml.kfail +++ b/test/testcases/tests/level1/html/table24.xml diff --git a/test/testcases/tests/level1/html/table25.xml.kfail b/test/testcases/tests/level1/html/table25.xml index b8e10dd..b8e10dd 100644 --- a/test/testcases/tests/level1/html/table25.xml.kfail +++ b/test/testcases/tests/level1/html/table25.xml diff --git a/test/testcases/tests/level1/html/table26.xml.kfail b/test/testcases/tests/level1/html/table26.xml index 9f09d4f..9f09d4f 100644 --- a/test/testcases/tests/level1/html/table26.xml.kfail +++ b/test/testcases/tests/level1/html/table26.xml diff --git a/test/testcases/tests/level1/html/table27.xml.kfail b/test/testcases/tests/level1/html/table27.xml index e0dc78d..e0dc78d 100644 --- a/test/testcases/tests/level1/html/table27.xml.kfail +++ b/test/testcases/tests/level1/html/table27.xml diff --git a/test/testcases/tests/level1/html/table28.xml.kfail b/test/testcases/tests/level1/html/table28.xml index d445a1c..d445a1c 100644 --- a/test/testcases/tests/level1/html/table28.xml.kfail +++ b/test/testcases/tests/level1/html/table28.xml diff --git a/test/testcases/tests/level1/html/table29.xml.kfail b/test/testcases/tests/level1/html/table29.xml index ae483d4..ae483d4 100644 --- a/test/testcases/tests/level1/html/table29.xml.kfail +++ b/test/testcases/tests/level1/html/table29.xml diff --git a/test/testcases/tests/level1/html/table30.xml.kfail b/test/testcases/tests/level1/html/table30.xml index 837be29..837be29 100644 --- a/test/testcases/tests/level1/html/table30.xml.kfail +++ b/test/testcases/tests/level1/html/table30.xml diff --git a/test/testcases/tests/level1/html/table31.xml.kfail b/test/testcases/tests/level1/html/table31.xml index f5c3fa6..f5c3fa6 100644 --- a/test/testcases/tests/level1/html/table31.xml.kfail +++ b/test/testcases/tests/level1/html/table31.xml diff --git a/test/testcases/tests/level1/html/table32.xml.kfail b/test/testcases/tests/level1/html/table32.xml index cf7e0cd..cf7e0cd 100644 --- a/test/testcases/tests/level1/html/table32.xml.kfail +++ b/test/testcases/tests/level1/html/table32.xml diff --git a/test/testcases/tests/level1/html/table33.xml.kfail b/test/testcases/tests/level1/html/table33.xml index 5c0e447..5c0e447 100644 --- a/test/testcases/tests/level1/html/table33.xml.kfail +++ b/test/testcases/tests/level1/html/table33.xml diff --git a/test/testcases/tests/level1/html/table34.xml.kfail b/test/testcases/tests/level1/html/table34.xml index 07443ef..07443ef 100644 --- a/test/testcases/tests/level1/html/table34.xml.kfail +++ b/test/testcases/tests/level1/html/table34.xml diff --git a/test/testcases/tests/level1/html/table35.xml.kfail b/test/testcases/tests/level1/html/table35.xml index 32cce60..32cce60 100644 --- a/test/testcases/tests/level1/html/table35.xml.kfail +++ b/test/testcases/tests/level1/html/table35.xml diff --git a/test/testcases/tests/level1/html/table36.xml.kfail b/test/testcases/tests/level1/html/table36.xml index 2bdded8..2bdded8 100644 --- a/test/testcases/tests/level1/html/table36.xml.kfail +++ b/test/testcases/tests/level1/html/table36.xml diff --git a/test/testcases/tests/level1/html/table37.xml.kfail b/test/testcases/tests/level1/html/table37.xml index cdf5b73..cdf5b73 100644 --- a/test/testcases/tests/level1/html/table37.xml.kfail +++ b/test/testcases/tests/level1/html/table37.xml diff --git a/test/testcases/tests/level1/html/table38.xml.kfail b/test/testcases/tests/level1/html/table38.xml index fad8dfe..fad8dfe 100644 --- a/test/testcases/tests/level1/html/table38.xml.kfail +++ b/test/testcases/tests/level1/html/table38.xml diff --git a/test/testcases/tests/level1/html/table39.xml.kfail b/test/testcases/tests/level1/html/table39.xml index 1fd66db..1fd66db 100644 --- a/test/testcases/tests/level1/html/table39.xml.kfail +++ b/test/testcases/tests/level1/html/table39.xml diff --git a/test/testcases/tests/level1/html/table40.xml.kfail b/test/testcases/tests/level1/html/table40.xml index 31a9763..31a9763 100644 --- a/test/testcases/tests/level1/html/table40.xml.kfail +++ b/test/testcases/tests/level1/html/table40.xml diff --git a/test/testcases/tests/level1/html/table41.xml.kfail b/test/testcases/tests/level1/html/table41.xml index 4030b09..4030b09 100644 --- a/test/testcases/tests/level1/html/table41.xml.kfail +++ b/test/testcases/tests/level1/html/table41.xml diff --git a/test/testcases/tests/level1/html/table42.xml.kfail b/test/testcases/tests/level1/html/table42.xml index 8fa86f1..8fa86f1 100644 --- a/test/testcases/tests/level1/html/table42.xml.kfail +++ b/test/testcases/tests/level1/html/table42.xml diff --git a/test/testcases/tests/level1/html/table43.xml.kfail b/test/testcases/tests/level1/html/table43.xml index ea9e5de..ea9e5de 100644 --- a/test/testcases/tests/level1/html/table43.xml.kfail +++ b/test/testcases/tests/level1/html/table43.xml diff --git a/test/testcases/tests/level1/html/table44.xml.kfail b/test/testcases/tests/level1/html/table44.xml index a893f76..a893f76 100644 --- a/test/testcases/tests/level1/html/table44.xml.kfail +++ b/test/testcases/tests/level1/html/table44.xml diff --git a/test/testcases/tests/level1/html/table45.xml.kfail b/test/testcases/tests/level1/html/table45.xml index b1717db..b1717db 100644 --- a/test/testcases/tests/level1/html/table45.xml.kfail +++ b/test/testcases/tests/level1/html/table45.xml diff --git a/test/testcases/tests/level1/html/table46.xml.kfail b/test/testcases/tests/level1/html/table46.xml index 096b892..096b892 100644 --- a/test/testcases/tests/level1/html/table46.xml.kfail +++ b/test/testcases/tests/level1/html/table46.xml diff --git a/test/testcases/tests/level1/html/table47.xml.kfail b/test/testcases/tests/level1/html/table47.xml index 4d8340b..4d8340b 100644 --- a/test/testcases/tests/level1/html/table47.xml.kfail +++ b/test/testcases/tests/level1/html/table47.xml diff --git a/test/testcases/tests/level1/html/table48.xml.kfail b/test/testcases/tests/level1/html/table48.xml index 1910883..1910883 100644 --- a/test/testcases/tests/level1/html/table48.xml.kfail +++ b/test/testcases/tests/level1/html/table48.xml diff --git a/test/testcases/tests/level1/html/table49.xml.kfail b/test/testcases/tests/level1/html/table49.xml index 1db690b..1db690b 100644 --- a/test/testcases/tests/level1/html/table49.xml.kfail +++ b/test/testcases/tests/level1/html/table49.xml diff --git a/test/testcases/tests/level1/html/table50.xml.kfail b/test/testcases/tests/level1/html/table50.xml index 8f60638..8f60638 100644 --- a/test/testcases/tests/level1/html/table50.xml.kfail +++ b/test/testcases/tests/level1/html/table50.xml diff --git a/test/testcases/tests/level1/html/table51.xml.kfail b/test/testcases/tests/level1/html/table51.xml index c917f27..c917f27 100644 --- a/test/testcases/tests/level1/html/table51.xml.kfail +++ b/test/testcases/tests/level1/html/table51.xml diff --git a/test/testcases/tests/level1/html/table52.xml.kfail b/test/testcases/tests/level1/html/table52.xml index bf94572..bf94572 100644 --- a/test/testcases/tests/level1/html/table52.xml.kfail +++ b/test/testcases/tests/level1/html/table52.xml diff --git a/test/testcases/tests/level1/html/table53.xml.kfail b/test/testcases/tests/level1/html/table53.xml index 210c7e1..210c7e1 100644 --- a/test/testcases/tests/level1/html/table53.xml.kfail +++ b/test/testcases/tests/level1/html/table53.xml diff --git a/test/testcases/tests/level2/html/.HTMLImageElement05.xml.swp b/test/testcases/tests/level2/html/.HTMLImageElement05.xml.swp Binary files differnew file mode 100644 index 0000000..6847879 --- /dev/null +++ b/test/testcases/tests/level2/html/.HTMLImageElement05.xml.swp diff --git a/test/testcases/tests/level2/html/HTMLBaseFontElement03.xml b/test/testcases/tests/level2/html/HTMLBaseFontElement03.xml index b743fb0..3709832 100644 --- a/test/testcases/tests/level2/html/HTMLBaseFontElement03.xml +++ b/test/testcases/tests/level2/html/HTMLBaseFontElement03.xml @@ -31,7 +31,7 @@ See W3C License http://www.w3.org/Consortium/Legal/ for more details. <var name="nodeList" type="NodeList"/> <var name="testNode" type="Node"/> <var name="vsize" type="int"/> -<var name="doc" type="Node"/> +<var name="doc" type="Document"/> <load var="doc" href="basefont" willBeModified="false"/> <getElementsByTagName interface="Document" obj="doc" var="nodeList" tagname=""basefont""/> <assertSize collection="nodeList" size="1" id="Asize"/> diff --git a/test/testcases/tests/level2/html/HTMLBodyElement07.xml b/test/testcases/tests/level2/html/HTMLBodyElement07.xml.kfail index 2c759f8..2c759f8 100644 --- a/test/testcases/tests/level2/html/HTMLBodyElement07.xml +++ b/test/testcases/tests/level2/html/HTMLBodyElement07.xml.kfail diff --git a/test/testcases/tests/level2/html/HTMLBodyElement08.xml b/test/testcases/tests/level2/html/HTMLBodyElement08.xml.kfail index 50b411d..50b411d 100644 --- a/test/testcases/tests/level2/html/HTMLBodyElement08.xml +++ b/test/testcases/tests/level2/html/HTMLBodyElement08.xml.kfail diff --git a/test/testcases/tests/level2/html/HTMLBodyElement09.xml b/test/testcases/tests/level2/html/HTMLBodyElement09.xml.kfail index 150b4a8..150b4a8 100644 --- a/test/testcases/tests/level2/html/HTMLBodyElement09.xml +++ b/test/testcases/tests/level2/html/HTMLBodyElement09.xml.kfail diff --git a/test/testcases/tests/level2/html/HTMLBodyElement10.xml b/test/testcases/tests/level2/html/HTMLBodyElement10.xml.kfail index 691739e..691739e 100644 --- a/test/testcases/tests/level2/html/HTMLBodyElement10.xml +++ b/test/testcases/tests/level2/html/HTMLBodyElement10.xml.kfail diff --git a/test/testcases/tests/level2/html/HTMLBodyElement11.xml b/test/testcases/tests/level2/html/HTMLBodyElement11.xml.kfail index 3c83437..3c83437 100644 --- a/test/testcases/tests/level2/html/HTMLBodyElement11.xml +++ b/test/testcases/tests/level2/html/HTMLBodyElement11.xml.kfail diff --git a/test/testcases/tests/level2/html/HTMLBodyElement12.xml b/test/testcases/tests/level2/html/HTMLBodyElement12.xml.kfail index 6255dbb..6255dbb 100644 --- a/test/testcases/tests/level2/html/HTMLBodyElement12.xml +++ b/test/testcases/tests/level2/html/HTMLBodyElement12.xml.kfail diff --git a/test/testcases/tests/level2/html/HTMLDocument22.xml b/test/testcases/tests/level2/html/HTMLDocument22.xml.kfail index 414f065..414f065 100644 --- a/test/testcases/tests/level2/html/HTMLDocument22.xml +++ b/test/testcases/tests/level2/html/HTMLDocument22.xml.kfail diff --git a/test/testcases/tests/level2/html/HTMLDocument23.xml b/test/testcases/tests/level2/html/HTMLDocument23.xml.kfail index 7896dbd..7896dbd 100644 --- a/test/testcases/tests/level2/html/HTMLDocument23.xml +++ b/test/testcases/tests/level2/html/HTMLDocument23.xml.kfail diff --git a/test/testcases/tests/level2/html/HTMLDocument24.xml b/test/testcases/tests/level2/html/HTMLDocument24.xml.kfail index 186062d..186062d 100644 --- a/test/testcases/tests/level2/html/HTMLDocument24.xml +++ b/test/testcases/tests/level2/html/HTMLDocument24.xml.kfail diff --git a/test/testcases/tests/level2/html/HTMLDocument25.xml b/test/testcases/tests/level2/html/HTMLDocument25.xml.kfail index 42a1996..42a1996 100644 --- a/test/testcases/tests/level2/html/HTMLDocument25.xml +++ b/test/testcases/tests/level2/html/HTMLDocument25.xml.kfail diff --git a/test/testcases/tests/level2/html/HTMLDocument26.xml b/test/testcases/tests/level2/html/HTMLDocument26.xml.kfail index 032cead..032cead 100644 --- a/test/testcases/tests/level2/html/HTMLDocument26.xml +++ b/test/testcases/tests/level2/html/HTMLDocument26.xml.kfail diff --git a/test/testcases/tests/level2/html/HTMLDocument27.xml b/test/testcases/tests/level2/html/HTMLDocument27.xml.kfail index fa2b184..fa2b184 100644 --- a/test/testcases/tests/level2/html/HTMLDocument27.xml +++ b/test/testcases/tests/level2/html/HTMLDocument27.xml.kfail diff --git a/test/testcases/tests/level2/html/HTMLFrameElement09.xml b/test/testcases/tests/level2/html/HTMLFrameElement09.xml index d6fc5cc..9ae0e16 100644 --- a/test/testcases/tests/level2/html/HTMLFrameElement09.xml +++ b/test/testcases/tests/level2/html/HTMLFrameElement09.xml @@ -38,5 +38,5 @@ See W3C License http://www.w3.org/Consortium/Legal/ for more details. <getElementById interface="Document" obj="doc" var="testNode" elementId='"Frame1"'/> <contentDocument interface="HTMLFrameElement" obj="testNode" var="cd"/> <title interface="HTMLDocument" obj="cd" var="vtitle"/> -<assertEquals actual="vtitle" expected='"NIST DOM HTML Test - FRAMESET"' id="titleLink" ignoreCase="false" /> +<assertEquals actual="vtitle" expected='"NIST DOM HTML Test - FRAME2"' id="titleLink" ignoreCase="false" /> </test> diff --git a/test/testcases/tests/level2/html/HTMLIFrameElement11.xml b/test/testcases/tests/level2/html/HTMLIFrameElement11.xml index c77d2f4..4220a43 100644 --- a/test/testcases/tests/level2/html/HTMLIFrameElement11.xml +++ b/test/testcases/tests/level2/html/HTMLIFrameElement11.xml @@ -35,5 +35,5 @@ See W3C License http://www.w3.org/Consortium/Legal/ for more details. <getElementById interface="Document" obj="doc" var="testNode" elementId='"Iframe2"'/> <contentDocument interface="HTMLIFrameElement" obj="testNode" var="cd"/> <title interface="HTMLDocument" obj="cd" var="vtitle"/> -<assertEquals actual="vtitle" expected='"NIST DOM HTML Test - FRAME"' id="titleLink" ignoreCase="false" /> +<assertEquals actual="vtitle" expected='"NIST DOM HTML Test - IFRAME2"' id="titleLink" ignoreCase="false" /> </test> diff --git a/test/testcases/tests/level2/html/HTMLTableElement39.xml b/test/testcases/tests/level2/html/HTMLTableElement39.xml.kfail index 6631584..0a6fcfd 100644 --- a/test/testcases/tests/level2/html/HTMLTableElement39.xml +++ b/test/testcases/tests/level2/html/HTMLTableElement39.xml.kfail @@ -54,9 +54,14 @@ See W3C License http://www.w3.org/Consortium/Legal/ for more details. <length interface="HTMLCollection" obj="rowsnodeList" var="vrows"/> <assertEquals actual="vrows" expected="2" id="rowsLink1" ignoreCase="false"/> <insertRow interface="HTMLTableElement" obj="testNode" var="newRow" index="-1"/> +<!-- +* the following assumes that the row is appended to tbody +* this is obviously wrong it should be appended to tfoot which is the end +* of the table <tBodies interface="HTMLTableElement" obj="testNode" var="tbodiesnodeList"/> <item interface="HTMLCollection" obj="tbodiesnodeList" var="bodyNode" index="0"/> <rows interface="HTMLTableSectionElement" obj="bodyNode" var="rowsnodeList"/> <length interface="HTMLCollection" obj="rowsnodeList" var="vrows"/> <assertEquals actual="vrows" expected="3" id="rowsLink2" ignoreCase="false"/> +--!> </test> diff --git a/test/testcases/tests/level2/html/files/applet.html b/test/testcases/tests/level2/html/files/applet.html new file mode 100644 index 0000000..d721cf1 --- /dev/null +++ b/test/testcases/tests/level2/html/files/applet.html @@ -0,0 +1,12 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> +<HEAD> +<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=utf-8"> +<TITLE>NIST DOM HTML Test - Applet</TITLE> +</HEAD> +<BODY onload="parent.loadComplete()"> +<P> +<APPLET ALIGN="bottom" ALT="Applet Number 1" ARCHIVE="" CODE="org/w3c/domts/DOMTSApplet.class" CODEBASE="applets" HEIGHT="306" HSPACE="0" NAME="applet1" VSPACE="0" WIDTH="301"></APPLET> +</P> +</BODY> +</HTML> diff --git a/test/testcases/tests/level2/html/files/applet.xhtml b/test/testcases/tests/level2/html/files/applet.xhtml new file mode 100644 index 0000000..cf2070c --- /dev/null +++ b/test/testcases/tests/level2/html/files/applet.xhtml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "xhtml1-transitional.dtd"> +<html xmlns='http://www.w3.org/1999/xhtml'> +<head> +<title>NIST DOM HTML Test - Applet</title> +</head> +<body onload="parent.loadComplete()"> +<p> +<applet align="bottom" alt="Applet Number 1" archive="" code="org/w3c/domts/DOMTSApplet.class" codebase="applets" height="306" hspace="0" name="applet1" vspace="0" width="301"></applet> +</p> +</body> +</html> + diff --git a/test/testcases/tests/level2/html/files/applet.xml b/test/testcases/tests/level2/html/files/applet.xml new file mode 100644 index 0000000..cf2070c --- /dev/null +++ b/test/testcases/tests/level2/html/files/applet.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "xhtml1-transitional.dtd"> +<html xmlns='http://www.w3.org/1999/xhtml'> +<head> +<title>NIST DOM HTML Test - Applet</title> +</head> +<body onload="parent.loadComplete()"> +<p> +<applet align="bottom" alt="Applet Number 1" archive="" code="org/w3c/domts/DOMTSApplet.class" codebase="applets" height="306" hspace="0" name="applet1" vspace="0" width="301"></applet> +</p> +</body> +</html> + diff --git a/test/testcases/tests/level2/html/files/applet2.html b/test/testcases/tests/level2/html/files/applet2.html new file mode 100644 index 0000000..0379ed1 --- /dev/null +++ b/test/testcases/tests/level2/html/files/applet2.html @@ -0,0 +1,12 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> +<HEAD> +<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=utf-8"> +<TITLE>NIST DOM HTML Test - Applet</TITLE> +</HEAD> +<BODY onload="parent.loadComplete()"> +<P> +<APPLET ALIGN="bottom" ALT="Applet Number 1" ARCHIVE="" OBJECT="DOMTSApplet.dat" CODEBASE="applets" HEIGHT="306" HSPACE="0" NAME="applet1" VSPACE="0" WIDTH="301"></APPLET> +</P> +</BODY> +</HTML> diff --git a/test/testcases/tests/level2/html/files/applet2.xhtml b/test/testcases/tests/level2/html/files/applet2.xhtml new file mode 100644 index 0000000..43b27da --- /dev/null +++ b/test/testcases/tests/level2/html/files/applet2.xhtml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "xhtml1-transitional.dtd"> +<html xmlns='http://www.w3.org/1999/xhtml'> +<head> +<title>NIST DOM HTML Test - Applet</title> +</head> +<body onload="parent.loadComplete()"> +<p> +<applet align="bottom" alt="Applet Number 1" archive="" object="DOMTSApplet.dat" codebase="applets" height="306" hspace="0" name="applet1" vspace="0" width="301"></applet> +</p> +</body> +</html> + diff --git a/test/testcases/tests/level2/html/files/applet2.xml b/test/testcases/tests/level2/html/files/applet2.xml new file mode 100644 index 0000000..43b27da --- /dev/null +++ b/test/testcases/tests/level2/html/files/applet2.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "xhtml1-transitional.dtd"> +<html xmlns='http://www.w3.org/1999/xhtml'> +<head> +<title>NIST DOM HTML Test - Applet</title> +</head> +<body onload="parent.loadComplete()"> +<p> +<applet align="bottom" alt="Applet Number 1" archive="" object="DOMTSApplet.dat" codebase="applets" height="306" hspace="0" name="applet1" vspace="0" width="301"></applet> +</p> +</body> +</html> + diff --git a/test/testcases/tests/level2/html/files/area.html b/test/testcases/tests/level2/html/files/area.html new file mode 100644 index 0000000..dddff68 --- /dev/null +++ b/test/testcases/tests/level2/html/files/area.html @@ -0,0 +1,14 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> +<HTML> +<HEAD> +<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=utf-8"> +<TITLE>NIST DOM HTML Test - Area</TITLE> +</HEAD> +<BODY onload="parent.loadComplete()"> +<P> +<MAP NAME="mapid" ID="mapid"> +<AREA TABINDEX="10" ACCESSKEY="a" SHAPE="rect" ALT="Domain" COORDS="0,2,45,45" HREF="./files/dletter.html" TITLE="Domain"> +</MAP> +</P> +</BODY> +</HTML> diff --git a/test/testcases/tests/level2/html/files/area.xhtml b/test/testcases/tests/level2/html/files/area.xhtml new file mode 100644 index 0000000..1e497f3 --- /dev/null +++ b/test/testcases/tests/level2/html/files/area.xhtml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "xhtml1-strict.dtd"> +<html xmlns='http://www.w3.org/1999/xhtml'> +<head> +<title>NIST DOM HTML Test - Area</title> +</head> +<body onload="parent.loadComplete()"> +<p> +<map name="mapid" id="mapid"> +<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain"/> +</map> +</p> +</body> +</html> + diff --git a/test/testcases/tests/level2/html/files/area.xml b/test/testcases/tests/level2/html/files/area.xml new file mode 100644 index 0000000..1e497f3 --- /dev/null +++ b/test/testcases/tests/level2/html/files/area.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "xhtml1-strict.dtd"> +<html xmlns='http://www.w3.org/1999/xhtml'> +<head> +<title>NIST DOM HTML Test - Area</title> +</head> +<body onload="parent.loadComplete()"> +<p> +<map name="mapid" id="mapid"> +<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain"/> +</map> +</p> +</body> +</html> + diff --git a/test/testcases/tests/level2/html/files/area2.html b/test/testcases/tests/level2/html/files/area2.html new file mode 100644 index 0000000..f1ae081 --- /dev/null +++ b/test/testcases/tests/level2/html/files/area2.html @@ -0,0 +1,15 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" + "http://www.w3.org/TR/html4/loose.dtd"> +<HTML> +<HEAD> +<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=utf-8"> +<TITLE>NIST DOM HTML Test - Area</TITLE> +</HEAD> +<BODY onload="parent.loadComplete()"> +<P> +<MAP NAME="mapid" ID="mapid"> +<AREA HREF="./files/dletter.html" ALT="Domain" TARGET="dynamic"> +</MAP> +</P> +</BODY> +</HTML> diff --git a/test/testcases/tests/level2/html/files/area2.xhtml b/test/testcases/tests/level2/html/files/area2.xhtml new file mode 100644 index 0000000..5476bee --- /dev/null +++ b/test/testcases/tests/level2/html/files/area2.xhtml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "xhtml1-transitional.dtd"> +<html xmlns='http://www.w3.org/1999/xhtml'> +<head> +<title>NIST DOM HTML Test - Area</title> +</head> +<body onload="parent.loadComplete()"> +<p> +<map name="mapid" id="mapid"> +<area href="./files/dletter.html" alt="Domain" target="dynamic"/> +</map> +</p> +</body> +</html> diff --git a/test/testcases/tests/level2/html/files/area2.xml b/test/testcases/tests/level2/html/files/area2.xml new file mode 100644 index 0000000..5476bee --- /dev/null +++ b/test/testcases/tests/level2/html/files/area2.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "xhtml1-transitional.dtd"> +<html xmlns='http://www.w3.org/1999/xhtml'> +<head> +<title>NIST DOM HTML Test - Area</title> +</head> +<body onload="parent.loadComplete()"> +<p> +<map name="mapid" id="mapid"> +<area href="./files/dletter.html" alt="Domain" target="dynamic"/> +</map> +</p> +</body> +</html> diff --git a/test/testcases/tests/level2/html/files/basefont.html b/test/testcases/tests/level2/html/files/basefont.html new file mode 100644 index 0000000..e3753f7 --- /dev/null +++ b/test/testcases/tests/level2/html/files/basefont.html @@ -0,0 +1,12 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> +<HEAD> +<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=utf-8"> +<TITLE>NIST DOM HTML Test - BaseFont</TITLE> +</HEAD> +<BODY onload="parent.loadComplete()"> +<P> +<BASEFONT COLOR="#000000" FACE="arial,helvitica" SIZE="4"> +</P> +</BODY> +</HTML> diff --git a/test/testcases/tests/level2/html/files/basefont.xhtml b/test/testcases/tests/level2/html/files/basefont.xhtml new file mode 100644 index 0000000..c5fc9b5 --- /dev/null +++ b/test/testcases/tests/level2/html/files/basefont.xhtml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "xhtml1-transitional.dtd"> +<html xmlns='http://www.w3.org/1999/xhtml'> +<head> +<title>NIST DOM HTML Test - BaseFont</title> +</head> +<body onload="parent.loadComplete()"> +<p> +<basefont color="#000000" face="arial,helvitica" size="4"/> +</p> +</body> +</html> diff --git a/test/testcases/tests/level2/html/files/basefont.xml b/test/testcases/tests/level2/html/files/basefont.xml new file mode 100644 index 0000000..c5fc9b5 --- /dev/null +++ b/test/testcases/tests/level2/html/files/basefont.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "xhtml1-transitional.dtd"> +<html xmlns='http://www.w3.org/1999/xhtml'> +<head> +<title>NIST DOM HTML Test - BaseFont</title> +</head> +<body onload="parent.loadComplete()"> +<p> +<basefont color="#000000" face="arial,helvitica" size="4"/> +</p> +</body> +</html> diff --git a/test/testcases/tests/level2/html/files/document.html b/test/testcases/tests/level2/html/files/document.html new file mode 100644 index 0000000..9cd9c8a --- /dev/null +++ b/test/testcases/tests/level2/html/files/document.html @@ -0,0 +1,36 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> +<HEAD> +<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=utf-8"> +<TITLE>NIST DOM HTML Test - DOCUMENT</TITLE> +</HEAD> +<BODY onload="parent.loadComplete()" ID="TEST-BODY"> +<FORM ID="form1" ACCEPT-CHARSET="US-ASCII" ACTION="./files/getData.pl" ENCTYPE="application/x-www-form-urlencoded" METHOD="post"> +<P> +<TEXTAREA NAME="text1" COLS="20" ROWS="7"></TEXTAREA> +<INPUT TYPE="submit" NAME="submit" VALUE="Submit" /> +<INPUT TYPE="reset" NAME="reset" VALUE="Reset" /> +</P> +</FORM> +<P> +<MAP NAME="mapid" ID="mapid"> +<AREA TABINDEX="10" ACCESSKEY="a" SHAPE="rect" ALT="Domain" COORDS="0,2,45,45" HREF="./files/dletter.html" TITLE="Domain1"> +<AREA TABINDEX="10" ACCESSKEY="a" SHAPE="rect" ALT="Domain" COORDS="0,2,45,45" HREF="./files/dletter.html" TITLE="Domain2"> +</MAP> +</P> +<P> +<IMG ID="IMAGE-1" NAME="IMAGE-1" SRC="./pix/dts.gif" ALT="DTS IMAGE LOGO" LONGDESC="./files/desc.html" USEMAP="#DTS-MAP" WIDTH="115"/> +</P> +<P> +<OBJECT DATA="./pix/line.gif" CODETYPE="image/gif" HEIGHT="10"> +<APPLET ALT="Applet Number 1" CODE="applet1.class"></APPLET> +</OBJECT> +<OBJECT DATA="./pix/logo.gif" type="image/gif"> +<APPLET ALT="Applet Number 2" CODE="applet2.class"></APPLET> +</OBJECT> +</P> +<P> +<A ID="Anchor" DIR="LTR" HREF="./pix/submit.gif" ACCESSKEY="g" TYPE="image/gif" COORDS="0,0,100,100" SHAPE="rect" REL="GLOSSARY" REV="STYLESHEET" HREFLANG="en" CHARSET="US-ASCII" TABINDEX="22" NAME="Anchor">View Submit Button</A> +</P> +</BODY> +</HTML> diff --git a/test/testcases/tests/level2/html/files/document.xhtml b/test/testcases/tests/level2/html/files/document.xhtml new file mode 100644 index 0000000..3cc6ccf --- /dev/null +++ b/test/testcases/tests/level2/html/files/document.xhtml @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "xhtml1-transitional.dtd"> +<html xmlns='http://www.w3.org/1999/xhtml'> +<head> +<title>NIST DOM HTML Test - DOCUMENT</title> +</head> +<body onload="parent.loadComplete()" id="TEST-BODY"> +<form id="form1" accept-charset="US-ASCII" action="./files/getData.pl" enctype="application/x-www-form-urlencoded" method="post"> +<p> +<textarea name="text1" cols="20" rows="7"></textarea> +<input type="submit" name="submit1" value="Submit" /> +<input type="reset" name="submit2" value="Reset" /> +</p> +</form> +<p> +<map name="mapid" id="mapid"> +<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain1" /> +<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain2" /> +</map> +</p> +<p> +<img id="IMAGE-1" src="./pix/dts.gif" alt="DTS IMAGE LOGO" longdesc="./files/desc.html" usemap="#DTS-MAP" width="115"/> +</p> +<p> +<object data="./pix/line.gif" codetype="image/gif" height="10"> +<applet alt="Applet Number 1" code="applet1.class" width="10" height="10"></applet> +</object> +<object data="./pix/logo.gif" type="image/gif"> +<applet alt="Applet Number 2" code="applet2.class" width="10" height="10"></applet> +</object> +</p> +<p> +<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a> +</p> +</body> +</html> + diff --git a/test/testcases/tests/level2/html/files/document.xml b/test/testcases/tests/level2/html/files/document.xml new file mode 100644 index 0000000..3cc6ccf --- /dev/null +++ b/test/testcases/tests/level2/html/files/document.xml @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "xhtml1-transitional.dtd"> +<html xmlns='http://www.w3.org/1999/xhtml'> +<head> +<title>NIST DOM HTML Test - DOCUMENT</title> +</head> +<body onload="parent.loadComplete()" id="TEST-BODY"> +<form id="form1" accept-charset="US-ASCII" action="./files/getData.pl" enctype="application/x-www-form-urlencoded" method="post"> +<p> +<textarea name="text1" cols="20" rows="7"></textarea> +<input type="submit" name="submit1" value="Submit" /> +<input type="reset" name="submit2" value="Reset" /> +</p> +</form> +<p> +<map name="mapid" id="mapid"> +<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain1" /> +<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain2" /> +</map> +</p> +<p> +<img id="IMAGE-1" src="./pix/dts.gif" alt="DTS IMAGE LOGO" longdesc="./files/desc.html" usemap="#DTS-MAP" width="115"/> +</p> +<p> +<object data="./pix/line.gif" codetype="image/gif" height="10"> +<applet alt="Applet Number 1" code="applet1.class" width="10" height="10"></applet> +</object> +<object data="./pix/logo.gif" type="image/gif"> +<applet alt="Applet Number 2" code="applet2.class" width="10" height="10"></applet> +</object> +</p> +<p> +<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a> +</p> +</body> +</html> + diff --git a/test/testcases/tests/level2/html/files/img.html b/test/testcases/tests/level2/html/files/img.html new file mode 100644 index 0000000..b4e8b27 --- /dev/null +++ b/test/testcases/tests/level2/html/files/img.html @@ -0,0 +1,13 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> +<HEAD> +<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=utf-8"> +<TITLE>NIST DOM HTML Test - IMG</TITLE> +</HEAD> +<BODY onload="parent.loadComplete()"> +<P> +<IMG ID="IMAGE-1" NAME="IMAGE-1" SRC="./pix/dts.gif" ALIGN="middle" ALT="DTS IMAGE LOGO" BORDER="0" HEIGHT="47" HSPACE="4" LONGDESC="./files/desc.html" USEMAP="#DTS-MAP" VSPACE="10" WIDTH="115"/> +</P> +</BODY> +</HTML> + diff --git a/test/testcases/tests/level2/html/files/img.xhtml b/test/testcases/tests/level2/html/files/img.xhtml new file mode 100644 index 0000000..40e3695 --- /dev/null +++ b/test/testcases/tests/level2/html/files/img.xhtml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "xhtml1-transitional.dtd"> +<html xmlns='http://www.w3.org/1999/xhtml'> +<head> +<title>NIST DOM HTML Test - IMG</title> +</head> +<body onload="parent.loadComplete()"> +<p> +<img id="IMAGE-1" name="IMAGE-1" src="./pix/dts.gif" align="middle" alt="DTS IMAGE LOGO" border="0" height="47" hspace="4" longdesc="./files/desc.html" usemap="#DTS-MAP" vspace="10" width="115"/> +</p> +</body> +</html> + diff --git a/test/testcases/tests/level2/html/files/img.xml b/test/testcases/tests/level2/html/files/img.xml new file mode 100644 index 0000000..40e3695 --- /dev/null +++ b/test/testcases/tests/level2/html/files/img.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "xhtml1-transitional.dtd"> +<html xmlns='http://www.w3.org/1999/xhtml'> +<head> +<title>NIST DOM HTML Test - IMG</title> +</head> +<body onload="parent.loadComplete()"> +<p> +<img id="IMAGE-1" name="IMAGE-1" src="./pix/dts.gif" align="middle" alt="DTS IMAGE LOGO" border="0" height="47" hspace="4" longdesc="./files/desc.html" usemap="#DTS-MAP" vspace="10" width="115"/> +</p> +</body> +</html> + diff --git a/test/testcases/tests/level2/html/files/input.html b/test/testcases/tests/level2/html/files/input.html new file mode 100644 index 0000000..c36e87d --- /dev/null +++ b/test/testcases/tests/level2/html/files/input.html @@ -0,0 +1,60 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> +<HEAD> +<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=utf-8"> +<TITLE>NIST DOM HTML Test - INPUT</TITLE> +</HEAD> +<BODY onload="parent.loadComplete()"> +<TABLE CELLPADDING="15" BORDER="BORDER" SUMMARY="Table 1"> +<TR ALIGN="center"> +<TD VAlign="top">Under a FORM control +<FORM ID="form1" ACTION="./files/getData.pl" METHOD="post"> +<TABLE BORDER="15" SUMMARY="Table 2"> +<TR> +<TD> +<LABEL ACCESSKEY="b" FOR="input1">Enter Your Password:</LABEL> +</TD> +<TD> +<INPUT DIR="LTR" ID="input1" TABINDEX="8" VALUE="Password" TYPE="password" NAME="Password" SIZE="25" MAXLENGTH="5" ALT="Password entry" READONLY="READONLY"/> +</TD> +</TR> +<TR> +<TD> +<INPUT TYPE="RADIO" NAME="Radio1" ACCESSKEY="c" VALUE="ReHire"/>ReHire +</TD> +</TR> +<TR> +<TD> +<INPUT TYPE="RADIO" NAME="Radio2" VALUE="NewHire" TABINDEX="9" CHECKED="CHECKED"/>NewHire +</TD> +</TR> +<TR> +<TD>Hours available to work</TD> +<TD> +<INPUT TYPE="CHECKBOX" NAME="Check1" ALIGN="bottom" TABINDEX="10" VALUE="EarlyMornings" CHECKED="CHECKED"/>EarlyMornings +<BR/> +<INPUT ID="input5" TYPE="CHECKBOX" NAME="Check2" TABINDEX="11" VALUE="AfterNoon" ONCLICK="newId(this)"/>Afternoon +<BR/> +<INPUT TYPE="CHECKBOX" NAME="Check3" TABINDEX="12" VALUE="Evenings"/>Evenings +<BR/> +<INPUT TYPE="CHECKBOX" NAME="Check4" TABINDEX="13" VALUE="Closing" DISABLED="DISABLED"/>Closing +<BR/> +</TD> +</TR> +<TR> +<TD COLSPAN="2"> +<INPUT TYPE="IMAGE" TABINDEX="14" NAME="SubmitImage" USEMAP="#submit-map" SRC="./pix/submit.gif"/> +</TD> +</TR> +<TR> +<TD COLSPAN="2"> +<INPUT TITLE="old_title" TYPE="FILE" NAME="FileControl" TABINDEX="15" ACCEPT="GIF,JPEG" ONSELECT="newTitle(this)"/> +</TD> +</TR> +</TABLE> +</FORM> +</TD> +</TR> +</TABLE> +</BODY> +</HTML> diff --git a/test/testcases/tests/level2/html/files/input.xhtml b/test/testcases/tests/level2/html/files/input.xhtml new file mode 100644 index 0000000..b7704ad --- /dev/null +++ b/test/testcases/tests/level2/html/files/input.xhtml @@ -0,0 +1,62 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "xhtml1-transitional.dtd"> +<html xmlns='http://www.w3.org/1999/xhtml'> +<head> +<title>NIST DOM HTML Test - INPUT</title> +</head> +<body onload="parent.loadComplete()"> +<table cellpadding="15" border="border" summary="Table 1"> +<tr align="center"> +<td valign="top">Under a FORM control +<form id="form1" action="./files/getData.pl" method="post"> +<table border="15" summary="Table 2"> +<tr> +<td> +<label accesskey="b" for="input1">Enter Your Password:</label> +</td> +<td> +<input dir="ltr" id="input1" tabindex="8" value="Password" type="password" name="Password" size="25" maxlength="5" alt="Password entry" readonly="readonly"/> +</td> +</tr> +<tr> +<td> +<input type="radio" name="Radio1" accesskey="c" value="ReHire"/> +</td> +</tr> +<tr> +<td> +<input type="radio" name="Radio2" value="NewHire" tabindex="9" checked="checked"/> +</td> +</tr> +<tr> +<td>Hours available to work</td> +<td> +<input type="checkbox" name="Check1" align="bottom" tabindex="10" value="EarlyMornings" checked="checked"/> +<br/> +<input id="input5" type="checkbox" name="Check2" tabindex="11" value="AfterNoon" onclick="newId(this)"/> +<br/> +<input type="checkbox" name="Check3" tabindex="12" value="Evenings"/> +<br/> +<input type="checkbox" name="Check4" tabindex="13" value="Closing" disabled="disabled"/> +<br/> +</td> +</tr> +<tr> +<td colspan="2"> +<input type="image" tabindex="14" name="SubmitImage" usemap="#submit-map" src="./pix/submit.gif"/> +</td> +</tr> +<tr> +<td colspan="2"> +<input title="old_title" type="file" name="FileControl" tabindex="15" accept="GIF,JPEG" onselect="newTitle(this)"/> +</td> +</tr> +</table> +</form> +</td> +</tr> +</table> +</body> +</html> diff --git a/test/testcases/tests/level2/html/files/input.xml b/test/testcases/tests/level2/html/files/input.xml new file mode 100644 index 0000000..b7704ad --- /dev/null +++ b/test/testcases/tests/level2/html/files/input.xml @@ -0,0 +1,62 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "xhtml1-transitional.dtd"> +<html xmlns='http://www.w3.org/1999/xhtml'> +<head> +<title>NIST DOM HTML Test - INPUT</title> +</head> +<body onload="parent.loadComplete()"> +<table cellpadding="15" border="border" summary="Table 1"> +<tr align="center"> +<td valign="top">Under a FORM control +<form id="form1" action="./files/getData.pl" method="post"> +<table border="15" summary="Table 2"> +<tr> +<td> +<label accesskey="b" for="input1">Enter Your Password:</label> +</td> +<td> +<input dir="ltr" id="input1" tabindex="8" value="Password" type="password" name="Password" size="25" maxlength="5" alt="Password entry" readonly="readonly"/> +</td> +</tr> +<tr> +<td> +<input type="radio" name="Radio1" accesskey="c" value="ReHire"/> +</td> +</tr> +<tr> +<td> +<input type="radio" name="Radio2" value="NewHire" tabindex="9" checked="checked"/> +</td> +</tr> +<tr> +<td>Hours available to work</td> +<td> +<input type="checkbox" name="Check1" align="bottom" tabindex="10" value="EarlyMornings" checked="checked"/> +<br/> +<input id="input5" type="checkbox" name="Check2" tabindex="11" value="AfterNoon" onclick="newId(this)"/> +<br/> +<input type="checkbox" name="Check3" tabindex="12" value="Evenings"/> +<br/> +<input type="checkbox" name="Check4" tabindex="13" value="Closing" disabled="disabled"/> +<br/> +</td> +</tr> +<tr> +<td colspan="2"> +<input type="image" tabindex="14" name="SubmitImage" usemap="#submit-map" src="./pix/submit.gif"/> +</td> +</tr> +<tr> +<td colspan="2"> +<input title="old_title" type="file" name="FileControl" tabindex="15" accept="GIF,JPEG" onselect="newTitle(this)"/> +</td> +</tr> +</table> +</form> +</td> +</tr> +</table> +</body> +</html> diff --git a/test/testcases/tests/level2/html/files/object.html b/test/testcases/tests/level2/html/files/object.html new file mode 100644 index 0000000..c7fbab1 --- /dev/null +++ b/test/testcases/tests/level2/html/files/object.html @@ -0,0 +1,18 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> +<HEAD> +<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=utf-8"> +<TITLE>NIST DOM HTML Test - OBJECT</TITLE> +</HEAD> +<BODY onload="parent.loadComplete()"> +<P> +<OBJECT ALIGN="middle" ARCHIVE="" BORDER="0" CODEBASE="http://xw2k.sdct.itl.nist.gov/brady/dom/" DATA="./pix/logo.gif" HEIGHT="60" HSPACE="0" STANDBY="Loading Image ..." TABINDEX="0" TYPE="image/gif" USEMAP="#DivLogo-map" VSPACE="0" WIDTH="550"></OBJECT> +</P> +<FORM NAME="OBJECT2" ACTION="./files/getData.pl" METHOD="post"> +<P> +<OBJECT DECLARE="declare" NAME="OBJECT2" CODETYPE="image/gif"></OBJECT> +</P> +</FORM> +</BODY> +</HTML> + diff --git a/test/testcases/tests/level2/html/files/object.xhtml b/test/testcases/tests/level2/html/files/object.xhtml new file mode 100644 index 0000000..824f7fc --- /dev/null +++ b/test/testcases/tests/level2/html/files/object.xhtml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "xhtml1-transitional.dtd"> +<html xmlns='http://www.w3.org/1999/xhtml'> +<head> +<title>NIST DOM HTML Test - OBJECT</title> +</head> +<body onload="parent.loadComplete()"> +<p> +<object align="middle" archive="" border="0" codebase="http://xw2k.sdct.itl.nist.gov/brady/dom/" data="./pix/logo.gif" height="60" hspace="0" standby="Loading Image ..." tabindex="0" type="image/gif" usemap="#DivLogo-map" vspace="0" width="550"></object> +</p> +<form name="OBJECT2" action="./files/getData.pl" method="post"> +<p> +<object declare="declare" name="OBJECT2" codetype="image/gif"></object> +</p> +</form> +</body> +</html> + diff --git a/test/testcases/tests/level2/html/files/object.xml b/test/testcases/tests/level2/html/files/object.xml new file mode 100644 index 0000000..824f7fc --- /dev/null +++ b/test/testcases/tests/level2/html/files/object.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "xhtml1-transitional.dtd"> +<html xmlns='http://www.w3.org/1999/xhtml'> +<head> +<title>NIST DOM HTML Test - OBJECT</title> +</head> +<body onload="parent.loadComplete()"> +<p> +<object align="middle" archive="" border="0" codebase="http://xw2k.sdct.itl.nist.gov/brady/dom/" data="./pix/logo.gif" height="60" hspace="0" standby="Loading Image ..." tabindex="0" type="image/gif" usemap="#DivLogo-map" vspace="0" width="550"></object> +</p> +<form name="OBJECT2" action="./files/getData.pl" method="post"> +<p> +<object declare="declare" name="OBJECT2" codetype="image/gif"></object> +</p> +</form> +</body> +</html> + diff --git a/test/testcases/tests/level2/html/files/object2.html b/test/testcases/tests/level2/html/files/object2.html new file mode 100644 index 0000000..0a39363 --- /dev/null +++ b/test/testcases/tests/level2/html/files/object2.html @@ -0,0 +1,17 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> +<HEAD> +<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=utf-8"> +<TITLE>NIST DOM HTML Test - OBJECT</TITLE> +</HEAD> +<BODY onload="parent.loadComplete()"> +<P> +<OBJECT ALIGN="middle" ARCHIVE="" BORDER="0" CODEBASE="http://www.w3.org/DOM/" DATA="./pix/logo.gif" HEIGHT="60" HSPACE="0" STANDBY="Loading Image ..." TABINDEX="0" TYPE="image/gif" USEMAP="#DivLogo-map" VSPACE="0" WIDTH="550"></OBJECT> +</P> +<FORM ID="object2" ACTION="./files/getData.pl" METHOD="post"> +<P> +<OBJECT DECLARE="declare" NAME="OBJECT2" CODETYPE="image/gif"></OBJECT> +</P> +</FORM> +</BODY> +</HTML> diff --git a/test/testcases/tests/level2/html/files/object2.xhtml b/test/testcases/tests/level2/html/files/object2.xhtml new file mode 100644 index 0000000..e318a3c --- /dev/null +++ b/test/testcases/tests/level2/html/files/object2.xhtml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "xhtml1-transitional.dtd"> +<html xmlns='http://www.w3.org/1999/xhtml'> +<head> +<title>NIST DOM HTML Test - OBJECT</title> +</head> +<body onload="parent.loadComplete()"> +<p> +<object align="middle" archive="" border="0" codebase="http://www.w3.org/DOM/" data="./pix/logo.gif" height="60" hspace="0" standby="Loading Image ..." tabindex="0" type="image/gif" usemap="#DivLogo-map" vspace="0" width="550"></object> +</p> +<form id="object2" action="./files/getData.pl" method="post"> +<p> +<object declare="declare" name="OBJECT2" codetype="image/gif"></object> +</p> +</form> +</body> +</html> + diff --git a/test/testcases/tests/level2/html/files/object2.xml b/test/testcases/tests/level2/html/files/object2.xml new file mode 100644 index 0000000..a41e03d --- /dev/null +++ b/test/testcases/tests/level2/html/files/object2.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "xhtml1-transitional.dtd"> +<html xmlns='http://www.w3.org/1999/xhtml'> +<head> +<title>NIST DOM HTML Test - OBJECT</title> +</head> +<body onload="parent.loadComplete()"> +<p> +<object align="middle" archive="" border="0" codebase="http://xw2k.sdct.itl.nist.gov/brady/dom/" data="./pix/logo.gif" height="60" hspace="0" standby="Loading Image ..." tabindex="0" type="image/gif" usemap="#DivLogo-map" vspace="0" width="550"></object> +</p> +<form id="object2" action="./files/getData.pl" method="post"> +<p> +<object declare="declare" name="OBJECT2" codetype="image/gif"></object> +</p> +</form> +</body> +</html> + diff --git a/test/testcases/tests/level2/html/files/select.html b/test/testcases/tests/level2/html/files/select.html new file mode 100644 index 0000000..7820624 --- /dev/null +++ b/test/testcases/tests/level2/html/files/select.html @@ -0,0 +1,44 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> +<HEAD> +<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=utf-8"> +<TITLE>NIST DOM HTML Test - SELECT</TITLE> +</HEAD> +<BODY onload="parent.loadComplete()"> +<FORM ID="form1" ACTION="./files/getData.pl" METHOD="post"> +<P> +<SELECT ID="selectId" DIR="ltr" TABINDEX="7" NAME="select1" MULTIPLE="multiple" SIZE="1"> +<OPTION SELECTED="selected" value="EMP1">EMP10001</OPTION> +<OPTION>EMP10002</OPTION> +<OPTION>EMP10003</OPTION> +<OPTION>EMP10004</OPTION> +<OPTION>EMP10005</OPTION> +</SELECT> +</P> +</FORM> +<P> +<SELECT NAME="select2"> +<OPTION>EMP20001</OPTION> +<OPTION>EMP20002</OPTION> +<OPTION>EMP20003</OPTION> +<OPTION>EMP20004</OPTION> +<OPTION>EMP20005</OPTION> +</SELECT> +</P> +<P> +<SELECT NAME="select3" DISABLED="disabled" TABINDEX="1"> +<OPTION>EMP30001</OPTION> +<OPTION>EMP30002</OPTION> +<OPTION>EMP30003</OPTION> +<OPTION>EMP30004</OPTION> +<OPTION>EMP30005</OPTION> +</SELECT> +</P> +</BODY> +</HTML> + + + + + + diff --git a/test/testcases/tests/level2/html/files/select.xhtml b/test/testcases/tests/level2/html/files/select.xhtml new file mode 100644 index 0000000..491a74c --- /dev/null +++ b/test/testcases/tests/level2/html/files/select.xhtml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "xhtml1-transitional.dtd"> +<html xmlns='http://www.w3.org/1999/xhtml'> +<head> +<title>NIST DOM HTML Test - SELECT</title> +</head> +<body onload="parent.loadComplete()"> +<form id="form1" action="./files/getData.pl" method="post"> +<p> +<select id="selectId" dir="ltr" tabindex="7" name="select1" multiple="multiple" size="1"> +<option selected="selected" value="EMP1">EMP10001</option> +<option>EMP10002</option> +<option>EMP10003</option> +<option>EMP10004</option> +<option>EMP10005</option> +</select> +</p> +</form> +<p> +<select name="select2"> +<option>EMP20001</option> +<option>EMP20002</option> +<option>EMP20003</option> +<option>EMP20004</option> +<option>EMP20005</option> +</select> +</p> +<p> +<select name="select3" disabled="disabled" tabindex="1"> +<option>EMP30001</option> +<option>EMP30002</option> +<option>EMP30003</option> +<option>EMP30004</option> +<option>EMP30005</option> +</select> +</p> +</body> +</html> + diff --git a/test/testcases/tests/level2/html/files/select.xml b/test/testcases/tests/level2/html/files/select.xml new file mode 100644 index 0000000..491a74c --- /dev/null +++ b/test/testcases/tests/level2/html/files/select.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "xhtml1-transitional.dtd"> +<html xmlns='http://www.w3.org/1999/xhtml'> +<head> +<title>NIST DOM HTML Test - SELECT</title> +</head> +<body onload="parent.loadComplete()"> +<form id="form1" action="./files/getData.pl" method="post"> +<p> +<select id="selectId" dir="ltr" tabindex="7" name="select1" multiple="multiple" size="1"> +<option selected="selected" value="EMP1">EMP10001</option> +<option>EMP10002</option> +<option>EMP10003</option> +<option>EMP10004</option> +<option>EMP10005</option> +</select> +</p> +</form> +<p> +<select name="select2"> +<option>EMP20001</option> +<option>EMP20002</option> +<option>EMP20003</option> +<option>EMP20004</option> +<option>EMP20005</option> +</select> +</p> +<p> +<select name="select3" disabled="disabled" tabindex="1"> +<option>EMP30001</option> +<option>EMP30002</option> +<option>EMP30003</option> +<option>EMP30004</option> +<option>EMP30005</option> +</select> +</p> +</body> +</html> + diff --git a/test/testcases/tests/level2/html/files/table.html b/test/testcases/tests/level2/html/files/table.html new file mode 100644 index 0000000..b8f151e --- /dev/null +++ b/test/testcases/tests/level2/html/files/table.html @@ -0,0 +1,78 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> +<HEAD> +<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=utf-8"> +<TITLE>NIST DOM HTML Test - TABLE</TITLE> +</HEAD> +<BODY onload="parent.loadComplete()"> +<TABLE ALIGN="center" SUMMARY="Table 1"> +<TR> +<TH>Id</TH> +<TH>Name</TH> +<TH>Position</TH> +<TH>Salary</TH> +</TR> +</TABLE> +<TABLE ID="table-1" ALIGN="center" BORDER="4" BGCOLOR="#ff0000" FRAME="border" CELLPADDING="2" CELLSPACING="2" SUMMARY="HTML Control Table" RULES="all" WIDTH="680"> +<CAPTION ALIGN="top">Table Caption</CAPTION> +<THEAD ALIGN="center" VALIGN="middle"> +<TR ALIGN="center" BGCOLOR="#00FFFF" VALIGN="middle"> +<TH ID="header-1">Employee Id</TH> +<TH ID="header-2" ABBR="maiden" AXIS="center" ALIGN="center" BGCOLOR="#00FFFF" COLSPAN="1" HEIGHT="50" NOWRAP="nowrap" ROWSPAN="1" SCOPE="col" HEADERS="header-1" VALIGN="middle" WIDTH="100">Employee Name</TH> +<TH>Position</TH> +<TH>Salary</TH> +<TH>Gender</TH> +<TH>Address</TH> +</TR> +</THEAD> +<TFOOT ALIGN="center" VALIGN="middle"> +<TR> +<TH>next page ...</TH> +<TH>next page ...</TH> +<TH>next page ...</TH> +<TH>next page ...</TH> +<TH>next page ...</TH> +<TH>next page ...</TH> +</TR> +</TFOOT> +<TBODY ALIGN="center" VALIGN="middle"> +<TR> +<TD AXIS="center" ID="Table-3" ABBR="maiden2" ALIGN="center" BGCOLOR="#FF0000" COLSPAN="1" HEIGHT="50" NOWRAP="nowrap" ROWSPAN="1" SCOPE="col" HEADERS="header-2" VALIGN="middle" WIDTH="175">EMP0001</TD> +<TD HEADERS="header-2">Margaret Martin</TD> +<TD>Accountant</TD> +<TD>56,000</TD> +<TD>Female</TD> +<TD>1230 North Ave. Dallas, Texas 98551</TD> +</TR> +<TR> +<TD>EMP0002</TD> +<TD>Martha Raynolds</TD> +<TD>Secretary</TD> +<TD>35,000</TD> +<TD>Female</TD> +<TD>1900 Dallas Road Dallas, Texas 98554</TD> +</TR> +</TBODY> +</TABLE> +<TABLE SUMMARY="Table 3"> +<TBODY> +<TR> +<TD> +</TD> +</TR> +</TBODY> +<TBODY> +<TR> +<TD> +</TD> +</TR> +</TBODY> +<TBODY> +<TR> +<TD> +</TD> +</TR> +</TBODY> +</TABLE> +</BODY> +</HTML> diff --git a/test/testcases/tests/level2/html/files/table.xhtml b/test/testcases/tests/level2/html/files/table.xhtml new file mode 100644 index 0000000..8300b90 --- /dev/null +++ b/test/testcases/tests/level2/html/files/table.xhtml @@ -0,0 +1,81 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "xhtml1-transitional.dtd"> +<html xmlns='http://www.w3.org/1999/xhtml'> +<head> +<title>NIST DOM HTML Test - TABLE</title> +</head> +<body onload="parent.loadComplete()"> +<table align="center" summary="Table 1"> +<tr> +<th>Id</th> +<th>Name</th> +<th>Position</th> +<th>Salary</th> +</tr> +</table> +<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680"> +<caption align="top">Table Caption</caption> +<thead align="center" valign="middle"> +<tr align="center" bgcolor="#00FFFF" valign="middle"> +<th id="header-1">Employee Id</th> +<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th> +<th>Position</th> +<th>Salary</th> +<th>Gender</th> +<th>Address</th> +</tr> +</thead> +<tfoot align="center" valign="middle"> +<tr> +<th>next page ...</th> +<th>next page ...</th> +<th>next page ...</th> +<th>next page ...</th> +<th>next page ...</th> +<th>next page ...</th> +</tr> +</tfoot> +<tbody align="center" valign="middle"> +<tr> +<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td> +<td headers="header-2">Margaret Martin</td> +<td>Accountant</td> +<td>56,000</td> +<td>Female</td> +<td>1230 North Ave. Dallas, Texas 98551</td> +</tr> +<tr> +<td>EMP0002</td> +<td>Martha Raynolds</td> +<td>Secretary</td> +<td>35,000</td> +<td>Female</td> +<td>1900 Dallas Road Dallas, Texas 98554</td> +</tr> +</tbody> +</table> +<table summary="Table 3"> +<tbody> +<tr> +<td> +</td> +</tr> +</tbody> +<tbody> +<tr> +<td> +</td> +</tr> +</tbody> +<tbody> +<tr> +<td> +</td> +</tr> +</tbody> +</table> +</body> +</html> + diff --git a/test/testcases/tests/level2/html/files/table.xml b/test/testcases/tests/level2/html/files/table.xml new file mode 100644 index 0000000..8300b90 --- /dev/null +++ b/test/testcases/tests/level2/html/files/table.xml @@ -0,0 +1,81 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "xhtml1-transitional.dtd"> +<html xmlns='http://www.w3.org/1999/xhtml'> +<head> +<title>NIST DOM HTML Test - TABLE</title> +</head> +<body onload="parent.loadComplete()"> +<table align="center" summary="Table 1"> +<tr> +<th>Id</th> +<th>Name</th> +<th>Position</th> +<th>Salary</th> +</tr> +</table> +<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680"> +<caption align="top">Table Caption</caption> +<thead align="center" valign="middle"> +<tr align="center" bgcolor="#00FFFF" valign="middle"> +<th id="header-1">Employee Id</th> +<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th> +<th>Position</th> +<th>Salary</th> +<th>Gender</th> +<th>Address</th> +</tr> +</thead> +<tfoot align="center" valign="middle"> +<tr> +<th>next page ...</th> +<th>next page ...</th> +<th>next page ...</th> +<th>next page ...</th> +<th>next page ...</th> +<th>next page ...</th> +</tr> +</tfoot> +<tbody align="center" valign="middle"> +<tr> +<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td> +<td headers="header-2">Margaret Martin</td> +<td>Accountant</td> +<td>56,000</td> +<td>Female</td> +<td>1230 North Ave. Dallas, Texas 98551</td> +</tr> +<tr> +<td>EMP0002</td> +<td>Martha Raynolds</td> +<td>Secretary</td> +<td>35,000</td> +<td>Female</td> +<td>1900 Dallas Road Dallas, Texas 98554</td> +</tr> +</tbody> +</table> +<table summary="Table 3"> +<tbody> +<tr> +<td> +</td> +</tr> +</tbody> +<tbody> +<tr> +<td> +</td> +</tr> +</tbody> +<tbody> +<tr> +<td> +</td> +</tr> +</tbody> +</table> +</body> +</html> + diff --git a/test/testcases/tests/level2/html/files/table1.html b/test/testcases/tests/level2/html/files/table1.html new file mode 100644 index 0000000..8f5d19b --- /dev/null +++ b/test/testcases/tests/level2/html/files/table1.html @@ -0,0 +1,12 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> +<HEAD> +<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=utf-8"> +<TITLE>NIST DOM HTML Test - TABLE</TITLE> +</HEAD> +<BODY onload="parent.loadComplete()"> +<TABLE SUMMARY="Empty Table"> +<tr><td>HTML can't abide empty table</td></tr> +</TABLE> +</BODY> +</HTML> diff --git a/test/testcases/tests/level2/html/files/table1.xhtml b/test/testcases/tests/level2/html/files/table1.xhtml new file mode 100644 index 0000000..e174c63 --- /dev/null +++ b/test/testcases/tests/level2/html/files/table1.xhtml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "xhtml1-transitional.dtd"> +<html xmlns='http://www.w3.org/1999/xhtml'> +<head> +<title>NIST DOM HTML Test - TABLE</title> +</head> +<body onload="parent.loadComplete()"> +<table summary="Empty Table"> +<tr><td>XHTML can't abide empty table</td></tr> +</table> +</body> +</html> + diff --git a/test/testcases/tests/level2/html/files/table1.xml b/test/testcases/tests/level2/html/files/table1.xml new file mode 100644 index 0000000..e174c63 --- /dev/null +++ b/test/testcases/tests/level2/html/files/table1.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "xhtml1-transitional.dtd"> +<html xmlns='http://www.w3.org/1999/xhtml'> +<head> +<title>NIST DOM HTML Test - TABLE</title> +</head> +<body onload="parent.loadComplete()"> +<table summary="Empty Table"> +<tr><td>XHTML can't abide empty table</td></tr> +</table> +</body> +</html> + diff --git a/test/testcases/tests/level2/html/files/tablerow.html b/test/testcases/tests/level2/html/files/tablerow.html new file mode 100644 index 0000000..9e76a4c --- /dev/null +++ b/test/testcases/tests/level2/html/files/tablerow.html @@ -0,0 +1,59 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> +<HEAD> +<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=utf-8"> +<TITLE>NIST DOM HTML Test - TABLEROW</TITLE> +</HEAD> +<BODY onload="parent.loadComplete()"> +<TABLE ALIGN="center" SUMMARY="Table 1"> +<TR> +<TH>Id</TH> +<TH>Name</TH> +<TH>Position</TH> +<TH>Salary</TH> +</TR> +</TABLE> +<TABLE ID="table-1" ALIGN="center" BORDER="4" BGCOLOR="#ff0000" FRAME="border" CELLPADDING="2" CELLSPACING="2" SUMMARY="HTML Control Table" RULES="all" WIDTH="680"> +<CAPTION ALIGN="top">Table Caption</CAPTION> +<THEAD ALIGN="center" VALIGN="middle"> +<TR ALIGN="center" BGCOLOR="#00FFFF" VALIGN="middle" CHAR="*" CHAROFF="1"> +<TH ID="header-1">Employee Id</TH> +<TH ID="header-2" ABBR="maiden" AXIS="center" ALIGN="center" BGCOLOR="#00FFFF" COLSPAN="1" HEIGHT="50" NOWRAP="nowrap" ROWSPAN="1" SCOPE="col" HEADERS="header-1" VALIGN="middle" WIDTH="100">Employee Name</TH> +<TH>Position</TH> +<TH>Salary</TH> +<TH>Gender</TH> +<TH>Address</TH> +</TR> +</THEAD> +<TFOOT ALIGN="center" VALIGN="middle"> +<TR> +<TH>next page ...</TH> +<TH>next page ...</TH> +<TH>next page ...</TH> +<TH>next page ...</TH> +<TH>next page ...</TH> +<TH>next page ...</TH> +</TR> +</TFOOT> +<TBODY ALIGN="center" VALIGN="middle"> +<TR> +<TD AXIS="center" ID="Table-3" ABBR="maiden2" ALIGN="center" BGCOLOR="#FF0000" COLSPAN="1" HEIGHT="50" NOWRAP="nowrap" ROWSPAN="1" SCOPE="col" HEADERS="header-2" VALIGN="middle" WIDTH="175">EMP0001</TD> +<TD HEADERS="header-2">Margaret Martin</TD> +<TD>Accountant</TD> +<TD>56,000</TD> +<TD>Female</TD> +<TD>1230 North Ave. Dallas, Texas 98551</TD> +</TR> +<TR> +<TD>EMP0002</TD> +<TD>Martha Raynolds</TD> +<TD>Secretary</TD> +<TD>35,000</TD> +<TD>Female</TD> +<TD>1900 Dallas Road Dallas, Texas 98554</TD> +</TR> +</TBODY> +</TABLE> +</BODY> +</HTML> + diff --git a/test/testcases/tests/level2/html/files/tablerow.xhtml b/test/testcases/tests/level2/html/files/tablerow.xhtml new file mode 100644 index 0000000..b901e3c --- /dev/null +++ b/test/testcases/tests/level2/html/files/tablerow.xhtml @@ -0,0 +1,62 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "xhtml1-transitional.dtd"> +<html xmlns='http://www.w3.org/1999/xhtml'> +<head> +<title>NIST DOM HTML Test - TABLE</title> +</head> +<body onload="parent.loadComplete()"> +<table align="center" summary="Table 1"> +<tr> +<th>Id</th> +<th>Name</th> +<th>Position</th> +<th>Salary</th> +</tr> +</table> +<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680"> +<caption align="top">Table Caption</caption> +<thead align="center" valign="middle"> +<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1"> +<th id="header-1">Employee Id</th> +<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th> +<th>Position</th> +<th>Salary</th> +<th>Gender</th> +<th>Address</th> +</tr> +</thead> +<tfoot align="center" valign="middle"> +<tr> +<th>next page ...</th> +<th>next page ...</th> +<th>next page ...</th> +<th>next page ...</th> +<th>next page ...</th> +<th>next page ...</th> +</tr> +</tfoot> +<tbody align="center" valign="middle"> +<tr> +<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td> +<td headers="header-2">Margaret Martin</td> +<td>Accountant</td> +<td>56,000</td> +<td>Female</td> +<td>1230 North Ave. Dallas, Texas 98551</td> +</tr> +<tr> +<td>EMP0002</td> +<td>Martha Raynolds</td> +<td>Secretary</td> +<td>35,000</td> +<td>Female</td> +<td>1900 Dallas Road Dallas, Texas 98554</td> +</tr> +</tbody> +</table> +</body> +</html> + + diff --git a/test/testcases/tests/level2/html/files/tablerow.xml b/test/testcases/tests/level2/html/files/tablerow.xml new file mode 100644 index 0000000..b901e3c --- /dev/null +++ b/test/testcases/tests/level2/html/files/tablerow.xml @@ -0,0 +1,62 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "xhtml1-transitional.dtd"> +<html xmlns='http://www.w3.org/1999/xhtml'> +<head> +<title>NIST DOM HTML Test - TABLE</title> +</head> +<body onload="parent.loadComplete()"> +<table align="center" summary="Table 1"> +<tr> +<th>Id</th> +<th>Name</th> +<th>Position</th> +<th>Salary</th> +</tr> +</table> +<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680"> +<caption align="top">Table Caption</caption> +<thead align="center" valign="middle"> +<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1"> +<th id="header-1">Employee Id</th> +<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th> +<th>Position</th> +<th>Salary</th> +<th>Gender</th> +<th>Address</th> +</tr> +</thead> +<tfoot align="center" valign="middle"> +<tr> +<th>next page ...</th> +<th>next page ...</th> +<th>next page ...</th> +<th>next page ...</th> +<th>next page ...</th> +<th>next page ...</th> +</tr> +</tfoot> +<tbody align="center" valign="middle"> +<tr> +<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td> +<td headers="header-2">Margaret Martin</td> +<td>Accountant</td> +<td>56,000</td> +<td>Female</td> +<td>1230 North Ave. Dallas, Texas 98551</td> +</tr> +<tr> +<td>EMP0002</td> +<td>Martha Raynolds</td> +<td>Secretary</td> +<td>35,000</td> +<td>Female</td> +<td>1900 Dallas Road Dallas, Texas 98554</td> +</tr> +</tbody> +</table> +</body> +</html> + + diff --git a/test/testcases/tests/level2/html/files/tablesection.html b/test/testcases/tests/level2/html/files/tablesection.html new file mode 100644 index 0000000..0c1a5f7 --- /dev/null +++ b/test/testcases/tests/level2/html/files/tablesection.html @@ -0,0 +1,62 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> +<HEAD> +<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=utf-8"> +<TITLE>NIST DOM HTML Test - TABLESECTION</TITLE> +</HEAD> +<BODY onload="parent.loadComplete()"> +<TABLE ALIGN="center" SUMMARY="Table 1"> +<TBODY> +<TR> +<TH>Id</TH> +<TH>Name</TH> +<TH>Position</TH> +<TH>Salary</TH> +</TR> +</TBODY> +</TABLE> +<TABLE ID="table-1" ALIGN="center" BORDER="4" BGCOLOR="#ff0000" FRAME="border" CELLPADDING="2" CELLSPACING="2" SUMMARY="HTML Control Table" RULES="all" WIDTH="680"> +<CAPTION ALIGN="top">Table Caption</CAPTION> +<THEAD ALIGN="center" VALIGN="middle" CHAR="*" CHAROFF="1"> +<TR ALIGN="center" BGCOLOR="#00FFFF" VALIGN="middle" CHAR="*" CHAROFF="1"> +<TH ID="header-1">Employee Id</TH> +<TH ID="header-2" ABBR="maiden" AXIS="center" ALIGN="center" BGCOLOR="#00FFFF" COLSPAN="1" HEIGHT="50" NOWRAP="nowrap" ROWSPAN="1" SCOPE="col" HEADERS="header-1" VALIGN="middle" WIDTH="100">Employee Name</TH> +<TH>Position</TH> +<TH>Salary</TH> +<TH>Gender</TH> +<TH>Address</TH> +</TR> +</THEAD> +<TFOOT ALIGN="center" VALIGN="middle" CHAR="+" CHAROFF="2"> +<TR> +<TH>next page ...</TH> +<TH>next page ...</TH> +<TH>next page ...</TH> +<TH>next page ...</TH> +<TH>next page ...</TH> +<TH>next page ...</TH> +</TR> +</TFOOT> +<TBODY ALIGN="center" VALIGN="middle" CHAR="$" CHAROFF="3"> +<TR> +<TD AXIS="center" ID="Table-3" ABBR="maiden2" ALIGN="center" BGCOLOR="#FF0000" COLSPAN="1" HEIGHT="50" NOWRAP="nowrap" ROWSPAN="1" SCOPE="col" HEADERS="header-2" VALIGN="middle" WIDTH="175">EMP0001</TD> +<TD HEADERS="header-2">Margaret Martin</TD> +<TD>Accountant</TD> +<TD>56,000</TD> +<TD>Female</TD> +<TD>1230 North Ave. Dallas, Texas 98551</TD> +</TR> +<TR> +<TD>EMP0002</TD> +<TD>Martha Raynolds</TD> +<TD>Secretary</TD> +<TD>35,000</TD> +<TD>Female</TD> +<TD>1900 Dallas Road Dallas, Texas 98554</TD> +</TR> +</TBODY> +</TABLE> +</BODY> +</HTML> + + diff --git a/test/testcases/tests/level2/html/files/tablesection.xhtml b/test/testcases/tests/level2/html/files/tablesection.xhtml new file mode 100644 index 0000000..3498650 --- /dev/null +++ b/test/testcases/tests/level2/html/files/tablesection.xhtml @@ -0,0 +1,65 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "xhtml1-transitional.dtd"> +<html xmlns='http://www.w3.org/1999/xhtml'> +<head> +<title>NIST DOM HTML Test - TABLESECTION</title> +</head> +<body onload="parent.loadComplete()"> +<table align="center" summary="Table 1"> +<tbody> +<tr> +<th>Id</th> +<th>Name</th> +<th>Position</th> +<th>Salary</th> +</tr> +</tbody> +</table> +<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680"> +<caption align="top">Table Caption</caption> +<thead align="center" valign="middle" char="*" charoff="1"> +<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1"> +<th id="header-1">Employee Id</th> +<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th> +<th>Position</th> +<th>Salary</th> +<th>Gender</th> +<th>Address</th> +</tr> +</thead> +<tfoot align="center" valign="middle" char="+" charoff="2"> +<tr> +<th>next page ...</th> +<th>next page ...</th> +<th>next page ...</th> +<th>next page ...</th> +<th>next page ...</th> +<th>next page ...</th> +</tr> +</tfoot> +<tbody align="center" valign="middle" char="$" charoff="3"> +<tr> +<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td> +<td headers="header-2">Margaret Martin</td> +<td>Accountant</td> +<td>56,000</td> +<td>Female</td> +<td>1230 North Ave. Dallas, Texas 98551</td> +</tr> +<tr> +<td>EMP0002</td> +<td>Martha Raynolds</td> +<td>Secretary</td> +<td>35,000</td> +<td>Female</td> +<td>1900 Dallas Road Dallas, Texas 98554</td> +</tr> +</tbody> +</table> +</body> +</html> + + + diff --git a/test/testcases/tests/level2/html/files/tablesection.xml b/test/testcases/tests/level2/html/files/tablesection.xml new file mode 100644 index 0000000..3498650 --- /dev/null +++ b/test/testcases/tests/level2/html/files/tablesection.xml @@ -0,0 +1,65 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "xhtml1-transitional.dtd"> +<html xmlns='http://www.w3.org/1999/xhtml'> +<head> +<title>NIST DOM HTML Test - TABLESECTION</title> +</head> +<body onload="parent.loadComplete()"> +<table align="center" summary="Table 1"> +<tbody> +<tr> +<th>Id</th> +<th>Name</th> +<th>Position</th> +<th>Salary</th> +</tr> +</tbody> +</table> +<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680"> +<caption align="top">Table Caption</caption> +<thead align="center" valign="middle" char="*" charoff="1"> +<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1"> +<th id="header-1">Employee Id</th> +<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th> +<th>Position</th> +<th>Salary</th> +<th>Gender</th> +<th>Address</th> +</tr> +</thead> +<tfoot align="center" valign="middle" char="+" charoff="2"> +<tr> +<th>next page ...</th> +<th>next page ...</th> +<th>next page ...</th> +<th>next page ...</th> +<th>next page ...</th> +<th>next page ...</th> +</tr> +</tfoot> +<tbody align="center" valign="middle" char="$" charoff="3"> +<tr> +<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td> +<td headers="header-2">Margaret Martin</td> +<td>Accountant</td> +<td>56,000</td> +<td>Female</td> +<td>1230 North Ave. Dallas, Texas 98551</td> +</tr> +<tr> +<td>EMP0002</td> +<td>Martha Raynolds</td> +<td>Secretary</td> +<td>35,000</td> +<td>Female</td> +<td>1900 Dallas Road Dallas, Texas 98554</td> +</tr> +</tbody> +</table> +</body> +</html> + + + diff --git a/test/testcases/tests/level2/html/hasFeature02.xml b/test/testcases/tests/level2/html/hasFeature02.xml.kfail index 560a60c..560a60c 100644 --- a/test/testcases/tests/level2/html/hasFeature02.xml +++ b/test/testcases/tests/level2/html/hasFeature02.xml.kfail diff --git a/test/testcases/tests/level2/html/hasFeature03.xml b/test/testcases/tests/level2/html/hasFeature03.xml.kfail index 49fb3b5..49fb3b5 100644 --- a/test/testcases/tests/level2/html/hasFeature03.xml +++ b/test/testcases/tests/level2/html/hasFeature03.xml.kfail diff --git a/test/testcases/tests/level2/html/hasFeature04.xml b/test/testcases/tests/level2/html/hasFeature04.xml.kfail index 077b913..077b913 100644 --- a/test/testcases/tests/level2/html/hasFeature04.xml +++ b/test/testcases/tests/level2/html/hasFeature04.xml.kfail diff --git a/test/testcases/tests/level2/html/hasFeature05.xml b/test/testcases/tests/level2/html/hasFeature05.xml.kfail index c79f90b..c79f90b 100644 --- a/test/testcases/tests/level2/html/hasFeature05.xml +++ b/test/testcases/tests/level2/html/hasFeature05.xml.kfail diff --git a/test/testcases/tests/level2/html/hasFeature06.xml b/test/testcases/tests/level2/html/hasFeature06.xml.kfail index 162e5cf..162e5cf 100644 --- a/test/testcases/tests/level2/html/hasFeature06.xml +++ b/test/testcases/tests/level2/html/hasFeature06.xml.kfail diff --git a/test/testcases/tests/level2/html/metadata.xml b/test/testcases/tests/level2/html/metadata.xml.kfail index be6715a..be6715a 100644 --- a/test/testcases/tests/level2/html/metadata.xml +++ b/test/testcases/tests/level2/html/metadata.xml.kfail diff --git a/test/testutils/domtsasserts.c b/test/testutils/domtsasserts.c index 41cacf2..cbb8ed0 100644 --- a/test/testutils/domtsasserts.c +++ b/test/testutils/domtsasserts.c @@ -124,7 +124,10 @@ bool is_equals_list(list *expected, list *actual, bool ignoreCase) comparator rcmp = NULL; if (expected->type == INT) + { cmp = int_comparator; + rcmp = int_comparator; + } if (expected->type == STRING) { if (actual->type == DOM_STRING) { cmp = ignoreCase? str_icmp : str_cmp; @@ -139,6 +142,7 @@ bool is_equals_list(list *expected, list *actual, bool ignoreCase) } assert(cmp != NULL); + assert(rcmp != NULL); return list_contains_all(expected, actual, cmp) && list_contains_all(actual, expected, rcmp); } |