XML-XSL und ISO
Chris
- xml
0 Thomas Meinike0 Chris
0 Markus
Hallo,
kann jemand mir helfen bitte ?
Was muss ich im XSL-Kopf definieren, damit nachher im HTML-Seite richtige deutsche Umlaute steht ?
Momentan steht so was in meinem XML-Datei
------------------------------------------------------------------
<?xml version="1.0" encoding="ISO-8859-1"?>
<iso>
<test iso="häuser"/>
</iso>
<!-- es soll eigentlich häuser heissen -->
------------------------------------------------------------------
und so sieht mein XSL aus :
------------------------------------------------------------------
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
<xsl:template match="/">
<html>
<head>
<title>ISO</title>
</head>
<body>
<xsl:apply-templates select = "iso"/>
</body>
</html>
</xsl:template>
<xsl:template match="test">
<xsl:value-of select="@iso"/>
</xsl:template>
</xsl:stylesheet>
------------------------------------------------------------------
Nachdem Transformieren (mit XALANTransformer) bekomme ich eine HTML-Seite
------------------------------------------------------------------
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ISO</title>
</head>
<body>
häuser
</body>
</html>
------------------------------------------------------------------
... und im Browser zeigt er falsch an !
Was muss ich machen , damit er im Browser anzeigt. Ich kann nur im XSL etwas ändern oder im HTML, aber am XML selber kann ich nicht. Irgendso ein Programm erstellt diese XML-Struktur für mich und es steht leider nicht die richtige deutsche Umlaute darin !
Kann jemand mir bitte helfen ? Danke
Hallo,
Was muss ich im XSL-Kopf definieren, damit nachher im HTML-Seite richtige deutsche Umlaute steht ?
<xsl:output method="html" encoding="ISO-8859-1" ... />
MfG, Thomas
Hallo,
Was muss ich im XSL-Kopf definieren, damit nachher im HTML-Seite richtige deutsche Umlaute steht ?
<xsl:output method="html" encoding="ISO-8859-1" ... />
MfG, Thomas
Hallo Thomas,
vielen Dank für Deine Antwort. Leider funktioniert das ebenfalls nicht.
Mein XSL Head sieht mittlerweile so aus.
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
<xsl:output method="html" encoding="ISO-8859-1" />
Ich versteh das nicht...
Gruss
Chris
Hallo,
vielen Dank für Deine Antwort. Leider funktioniert das ebenfalls nicht.
Kennt Dein XSLT-Prozessor vielleicht noch eigene Anweisungen zum Setzen des Ausgabezeichensatzes? Bei PHP/Sablotron gibt es dafuer xslt_set_encoding().
MfG, Thomas
Du musst in der XML-DTD ganz oben vor den ELEMENT- und ATTLIST-Definitionen eine ENTITY angeben.
Z.B.:
<!ENTITY auml "ä">
Der XML-Parser muss erst mal wissen, wie er das ä übersetzen muss.