(PHP 4 >= 4.0.4)
xslt_set_error_handler — XSLT işlemci için bir hata eylemci belirler
işlemci ile belirtilen XSLT işlemcisi için bir hata işleme işlevi belirtir. XSLT dönüşümünde her hata meydana gelişinde belirtilen eylemci işlev çağrılır (bilgi iletileri için de bu işlev çağrılır).
xslt_create() tarafından oluşturulmuş bir XSLT işlemci özkaynağı.
Kullanıcı tanımlı olan bu işlev dört değiştirge kabul etmelidir: XSLT işlemci, hata seviyesi, hata kodu ve iletiler için bir dizi. İşlevin söz dizimi şöyledir:
Hiçbir değer dönmez.
Örnek 1 - xslt_set_error_handler() örneği
<?php
// XSLT hata eylemcimiz
function xslt_hata_eylemcisi($işlemci, $hatanum, $seviye, $bilgi)
{
// şimdilik sadece değiştirgeleri görelim
var_dump(func_get_args());
}
// XML içerik:
$xml='<?xml version="1.0"?>
<para>
Kapanış etiketini bilerek yanlış yazdık.
</pata>';
// XSL içerik:
$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>';
$işlemci = xslt_create();
xslt_set_error_handler($işlemci, "xslt_hata_eylemcisi");
echo xslt_process($işlemci, 'arg:/_xml', 'arg:/_xsl',
NULL, array("/_xml" => $xml, "/_xsl" => $xsl));
?>
Yukarıdaki örnek şuna benzer bir çıktı üretir:
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" } }