Delicious Bookmark this on Delicious Share on Facebook SlashdotSlashdot It! Digg! Digg



PHP : Function Reference : XSLT Functions : xslt_set_error_handler

xslt_set_error_handler

Set an error handler for a XSLT processor (PHP 4 >= 4.0.4)
void xslt_set_error_handler ( resource xh, mixed handler )

Example 2665. xslt_set_error_handler() Example

<?php

// Our XSLT error handler
function xslt_error_handler($handler, $errno, $level, $info)
{
 
// for now, let's just see the arguments
 
var_dump(func_get_args());
}

// XML content :
$xml='<?xml version="1.0"?>
<para>
oops, I misspelled the closing tag
</pata>'
;

// XSL content :
$xsl='<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
  <strong><xsl:value-of select="para"/></strong>
</xsl:template>
</xsl:stylesheet>'
;

$xh = xslt_create();

xslt_set_error_handler($xh, "xslt_error_handler");

echo
xslt_process($xh, 'arg:/_xml', 'arg:/_xsl',
                 
NULL, array("/_xml" => $xml, "/_xsl" => $xsl));

?>

The above example will output something similar to:

array(4) {
 [0]=>
 resource(1) of type (XSLT Processor)
 [1]=>
 int(3)
 [2]=>
 int(0)
 [3]=>
 array(6) {
   ["msgtype"]=>
   string(5) "error"
   ["code"]=>
   string(1) "2"
   ["module"]=>
   string(9) "Sablotron"
   ["URI"]=>
   string(9) "arg:/_xml"
   ["line"]=>
   string(1) "4"
   ["msg"]=>
   string(34) "XML parser error 7: mismatched tag"
 }
}

Code Examples / Notes » xslt_set_error_handler

26-aug-2002 09:15

To set the error handler to the instance of an object, use the:
xslt_set_error_handler($xh, array($obj, $method))
syntax.


jocke n0spam

Addition to the last note. in the array I have used array($this, "myMethod") to make it use an internal function in a class.
I reckon this is how it is meant to work (not tested)
$myObj = new MyObj()
xslt_set_error_handler_($xh, array($myObj, "myErrorMethod"));


Change Language


Follow Navioo On Twitter
xslt_backend_info
xslt_backend_name
xslt_backend_version
xslt_create
xslt_errno
xslt_error
xslt_free
xslt_getopt
xslt_process
xslt_set_base
xslt_set_encoding
xslt_set_error_handler
xslt_set_log
xslt_set_object
xslt_set_sax_handler
xslt_set_sax_handlers
xslt_set_scheme_handler
xslt_set_scheme_handlers
xslt_setopt
eXTReMe Tracker