+
+function own_clone_element($node, $doc)
+{
+ $nsuri = $node->namespaceURI;
+ if (isset($nsuri) && $node->prefix != "default") {
+ $newnode = $doc->createElementNS($node->namespaceURI, $node->nodeName, $node->prefix);
+
+ // remove useless empty text child
+ $newnode->removeChild($newnode->firstChild);
+ } else {
+ $newnode = $doc->createElement($node->localName);
+ }
+
+ $attrs = $node->attributes;
+ if (isset($attrs)) {
+ foreach ($node->attributes as $attr) {
+ $nsuri = $attr->namespaceURI;
+ if (isset($nsuri) && $attr->prefix != "default") {
+ $attr2 = $doc->createAttributeNS($nsuri, $attr->prefix . ":" . $attr->name);
+ } else {
+ $attr2 = $doc->createAttribute($attr->localName);
+ }
+ $attr2->value = $attr->value;
+ $newnode->appendChild($attr2);
+ }
+ }
+ return $newnode;
+}