[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
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
trotz des disable-output-escaping. Was mach ich falsch?
-
das mit DOCTYPE klappt, wie folgt
<xsl:text disable-output-escaping="yes"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"></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?