[xml] xmlReconciliateNs interface per node
- From: George Georgiev <george georgiev sf gmail com>
- To: xml gnome org
- Subject: [xml] xmlReconciliateNs interface per node
- Date: Thu, 4 Oct 2012 09:48:34 -0700
Hi,
I have a scenario where I am combining xml elements from a number of
documents. The documents are heavily namespaced and it looks
xmlReconciliateNs does not scale well.
It will be nice if xmlReconciliateNs and xmlDOMWrapReconcileNamespaces
are fixed to scale better, but I have an idea for an extremely
straight forward change that also will help me to resolve the problem.
If I have an additional interface xmlReconciliateNodeNs(xmlDocPtr doc,
xmlNodePtr tree, xmlNodePtr node) that I could call per element will
allow me to avoid the scalability problem of xmlReconciliateNs and the
change in the implementation will look as simple as:
--- a/tree.c
+++ b/tree.c
@@ -6247,14 +6247,14 @@ xmlNewReconciliedNs(xmlDocPtr doc, xmlNodePtr
tree, xmlN * Returns the number of namespace declarations create
d or -1 in case of error. */
int
-xmlReconciliateNs(xmlDocPtr doc, xmlNodePtr tree) {
+xmlReconciliateNodeNs(xmlDocPtr doc, xmlNodePtr tree, xmlNodePtr node) {
xmlNsPtr *oldNs = NULL;
xmlNsPtr *newNs = NULL;
int sizeCache = 0;
int nbCache = 0;
xmlNsPtr n;
- xmlNodePtr node = tree;
+
xmlAttrPtr attr;
int ret = 0, i;
@@ -6426,6 +6426,11 @@ xmlReconciliateNs(xmlDocPtr doc, xmlNodePtr tree) {
xmlFree(newNs);
return(ret);
}
+
+int
+xmlReconciliateNs(xmlDocPtr doc, xmlNodePtr tree) {
+ return xmlReconciliateNodeNs(doc, tree, tree);
+}
#endif /* LIBXML_TREE_ENABLED */
static xmlAttrPtr
(END)
Please let me know is this sounds reasonable or I could do something
else to avoid the problem?
Thanks,
George
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]