protected function _addAttributesToTagNode($tag_node, $attrs) { foreach ($attrs as $name => $value) { if ($value === null) { $location = $this->parser->getCurrentLocation(); throw new lmbMacroException('Attribute should have a value', array('file' => $location->getFile(), 'line' => $location->getLine(), 'tag' => $tag_node->getTag(), 'attribute' => $name)); } $attribute = new lmbMacroTagAttribute($name); $listener = new lmbMacroTagAttributeBlockAnalizerListener($attribute, $tag_node); $analizer = new lmbMacroBlockAnalizer(); $analizer->parse($value, $listener); $tag_node->add($attribute); } }
function addContent($text, $location) { $listener = new lmbMacroContentBlockAnalizerListener($this, $location, $this->filter_dictionary); $analizer = new lmbMacroBlockAnalizer(); $analizer->parse($text, $listener); }