diff options
author | Andrew Sidwell <andy@entai.co.uk> | 2008-07-03 12:47:49 +0000 |
---|---|---|
committer | Andrew Sidwell <andy@entai.co.uk> | 2008-07-03 12:47:49 +0000 |
commit | 95a5f32cd305571579109fea002b47701e76f82e (patch) | |
tree | 7284cee7649918b97febc45516a86af68ffb1af7 /src/treebuilder/internal.h | |
parent | 6017454967bfa76f12f986bc1374c6239db04017 (diff) | |
download | libhubbub-95a5f32cd305571579109fea002b47701e76f82e.tar.gz libhubbub-95a5f32cd305571579109fea002b47701e76f82e.tar.bz2 |
Implement the "in table" insertion mode, at least partially. (The adoption agency algorithm hasn't been tweaked to respect in_table_foster.)
svn path=/trunk/hubbub/; revision=4500
Diffstat (limited to 'src/treebuilder/internal.h')
-rw-r--r-- | src/treebuilder/internal.h | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/src/treebuilder/internal.h b/src/treebuilder/internal.h index f9fd09e..c1ebe71 100644 --- a/src/treebuilder/internal.h +++ b/src/treebuilder/internal.h @@ -35,9 +35,16 @@ typedef enum typedef struct element_context { - hubbub_ns ns; - element_type type; - void *node; + hubbub_ns ns; /**< Element namespace */ + element_type type; /**< Element type */ + + bool tainted; /**< Only for tables. "Once the + * current table has been tainted, + * whitespace characters are inserted + * into the foster parent element + * instead of the current node." */ + + void *node; /**< Node pointer */ } element_context; typedef struct formatting_list_entry @@ -80,9 +87,13 @@ typedef struct hubbub_treebuilder_context hubbub_string string; /**< Text data */ } collect; /**< Context for character collecting */ - bool strip_leading_lr; /**< Whether to strip a LR from the + bool strip_leading_lr; /**< Whether to strip a LR from the * start of the next character sequence * received */ + + bool in_table_foster; /**< Whether nodes that would be + * inserted into the current node should + * be foster parented */ } hubbub_treebuilder_context; struct hubbub_treebuilder |