xslt_set_error_handler
(PHP 4 >= 4.0.4)
xslt_set_error_handler --
Configure le gestionnaire d'erreurs du processeur
XSLT
Description
void
xslt_set_error_handler ( resource xh, mixed handler )
xslt_set_error_handler() configure le gestionnaire
d'erreur du processeur XSLT identifié par
xh. Le gestionnaire sera appelé à
chaque fois qu'une erreur survient durant les transformations
XSLT (pour les notices aussi).
La fonction utilisateur doit accepter quatre paramètres : le processeur XSLT,
le niveau d'erreur, le code erreur et un tableau de messages. La fonction peut
être définie comme :
error_handler ( resource xh, int error_level, int error_code, array messages )
Exemples
Exemple 1. Exemple avec xslt_set_error_handler()
<?php
// Notre gestionnaire d'erreur function xslt_error_handler($handler, $errno, $level, $info) { // pour le moment, on regarde juste ce qu'on reçoit var_dump(func_get_args()); }
// Contenu XML : $xml='<?xml version="1.0" encoding="iso-8859-1"?> <para> oops, j\'ai mal écris la balise fermante </pata>';
// Contenu 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));
?>
|
L'exemple ci-dessus va afficher quelque chose de similaire à : 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"
}
} |
|
Voir aussi
xslt_set_object() si vous voulez utiliser
une méthode d'un objet comme gestionnaire.