[XSLT] disable-output-escaping, embedded-html und DOCTYPE



  • Hallo,
    ich spiel gerade mit XSLT rum. Aber ich hab ein paar Probleme.

    1. Ich hab in der XML-Datei ein Element mit dem Namen text, dieses Element soll nun bereits xHTML Formatangaben enthalten. Also dachte ich, dass ich mit <xsl:value-of select="text" disable-output-escaping="yes" /> die Formatangeben übernehmen kann. Aber sowohl der Firefox als auch der KDE xsldbg-Prozessor löschen die XML-Tags aus text. Wie kann ich text auswählen, aber die enthaltenen XML-Tags bewahren?

    2. DOCTYPE. Ich will dem erzeugten xhtml-Dokument eine passende DOCTYPE deklaration geben. Ich hab das mit

    <xsl:text disable-output-escaping="yes"><![CDATA[ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> ]]></xsl:text>
    

    versucht, aber die Ausgabe ist

    &lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;
    

    trotz des disable-output-escaping. Was mach ich falsch?



  • das mit DOCTYPE klappt, wie folgt

    <xsl:text disable-output-escaping="yes">&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;</xsl:text>
    

    Wenn jemand für die Sache mit Text eine Lösung hat, bitte posten.



  • ah, DOCTYPE kann man viel einfacher über xsl:output angeben.

    Aber für das Problem mit den eingebetteten XML-Tags hab ich immer noch keine Lösung 😞



  • Hier nochmal die Frage:

    Ich hab ein XML Dokument

    <?xml version="1.0" encoding="ISO-8859-15"?>
    <?xml-stylesheet type="text/xsl" href="demo2.xsl"?>
    
    <document>
     <text>foo<br />bar</text>
    </document>
    

    und möchte nun den kompletten Inhalt von text in das Ausgangs xHTML Dokument schreiben. Also inklusive dem br-Tag oder anderer enthaltener Tags.

    <xsl:copy-of select="text"> kopiert leider auch den text-Tag mit, der im xHTML Dokument nichts zu suchen hat. <xsl:value-of select="text" entfernt enthaltene Tags.

    Wie kann ich nun die Informationen bewahren?


Anmelden zum Antworten