Goetas\Twital\Attribute\IfAttribute::visit PHP Method

visit() public method

public visit ( DOMAttr $att, Compiler $context )
$att DOMAttr
$context Goetas\Twital\Compiler
    public function visit(\DOMAttr $att, Compiler $context)
    {
        $node = $att->ownerElement;
        $pi = $context->createControlNode("if " . html_entity_decode($att->value));
        $node->parentNode->insertBefore($pi, $node);
        if (!($nextElement = self::findNextElement($node)) || !$nextElement->hasAttributeNS(Twital::NS, 'elseif') && !$nextElement->hasAttributeNS(Twital::NS, 'else')) {
            $pi = $context->createControlNode("endif");
            $node->parentNode->insertBefore($pi, $node->nextSibling);
            // insert after
        } else {
            self::removeWhitespace($node);
        }
        $node->removeAttributeNode($att);
    }