adoSchema::xslt_error_handler PHP Method

xslt_error_handler() public method

Processes XSLT transformation errors
public xslt_error_handler ( object $parser, integer $errno, integer $level, array $fields )
$parser object XML parser object
$errno integer Error number
$level integer Error level
$fields array Error information fields
    function xslt_error_handler($parser, $errno, $level, $fields)
    {
        if (is_array($fields)) {
            $msg = array('Message Type' => ucfirst($fields['msgtype']), 'Message Code' => $fields['code'], 'Message' => $fields['msg'], 'Error Number' => $errno, 'Level' => $level);
            switch ($fields['URI']) {
                case 'arg:/_xml':
                    $msg['Input'] = 'XML';
                    break;
                case 'arg:/_xsl':
                    $msg['Input'] = 'XSL';
                    break;
                default:
                    $msg['Input'] = $fields['URI'];
            }
            $msg['Line'] = $fields['line'];
        } else {
            $msg = array('Message Type' => 'Error', 'Error Number' => $errno, 'Level' => $level, 'Fields' => var_export($fields, TRUE));
        }
        $error_details = $msg['Message Type'] . ' in XSLT Transformation' . "\n" . '<table>' . "\n";
        foreach ($msg as $label => $details) {
            $error_details .= '<tr><td><b>' . $label . ': </b></td><td>' . htmlentities($details) . '</td></tr>' . "\n";
        }
        $error_details .= '</table>';
        trigger_error($error_details, E_USER_ERROR);
    }