# HG changeset patch # User Franck Deroche # Date 1193250080 -7200 # Node ID 7a3ce31086b3e625f38c8601301dcf8d3834a3a5 # Parent 51645aad97a892944b1cc802d181ebe1ce83e6df Possibilité de créer un fragment de document. Fix du cas DOMDocument. Il est desormais possible d'inserer un remplacement par un fragment de document, concept introduit par PHP et qui n'est pas un standard DOM, correspondant a une suite de noeud non imbriqué dans une racine. D'autre part, le remplacement par un document DOM n'était pas reelement opérationnel, puisque dans le cas général il est necessaire en plus d'importer le noeud dans l'espace du nouveau document avec importNode avant de pouvoir l'utiliser. diff -r 51645aad97a8 -r 7a3ce31086b3 class.template.php --- a/class.template.php Mon Oct 22 16:04:12 2007 +0200 +++ b/class.template.php Wed Oct 24 20:21:20 2007 +0200 @@ -90,7 +90,9 @@ if(is_string($obj)) $retVal = $this->xmlDocument->createTextNode($obj); else if($obj instanceof DOMDocument) - $retVal = $obj->documentElement->clone(true); + $retVal = $this->xmlDocument->importNode($obj->documentElement); + else if($obj instanceof DOMDocumentFragment) + $retVal = $obj; else if($obj instanceof DOMNode) $retVal = $obj->clone(true); else if($obj instanceof Template) { @@ -141,4 +143,8 @@ $this->xmlDocument->normalizeDocument(); return $this->xmlDocument->saveXML(); } + + function getDocumentFragment() { + return $this->xmlDocument->createDocumentFragment(); + } }