Pummel: Zeichen außerhalb ASCII in benannte HTML-Zeichen umwandeln

Hallo,

ich hätte gerne, daß in einem aus einem XML-Dokument erstellten HTML-Dokument die benannten HTML-Zeichen verwendet werden. Die Angabe € kennt der XML-Parser nicht, gebe ich direkt  ein, wird daraus €. Warum das beides so ist, ist mir klar, ich will auch nicht sagen, daß das theoretisch falsch wäre, ich hätte lediglich gerne, daß er € ausgibt (selbiges natürlich auch für alle anderen Basiszeichen, also Umlaute und dergleichen).

Am praktischsten wäre es, wenn ich in XML direkt  tippen könnte, aber wenn es denn umbedingt sein muß, wäre ich auch mit der Eingabe € zufrieden. Aber selbst das konnte ich dem XML-Parser irgendwie nicht beibringen, die Angabe <!ENTITY euro "€"> im DTD quitiert er mir mit einer Rekursion, "&euro;" gibt er hingegen wiederum 1:1 aus.
Und davon mal abgesehen habe ich eigentlich keine Lust, den ganzen Müll jedesmal selbst definieren oder importieren zu müssen.

Ausprobiert habe ich bislang saxon (gruselig) und derzeit sablotron (macht zumindest schonmal vernünftige Zeichensatzkonvertierung, verlangt aber die Angabe der XSL-Datei auf der Kommadozeile, obwohl sie mit <?xml-stylesheet> angegeben ist).

Bin ja mal gespannt, ob sich hier jemand damit auskennt, ansonsten geht's hier wohl eher um triviales Geplänkel :>

Einen schönen Tag noch!

  1. die Angabe <!ENTITY euro "€"> im DTD

    macht keinen Sinn, da € in XML nicht bekannt ist. Das willst du ja gerade definieren.

    <!ENTITY euro "&8364;"> bzw. <!ENTITY euro "&x20AC;">

    http://selfhtml.teamone.de/xml/dtd/entities.htm#zeichenbenennung

    Gunnar

    --
    Good results come from experience; and experience comes from bad results.
    1. Sorry, die # fehlten:

      <!ENTITY euro "&#8364;"> bzw. <!ENTITY euro "&#x20AC;">
      Gunnar

      --
      Good results come from experience; and experience comes from bad results.
    2. Hallo!

      die Angabe <!ENTITY euro "€"> im DTD

      macht keinen Sinn, da € in XML nicht bekannt ist. Das willst du ja gerade definieren.

      Ja, eben, das schrieb ich doch?! Aus € in der Eingabe soll € in der Ausgabe werden, oder noch besser, aus € (dem Eurozeichen, funktioniert hier im Forum irgendwie nicht) in der Eingabe soll € in der Ausgabe werden.

      <!ENTITY euro "&8364;"> bzw. <!ENTITY euro "&x20AC;">

      &#8364; gibt er bereits von alleine aus, ich möchte aber benannte Zeichen, also in diesem Fall €. Das ist doch gerade das Problem.

      Grüße, Pummel

      1. Hallo,

        &#8364; gibt er bereits von alleine aus, ich möchte aber benannte Zeichen, also in diesem Fall €.

        Warum eigentlich?

        Grüße
        Thomas