(PHP 4 >= 4.0.4)
xslt_set_error_handler — Set an error handler for a XSLT processor
   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).
  
xhThe XSLT processor link identifier, created with xslt_create().
handlerThe 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:
$xh
        , int $error_level
        , int $error_code
        , array $messages
        )No value is returned.
Example #1 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"
  }
}