{{if $node->nodeType === XML_TEXT_NODE or $node->nodeType === XML_CDATA_SECTION_NODE}}
{{if trim( $node->wholeText ) !== ''}}
{$node->wholeText}
{{endif}}
{{elseif $node->nodeType === XML_COMMENT_NODE}}
<!-- ... -->
{{elseif $node->nodeName === 'if' or $node->nodeName === 'foreach' or $node->nodeName === 'for'}}
{\0{\0{$node->nodeName} {$node->attributes->getNamedItem('code')->nodeValue}\0}\0}
{{if $node->hasChildNodes()}}
{{foreach $node->childNodes as $child}}
{template="themeHookEditorTree" group="applications" params="$child"}
{{endforeach}}
{{endif}}
{\0{\0end{$node->nodeName}\0}\0}
{{else}}
{{if $node->nodeName != 'ipscontent'}}
<{expression="preg_replace( '/^(x_)?([a-z]+)(_x)?$/i', '$2', $node->nodeName )"}{{if $node->hasAttributes()}}{{for $i = 0; $i < $node->attributes->length; ++$i}} {$node->attributes->item( $i )->nodeName}="{$node->attributes->item( $i )->nodeValue}"{{endfor}}{{endif}}>
{{endif}}
{{if $node->hasChildNodes()}}
{{foreach $node->childNodes as $child}}
{template="themeHookEditorTree" group="applications" params="$child"}
{{endforeach}}
{{endif}}
{{if $node->nodeName != 'ipscontent'}}
</{expression="preg_replace( '/^(x_)?([a-z]+)(_x)?$/i', '$2', $node->nodeName )"}>
{{endif}}
{{endif}}