/** * Handle a node. * * Handle / transform a given node, and return the result of the * conversion. * * @param ezcDocumentElementVisitorConverter $converter * @param DOMElement $node * @param mixed $root * @return mixed */ public function handle(ezcDocumentElementVisitorConverter $converter, DOMElement $node, $root) { ++$this->level; foreach ($node->childNodes as $child) { if ($child->nodeType === XML_ELEMENT_NODE && $child->tagName === 'listitem') { foreach ($child->childNodes as $para) { if ($para->nodeType !== XML_ELEMENT_NODE) { continue; } if ($para->tagName === 'para') { $root .= str_repeat('*', $this->level) . ' ' . trim($converter->visitChildren($para, '')) . "\n\n"; } else { $root = $converter->visitNode($para, $root); } } } } --$this->level; return $root; }