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);
 }