|
cvs: pear /XML_Transformer README package.xml /XML_Transformer/Transformer: msg#00570php.cvs.pear
sebastian Wed Sep 25 05:08:26 2002 EDT Added files: /pear/XML_Transformer/Transformer/Driver Cache.php OutputBuffer.php Removed files: /pear/XML_Transformer/Transformer Cache.php OutputBuffer.php Modified files: /pear/XML_Transformer README package.xml Log: Hopefully the last change to the class tree layout. Index: pear/XML_Transformer/README diff -u pear/XML_Transformer/README:1.3 pear/XML_Transformer/README:1.4 --- pear/XML_Transformer/README:1.3 Fri Sep 20 15:04:30 2002 +++ pear/XML_Transformer/README Wed Sep 25 05:08:23 2002 @@ -214,11 +214,11 @@ * TODO (kk) -2.6 XML_Transformer_Cache +2.6 XML_Transformer_Driver_Cache * TODO (sb) -2.7 XML_Transformer_OutputBuffer +2.7 XML_Transformer_Driver_OutputBuffer * TODO (any) Index: pear/XML_Transformer/package.xml diff -u pear/XML_Transformer/package.xml:1.58 pear/XML_Transformer/package.xml:1.59 --- pear/XML_Transformer/package.xml:1.58 Tue Sep 24 14:02:39 2002 +++ pear/XML_Transformer/package.xml Wed Sep 25 05:08:24 2002 @@ -33,6 +33,10 @@ + Added Widget namespace handler. +* Renamed XML_Transformer_Cache and XML_Transformer_OutputBuffer + to XML_Transformer_Driver_Cache and XML_Transformer_Driver_OutputBuffer + respectively. + * Significant performance improvement by preventing unnecessary recursive parsing. @@ -61,6 +65,11 @@ <filelist> <dir name="/" baseinstalldir="XML"> <dir name="Transformer"> + <dir name="Driver"> + <file role="php" name="Cache.php"/> + <file role="php" name="OutputBuffer.php"/> + </dir> + <dir name="Namespace"> <file role="php" name="Anchor.php"/> <file role="php" name="DocBook.php"/> @@ -69,10 +78,8 @@ <file role="php" name="Widget.php"/> </dir> - <file role="php" name="Cache.php"/> <file role="php" name="CallbackRegistry.php"/> <file role="php" name="Namespace.php"/> - <file role="php" name="OutputBuffer.php"/> <file role="php" name="Util.php"/> </dir> Index: pear/XML_Transformer/Transformer/Driver/Cache.php +++ pear/XML_Transformer/Transformer/Driver/Cache.php <?php // // +----------------------------------------------------------------------+ // | PEAR :: XML :: Transformer | // +----------------------------------------------------------------------+ // | Copyright (c) 2002 Sebastian Bergmann <sb@xxxxxxxxxxxxxxxxxxxxx> and | // | Kristian Köhntopp <kris@xxxxxxxxxxxx>. | // +----------------------------------------------------------------------+ // | This source file is subject to version 3.00 of the PHP License, | // | that is available at 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 world-wide-web, please send a note to | // | license@xxxxxxx so we can mail you a copy immediately. | // +----------------------------------------------------------------------+ // // $Id: Cache.php,v 1.1 2002/09/25 09:08:25 sebastian Exp $ // require_once 'Cache/Lite.php'; require_once 'XML/Transformer.php'; /** * Caching Transformer. * * @author Sebastian Bergmann <sb@xxxxxxxxxxxxxxxxxxxxx> * Kristian Köhntopp <kris@xxxxxxxxxxxx> * @version $Revision: 1.1 $ * @access public */ class XML_Transformer_Driver_Cache extends XML_Transformer { // {{{ Members /** * @var object * @access private */ var $_cache = false; // }}} // {{{ function XML_Transformer_Driver_Cache($parameters = array()) /** * Constructor. * * @param array * @access public */ function XML_Transformer_Driver_Cache($parameters = array()) { $this->XML_Transformer($parameters); $this->_cache = new Cache_Lite($parameters); } // }}} // {{{ function transform($xml, $cacheID = '') /** * Cached transformation a given XML string using * the registered PHP callbacks for overloaded tags. * * @param string * @param string * @return string * @access public */ function transform($xml, $cacheID = '') { $cacheID = ($cacheID != '') ? $cacheID : md5($xml); $cachedResult = $this->_cache->get($cacheID, 'XML_Transformer'); if ($cachedResult !== false) { return $cachedResult; } $result = parent::transform($xml); $this->_cache->save($result, $cacheID, 'XML_Transformer'); return $result; } // }}} } /* * vim600: et sw=2 ts=2 fdm=marker * vim<600: et sw=2 ts=2 */ ?> Index: pear/XML_Transformer/Transformer/Driver/OutputBuffer.php +++ pear/XML_Transformer/Transformer/Driver/OutputBuffer.php <?php // // +----------------------------------------------------------------------+ // | PEAR :: XML :: Transformer | // +----------------------------------------------------------------------+ // | Copyright (c) 2002 Sebastian Bergmann <sb@xxxxxxxxxxxxxxxxxxxxx> and | // | Kristian Köhntopp <kris@xxxxxxxxxxxx>. | // +----------------------------------------------------------------------+ // | This source file is subject to version 3.00 of the PHP License, | // | that is available at 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 world-wide-web, please send a note to | // | license@xxxxxxx so we can mail you a copy immediately. | // +----------------------------------------------------------------------+ // // $Id: OutputBuffer.php,v 1.1 2002/09/25 09:08:25 sebastian Exp $ // require_once 'XML/Transformer.php'; /** * Uses PHP's Output Buffering mechanism to catch the * output of a script, transforms it, and outputs the * result. * * Example * * <?php * require_once 'XML/Transformer/Driver/OutputBuffer.php'; * * $t = new XML_Transformer_Driver_OutputBuffer( * array( * 'overloadedElements' => array( * 'bold' => array( * 'start' => 'startElementBold', * 'end' => 'endElementBold' * ) * ) * ) * ); * * function startElementBold($attributes) { * return '<b>'; * } * * function endElementBold($cdata) { * return $cdata . '</b>'; * } * ?> * <bold>text</bold> * * Output * * <b>text</b> * * @author Sebastian Bergmann <sb@xxxxxxxxxxxxxxxxxxxxx> * Kristian Köhntopp <kris@xxxxxxxxxxxx> * @version $Revision: 1.1 $ * @access public */ class XML_Transformer_Driver_OutputBuffer extends XML_Transformer { // {{{ Members /** * @var boolean * @access private */ var $_started = false; // }}} // {{{ function XML_Transformer_Driver_OutputBuffer($parameters = array()) /** * Constructor. * * @param array * @access public */ function XML_Transformer_Driver_OutputBuffer($parameters = array()) { $this->XML_Transformer($parameters); if (!empty($this->_callbackRegistry->overloadedElements) || !empty($this->_callbackRegistry->overloadedNamespaces)) { $this->start(); } } // }}} // {{{ function start() /** * Starts the output-buffering, * and thus the transformation. * * @access public */ function start() { if (!$this->_started) { ob_start( array( $this, 'transform' ) ); $this->_started = true; $this->_debug( 'start: ' . serialize($this) ); } } // }}} } /* * vim600: et sw=2 ts=2 fdm=marker * vim<600: et sw=2 ts=2 */ ?> -- PEAR CVS Mailing List (http://pear.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php |
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | cvs: pear(ZEND_ENGINE_2) /PHPUnit package.xml: 00570, Sebastian Bergmann |
|---|---|
| Next by Date: | cvs: pear /MDB/unittest MDB_usage_testcase.php: 00570, Paul Gregory Cooper |
| Previous by Thread: | cvs: pear /PHPUnit package.xmli: 00570, Sebastian Bergmann |
| Next by Thread: | cvs: php4 /pear PEAR.php: 00570, Martin Jansen |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |