fixed xmlCopyNode() for documents Daniel
* tree.c: fixed xmlCopyNode() for documents
Daniel
diff --git a/tree.c b/tree.c
index f623476..992f556 100644
--- a/tree.c
+++ b/tree.c
@@ -2718,21 +2718,20 @@
case XML_ENTITY_NODE:
case XML_PI_NODE:
case XML_COMMENT_NODE:
+ case XML_XINCLUDE_START:
+ case XML_XINCLUDE_END:
+ break;
+ case XML_ATTRIBUTE_NODE:
+ return((xmlNodePtr) xmlCopyProp(parent, (xmlAttrPtr) node));
+ case XML_NAMESPACE_DECL:
+ return((xmlNodePtr) xmlCopyNamespaceList((xmlNsPtr) node));
+
case XML_DOCUMENT_NODE:
case XML_HTML_DOCUMENT_NODE:
#ifdef LIBXML_DOCB_ENABLED
case XML_DOCB_DOCUMENT_NODE:
#endif
- case XML_XINCLUDE_START:
- case XML_XINCLUDE_END:
- break;
- case XML_ATTRIBUTE_NODE:
- return((xmlNodePtr)
- xmlCopyProp(parent, (xmlAttrPtr) node));
- case XML_NAMESPACE_DECL:
- return((xmlNodePtr)
- xmlCopyNamespaceList((xmlNsPtr) node));
-
+ return((xmlNodePtr) xmlCopyDoc((xmlDocPtr) node, recursive));
case XML_DOCUMENT_TYPE_NODE:
case XML_DOCUMENT_FRAG_NODE:
case XML_NOTATION_NODE:
@@ -2838,7 +2837,7 @@
xmlNodePtr p = NULL,q;
while (node != NULL) {
- if( node->type == XML_DTD_NODE ) {
+ if (node->type == XML_DTD_NODE ) {
if (doc == NULL) {
node = node->next;
continue;