xslt_set_error_handler
(PHP 4 >= 4.0.4, PECL)
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 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"
}
} |
|