(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).
işlemci
xslt_create() tarafından oluşturulmuş bir XSLT işlemci özkaynağı.
eylemci
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:
$işlemci
, int $hata_seviyesi
, int $hata_kodu
, array $iletiler
)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" } }