Announcement

Collapse
No announcement yet.

Umwandlung von Umlauten mit Saxon8B

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Umwandlung von Umlauten mit Saxon8B

    Mir ist aufgefallen, dass bei der Umwandlung meiner XML zu HTML mit Saxon8B die Umlaute wie ä,ü,ö nicht automatisch in Entitäten (auuml ...) umgewandelt werden. Ich verwende die "ISO-8859-1" in den encodings (in Xml und XSL) - sicherheitshalber auch im xslutput. Mit Xalan funktioniert die Umwandlung, allerdings nicht im Saxon.

    Gibt es eine Möglichkeit die Umwandlung der Umlaute in Saxon8B zu realisieren?

  • #2
    Wozu sollen die Entity-Referenzen gut sein? ISO-8859-1 erlaubt doch die direkte Verwendung der Umlaute. Ansonsten müssten die Entitys im Stylesheet deklariert werden (gab es AFAIK hier im Forum bereits). Schau mal bei den Saxon-Parametern nach, ob es den gesuchten Automatismus überhaupt gibt.

    Comment


    • #3
      Leider brauche ich Umlaute, ein direktes Umsetzen und definieren der Umlaute über Doctype hatte ich schon probiert ... bin aber dran gescheitert - zumal es der Xalan auch automatisch hinbekommt und fast in jedem Thread ist das Endfazit auf encoding ISO-8859-1 zu wechseln.

      Daher dachte ich jemand hat vielleicht dasselbe Problem. Naja ich probiere es jetzt wieder über die direkte Definition.

      Comment


      • #4
        Nochmal: Bei passender Kodierung (ISO-8859-1 bzw. -15 oder am besten als UTF-8) können die Umlaute direkt verwendet werden. Probiere es alternativ mit:
        Code:
        <xsl:output method="html" encoding="ASCII"/>
        Unter Saxon 9 erscheinen damit die Entity-Referenzen in der HTML-Ausgabe.

        Comment


        • #5
          Ehm ... mit dem wir brauchen Entitäten meinte ich auch das wir sie brauchen . Klar ist das seit ettlichen Jahren unüblich, aber das interessiert eine Datenbank nicht die noch aus HTML 3.2. Zeiten (oder davor? ) stammt und nichts mit äöüß usw. anfangen kann.


          Danke für den Tipp mit Saxon 9.

          Für alle mit dem Selben Problem: die Einbindung von Entitäten innerhalb eines Stylesheets lautet übrigens wie folgt:

          <?xml version="1.0" ...

          <!DOCTYPE xsl:stylesheet [
          <!ELEMENT Umlaute (#PCDATA)>
          <!ENTITY nbsp "&#xA0;">
          <!ENTITY auml "ä">
          <!ENTITY uuml "ý">
          <!ENTITY ouml "ö">]>

          <xsl:stylesheet ...

          Man kann dann die Enitäten dann direkt im Stylesheet verwenden und sie werden auch verstanden/richtig umgesetzt, allerdings automatisch geht es dann nicht.

          Comment


          • #6
            Dein "ü" kommt offenbar nicht richtig an und zudem werden hier im Forum numerische Zeichenreferenzen direkt ersetzt (& besser als numerische Referenz auf 38 schreiben). Es folgen einige hexadezimale bzw. dezimale Deklarationen:

            Code:
            <!DOCTYPE xsl:stylesheet [
              <!ENTITY Auml  "&#xC4;">
              <!ENTITY auml  "&#xE4;">
              <!ENTITY Ouml  "&#xD6;">
              <!ENTITY ouml  "&#xF6;">
              <!ENTITY Uuml  "&#xDC;">
              <!ENTITY uuml  "&#xFC;">
              <!ENTITY szlig "&#xDF;">
              <!ENTITY nbsp  "&#xA0;">
            ]>
            
            <!DOCTYPE xsl:stylesheet [
              <!ENTITY Auml  "&#38;#196;">
              <!ENTITY auml  "&#38;#228;">
              <!ENTITY Ouml  "&#38;#214;">
              <!ENTITY ouml  "&#38;#246;">
              <!ENTITY Uuml  "&#38;#220;">
              <!ENTITY uuml  "&#38;#252;">
              <!ENTITY szlig "&#38;#223;">
              <!ENTITY nbsp  "&#38;#160;">
            ]>
            BTW: Was bezweckt das Element Umlaute im Stylesheet? Für die Entity-Deklarationen ist es unnötig.

            Comment

            Working...
            X