xslt_set_error_handler

(PHP 4 >= 4.0.4)

xslt_set_error_handler — Set an error handler for a XSLT processor

Описание

void xslt_set_error_handler ( resource $xh , mixed $handler )

Set an error handler function for the XSLT processor given by xh , this function will be called whenever an error occurs in the XSLT transformation (this function is also called for notices).

Список параметров

xh

The XSLT processor link identifier, created with xslt_create().

handler

The user function needs to accept four parameters: the XSLT processor, the error level, the error code and an array of messages. The function can be shown as:

error_handler ( resource $xh , int $error_level , int $error_code , array $messages )

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 xslt_set_error_handler() Example

<?php

// Our XSLT error handler
function xslt_error_handler($handler$errno$level$info)
{
  
// for now, let's just see the arguments
  
var_dump(func_get_args());
}

// XML content :
$xml='<?xml version="1.0"?>
<para>
 oops, I misspelled the closing tag
</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));

?>

Результатом выполнения данного примера будет что-то подобное:

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"
  }
}

Смотрите также

Коментарии

Автор:
To set the error handler to the instance of an object, use the:

xslt_set_error_handler($xh, array($obj, $method))

syntax.
2002-08-26 16:15:55
http://php5.kiev.ua/manual/ru/function.xslt-set-error-handler.html
Addition to the last note. in the array I have used array($this, "myMethod") to make it use an internal function in a class. 
I reckon this is how it is meant to work (not tested)
$myObj = new MyObj()
xslt_set_error_handler_($xh, array($myObj, "myErrorMethod"));
2002-10-01 11:20:48
http://php5.kiev.ua/manual/ru/function.xslt-set-error-handler.html

    Поддержать сайт на родительском проекте КГБ