Hallo,
ich führe mit folgender Methode die XSLT-Transformation durch.
public static function transformXML($doc, $stylesheetLocation, $paramsArr) {
$stylesheet = file_get_contents($stylesheetLocation);
$docXSLT = new DOMDocument('1.0', 'UTF-8');
$docXSLT->resolveExternals = true;
$docXSLT->substituteEntities = true;
$docXSLT->loadXML($stylesheet);
$xsl = new XSLTProcessor();
$xsl->importStyleSheet($docXSLT);
foreach($paramsArr as $key => $value)
{
$xsl->setParameter('', $key, $value);
}
return $xsl->transformToDoc($doc);
}
Wenn ich einen Fehler in der XSLT-Datei habe, bekomme ich ich immer folgende, wenig aussagekräftige Fehlermeldungen:
1.) Warning: XSLTProcessor::transformToDoc() [xsltprocessor.transformtodoc]: No stylesheet associated to this object
=> 2.) Fatal error: Call to a member function saveXML()
Den Fehler zu finden, ist immer recht aufwendig und langwierig: Ich versuche die Änderungen schrittweise rückgängig zu machen bzw. bestimmte Bereiche der XSLT-Datei auszukommentieren um den Fehler einzugrenzen.
Gibt es auch die Möglichkeit, dass mir PHP sagt, was die Fehlerursache ist und in welcher Zeile der Fehler auftritt?
Viele Grüße
Benedikt