[lasem] svg: handle nodes with name prefixed with 'svg:'



commit 517105e260bc29eb581ade35ffc9ba1a22b0c389
Author: Emmanuel Pacaud <emmanuel gnome org>
Date:   Tue Sep 25 09:46:17 2012 +0200

    svg: handle nodes with name prefixed with 'svg:'

 src/lsmdomimplementation.c |    1 +
 src/lsmsvgdocument.c       |   17 ++++++++++++++++-
 2 files changed, 17 insertions(+), 1 deletions(-)
---
diff --git a/src/lsmdomimplementation.c b/src/lsmdomimplementation.c
index 0049bb0..812e814 100644
--- a/src/lsmdomimplementation.c
+++ b/src/lsmdomimplementation.c
@@ -37,6 +37,7 @@ lsm_dom_implementation_add_document_create_function (const char *qualified_name,
 		document_types = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL);
 
 	g_hash_table_insert (document_types, g_strdup (qualified_name), create_function);
+	g_hash_table_insert (document_types, g_strdup_printf ("%s:%s", qualified_name, qualified_name), create_function);
 }
 
 /**
diff --git a/src/lsmsvgdocument.c b/src/lsmsvgdocument.c
index 6d0fb01..082b8ad 100644
--- a/src/lsmsvgdocument.c
+++ b/src/lsmsvgdocument.c
@@ -84,7 +84,7 @@ lsm_svg_document_get_element_by_url (LsmSvgDocument *document, const char *url)
 }
 
 static LsmDomElement *
-lsm_svg_document_create_element (LsmDomDocument *document, const char *tag_name)
+_create_element (LsmDomDocument *document, const char *tag_name)
 {
 	LsmDomNode *node = NULL;
 
@@ -143,6 +143,21 @@ lsm_svg_document_create_element (LsmDomDocument *document, const char *tag_name)
 	return LSM_DOM_ELEMENT (node);
 }
 
+static LsmDomElement *
+lsm_svg_document_create_element (LsmDomDocument *document, const char *tag_name)
+{
+	LsmDomElement *element;
+
+	element = _create_element (document, tag_name);
+	if (element != NULL)
+		return element;
+
+	if (g_str_has_prefix (tag_name, "svg:"))
+		return _create_element (document, &tag_name[4]);
+
+	return NULL;
+}
+
 static LsmDomView *
 lsm_svg_document_create_view (LsmDomDocument *document)
 {



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]