DTD zur Vermeidung des Mist-Modus beim IE
Caro
- xsl
Hallo!
Ich habe da ein kleines (großes) Problem mit einer Seite. Ich hab alles in XML gemacht, um Redundanz zu vermeiden und damit der Kunde die Seite selbst pflegen kann, ohne dass ich ein CMS bastel oder einbinde.
Ich habe also eine DTD, eine XSL-Datei mit dem ganzen HTML-Kram, 2 CSS-Dateien und für jede Content-Seite eine XML-Datei. Nun habe ich das Problem, dass es im FF problemlos funktioniert, im IE allerdings nicht, weil der im Mist-Modus läuft und nichts mehr versteht (div-Layer fixed, Boxmodell...).
Ich weiß ja auch schon woran es liegt: der IE braucht die DTD für HTML 4.01 Transitional. Wie kann ich diese vernünftig in die XSL reinschreiben? Meines Erachtens nach geht das nicht einfach so vor dem html-Tag. Geht das überhaupt? Hatte auch schon versucht über das Attribut
xmlns="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
im Tag
<xsl:stylesheet
zu gehen, aber dann macht der FF nix mehr.
Ich muss zu meiner Schande auch zugeben, dass ich gerade erst mit XML anfange und deshalb nicht so viel über die Materie weiß. Aber ich würde es ungern alles mit HTML machen, vor allem, weil der Server des Kunden nicht einmal Includes mitmacht.
Für hilfreiche Tipps wäre ich euch wirklich sehr dankbar.
Hasta la ciao ciao!
@@Caro:
Ich weiß ja auch schon woran es liegt: der IE braucht die DTD für HTML 4.01 Transitional. Wie kann ich diese vernünftig in die XSL reinschreiben?
Live long and prosper,
Gunnar
Hallo!
Vielen Dank für den Tipp!
Aber irgendwie scheine ich zu blöd zu sein, denn ich verstehe einige Sachen einfach nicht so ganz. Dazu fehlt mir wahrscheinlich das Hintergrundwissen (oder ich hab es vergessen). Wie kriege ich denn jetzt das hier:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
in das rein:
<xsl:output method="html" version="4.01" indent="no" encoding= doctype-system= doctype-public= />
Ich wäre wirklich sehr dankbar für Hilfestellungen, denn ich seh mittlerweile vor lauter Projekten (Bäumen) den Code (Wald) nicht mehr.
Hasta la ciao ciao!
Hallo!
Ich hab es doch allein hingekriegt. Ich hoffe mal, dass es so auch regelkonform ist, aber es funktioniert auf jeden Fall.
<xsl:output method="html" version="4.01 Transitional" indent="no" encoding="ISO-8859-1" doctype-public="http://www.w3.org/TR/html4/loose.dtd" />
Vielen Dank!
Hasta la ciao ciao!
@@Caro:
Warum codierst du die Ressource in ISO 8859-1 anstatt in UTF-8? Wäre es nicht ratsam, dies zu ändern?
Live long and prosper,
Gunnar
Hallo!
Warum codierst du die Ressource in ISO 8859-1 anstatt in UTF-8? Wäre es nicht ratsam, dies zu ändern?
Ich werde es wahrscheinlich auch noch mal ändern, das hatte jetzt andere Gründe. Würde jetzt zu lange dauern. Ich änder das dann in der nächsten woche und sage Bescheid, falls ich noch mehr Hilfe brauche.
Hasta la ciao ciao!
Hallo Caro,
<xsl:output method="html" version="4.01 Transitional" indent="no" encoding="ISO-8859-1" doctype-public="http://www.w3.org/TR/html4/loose.dtd" />
"Transitional" gehört zum Formal Public Identifier, also in doctype-public:
~~~xml
<xsl:output method="html" version="4.01" indent="no" encoding="ISO-8859-1"
doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"
doctype-system="http://www.w3.org/TR/html4/loose.dtd"/>
Grüße,
Thomas