summaryrefslogtreecommitdiff
path: root/src/treebuilder/internal.h
diff options
context:
space:
mode:
authorAndrew Sidwell <andy@entai.co.uk>2008-07-03 12:47:49 +0000
committerAndrew Sidwell <andy@entai.co.uk>2008-07-03 12:47:49 +0000
commit95a5f32cd305571579109fea002b47701e76f82e (patch)
tree7284cee7649918b97febc45516a86af68ffb1af7 /src/treebuilder/internal.h
parent6017454967bfa76f12f986bc1374c6239db04017 (diff)
downloadlibhubbub-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.h19
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