Added support for the 'replaced' operation which is useful for display lists

SVN:trunk[1776]
This commit is contained in:
Denis Flaven
2012-01-17 15:08:17 +00:00
parent e888b11fff
commit 123bac0e56

View File

@@ -522,6 +522,11 @@ class ModelFactory
protected function _priv_AlterNode(DOMNode $oNode, DOMNode $oDeltaNode)
{
foreach ($oDeltaNode->attributes as $sName => $oAttrNode)
{
$oNode->setAttribute($sName, $oAttrNode->value);
}
foreach($oDeltaNode->childNodes as $oChildNode)
{
$sOperation = $oChildNode->getAttribute('_operation');
@@ -553,6 +558,12 @@ class ModelFactory
}
break;
case 'replaced':
$oNewNode = $this->oDOMDocument->importNode($oChildNode, true); // Import the node and its child nodes
$oToModify = $this->_priv_GetNodes($sPath, $oNode)->item(0);
$oNode->replaceChild($oNewNode, $oToModify);
break;
case 'created':
$oNewNode = $this->oDOMDocument->importNode($oChildNode);
$oNode->appendChild($oNewNode);