aboutsummaryrefslogtreecommitdiffstats
path: root/library/Text_Highlighter/Text/Highlighter/Renderer/XML.php
diff options
context:
space:
mode:
authorAndrew Manning <tamanning@zoho.com>2016-06-16 19:45:02 -0400
committerAndrew Manning <tamanning@zoho.com>2016-06-16 19:45:02 -0400
commite5f4d80bbe0c085a55f676aa1b05fb9bab1e4dc7 (patch)
tree3b46494707be3560c855e1b1a4cdcd329f7fa570 /library/Text_Highlighter/Text/Highlighter/Renderer/XML.php
parentf2dda646ecf1d11bf88c085d1174d3c147f799b1 (diff)
parentaa77b04860a68370d829f1081418e69777d0e1f9 (diff)
downloadvolse-hubzilla-e5f4d80bbe0c085a55f676aa1b05fb9bab1e4dc7.tar.gz
volse-hubzilla-e5f4d80bbe0c085a55f676aa1b05fb9bab1e4dc7.tar.bz2
volse-hubzilla-e5f4d80bbe0c085a55f676aa1b05fb9bab1e4dc7.zip
Merge remote-tracking branch 'upstream/dev' into dev
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:
+ */
+
+?>