PHP 8.4.0 RC3 available for testing

libxml hata işleme işlevleri ile hataların işlenmesi

libxml, hataları işlemek için XSLT işlemedeki hataları yakalamak ve bunlarla başa çıkmak için kullanılabilecek bir dizi işlev sunar.

Örnek 1 fruits.xml

Geçerli bir XML dosyası.

<fruits>
 <fruit>Apple</fruit>
 <fruit>Banana</fruit>
 <fruit>Cherry</fruit>
</fruits>

Örnek 2 fruits.xsl

Geçersiz bir seçim ifadesi içeriyor.

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output method="html" encoding="utf-8" indent="no"/>
 <xsl:template match="fruits">
  <ul>
   <xsl:apply-templates/>
  </ul>
 </xsl:template>
 <xsl:template match="fruit">
  <li><xsl:value-of select="BU KASITLI BİR HATADIR!"/></li>
 </xsl:template>
</xsl:stylesheet>

Örnek 3 Hataları karşılaştırma ve çıktılama

Aşağıdaki örnek, XSLTProcessor::importStyleSheet() hata içeren bir XSLT betiğiyle çağrılırken ortaya çıkan libxml hatalarını yakalar ve görüntüler.

<?php

$xmldoc
= new DOMDocument();
$xsldoc = new DOMDocument();
$xsl = new XSLTProcessor();

$xmldoc->loadXML('fruits.xml');
$xsldoc->loadXML('fruits.xsl');

libxml_use_internal_errors(true);
$result = $xsl->importStyleSheet($xsldoc);
if (!
$result) {
foreach (
libxml_get_errors() as $error) {
echo
"Libxml error: {$error->message}\n";
}
}
libxml_use_internal_errors(false);

if (
$result) {
echo
$xsl->transformToXML($xmldoc);
}

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Libxml error: Invalid expression

Libxml error: compilation error: file fruits.xsl line 9 element value-of
Libxml error: xsl:value-of : could not compile select expression 'BU KASITLI BİR HATADIR!'

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top