Hallo,
Ich verwende den neusten Sablotron Parser (XSLT) in Verbindung mit Expat (XML). Nun lasse ich (in dem ich mit PHP auf Sablotron zugreife) die vorhandene XML-Datei in eine HTML-Datei umwandeln.
Das Problem
Ich habe festgestellt, dass die DTD (extern) gar nicht beachtet wird.
expat ist ein nicht-validierender Parser.
Die Frage
Was mache ich, damit die DTD beachtet wird?
Andere Tools/Bibliotheken einsetzen: DOMXML, libxml, ...
Weiteres Problem
Ich kann keine Umlaute schreiben; wenn ich das mache, dann kommt ein Fehler, dass die Datei nicht mehr gültig ist.Frage
Was mache ich dann?
Probiere es mit Angabe der Kodierung mittels xslt_set_encoding():
$xsltref=xslt_create();
xslt_set_encoding($xsltref,"ISO-8859-1");
$xslt_result=xslt_process($xsltref,$xml,$xsl,$out);
xslt_free($xsltref);
MfG, Thomas