- if ($node->node_type() == XML_ELEMENT_NODE) {
- $nsuri = $node->namespace_uri();
- if (isset($nsuri)) {
- $newnode = $doc->create_element_ns($node->namespace_uri(), $node->node_name(), $node->prefix());
+ if ($node->nodeType == XML_DOCUMENT_FRAG_NODE) {
+ $newnode = $doc->createDocumentFragment();
+
+ for ($i = 0; $i < $node->childNodes->length; ++$i) {
+ $child = $node->childNodes->item($i);
+ $newnode->appendChild(own_clone_node($child, $doc));
+ }
+ return $newnode;
+ } else if ($node->nodeType == XML_ELEMENT_NODE) {
+ $nsuri = $node->namespaceURI;
+ if (isset($nsuri) && $node->prefix != "default") {
+ $newnode = $doc->createElementNS($node->namespaceURI, $node->nodeName, $node->prefix);