diff options
| author | Frederic Peters <fpeters@entrouvert.com> | 2007-05-02 11:08:23 +0000 |
|---|---|---|
| committer | Frederic Peters <fpeters@entrouvert.com> | 2007-05-02 11:08:23 +0000 |
| commit | 7ec330821df2c6d986ba6e2f70edf5d38dce1dca (patch) | |
| tree | 98dd6fb2bd512f9ec764896fd79a20530c95d5ca /lasso/xml/misc_text_node.c | |
| parent | 63bab632c59fe5a0a4ae31e3e1035f58c1bcfe91 (diff) | |
| download | lasso-7ec330821df2c6d986ba6e2f70edf5d38dce1dca.tar.gz lasso-7ec330821df2c6d986ba6e2f70edf5d38dce1dca.tar.xz lasso-7ec330821df2c6d986ba6e2f70edf5d38dce1dca.zip | |
SNIPPET_LIST_NODES can now host LassoMiscTextNode, also useful now to directly
embed a text element (instead of a node with a text element as content)
Diffstat (limited to 'lasso/xml/misc_text_node.c')
| -rw-r--r-- | lasso/xml/misc_text_node.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/lasso/xml/misc_text_node.c b/lasso/xml/misc_text_node.c index 80afc3a4..7b72f82b 100644 --- a/lasso/xml/misc_text_node.c +++ b/lasso/xml/misc_text_node.c @@ -56,6 +56,10 @@ get_xmlNode(LassoNode *node, gboolean lasso_dump) { xmlNode *xmlnode; xmlNs *ns; + + if (LASSO_MISC_TEXT_NODE(node)->text_child) { + return xmlNewText((xmlChar*)(LASSO_MISC_TEXT_NODE(node)->content)); + } xmlnode = parent_class->get_xmlNode(node, lasso_dump); xmlNodeSetName(xmlnode, (xmlChar*)LASSO_MISC_TEXT_NODE(node)->name); @@ -72,6 +76,12 @@ init_from_xml(LassoNode *node, xmlNode *xmlnode) LassoMiscTextNode *n = LASSO_MISC_TEXT_NODE(node); int rc; + if (xmlnode->type == XML_TEXT_NODE) { + n->text_child = TRUE; + n->content = g_strdup((char*)(xmlnode->content)); + return 0; + } + rc = parent_class->init_from_xml(node, xmlnode); if (rc) return rc; @@ -107,6 +117,7 @@ instance_init(LassoMiscTextNode *node) node->name = NULL; node->ns_href = NULL; node->ns_prefix = NULL; + node->text_child = FALSE; } static void |
