* @copyright 2006 Stoyan Stefanov * @license http://www.php.net/license/3_0.txt PHP License * @version CVS: $Id: XML.php,v 1.1 2007/06/03 02:37:09 ssttoo Exp $ * @link http://pear.php.net/package/Text_Highlighter */ /** * @ignore */ require_once dirname(__FILE__).'/../Renderer.php'; require_once dirname(__FILE__).'/../Renderer/Array.php'; /** * XML renderer, based on Andrey Demenev's HTML renderer. * * @author Stoyan Stefanov * @category Text * @package Text_Highlighter * @copyright 2006 Stoyan Stefanov * @license http://www.php.net/license/3_0.txt PHP License * @version Release: 0.5.0 * @link http://pear.php.net/package/Text_Highlighter */ class Text_Highlighter_Renderer_XML extends Text_Highlighter_Renderer_Array { /** * Options for XML_Serializer * * @access private * @var array */ var $_serializer_options = array(); /** * Resets renderer state * * Descendents of Text_Highlighter call this method from the constructor, * passing $options they get as parameter. * * @access protected */ function reset() { parent::reset(); if (isset($this->_options['xml_serializer'])) { $this->_serializer_options = $this->_options['xml_serializer']; } } /** * Signals that no more tokens are available * * @abstract * @access public */ function finalize() { // call parent's finalize(), then serialize array into XML parent::finalize(); $output = parent::getOutput(); $serializer = new XML_Serializer($this->_serializer_options); $result = $serializer->serialize($output); if ($result === true) { $this->_output = $serializer->getSerializedData(); } } } /* * Local variables: * tab-width: 4 * c-basic-offset: 4 * c-hanging-comment-ender-p: nil * End: */ ?>