miamiomc: Zeilenumbruch in XML

Hallo Gemeinde,

nach langem durchsuchen des Forumsarchivs stelle ich mein Problem hier mal ein.

Ich habe formatierten Text der auch so in XML wiedergegeben werden soll.

Ich habe bisher folgendes versucht:

<element>blabla &#xD;&#xA; blabla </element>

<element>
<![CDATA[blabla
blabla]]>
</element>

<element>
<![CDATA[blabla]]><br/>
<![CDATA[blabla]]>
</element>

Alles leider bisher ohne Erfolg.

Im Forumsarchiv habe ich zwar einen Beitrag gefunden, der darin aufgeführte Link dazu existiert aber leider nicht mehr.

Die Ausgabe der XML-Datei erfolgt via XSL als HTML. Es wird keine DTD verwendet. Falls eine DTD zu verwenden ist: Wie ist der Aufbau einer DTD und wie ist diese in die XML bzw. XSL einzubinden.

Kennt hier jemand eine Lösung zu Zeilenumbruch?

Danke

Lothar

  1. @@miamiomc:

    <element>blabla &#xD;&#xA; blabla </element>

    „S (Leerraum, White Space) besteht aus einem oder mehreren Leerzeichen (#x20), Wagenrückläufen, Zeilenvorschüben oder Tabulatoren.“ [XML §2.3] Oft werden sämtliche White-Space-Zeichen gleich behandelt und als normales Leerzeichen ' ' U+0020 wiedergegeben.

    Intersessant dürften die Abschnitte 2.10 Behandlung von Leerraum [XML §2.10] und 2.11 Behandlung des Zeilenendes [XML §2.11] sein.

    <element>
    <![CDATA[blabla]]><br/>
    <![CDATA[blabla]]>
    </element>

    Alles leider bisher ohne Erfolg.

    Das sollte zum Erfolg führen, wenn du das 'br'-Element aus deiner XML-Ressource in ein ebensolches in deine (X)HTML-Ressource transformierst.

    Die Markierung als CDATA dürfte auch nicht unbedingt nötig sein.

    Live long and prosper,
    Gunnar

    --
    „Das Internet ist ein großer Misthaufen, in dem man allerdings auch kleine Schätze und Perlen finden kann.“ (Joseph Weizenbaum)
    1. @gunnar

      <element>blabla &#xD;&#xA; blabla </element>

      „S (Leerraum, White Space) besteht aus einem oder mehreren Leerzeichen (#x20), Wagenrückläufen, Zeilenvorschüben oder Tabulatoren.“ [XML §2.3] Oft werden sämtliche White-Space-Zeichen gleich behandelt und als normales Leerzeichen ' ' U+0020 wiedergegeben.

      Intersessant dürften die Abschnitte 2.10 Behandlung von Leerraum [XML §2.10] und 2.11 Behandlung des Zeilenendes [XML §2.11] sein.

      Das sollte zum Erfolg führen, wenn du das 'br'-Element aus deiner XML-Ressource in ein ebensolches in deine (X)HTML-Ressource transformierst.

      Wie transformiere ich das Element? Wenn ich es innerhalb des CDATA mit aufführe wird es als Text ausgegeben. Außerhalb von CDATA oder einfach nur innerhalb des XML passiert gar nichts.

      Die Markierung als CDATA dürfte auch nicht unbedingt nötig sein.

      Aufgrund eines Eintrages in einem anderen Forum

      http://www.spotlight.de/zforen/xml/m/xml-1131967402-24449.html

      bin ich davon ausgegangen, dass Zeilenumbrüche in CDATA Abschnitten ohne jede weitere Anweisung wiedergegeben werden.

      Ich aber leider zugeben, dass ich momentan leider nur Bahnhof verstehe. Hast Du vielleicht ein Beispiel?

      Danke

      Lothar

      1. @@miamiomc:

        Das sollte zum Erfolg führen, wenn du das 'br'-Element aus deiner XML-Ressource in ein ebensolches in deine (X)HTML-Ressource transformierst.

        Wie transformiere ich das Element?

        Wie transformierst du die anderen? Mit Templates?

        '<xsl:apply-templates />' im Template fürs Elternelement vorausgesetzt, sollte es das tun:

        <xsl:template match="br">  
          <br />  
        </xsl:template>
        

        Live long and prosper,
        Gunnar

        --
        „Das Internet ist ein großer Misthaufen, in dem man allerdings auch kleine Schätze und Perlen finden kann.“ (Joseph Weizenbaum)
      2. Hallo Gunnar,

        Lösung gefunden:

        In der XSL:

        <td class="col2"><pre class="col2"><xsl:value-of select="Info"/></pre></td>

        In der CSS:

        pre {font-family:Arial,Helvetica,sans-serif;word-wrap:break-word;}

        Damit werden alle Zeilenumbrüche die in XML vorhanden sind korrekt wiedergegeben und die Zeilen automatisch umgebrochen, falls diese länger sind als der zur Verfügung stehende Platz.

        Eine Anpassung beim Export bzw. der Erstellung der XML-Datei aus Access ist nicht notwendig.

        Lothar