|
|
xslt_set_error_handler (PHP 4 >= 4.0.4, PECL) xslt_set_error_handler -- Set an error handler for a XSLT processor Descriptionvoid 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).
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 )
例例子 1. xslt_set_error_handler() Example
<?php
function xslt_error_handler($handler, $errno, $level, $info)
{
var_dump(func_get_args());
}
$xml='<?xml version="1.0"?>
<para>
oops, I misspelled the closing tag
</pata>';
$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));
?>
|
上例的输出类似于: 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"
}
} |
|
| |