summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lasso/xml/xml.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/lasso/xml/xml.c b/lasso/xml/xml.c
index bc9644a6..7d8c093c 100644
--- a/lasso/xml/xml.c
+++ b/lasso/xml/xml.c
@@ -1965,7 +1965,14 @@ lasso_node_build_xmlNode_from_snippets(LassoNode *node, xmlNode *xmlnode,
switch (type) {
case SNIPPET_ATTRIBUTE:
- xmlSetProp(xmlnode, (xmlChar*)snippet->name, (xmlChar*)str);
+ if (snippet->ns_name) {
+ xmlNsPtr ns;
+
+ ns = xmlNewNs(xmlnode, (xmlChar*)snippet->ns_uri, (xmlChar*)snippet->ns_name);
+ xmlSetNsProp(xmlnode, ns, (xmlChar*)snippet->name, (xmlChar*)str);
+ } else {
+ xmlSetProp(xmlnode, (xmlChar*)snippet->name, (xmlChar*)str);
+ }
break;
case SNIPPET_TEXT_CHILD:
xmlAddChild(xmlnode, xmlNewText((xmlChar*)str));