php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #10569 xslt_error handling
Submitted: 2001-04-30 19:37 UTC Modified: 2001-07-30 18:32 UTC
From: msopacua at idg dot nl Assigned:
Status: Closed Package: Sablotron XSL
PHP Version: 4.0.4pl1 OS: BSD
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: msopacua at idg dot nl
New email:
PHP Version: OS:

 

 [2001-04-30 19:37 UTC] msopacua at idg dot nl
Hi,

again - the error handling issue.
I read the closed bugs and am surprised at the speed at which they are closed.

First of all - a documentation issue:
xslt_set_error_handler isn't documented. Thank you for mentioning it briefly, and then letting me figure out the arguments the called function needs.

Secondly - dying with a Fatal error, DOES occur, when the error handler isn't set! Even when using @xslt_process.

Try this one:
<?php

$xslData = '<xsl:stylesheet
  version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="article">
    <table border="1" cellpadding="2" cellspacing="1">
        <tr>
            <td width="20%">
             &#160;
            </td>
            <td width="80%">
                <h2><xsl:value-of select="title"/></h2>
                <h3><xsl:value-of select="author"/></h3>
                <br/>
                
                <xsl:copy-of select="p"/>
            </td>
        </tr>
    </table>
</xsl:template>

</xsl:stylesheet>';

$xmlData = '<?xml version="1.0"?>
<article>
    <title>Learning German</title>
    <author>Sterling Hughes</author>
    <p>
        Essential phrases:
        <br>
        K&#246;nnen Sie mir sagen, wo die Toilette ist?<br/>
        Ein grosses Bier, bitte!<br/>
        Noch eins, bitte.<br/>
    </p>
</article>';
function xsl_error($errno, $errstr)
{
	echo "\$errorstr: $errstr<BR>";
	return false;
}
//xslt_set_error_handler("xsl_error");
if (@xslt_process($xslData, $xmlData, $result)) {
    echo "Here is the brilliant in-depth article on learning";
    echo " German: ";
    echo "<br>\n<br>";
    echo $result;
} else {
    echo "There was an error that occurred in the XSL transformation...\n";
    echo "\tError number: " . xslt_errno() . "\n";
    echo "\tError string: " . xslt_error() . "\n";
    //exit;
}
?>
</BODY>
</HTML>

You won't see the closing body and html tags.

Uncommenting the xslt_set_error_handler() will. The errorstr output, however - is numeric.
So can we at least have updated documentation on how to trap errors? And how xslt_set_error_handler() must be used?

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2001-07-30 18:32 UTC] sterling@php.net
1. Your attitude won't get you anywhere
2. The new extension doesn't throw fatal errors and 
provides ample error handling (--enable-xslt 
--with-xslt-sablot).

 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Mon Oct 14 18:01:28 2024 UTC