xslt_set_error_handler

(PHP 4 >= 4.0.4)

xslt_set_error_handlerConfigure 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'erreurs du processeur XSLT représenté par xh. Le gestionnaire sera appelé à chaque fois qu'une erreur survient durant les transformations XSLT (pour les alertes aussi).

Liste de paramètres

xh

Un identifiant de lien du processus XSLT créé avec la fonction xslt_create().

handler

La fonction utilisateur, qui 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() - Définit l'objet dans lequel doivent être résolues les fonctions de rappel, si vous voulez utiliser une méthode d'un objet comme gestionnaire d'erreurs

LoadingChargement en cours