xslt_set_encoding
xslt_set_log
Fonctions XSLT
PHP Manual

# 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` )

Configure le gestionnaire d'erreurs du processeur XSLT identifié par `xh` . Le gestionnaire sera appelé à chaque fois qu'une erreur survient durant les transformations XSLT (pour les notices aussi).

### Liste de paramètres

`xh`

  L'identifiant du processus XSLT, créé par la fonction xslt_create().

`handler`

  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` )

### Valeurs de retour

Aucune valeur n'est retournée.

### 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 que l'on reçoit
var_dump(func_get_args());
}
// Contenu XML :
$xml='<?xml version="1.0"?>
<para>
oops, j\'ai mal écrit 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

xslt_set_encoding
xslt_set_log
Fonctions XSLT
PHP Manual