/** * handle start tags * * @access private * @param resource xml parser resource * @param string name of the element * @param string Element attributes */ function startOutHandler($xp, $name, $attribs) { // put all non dotweb tags in the output stream the same way they look like in the template if (!ereg('^dotweb:', $name)) { if (count($this->namestack) == 0 && $name != 'helper') { $this->output .= '<' . $name; foreach ($attribs as $key => $value) { $this->output .= ' ' . $key . '="' . $value . '"'; } if (in_array($name, $this->nocontent)) { $this->output .= '/>'; } else { $this->output .= '>'; } } } else { if ($name == 'dotweb:title') { $this->output .= '<title>' . $this->_title . '</title>'; } if (isset($attribs['id']) && count($this->namestack) == 0) { if ($cont = $this->objects[$attribs['id']]->getContent()) { $tplparser = new TemplateParser(); $cont = $tplparser->getOutput($this->objects, '<helper>' . $cont . '</helper>'); $this->objects[$attribs['id']]->setContent($cont); } $this->output .= $this->objects[$attribs['id']]->getCode(); } array_push($this->namestack, $name); } }