added a small hack to fix interference between my fixes for bugs 132585
* xinclude.c: added a small hack to fix interference between
my fixes for bugs 132585 and 132588.
* python/libxml.c: fixed problem with serialization of namespace
reported on the mailing list by Anthony Carrico
diff --git a/ChangeLog b/ChangeLog
index 8201980..b9f04d6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Sun Feb 8 12:09:55 HKT 2004 William Brack <wbrack@mmm.com.hk>
+
+ * xinclude.c: added a small hack to fix interference between
+ my fixes for bugs 132585 and 132588.
+ * python/libxml.c: fixed problem with serialization of namespace
+ reported on the mailing list by Anthony Carrico
+
Sat Feb 7 16:53:11 HKT 2004 William Brack <wbrack@mmm.com.hk>
* xinclude.c: fixed problem with function xmlXIncludeCopyRange
diff --git a/python/libxml.c b/python/libxml.c
index 225078a..52decf4 100644
--- a/python/libxml.c
+++ b/python/libxml.c
@@ -2473,7 +2473,10 @@
(void) xmlOutputBufferClose(buf);
py_retval = libxml_charPtrWrap((char *) c_retval);
} else {
- doc = node->doc;
+ if (node->type == XML_NAMESPACE_DECL)
+ doc = NULL;
+ else
+ doc = node->doc;
if ((doc == NULL) || (doc->type == XML_DOCUMENT_NODE)) {
xmlOutputBufferPtr buf;
xmlCharEncodingHandlerPtr handler = NULL;
diff --git a/xinclude.c b/xinclude.c
index d1c816f..a58a779 100644
--- a/xinclude.c
+++ b/xinclude.c
@@ -58,6 +58,7 @@
int xml; /* xml or txt */
int count; /* how many refs use that specific doc */
xmlXPathObjectPtr xptr; /* the xpointer if needed */
+ int emptyFb; /* flag to show fallback empty */
};
struct _xmlXIncludeCtxt {
@@ -1795,6 +1796,7 @@
ctxt->incTab[nr]->inc = xmlCopyNodeList(fallback->children);
} else {
ctxt->incTab[nr]->inc = NULL;
+ ctxt->incTab[nr]->emptyFb = 1; /* flag empty callback */
}
return(ret);
}
@@ -2208,7 +2210,9 @@
*
*/
for (i = ctxt->incBase;i < ctxt->incNr; i++) {
- if ((ctxt->incTab[i]->inc != NULL) || (ctxt->incTab[i]->xptr != NULL))
+ if ((ctxt->incTab[i]->inc != NULL) ||
+ (ctxt->incTab[i]->xptr != NULL) ||
+ (ctxt->incTab[i]->emptyFb != 0)) /* (empty fallback) */
xmlXIncludeIncludeNode(ctxt, i);
}