<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >xslt_set_error_handler</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" TITLE="Manual do PHP" HREF="index.html"><LINK REL="UP" TITLE="XSLT Functions" HREF="ref.xslt.html"><LINK REL="PREVIOUS" TITLE="xslt_set_encoding" HREF="function.xslt-set-encoding.html"><LINK REL="NEXT" TITLE="xslt_set_log" HREF="function.xslt-set-log.html"><META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=UTF-8"></HEAD ><BODY CLASS="refentry" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" >Manual do PHP</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="function.xslt-set-encoding.html" ACCESSKEY="P" >Anterior</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="function.xslt-set-log.html" ACCESSKEY="N" >Próxima</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><H1 ><A NAME="function.xslt-set-error-handler" ></A >xslt_set_error_handler</H1 ><DIV CLASS="refnamediv" ><A NAME="AEN240151" ></A ><P > (PHP 4 >= 4.0.4, PECL)</P >xslt_set_error_handler -- Set an error handler for a XSLT processor</DIV ><DIV CLASS="refsect1" ><A NAME="AEN240154" ></A ><H2 >Description</H2 >void <B CLASS="methodname" >xslt_set_error_handler</B > ( resource xh, mixed handler )<BR ></BR ><P > Set an error handler function for the XSLT processor given by <CODE CLASS="parameter" >xh</CODE >, this function will be called whenever an error occurs in the XSLT transformation (this function is also called for notices). </P ><P > 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: <B CLASS="methodname" ><TT CLASS="replaceable" ><I >error_handler</I ></TT ></B > ( resource xh, int error_level, int error_code, array messages )<BR ></BR > </P ></DIV ><DIV CLASS="refsect1" ><A NAME="AEN240183" ></A ><H2 >Exemplos</H2 ><TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" CLASS="EXAMPLE" ><TR ><TD ><DIV CLASS="example" ><A NAME="AEN240185" ></A ><P ><B >Exemplo 1. <B CLASS="function" >xslt_set_error_handler()</B > Example</B ></P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><code><font color="#000000"> <font color="#0000BB"><?php<br /><br /></font><font color="#FF8000">// Our XSLT error handler<br /></font><font color="#007700">function </font><font color="#0000BB">xslt_error_handler</font><font color="#007700">(</font><font color="#0000BB">$handler</font><font color="#007700">, </font><font color="#0000BB">$errno</font><font color="#007700">, </font><font color="#0000BB">$level</font><font color="#007700">, </font><font color="#0000BB">$info</font><font color="#007700">) <br />{<br /> </font><font color="#FF8000">// for now, let's just see the arguments<br /> </font><font color="#0000BB">var_dump</font><font color="#007700">(</font><font color="#0000BB">func_get_args</font><font color="#007700">());<br />}<br /><br /></font><font color="#FF8000">// XML content :<br /></font><font color="#0000BB">$xml</font><font color="#007700">=</font><font color="#DD0000">'<?xml version="1.0"?><br /><para><br /> oops, I misspelled the closing tag<br /></pata>'</font><font color="#007700">;<br /><br /></font><font color="#FF8000">// XSL content :<br /></font><font color="#0000BB">$xsl</font><font color="#007700">=</font><font color="#DD0000">'<?xml version="1.0"?><br /><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><br /><xsl:template match="/"><br /> <strong><xsl:value-of select="para"/></strong><br /></xsl:template><br /></xsl:stylesheet>'</font><font color="#007700">;<br /><br /></font><font color="#0000BB">$xh </font><font color="#007700">= </font><font color="#0000BB">xslt_create</font><font color="#007700">();<br /><br /></font><font color="#0000BB">xslt_set_error_handler</font><font color="#007700">(</font><font color="#0000BB">$xh</font><font color="#007700">, </font><font color="#DD0000">"xslt_error_handler"</font><font color="#007700">);<br /><br />echo </font><font color="#0000BB">xslt_process</font><font color="#007700">(</font><font color="#0000BB">$xh</font><font color="#007700">, </font><font color="#DD0000">'arg:/_xml'</font><font color="#007700">, </font><font color="#DD0000">'arg:/_xsl'</font><font color="#007700">,<br /> </font><font color="#0000BB">NULL</font><font color="#007700">, array(</font><font color="#DD0000">"/_xml" </font><font color="#007700">=> </font><font color="#0000BB">$xml</font><font color="#007700">, </font><font color="#DD0000">"/_xsl" </font><font color="#007700">=> </font><font color="#0000BB">$xsl</font><font color="#007700">));<br /><br /></font><font color="#0000BB">?></font> </font> </code></TD ></TR ></TABLE ><P >O exemplo acima irá imprimir algo similar a:</P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><PRE CLASS="screen" >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" } }</PRE ></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></DIV ><DIV CLASS="refsect1" ><A NAME="AEN240191" ></A ><H2 >Veja também</H2 ><P > <A HREF="function.xslt-set-object.html" ><B CLASS="function" >xslt_set_object()</B ></A > if you want to use an object method as handler. </P ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="function.xslt-set-encoding.html" ACCESSKEY="P" >Anterior</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >Principal</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="function.xslt-set-log.html" ACCESSKEY="N" >Próxima</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >xslt_set_encoding</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="ref.xslt.html" ACCESSKEY="U" >Acima</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >xslt_set_log</TD ></TR ></TABLE ></DIV ></BODY ></HTML >