cvs: pear /XML_Transformer Transformer.php package.xml /XML_Transformer/Transformer/Driver OutputBuffer.php
| From: | Sebastian Bergmann | Date: | Mon, 08 Sep 2003 16:25:06 +0000 |
| Subject: | cvs: pear /XML_Transformer Transformer.php package.xml /XML_Transformer/Transformer/Driver OutputBuffer.php | ||
| Groups: | php.pear.cvs | ||
| Request: | Send a blank email to pear-cvs+get-12545@lists.php.net to get a copy of this message | ||
sebastian Mon Sep 8 12:25:06 2003 EDT
Modified files:
/pear/XML_Transformer Transformer.php package.xml
/pear/XML_Transformer/Transformer/Driver OutputBuffer.php
Log:
Performance improvements due to changes in the debug mode.
Index: pear/XML_Transformer/Transformer.php
diff -u pear/XML_Transformer/Transformer.php:1.111 pear/XML_Transformer/Transformer.php:1.112
--- pear/XML_Transformer/Transformer.php:1.111 Sat Jan 18 13:13:04 2003
+++ pear/XML_Transformer/Transformer.php Mon Sep 8 12:25:06 2003
@@ -13,7 +13,7 @@
// | license@php.net so we can mail you a copy immediately. |
// +---------------------------------------------------------------------------+
//
-// $Id: Transformer.php,v 1.111 2003/01/18 18:13:04 sebastian Exp $
+// $Id: Transformer.php,v 1.112 2003/09/08 16:25:06 sebastian Exp $
//
require_once 'XML/Transformer/CallbackRegistry.php';
@@ -28,7 +28,7 @@
*
* @author Sebastian Bergmann <sb@sebastian-bergmann.de>
* @author Kristian Köhntopp <kris@koehntopp.de>
-* @version $Revision: 1.111 $
+* @version $Revision: 1.112 $
* @access public
*/
class XML_Transformer {
@@ -482,15 +482,16 @@
$this->_elementStack[$this->_level] = $element;
$this->_attributesStack[$this->_level] = $attributes;
- $this->_debug(
- sprintf(
- 'startElement[%d]: %s %s',
- $this->_level,
- $element,
- XML_Transformer_Util::attributesToString($attributes)
- ),
- $element
- );
+ if ($this->_checkDebug($element)) {
+ $this->_debug(
+ sprintf(
+ 'startElement[%d]: %s %s',
+ $this->_level,
+ $element,
+ XML_Transformer_Util::attributesToString($attributes)
+ )
+ );
+ }
if ($process &&
isset($this->_callbackRegistry->overloadedNamespaces[$namespacePrefix]['active'])) {
@@ -565,14 +566,15 @@
if ($recursion) {
// Recursively process this transformation's result.
- $this->_debug(
- sprintf(
- 'start recursion[%d]: %s',
- $this->_level,
- $cdata
- ),
- '&RECURSE'
- );
+ if ($this->_checkDebug('&RECURSE')) {
+ $this->_debug(
+ sprintf(
+ 'start recursion[%d]: %s',
+ $this->_level,
+ $cdata
+ )
+ );
+ }
$transformer = new XML_Transformer(
array(
@@ -584,26 +586,28 @@
$cdata = $transformer->transform($cdata);
+ if ($this->_checkDebug('&RECURSE')) {
+ $this->_debug(
+ sprintf(
+ 'end recursion[%d]: %s',
+ $this->_level,
+ $cdata
+ )
+ );
+ }
+ }
+
+ if ($this->_checkDebug($element)) {
$this->_debug(
sprintf(
- 'end recursion[%d]: %s',
+ 'endElement[%d]: %s (with cdata=%s)',
$this->_level,
- $cdata
- ),
- '&RECURSE'
+ $element,
+ $this->_cdataStack[$this->_level]
+ )
);
}
- $this->_debug(
- sprintf(
- 'endElement[%d]: %s (with cdata=%s)',
- $this->_level,
- $element,
- $this->_cdataStack[$this->_level]
- ),
- $element
- );
-
// Move result of this transformation step to
// the parent's CDATA section.
@@ -621,15 +625,16 @@
* @access private
*/
function _characterData($parser, $cdata) {
- $this->_debug(
- sprintf(
- 'cdata [%d]: %s + %s',
- $this->_level,
- $this->_cdataStack[$this->_level],
- $cdata
- ),
- '&CDATA'
- );
+ if ($this->_checkDebug('&CDATA')) {
+ $this->_debug(
+ sprintf(
+ 'cdata [%d]: %s + %s',
+ $this->_level,
+ $this->_cdataStack[$this->_level],
+ $cdata
+ )
+ );
+ }
$this->_cdataStack[$this->_level] .= $cdata;
}
@@ -681,23 +686,40 @@
}
// }}}
- // {{{ function _debug($debugMessage, $currentElement = '')
+ // {{{ function _checkDebug($currentElement = '')
/**
- * Sends a debug message to error.log, if debugging is enabled.
+ * Checks whether a debug message should be printed
+ * for the current event.
*
* @param string
+ * @return boolean
* @access private
*/
- function _debug($debugMessage, $currentElement = '') {
+ function _checkDebug($currentElement = '') {
if ($this->_debug &&
(empty($this->_debugFilter) ||
isset($this->_debugFilter[$currentElement]))) {
- XML_Transformer_Util::logMessage(
- $debugMessage,
- $this->_logTarget
- );
+ return true;
+ } else {
+ return false;
}
+ }
+
+ // }}}
+ // {{{ function _debug($debugMessage, $currentElement = '')
+
+ /**
+ * Sends a debug message to error.log, if debugging is enabled.
+ *
+ * @param string
+ * @access private
+ */
+ function _debug($debugMessage) {
+ XML_Transformer_Util::logMessage(
+ $debugMessage,
+ $this->_logTarget
+ );
}
// }}}
Index: pear/XML_Transformer/package.xml
diff -u pear/XML_Transformer/package.xml:1.65 pear/XML_Transformer/package.xml:1.66
--- pear/XML_Transformer/package.xml:1.65 Sat Jul 12 04:02:05 2003
+++ pear/XML_Transformer/package.xml Mon Sep 8 12:25:06 2003
@@ -29,7 +29,8 @@
<date>2003-05-06</date>
<notes>
<![CDATA[
-Bugfix release.
+* Performance improvements due to changes in the
+ debug mode.
]]>
</notes>
<filelist>
@@ -62,6 +63,16 @@
</deps>
</release>
<changelog>
+ <release>
+ <version>0.8.1</version>
+ <state>stable</state>
+ <date>2003-05-06</date>
+ <notes>
+<![CDATA[
+* Bugfix release.
+]]>
+ </notes>
+ </release>
<release>
<version>0.8</version>
<state>stable</state>
Index: pear/XML_Transformer/Transformer/Driver/OutputBuffer.php
diff -u pear/XML_Transformer/Transformer/Driver/OutputBuffer.php:1.6
pear/XML_Transformer/Transformer/Driver/OutputBuffer.php:1.7
--- pear/XML_Transformer/Transformer/Driver/OutputBuffer.php:1.6 Sat Jan 18 13:01:24 2003
+++ pear/XML_Transformer/Transformer/Driver/OutputBuffer.php Mon Sep 8 12:25:06 2003
@@ -13,7 +13,7 @@
// | license@php.net so we can mail you a copy immediately. |
// +---------------------------------------------------------------------------+
//
-// $Id: OutputBuffer.php,v 1.6 2003/01/18 18:01:24 sebastian Exp $
+// $Id: OutputBuffer.php,v 1.7 2003/09/08 16:25:06 sebastian Exp $
//
require_once 'XML/Transformer.php';
@@ -55,7 +55,7 @@
*
* @author Sebastian Bergmann <sb@sebastian-bergmann.de>
* @author Kristian Köhntopp <kris@koehntopp.de>
-* @version $Revision: 1.6 $
+* @version $Revision: 1.7 $
* @access public
*/
class XML_Transformer_Driver_OutputBuffer extends XML_Transformer {
@@ -103,9 +103,11 @@
$this->_started = true;
- $this->_debug(
- 'start: ' . serialize($this)
- );
+ if ($this->_checkDebug()) {
+ $this->_debug(
+ 'start: ' . serialize($this)
+ );
+ }
}
}