function filter(HatenaSyntax_Node $rootnode) { if ($rootnode->getType() !== 'root') { throw new Exception(); } $header_arr = $this->fetchHeader($rootnode); $ret = array(); foreach ($header_arr as $header) { $buf = $header->getData(); $ret[] = array('level' => $buf['level'], 'value' => $header); } return $ret; }
protected function renderNode(HatenaSyntax_Node $node) { $ret = $this->{'render' . $node->getType()}($node->getData()); return $ret; }
protected static function assertRootNode(HatenaSyntax_Node $node) { if ($node->getType() !== 'root') { throw new InvalidArgumentException('this node must be root node'); } }