Set an error handler for a XSLT processor xslt_set_encoding xslt_set_log XSLT Functions PHP Manual xslt_set_error_handler (PHP 4 >= 4.0.4)xslt_set_error_handler — Set an error handler for a XSLT processor Description void xslt_set_error_handler ( resource $xh , mixed $handler ) Set an error handler function for the XSLT processor given by xh , this function will be called whenever an error occurs in the XSLT transformation (this function is also called for notices). Parameters xh The XSLT processor link identifier, created with xslt_create(). handler The user function needs to accept four parameters: the XSLT processor, the error level, the error code and an array of messages. The function can be shown as: error_handler ( resource $xh , int $error_level , int $error_code , array $messages ) Return Values No value is returned. Examples Example #1 xslt_set_error_handler() Example <?php// Our XSLT error handlerfunction 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" } } See Also xslt_set_object() if you want to use an object method as handler xslt_set_encoding xslt_set_log XSLT Functions PHP Manual