diff options
author | Andrew Sidwell <andy@entai.co.uk> | 2008-07-03 13:04:22 +0000 |
---|---|---|
committer | Andrew Sidwell <andy@entai.co.uk> | 2008-07-03 13:04:22 +0000 |
commit | 0bff00b4408d7296d1e5e940d8a5fd910c9fb283 (patch) | |
tree | d96d096d0541daa61ee946471bb82a58eba8f9bb /src/treebuilder/treebuilder.c | |
parent | 95a5f32cd305571579109fea002b47701e76f82e (diff) | |
download | libhubbub-0bff00b4408d7296d1e5e940d8a5fd910c9fb283.tar.gz libhubbub-0bff00b4408d7296d1e5e940d8a5fd910c9fb283.tar.bz2 |
Get all the treebuilder actually linking together nicely.
svn path=/trunk/hubbub/; revision=4501
Diffstat (limited to 'src/treebuilder/treebuilder.c')
-rw-r--r-- | src/treebuilder/treebuilder.c | 40 |
1 files changed, 39 insertions, 1 deletions
diff --git a/src/treebuilder/treebuilder.c b/src/treebuilder/treebuilder.c index 3c25540..2a6a3c1 100644 --- a/src/treebuilder/treebuilder.c +++ b/src/treebuilder/treebuilder.c @@ -327,20 +327,46 @@ void hubbub_treebuilder_token_handler(const hubbub_token *token, reprocess = handle_in_body(treebuilder, token); break; case IN_TABLE: + reprocess = handle_in_table(treebuilder, token); + break; case IN_CAPTION: + reprocess = handle_in_caption(treebuilder, token); + break; case IN_COLUMN_GROUP: + reprocess = handle_in_column_group(treebuilder, token); + break; case IN_TABLE_BODY: + reprocess = handle_in_table_body(treebuilder, token); + break; case IN_ROW: + reprocess = handle_in_row(treebuilder, token); + break; case IN_CELL: + reprocess = handle_in_cell(treebuilder, token); + break; case IN_SELECT: + reprocess = handle_in_select(treebuilder, token); + break; case IN_SELECT_IN_TABLE: + reprocess = handle_in_select_in_table(treebuilder, token); + break; case IN_FOREIGN_CONTENT: + reprocess = handle_in_foreign_content(treebuilder, token); + break; case AFTER_BODY: + reprocess = handle_after_body(treebuilder, token); + break; case IN_FRAMESET: + reprocess = handle_in_frameset(treebuilder, token); + break; case AFTER_FRAMESET: + reprocess = handle_after_frameset(treebuilder, token); + break; case AFTER_AFTER_BODY: + reprocess = handle_after_after_body(treebuilder, token); + break; case AFTER_AFTER_FRAMESET: - reprocess = false; + reprocess = handle_after_after_frameset(treebuilder, token); break; case GENERIC_RCDATA: reprocess = handle_generic_rcdata(treebuilder, token); @@ -1080,6 +1106,18 @@ element_type current_node(hubbub_treebuilder *treebuilder) } /** + * Peek at the top element of the element stack. + * + * \param treebuilder Treebuilder instance + * \return Element type on the top of the stack + */ +hubbub_ns current_node_ns(hubbub_treebuilder *treebuilder) +{ + return treebuilder->context.element_stack + [treebuilder->context.current_node].ns; +} + +/** * Peek at the element below the top of the element stack. * * \param treebuilder Treebuilder instance |