Xslt

Quadaptor

Grünschnabel
Hi there!

Kann mir jemand sagen warum das folgende Skript nicht funktioniert, obwohl ich das aus einem Buch abgetippt habe?!

index.php:
PHP:
<?php 

$xslproc = xslt_create(); 
$argxml = "buecher.xml"; 
$argxsl = "buecher1.xsl"; 
$result = xslt_process($xslproc, $argxml, $argxsl); 
if (!($result)) { 
_ _ echo xslt_error($xslproc); 
} 
echo $result; 
xslt_free($xslproc); 

?>

buecher.xml:
PHP:
<?xml version="1.0"?> 
_ <buecher> 
_ _ <buch> 
_ _ _ <id>1</id> 
_ _ _ <titel>Apache Webserver</titel> 
_ _ _ <isbn>3-826-0612-4</isbn> 
_ _ _ <jahr>2000</jahr> 
_ _ _ <katid>2</katid> 
_ _ _ <kategorie> 
_ _ _ _ <bezeichnung> 
_ _ _ _ _ <de>Linux</de> 
_ _ _ _ _ <en>Linux</en>_ _ _ _ _ _ _ _ 
_ _ _ _ </bezeichnung>
_ _ _ </kategorie>
_ _ </buch>
_ </buecher>

buecher.xsl:
PHP:
<?xml version="1.0" encoding="ISO-8859-1"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:output method="xhtml" encoding="ISO-8859-1" indent="yes"/> 
<xsl:template match="/buecher"> 
<html> 
_ <head> 
_ _ <title>ext/xslt TEST</title> 
_ </head> 
_ <body> 
_ _ <table border="1" cellpading="0"> 
_ _ _ <tr> 
_ _ _ _ <th>Titel</th> 
_ _ _ _ <th>Kategorie</th>_ _ _ _ _ _ 
_ _ _ </tr> 
_ _ _ _ <xsl:apply-templates /> 
_ _ _ </table> 
_ </body> 
</html>
</xsl:template>

<xsl:template match="buch">
_ <tr>
_ _ <td><xsl:value-of select="titel"/></td>
_ _ <td><xsl:value-of select="kategorie/bezeichnung/de"/></td>
_ </tr> 
</xsl:template> 
</xsl:stylesheet>

Beim Aufruf gibt der folgende Fehler-Meldung aus: XML parser error 4: not well-formed (invalid token)
Der IE zeigt die buecher.xml und buecher.xsl richtig an und gibt keine Fehlermeldung zurück, was der ja macht, wenn die Datei nicht dem XML-Standard entspricht.

Ich nehme mal an, das die XSLT-Extension bei mir nicht funktioniert. Hat jemand irgendein Tool/Skript oder eine Idee, mit dem ich die Funktionalität von XSLT sicherstellen kann?

Also, vielleicht könnt ihr mir ja helfen!

Gruß,
Dennis
 
Original geschrieben von Quadaptor
...
Ich nehme mal an, das die XSLT-Extension bei mir nicht funktioniert. Hat jemand irgendein Tool/Skript oder eine Idee, mit dem ich die Funktionalität von XSLT sicherstellen kann?...
PHP:
<?php
phpinfo();
?>
 
XSLT support: enabled

hi!

Also in der phpinfo steht folgendes:

XSLT support: enabled
Backend: Sablotron
Sablotron Version: 0.97

Also demnach müsste XSLT ordnungsgemäß funktionieren, was es aber leider nicht macht. :-(

Grüße,
Quadaptor
 
Gut dann sag uns mal in welcher Zeile dieser Fehler auftritt. Die in der PHP Datei und falls ausgegeben die in der XML/XSLT Datei.
 
wo der fehler liegt weiß ich nicht. jedenfalls müsste laut php mailinglist der php-code, die xml-datei und die xsl-datei richtig sein. das is höchst wahrschenlich bei mir ein interner fehler...aber wie genau weiß ich auch net!
 
Zurück