xslt_set_error_handler Set an error handler for a XSLT processor


xslt_set_error_handler

(PHP 4 >= 4.0.4)

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

返回值

没有返回值。

范例

Example #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() - Sets the object in which to resolve callback functions if you want to use an object method as handler


«  xslt_set_encoding
» xslt_set_log
快速导航

Copyright © 2016 phpStudy |