[XML/XSL] Wie bekomme ich HTML Tags dargestellt?

kaepten

Lt. Commander
Registriert
Apr. 2005
Beiträge
1.541
Hallo

Ich habe eine XML Datei mit Amazon-Reviews und dazu habe ich ein XSL gebastelt, um es wie gewünscht darzustellen. Probleme machen mir dabei Texte, die HTML encodiert sind. Ich versteh nicht ganz wie ich damit umgegehen muss, dass diese dargestellt werde. Leider fehlt mir etwas die Erfahrung diesbezüglich.

XML (Ausschnitt mit HTML codierung):
Code:
            <EditorialReview>
                <![CDATA[ Der Autor von <i>Das Jesus Video</i> und <i>Eine Billion Dollar</i> hat sich selbst übertroffen! Niemand bewegt ... hervorbringen. <i>--Hannes Riffel</i>]]></EditorialReview>
Ich möchte etwas ganz simples, nämlich wenn ich das XML z.B. im IE Browser aufmache, die <i> Formatierung auch entsprechend kursiv dargestellt werden. Der Browser gibt mir aber noch hartnäckig, das Tag selbst raus.

Im XSL verarbeite ich die <i> Tags nicht, liegt es daran? Reichen die Informationen für eine Einschätzung des Problemes überhaupt aus?

Vielen Dank für Tipps und Hinweise
kaepten
 
Hallo,

wie sieht denn dein XSLT aus?
 
Probier mal die HTML-Tags kodiert reinzuschreiben: &lt;i&gt;
 
Du kannst mit dem disable-output-escaping-Attribut der text- und value-of-Elemente gezielt das Escaping deaktivieren, indem du ihm den Wert true zuweist, standardmäßig hat er den Wert false. Alternativ kannst du auch einfach das method-Attribut des output-Elements auf text setzen, dann werden die reservierten Zeichen ebenfalls nicht substituiert. Letztere Methode mag zwar abstrus klingen, jedoch gibt es einige XSLT-Parser, die disable-output-escaping nicht implementiert haben.

greetings, Keita
 
Danke für die Antworten, muss das noch im Detail durchlesen.

Hier aber mal die XML + XSL Dateien.

@Enigma
So hatte ich es am Anfag im raw XML drin, aber das macht grad dass es nicht interpretiert, sondern dargestellt wird. Erst als ich beim Erzeugen des XML eine CDATA Section verwendete, wurde mit das <i> so reingeschrieben, ins XML.

PS: Das XML erzeuge ich selbst. Also ich habe die Möglichkeit umzukonvertieren oder zu löschen nach belieben. Aber erst muss ich mal wissen, was XLS(T) braucht um das anzuziegen. Das dann im XML so reinzumachen geht ohne Probleme.
 

Anhänge

Zuletzt bearbeitet:
@Keita
<xsl:value-of select="." disable-output-escaping="yes" />

Funktioniert, da kommt Freude auf. Vielen Dank für den Tipp.
 
Zurück
Oben