PHP: xslt_set_error_handler - Manual

downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

xslt_set_log xslt_set_encoding

Last updated: Sat, 27 Jan 2007

view this page in

# xslt_set_error_handler

(PHP 4 >= 4.0.4, PECL)

xslt_set_error_handler -- Set an error handler for a XSLT processor

## Description

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).

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

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

xslt_set_object() if you want to use an object method as handler.

add a note User Contributed Notes
xslt_set_error_handler
jocke n0spam at selincite dot com
01-Oct-2002 08:20
`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"));`
26-Aug-2002 01:15
`To set the error handler to the instance of an object, use the:
xslt_set_error_handler($xh, array($obj, $method))
syntax.`
add a note
xslt_set_log xslt_set_encoding

Last updated: Sat, 27 Jan 2007
show source | credits | stats | sitemap | contact | advertising | mirror sites
Copyright © 2001-2007 The PHP Group
All rights reserved.
This mirror generously provided by: Yahoo! Inc.
Last updated: Sat Mar 10 10:36:09 2007 PST