PHP Dokumentation: Function xslt-set-error-handler
12. Januar 2010 von werner
xslt_set_error_handler
(PHP 4 >= 4.0.4)
xslt_set_error_handler — Legt einen Errorhandler für einen XSLT-Prozessor fest
Beschreibung
Legt eine Errorhandler-Funktion für den mittels xh übergebenen XSLT-Prozessor fest. Diese Funktion wird aufgerufen, sobald ein Fehler in der XSLT-Transformation auftritt (die Funktion wird zudem für Noticecalls verwendet).
Parameter-Liste
- xh
Der Link-Identifier des XSLT-Prozessors, der mittels xslt_create() erstellt wurde.
- handler
Die Benutzerfunktion benötigt vier Parameter: den XSLT-Prozessor, das Errorlevel, den Fehlercode und ein Array der Nachrichten. Die Funktion kann so dargestellt werden:
error_handler ( resource $xh , int $error_level , int $error_code , array $messages )
Rückgabewerte
Es wird kein Wert zurückgegeben.
Beispiele
Beispiel #1 xslt_set_error_handler()-Beispiel
<?php// Unser XSLT-Errorhandler
function xslt_error_handler($handler, $errno, $level, $info)
{
// die Argumente anzeigen lassen
var_dump(func_get_args());
}// XML-Content:
$xml='<?xml version="1.0"?>
<para>
Oops, ich habe den schließenden Tag falsch geschrieben!
</pata>';// XSL-Content:
$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));?>Das oben gezeigte Beispiel erzeugteine ähnliche Ausgabe wie:
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" }}Siehe auch
- xslt_set_object() – Sets the object in which to resolve callback functions wenn Sie eine Objektmethode als Handler verwenden wollen