gast: XML-->XSLT: Sablotron

Hi,

Einführung
  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.

Die Frage
  Was mache ich, damit die DTD beachtet wird?

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?

Vielen Dank für eure Hilfe,
gast

  1. 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

    --
    SVG - Learning By Coding
    http://svglbc.datenverdrahten.de/