XHTML-Dokument mit CSS darstellen
Christoph Schnauß
- xml-derivat
0 Rainer S.0 fjh0 Sven Rautenberg0 Stefan Muenz0 Der Linke Setzer
hallo Forum ;-)
ich ärgere mich mit einem XHTML-Dokument herum, dem ich einen *.xhtm-Namen geben möchte, und keinen *.htm-Namen. Als *.htm-Datei funktioniert alles ...
Der IE zeigt mir die Baumstruktur an, mozilla findet die Grafiken und die CSS nicht, Opera findet zwar die Grafiken, aber auch nicht die CSS und kann plötzlich keine Umlaute (möglicherweise stimmt die Codierung nicht).
Der Validator sagt was von unbekanntem MIME-Typ, wenn ich aber exakt dieselbe Datei von meiner Platte aus validiere, gratuliert er mir mit gewohnter Freundlichkeit zum validen XHTML-Dokument.
Hat jemand nen Hinweis, was an meiner CSS nicht stimmt?
Wenn ich die erste Zeile
<?xml version="1.0" encoding="iso-8859-1" ?>
weglasse, funktioniert es plötzlich, aber ich bin ja ein folgsamer Leser von SELFHTML
Die Adresse, um die es geht, ist http://www.christoph-schnauss.de/temp/sb/help/sbindex.xhtm
Grüße aus Berlin
Christoph S.
Hallo Christoph,
ich ärgere mich mit einem XHTML-Dokument herum, dem ich einen *.xhtm-Namen geben möchte, und keinen *.htm-Namen. Als *.htm-Datei funktioniert alles ...
Der IE zeigt mir die Baumstruktur an, mozilla findet die Grafiken und die CSS nicht, Opera findet zwar die Grafiken, aber auch nicht die CSS und kann plötzlich keine Umlaute (möglicherweise stimmt die Codierung nicht).
Der Validator sagt was von unbekanntem MIME-Typ, wenn ich aber exakt dieselbe Datei von meiner Platte aus validiere, gratuliert er mir mit gewohnter Freundlichkeit zum validen XHTML-Dokument.
Hat jemand nen Hinweis, was an meiner CSS nicht stimmt?
Wenn ich die erste Zeile
<?xml version="1.0" encoding="iso-8859-1" ?>
weglasse, funktioniert es plötzlich, aber ich bin ja ein folgsamer Leser von SELFHTML
Die Adresse, um die es geht, ist http://www.christoph-schnauss.de/temp/sb/help/sbindex.xhtm
Mozilla zeigt mir als Mime-Typ application/octet-stream an,
also scheint der Webserver einen falschen Content-Type auszuliefern.
Schönen Gruß aus Bilk
Rainer
hallo,
Mozilla zeigt mir als Mime-Typ application/octet-stream an
nicht nur Mozilla. Ich sagte ja, daß der Validator den MIME-Typ bemängelt. Ich habe allerdings dieselbe Dtei auch bei zwei anderen Providern liegen (t-online und arcor), die "ordentliche" MIME-Typen ausgeben, aber mein "Anzeigeproblem" besteht dort genauso. Und: ich habe dasselbe Anzeigeproblem auch offline
Christoph S.
Moin!
Mozilla zeigt mir als Mime-Typ application/octet-stream an
nicht nur Mozilla. Ich sagte ja, daß der Validator den MIME-Typ bemängelt. Ich habe allerdings dieselbe Dtei auch bei zwei anderen Providern liegen (t-online und arcor), die "ordentliche" MIME-Typen ausgeben, aber mein "Anzeigeproblem" besteht dort genauso. Und: ich habe dasselbe Anzeigeproblem auch offline
Ich nicht. koenntest du also bitte deinen Mime-Type aendert, so dass wir auch mal nachvollziehen koennen, ob es wirklich daran liegt? Weil erst dann kann ich sie hier mit Mozilla ueberhaupt erst richtig anschauen, sonst muesste ich mir angeblich eine exe runterladen.
Vielen Dank und viele Gruesse,
Einbecker
hallo,
koenntest du also bitte deinen Mime-Type aendert, so dass wir auch mal nachvollziehen koennen, ob es wirklich daran liegt?
Ich habe jetzt nochmal mehrere MIME-Typen probiert (im Moment steht drin "text/xml"). Das beeindruckt die Server aber überhaupt nicht. Ausgeliefert wird bei http://www.christoph-schnauss.de/temp/sb/help/sbindex.xhtml "application/octet-stream" - ich habe keine Ahnung, warum - und bei http://home.arcor.de/schnauss/sb/sbindex.xhtml wird "text/plain" ausgeliefert, da kann ich zappeln, wie ich will. Andere Provider habe ich derzeit nicht. Und, wie gesagt, offline und ohne Vermittlung eines Webservers habe ich genau dieselben Anzeigeprobleme.
Weil erst dann kann ich sie hier mit Mozilla ueberhaupt erst richtig anschauen, sonst muesste ich mir angeblich eine exe runterladen.
eine EXE? Das verstehe ich gar nicht. Kannst du angeben, was das für eine Datei sein soll? Ich hab da gewiß nichts derartiges eingestellt.
Grüße aus Berlin
Christoph S.
Hallo Christoph,
Ich habe jetzt nochmal mehrere MIME-Typen probiert (im Moment steht drin
"text/xml"). Das beeindruckt die Server aber überhaupt nicht. Ausgeliefert
wird bei http://www.christoph-schnauss.de/temp/sb/help/sbindex.xhtml
"application/octet-stream" - ich habe keine Ahnung, warum
Wahrscheinlich, weil der Endung .xhtml nichts zugewiesen ist.
da kann ich zappeln, wie ich will.
.htaccess:
AddType text/xml .xhtml
Gruesse,
CK
hoi ;-)
http://www.christoph-schnauss.de/temp/sb/help/sbindex.xhtml
.htaccess:
AddType text/xml .xhtml
geht bei dieser Adresse nicht, ist IIS ;-( Und auf den Server hab ich keinen Zugriff. Der Provider unterhält ein eigenes Forum für "Privatkunden", da hab ich bereits dringlich nachgefragt, aber noch keine Reaktion.
Grüße retour
Christoph S.
Hallo Christoph,
Hat jemand nen Hinweis, was an meiner CSS nicht stimmt?
Ohne auf die obigen Details eine Antwort zu haben (warum nun welcher Browser was meldet), solltest Du Deine CSS-Datei einfach über eine <xml-stylesheet>-Verarbeitungsanweisung einbinden. So ist es dann XML-konform.
Also statt
<link rel="stylesheet" type="text/css" href="selfbrowserhlp.css" />
<?xml-stylesheet href="selfbrowserhlp.css" type="text/css"?>
Dann müsste es funktionieren.
Ich kenne die XHTML-Spec nicht gut genug, um sagen zu können, ob <link rel="stylesheet" type="text/css" href="selfbrowserhlp.css" /> falsch ist. Jedenfalls funktionierts in den Browsern nicht. Wenn die die XML-Deklaration sehen, schalten die auf XML um und wollen dann eine <xml-stylesheet>-Verarbeitungsanweisung für die Verknüpfung von Stylesheet und XHTML-Dokument.
Wenn ich die erste Zeile
<?xml version="1.0" encoding="iso-8859-1" ?>
weglasse, funktioniert es plötzlich, aber ich bin ja ein folgsamer Leser von SELFHTML
s.o.
Grüße aus Berlin
ebenfalls
Christoph S.
Franz
hi,
Also statt
<link rel="stylesheet" type="text/css" href="selfbrowserhlp.css" />
<?xml-stylesheet href="selfbrowserhlp.css" type="text/css"?>
Dann müsste es funktionieren.
nein, das tut es leider nicht
Grüße aus Berlin
Christoph S.
Hallo Franz,
Ich kenne die XHTML-Spec nicht gut genug, um sagen zu können, ob <link rel="stylesheet" type="text/css" href="selfbrowserhlp.css" /> falsch ist. Jedenfalls funktionierts in den Browsern nicht. Wenn die die XML-Deklaration sehen, schalten die auf XML um und wollen dann eine <xml-stylesheet>-Verarbeitungsanweisung für die Verknüpfung von Stylesheet und XHTML-Dokument.
Nö, guck dir mal meine Seite an. Der Index heißt übrigens
index.xphp, und dafür habe ich folgendes in meine .htaccess ge-
schrieben:
AddType application/x-httpd-php .xphp
DirectoryIndex index.xphp
Vielleicht hilft das?
Bye,
Peter
hallo Forum ;-)
ich ärgere mich mit einem XHTML-Dokument herum, dem ich einen *.xhtm-Namen geben möchte, und keinen *.htm-Namen. Als *.htm-Datei funktioniert alles ...
Wenn du schon die 8.3- oder zumindest x.3-Dateinamenkonvention brichst, indem du ein vier Zeichen langes Suffix "xhtm" verwendest, warum dann nicht gleich "xhtml" verwenden. Bei dieser Endung könnte dein Webserver vermutlich einen passenderen Mimetyp liefern, als jetzt. Mein Opera wollte die Datei nämlich herunterladen und lokal speichern, aber keinesfalls anzeigen.
"Zu Risiken und Nebenwirkungen lesen Sie die die Konfigurationsdatei oder fragen Sie ihren Sysop oder Administrator!"
Der Validator sagt was von unbekanntem MIME-Typ, wenn ich aber exakt dieselbe Datei von meiner Platte aus validiere, gratuliert er mir mit gewohnter Freundlichkeit zum validen XHTML-Dokument.
Ein lokales Dokument hat keinen Mimetyp, eines auf dem Server schon. :) Das bedeutet: Der Mimetyp ist das einzig falsche. Korrigiere das, und du hast ein Problem weniger.
- Sven Rautenberg
hallo Sven,
Wenn du schon die 8.3- oder zumindest x.3-Dateinamenkonvention brichst, indem du ein vier Zeichen langes Suffix "xhtm" verwendest, warum dann nicht gleich "xhtml" verwenden.
Das ändert am Problem nichts
Ein lokales Dokument hat keinen Mimetyp, eines auf dem Server schon. :)
Das sollte mir bekannt sein. Ich habe also lokal eine valide XHTML-Datei. Aber ich bekomme sie im IE nicht angezeigt, auch nicht, wenn ich sie über den lokalen Apache aufrufe. Mein lokaler Apache liefert den korrekten MIME-Typ
Das bedeutet: Der Mimetyp ist das einzig falsche. Korrigiere das, und du hast ein Problem weniger.
Kann ich nicht. Ich kann zwar META-Angaben reinschreiben, aber das ändert überhaupt nichts. Und der Server für die angegebene Adresse ist ein IIS, da komme ich nicht an die Konfiguration heran (htacces ist da nicht möglich).
Ich habe dieselbe Datei bei zwei anderen Providern deponiert, einer davon läßt eigene .htaccess zu. Alles, was ich da bisher probiert habe, hat am "Ergebnis" nix geändert
Christoph S.
Hallo Christoph,
Der IE zeigt mir die Baumstruktur an, mozilla findet die Grafiken und die CSS nicht, Opera findet zwar die Grafiken, aber auch nicht die CSS und kann plötzlich keine Umlaute (möglicherweise stimmt die Codierung nicht).
Der Validator sagt was von unbekanntem MIME-Typ, wenn ich aber exakt dieselbe Datei von meiner Platte aus validiere, gratuliert er mir mit gewohnter Freundlichkeit zum validen XHTML-Dokument.
OK, mal ohne Grafiken und CSS, aber einfach mal fuer den Abgleich von Dateiendungen und MimeTypen:
http://forum.de.selfhtml.org/test/xhtml.xhtml
http://forum.de.selfhtml.org/test/xhtml.xhtm
http://forum.de.selfhtml.org/test/xhtml.xml
Und aus unserm Apache:
AddType text/html .xhtml
Mein Test mit Mozilla:
*.xhtml wird als HTML aufgeloest, *.xhtm nicht. Schlussfolgerung nach Otto Normaldenker -> Apache:
AddType text/html .xhtm
Hab ich zwar jetzt nicht ausprobiert, weil ich nicht den Apache wegen Neustart stoppen will hier - es soll ja fleissig weiter diskutiert werden ;-)
viele Gruesse
Stefan Muenz
tach auch ;-)
OK, mal ohne Grafiken und CSS, aber einfach mal fuer den Abgleich von Dateiendungen und MimeTypen:
http://forum.de.selfhtml.org/test/xhtml.xhtml
http://forum.de.selfhtml.org/test/xhtml.xhtm
http://forum.de.selfhtml.org/test/xhtml.xml
Das sind die Beispiele aus SELFHTML, die dort auch funktionieren. In deinem Forum-Test-Verzeichnis funktioniert nur das erste, bei beiden anderen kommt ein Hinweis auf fehlende DTD
AddType text/html .xhtm
Hab ich zwar jetzt nicht ausprobiert
daran wirds wohl liegen, aber warum kann euer Apache dann kein XML?
AddType text/html .xhtml
*.xhtml wird als HTML aufgeloest
richtig, aber dann hab ich ein Verständnisproblem. Ich habe drinstehen
AddType text/html .xhtml .xhtm .xml
aber ich hab das bewußt wieder auskommentiert. Der Grund: in SELFHTML hast du auf die Rolle der Extensionen hingewiesen, und ich habe die Erweiterung XHTM bzw. XHTML bewußt gewählt, weil damit laut SELFHTML die XML-Parser angesprochen werden sollten. Ich hätts mir leicht machen und alles bei HTM belassen können, da gibts keinerlei Anzeigeproblem. Aber auch nix zu rätseln.
So, jetzt hab ich die AddType-Zeile wieder aktiviert (geht bei mir etwas problemloser als auf eurem Server), und siehe da, wenn ich die Seiten jetzt über den lokalen Apache laufen lasse, kriege ich alles so hübsch vorgeführt, wie ich es haben möchte. Aber ist das denn nicht ein bißchen gemogelt?
Grüße
Christoph S.
Tachchen!
Die Identifikation anhand der Dateiendung scheint nur unter Umgehung des HTTP zu funktionieren, sprich: direkt von Platte.
Ansonsten muß der MIME-Type, mit dem der Server Daten verschickt, korrekt sein! Fehlendes CSS im Mozilla ist u.U. hierauf zurückzuführen: http://developer.netscape.com/evangelism/docs/technotes/incorrect-mime-types/.
Des weiteren mußt du, wenn der IE dir dein Dokument nur als Tree anzeigt , das CSS so einbinden: http://selfhtml.teamone.de/xml/darstellung/css.htm
Weiteres Mozilla-vs-Rest-der-Welt-Problem: wenn ein xhtml Dokument tatsächlich als application/xml, text/xml oder application/xhtml+xml vom Server ausgeliefert wird, muß Script- & CSS-Inhalt, der normalerweise zw. 2 Kommentare (<!-- //-->)gesetzt wird, als CDATA fekennzeichnet werden: http://www.w3.org/TR/xhtml1 Punkt 4.8. Dumm nur das diese Art von Maskierung in anderen Browsern, insbesondere bei Scripts, zu Fehlermeldungen führt.
Gruß Herbalizer
hi ;-)
http://developer.netscape.com/evangelism/docs/technotes/incorrect-mime-types/
das ist eine interessante Adresse. Nur hat, was dort nachzulesen ist, mit meinem "XHTML"-Problem nur am Rand zu tun. Wenn ich meine Datei einfach wieder umbenenne und ihr einen Namen *.htm gebe, funktioniert ja alles zufriedenstellend, das heißt, die CSS wird mit dem korrekten MIME-Typ ausgeliefert.
Des weiteren mußt du, wenn der IE dir dein Dokument nur als Tree anzeigt , das CSS so einbinden: http://selfhtml.teamone.de/xml/darstellung/css.htm
Ich habe im Ausgangsposting gesagt, daß ich meine Darstellungsprobleme nur bekommen habe, weil ich mich streng genau an dieses (und einige weitere) Kapitel aus SELFHTML halten wollte.
Weiteres Mozilla-vs-Rest-der-Welt-Problem: wenn ein xhtml Dokument tatsächlich als application/xml, text/xml oder application/xhtml+xml vom Server ausgeliefert wird, muß Script- & CSS-Inhalt, der normalerweise zw. 2 Kommentare (<!-- //-->)gesetzt wird, als CDATA fekennzeichnet werden: http://www.w3.org/TR/xhtml1 Punkt 4.8.
Nein, muß nicht. Die CSS ist als externe Datei eingebunden, wird also aus einem link übernommen. Dann sind CDATA-Einträge nicht nötig. Die sind vom W3C ausdrücklich dann "empfohlen", wenn das Script selbst in der Datei steht
Das Problem scheint sich in der Tat auf den Umgang mit dem MIME-Typ zu reduzieren. Wie ich geschrieben habe, macht men lokaler Apache ja alles korrekt, wenn in der httpd.conf drinsteht:
AddType text/html .xhtml .xhtm .xml
Aber, wie Stefan schrieb, wird XHTML damit nach HTML "aufgelöst", was möglicherweise bedeutet, daß der XML-Parser des anfragenden Browsers nicht angesprochen wird - was ich ja mit der Datinamensendung eigentlich erzwingen möchte.
Vielleicht habe ich halt nur das Pech, daß sämtliche Provider, bei denen ich Webspace bestellt habe, mit solchen Fragen noch nie zu tun hatten und ihre Server einfach nicht darauf eingestellt aind und Anfragen nach XHTML bzw. XML nicht korrekt beantworten. Ich werds mal mit einer kleinen "echten" XML-Datei gegenprüfen müssen.
Grüße aus Berlin
Christoph S.
Hallo,
AddType text/html .xhtm
Hab ich zwar jetzt nicht ausprobiert
daran wirds wohl liegen, aber warum kann euer Apache dann kein XML?
Was hat denn das mit dem Apachen zu tun? Der Apache parsed doch die Dokumente
nicht. Die Zuordnung MIME-Type <-> Datei geschieht ueber die Datei-Endung, beim
Apachen.
richtig, aber dann hab ich ein Verständnisproblem. Ich habe drinstehen
AddType text/html .xhtml .xhtm .xml
aber ich hab das bewußt wieder auskommentiert. Der Grund: in SELFHTML hast du
auf die Rolle der Extensionen hingewiesen, und ich habe die Erweiterung XHTM
bzw. XHTML bewußt gewählt, weil damit laut SELFHTML die XML-Parser
angesprochen werden sollten.
Das gilt fuer den IE, ja. Aber das ist ein inkorrektes Verhalten: ob der
XML-Parser benutzt wird oder nicht, kann eigentlich nur der MIME-Type
entscheiden. Was ist z. B., wenn die Datei, die ausgeliefert werden soll, in
der URI keine Endung hat?
Ich hätts mir leicht machen und alles bei HTM belassen können, da gibts
keinerlei Anzeigeproblem. Aber auch nix zu rätseln.
Da wird ja auch wahrscheinlich text/html als MIME-Type ausgegeben.
So, jetzt hab ich die AddType-Zeile wieder aktiviert (geht bei mir etwas
problemloser als auf eurem Server), und siehe da, wenn ich die Seiten jetzt
über den lokalen Apache laufen lasse, kriege ich alles so hübsch vorgeführt,
wie ich es haben möchte. Aber ist das denn nicht ein bißchen gemogelt?
Nicht im geringsten. Genau so muss es sein.
Gruesse,
CK
Hab ich zwar jetzt nicht ausprobiert, weil ich nicht den Apache
wegen Neustart stoppen will hier
http://selfhtml.teamone.de/diverses/htaccess.htm#allgemeines