Ulrich: Zeichensatz Probleme bei XSL 2.0 Result Document

Hallo,

habe Probleme mit dem Zeichensatz beim erzeugen von mehreren HTML bzw. PHP Dateien mittels xsl:result-document.

Verwendete Zeichensätze:
XML Dok: iso-8859-1
XSL Dok: iso-8859-1
XSL-Output: iso-8859-1 method=html
XSL-result-doc output: iso-8859-1 method=html

Habe auch schon mal alle durch utf-8 ersetzt aber es löst das Problem nicht. Doctype verwende ich keinen da die Datei später includiert werden soll.

Das komische ist wenn ich die Datei mit XSL 1.0 und ohne xsl:result-document zu einer großen Datei transformiere geht es ohne Probleme.
Habe bereits mit XML Spy Enterprise 2005 und Saxon probiert.

Die XML + XSL + von mir erhaltene Ergebnis Datei habe ich als ZIP auf www.bude-beira.de/test/xsl-result.zip hinterlegt.

  1. Hab ich ganz vergessen. Also das Problem ist das z.B. äöü nicht richtig dargestellt werden. Ein ö wird z.b. so ö dargestellt.

  2. Hallo,

    habe Probleme mit dem Zeichensatz beim erzeugen von mehreren HTML bzw. PHP Dateien mittels xsl:result-document.

    Verwendete Zeichensätze:
    XML Dok: iso-8859-1
    XSL Dok: iso-8859-1
    XSL-Output: iso-8859-1 method=html
    XSL-result-doc output: iso-8859-1 method=html

    Habe auch schon mal alle durch utf-8 ersetzt aber es löst das Problem nicht. Doctype verwende ich keinen da die Datei später includiert werden soll.

    Das komische ist wenn ich die Datei mit XSL 1.0 und ohne xsl:result-document zu einer großen Datei transformiere geht es ohne Probleme.
    Habe bereits mit XML Spy Enterprise 2005 und Saxon probiert.

    Ich kann dein Problem nicht nachvollziehen:
    Saxon 8.6 liefert bei mir:
    ----------------
    <?php $displaypagenavi="1";
              1.php";
             ?>äöoüdas ist ein äöü<br xmlns:xlink="http://www.w3.org/1999/xlink">
    ----------------

    XMLSpy liefert:
    ----------------
    <?php $displaypagenavi="1";
              1.php";
             ?>äöoüdas ist ein äöü<br>
    ----------------

    Es vielleicht einfacher die Sachen so zu schreiben:
    <xsl:variable name="test" select="concat(count(preceding::seite)+1, '.php')" />
    ...
    <xsl:processing-instruction name="php" select="('$displaypagenavi=&quot;1;', $test, '&quot;?')" />

    Ich weiss nicht wie due die Transformation mit Saxon und XMLSpy ausgeführt hast, aber wie gesagt, bei mir gibt es damit keine Probleme.

    Grüße
    Thomas

    1. Danke für deine Antwort

      Mit welchem Befehl führst du in Saxon die Transformation durch?

      In XML Spy drücke ich einfach auf den XSL Button wo es leiste gibt. Habe dort ansonsten nichts anderes eingestellt.

      Danke auch noch für den Tipp mit der anderen Schreibweise. Auf eine solche andere Schreibweise wär ich gar nicht gekommen.

      Grüße

      1. Hallo,

        Mit welchem Befehl führst du in Saxon die Transformation durch?

        In der Console (Eingabeaufforderung):
        java  -jar saxon8.jar -t 6-xml2.xml 6-xslt-php.xsl

        Aber ist im Grunde egal, denn auch wenn ich Oxygen benutze und dort die Transformation mit Saxon ausführe, oder Saxon in der Console mit der Option -a  ausführe, gibt es dasselbe Ergebnis.

        In XML Spy drücke ich einfach auf den XSL Button wo es leiste gibt. Habe dort ansonsten nichts anderes eingestellt.

        Ja, machte ich auch.
        Schaue mal was bei dir unter Extras --> Optionen für einstellungen gibt.
        PHP als Dateierweiterung ist vermutlich nicht vorhanden.
        Die letze Karteikartenreiter (Kodierung) ist interesant.
        Dort kannst du z.B. alles auf iso-8859-1 umstellen. Das Problem was du weiter unten beschreibst, ist irgendein Unicode-Problem.
        (denn wenn man das Output auf  UTF-8 umstellt die, datei aber in ANSI-Format gespeichert wird [was sowohl Saxon, als auch XMLSpy macen], erscheint das dann so: <?php $displaypagenavi="1; 1.php "?>äöoüdas ist ein äöü<br>

        Grüße
        Thomas

        1. Also es klappt inzwischen bei mir mit der Testdatei. Danke für die Tipps. Die Dateiendung und die Kodierung habe ich in XML Spy hinzugefügt bzw. umgestellt.
          Mit meiner richtigen Datei (ca. 100Seiten) allerdings  nur wenn ich in xsl:result-document als Output "XML" statt "HTML" angebe. Mit Saxon komme ich so aber auch zu meinem gewünschten Ergebnis. XML Spy stürzt dabei komischerweise ab. Aber da es eh nur ich verwende ist es O.K.
          Vielen Dank für die Hilfe