xslt_set_error_handler
(PHP 4 >= 4.0.4, PECL)
xslt_set_error_handler -- Imposta un error handler per un processore XSLT
Descrizione
void
xslt_set_error_handler ( resource xh, mixed handler )
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 le nuove notizie dallo script).
La funzione utente deve ricevere quattro parametri: il processore XSLT,
il livello di errore, il codice di errore ed una matrice di messaggi. La funzione
potrebbe essere rappresentata come:
error_handler ( resource xh, int error_level, int error_code, array messages )
Esempi
Esempio 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"
}
} |
|
Vedere anche:
Vedere xslt_set_object() se si desidera utilizzare come handler
un medoto di un oggetto.