From e1733c1b598f117a0fbafc14b8a4a831a9e5f8fa Mon Sep 17 00:00:00 2001 From: "sgunderson@bigfoot.com" <> Date: Mon, 21 Apr 2008 22:21:47 +0200 Subject: [PATCH] Use "real" document fragments instead of our own hacks. --- php5/xml-template.php | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/php5/xml-template.php b/php5/xml-template.php index f69fbca..e68c2be 100644 --- a/php5/xml-template.php +++ b/php5/xml-template.php @@ -78,10 +78,11 @@ function XML_Template_process($node, $obj, $clean = 1) } } else { # repeat $doc = $node->ownerDocument; - $frag = $doc->createElement("temporary-fragment"); # ugh + $frag = $doc->createDocumentFragment(); while ($node->childNodes->length > 0) { $child = $node->childNodes->item(0); + $node->removeChild($child); $frag->appendChild($child); } @@ -91,26 +92,12 @@ function XML_Template_process($node, $obj, $clean = 1) } $newnode = $frag->cloneNode(true); - $node->appendChild($newnode); XML_Template_process($newnode, $instance, $clean); + $node->appendChild($newnode); if ($clean) { XML_Template_clean($newnode); } } - - # remove all the tags - for ($i = 0; $i < $node->childNodes->length; ++$i) { - $child = $node->childNodes->item($i); - if ($child->localName != 'temporary-fragment') { - continue; - } - while ($child->childNodes->length > 0) { - $child2 = $child->childNodes->item(0); - $node->appendChild($child2); - } - --$i; - $node->removeChild($child); - } } if ($clean) { -- 2.39.2