(PHP 4 >= 4.0.4)
xslt_set_error_handler — Imposta un error handler per un processore XSLT
Imposta una funzione di error handler per il processore XSLT dato da
xh, questa funzione sarà richiamata quando ha luogo un
errore nella trasformazione XSLT (questa funzione è anche richiamata
per gli avvisi).
xhThe XSLT processor link identifier, created with xslt_create().
handler
La funzione utente deve ricevere quattro parametri: il processore XSLT, il livello di errore, il codice di errore e un array dei messaggi. La funzione può essere rappresentata come:
$xh
, int $error_level
, int $error_code
, array $messages
)Nessun valore viene restituito.
Example #1 Esempio di uso di xslt_set_error_handler()
<?php
// Il nostro gestore degli errori XSLT
function xslt_error_handler($handler, $errno, $level, $info)
{
// Per ora visualizza i parametri
var_dump(func_get_args());
}
// contenuto XML:
$xml='<?xml version="1.0"?>
<para>
oops, I misspelled the closing tag
</pata>';
// Contenuto XSL:
$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));
?>
Il precedente esempio visualizzerà qualcosa simile a:
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"
}
}