|
Posted by al3x4nder on 11/11/76 11:45
I`m need hanling XSLT errors in my script,
before I`m use Sablotron, that has nice
interface for it:
------------8<------------------
function ProduceXHTML($xml, $xsl){
$xh = xslt_create();
xslt_set_encoding ($xh, CODE_PAGE);
$arguments = array('/_xml' => $xml, '/_xsl' => $xsl);
$result = @xslt_process($xh, 'arg:/_xml', 'arg:/_xsl', NULL,
$arguments);
$this->error = (int)xslt_errno($xh);
if($this->error){
$errorMessage = sprintf("Cannot process XSLT document
[code %d]: %s",
xslt_errno($xh), xslt_error($xh));
$this->AddErrorMessage(5, $errorMessage);
}
xslt_free($xh);
}
------------8<------------------
but now I`m ported my project
in PHP5 and use XSLlib like this:
------------8<------------------
function ProduceXHTML($xsltemplate){
$xh = new XSLTProcessor();
$xml = new DOMDocument();
$xsl = new DOMDocument();
$xsl->loadXML($this->LoadXSLT(TEMPLATES_ROOT.$xsltemplate));
$xml->loadXML($this->xml);
$xh->importStyleSheet($xsl);
$xhtml=$xh->transformToXML($xml);
if($this->IsDebug()){
header('Content-type: text/xml');
die($this->xml);
}
if ($xhtml) {
$xhtml = str_replace("&", "&", $xhtml);
echo $xhtml;
} else {
/* commented, because PHPv5 used
printf("Cannot process XSLT document [code %d]: %s",
xslt_errno($xh), xslt_error($xh));
*/
return false; // invalid XSL
}
unset($xh);
}
------------8<------------------
anybody know how I can track errors now?
thanks and sorry for my English
Navigation:
[Reply to this message]
|