From 786dde43ea21c1990071683a8cf5efd3bd1b791d Mon Sep 17 00:00:00 2001 From: xue <> Date: Fri, 20 Jul 2007 12:33:27 +0000 Subject: Replaced GeSHi with Text_Highlighter --- .../Text/Highlighter/Renderer/XML.php | 103 +++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 framework/3rdParty/TextHighlighter/Text/Highlighter/Renderer/XML.php (limited to 'framework/3rdParty/TextHighlighter/Text/Highlighter/Renderer/XML.php') diff --git a/framework/3rdParty/TextHighlighter/Text/Highlighter/Renderer/XML.php b/framework/3rdParty/TextHighlighter/Text/Highlighter/Renderer/XML.php new file mode 100644 index 00000000..e86f620a --- /dev/null +++ b/framework/3rdParty/TextHighlighter/Text/Highlighter/Renderer/XML.php @@ -0,0 +1,103 @@ + + * @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: + */ + +?> \ No newline at end of file -- cgit v1.2.3