aboutsummaryrefslogtreecommitdiffstats
path: root/library/Text_Highlighter/Text/Highlighter/Renderer/XML.php
diff options
context:
space:
mode:
authorMario Vavti <mario@mariovavti.com>2016-06-16 10:26:47 +0200
committerMario Vavti <mario@mariovavti.com>2016-06-16 10:26:47 +0200
commit28a7458e48d45bfa1e0a3df9ba0a5f7c13b3809b (patch)
tree7b13533527f03baee8d9cc4b339b535462ae7ada /library/Text_Highlighter/Text/Highlighter/Renderer/XML.php
parent05ed20d336c505520fde94e44789d817d136c6f4 (diff)
parentd457f11717da40f44d98eeba5b88e6f1e5636247 (diff)
downloadvolse-hubzilla-28a7458e48d45bfa1e0a3df9ba0a5f7c13b3809b.tar.gz
volse-hubzilla-28a7458e48d45bfa1e0a3df9ba0a5f7c13b3809b.tar.bz2
volse-hubzilla-28a7458e48d45bfa1e0a3df9ba0a5f7c13b3809b.zip
Merge branch 'dev' into sabre32
Diffstat (limited to 'library/Text_Highlighter/Text/Highlighter/Renderer/XML.php')
-rw-r--r--library/Text_Highlighter/Text/Highlighter/Renderer/XML.php104
1 files changed, 104 insertions, 0 deletions
diff --git a/library/Text_Highlighter/Text/Highlighter/Renderer/XML.php b/library/Text_Highlighter/Text/Highlighter/Renderer/XML.php
new file mode 100644
index 000000000..7b6fb2106
--- /dev/null
+++ b/library/Text_Highlighter/Text/Highlighter/Renderer/XML.php
@@ -0,0 +1,104 @@
+<?php
+/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
+/**
+ * XML renderer.
+ *
+ * Based on the HTML renderer by Andrey Demenev.
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt. If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @category Text
+ * @package Text_Highlighter
+ * @author Stoyan Stefanov <ssttoo@gmail.com>
+ * @copyright 2006 Stoyan Stefanov
+ * @license http://www.php.net/license/3_0.txt PHP License
+ * @version CVS: $Id$
+ * @link http://pear.php.net/package/Text_Highlighter
+ */
+
+/**
+ * @ignore
+ */
+
+require_once 'Text/Highlighter/Renderer.php';
+require_once 'Text/Highlighter/Renderer/Array.php';
+require_once 'XML/Serializer.php';
+
+/**
+ * XML renderer, based on Andrey Demenev's HTML renderer.
+ *
+ * @author Stoyan Stefanov <ssttoo@gmail.com>
+ * @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:
+ */
+
+?>