zurück zur Startseite
  


Zurück XHTMLforum > (X)HTML und CSS > (X)HTML
Seite neu laden Firefox rendert Seite nicht als XHTML Code

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 03.05.2012, 18:43
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 01.10.2011
Beiträge: 37
helloworld befindet sich auf einem aufstrebenden Ast
Unglücklich Firefox rendert Seite nicht als XHTML Code

Ich habe ein Problem bei der Darstellung einer XHTML Datei mit folgendem Code:

HTML-Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">        
<html xmlns="http:/www.w3.org/1999/xhtml" xml:lang="de">
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />

<head>
<title>Selektoren</title>
<link rel="stylesheet" type="text/css" href="stylesheet.css" />
</head>


<body>
<div id="kopf">Kopfbereich der Webseite</div>

<div id="inhalt">
  <h1 class="wichtig">Eine wichtige Überschrift</h1>
  <p>Die Standardfarbe für Absätze ist Grün</p>
 
  <h1 class="details">Eine Überschrift für Details</h1>
  <p class="details">Hier ein Absatz mit Details</p>
 
  <h1>Eine Standard Überschrift</h1>
  <p>Und nun wieder ein Standard-Absatz</p>

</div>
<div id="fuss" class="detail">Fußbereich der Webseite</div>
</body>
</html> 
Die dazu passende stylesheet.css Datei:
Code:
h1, p { color:green; }
h1.wichtig { color:red; }
.detail { color:blue; }
#kopf { color:white; 
        background:black; }
#inhalt { background:silver; }
#fuss { background:silver; }

Wenn ich den XHTML Code in einer Datei mit der Endung *.xhtml speichere und im Firefox Browser öffne, dann erhalte ich die Fehlermeldung:
Zitat:
Mit dieser XML-Datei sind anscheinend keine Style-Informationen verknüpft. Nachfolgend wird die Baum-Ansicht des Dokuments angezeigt.

Wenn ich aber den XHTML Code in einer Datei mit der Endung *.html speichere, dann wird die Seite zwar mithilfe des CSS dargestellt, aber der dann im Firefox arbeitende Parser ist dann nicht der für XHTML, sondern der für HTML.
Was sich auch zeigen läßt, wenn man z.b. invaliden XHTML Code wie z.b. ein Tag, bei dem das Endtag fehlt, in den XHTML Code einfügt, denn dann wird die Seite immer noch dargestellt, was bei XHTML nicht sein dürfte.


Daher würde ich nun gerne wissen, warum der Browser die CSS Datei nicht dazuläd, wenn ich den XHTML Code in einer Datei mit der Endung *.xhtml speichere.

Weiß das jemand?

PS:
Das Problem tritt beim direkten lokalen Laden der HTML Dateien mit dem Browser auf, es liegt also kein Webserver dazwischen.


Und das Firefox den XHTML Code als HTML Code mit dem HTML Parser und nicht mit dem XHTML Parser behandelt, wenn die Datei auf *.html endet, kann man leicht herausfinden, in dem man einen fehlerhaften Code in den Code einfügt.
Z.B. wird folgende falsche Verschachtelung
HTML-Code:
<p><h1>Test</p></h1>
ignoriert und die Seite dargestellt.

Speichert man die Datei aber mit der Endung *.xhtml ab, dann wirft der fehlerhafte Code, wie man es von XHTML erwartet, einen Parser Fehler.
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 03.05.2012, 19:13
Standardkatze
XHTMLforum-Kenner
 
Registriert seit: 06.02.2007
Beiträge: 1.820
gato ist einfach richtig nettgato ist einfach richtig nettgato ist einfach richtig nettgato ist einfach richtig nettgato ist einfach richtig nett
Standard

Zitat:
Zitat von helloworld Beitrag anzeigen
Ich habe ein Problem bei der Darstellung einer XHTML Datei mit folgendem Code:
Was sagt der Validator zu deinem Problem?

Zitat:
Zitat von helloworld Beitrag anzeigen
Wenn ich den XHTML Code in einer Datei mit der Endung *.xhtml speichere und im Firefox Browser öffne, dann erhalte ich die Fehlermeldung:
Der Hinweis kommt in allen konformen Browsern. Es ist keine Fehlermeldung, nur der Hinweis, dass mit dem Dokument keine Stylesheetdatei verknüpft ist.

Zitat:
Zitat von helloworld Beitrag anzeigen
Daher würde ich nun gerne wissen, warum der Browser die CSS Datei nicht dazuläd, wenn ich den XHTML Code in einer Datei mit der Endung *.xhtml speichere.

Weiß das jemand?
Weil du einen bestimmten Fehler in deinem Quelltext hast, erkennt der Browser nicht, dass es sich um XHTML-Quelltext handelt. Der Quelltext wird als generisches XML verarbeitet. In generischem XML hat das link-Element keine Bedeutung, es wird also kein Stylesheet eingebunden (wie auch?).

P.S. Die XML-Deklaratuion ist optional, wenn du UTF-8 als Kodierung verwendest.

Zudem sollte in der Meta-Angabe nicht der tatsächlich verwendete Medientyp stehen, sondern immer text/html (nicht alle Browser, für die diese Angabe gedacht ist, können mit application/xhtml+xml umgehen).
__________________
Über Internet Explorer 8:
Noch bis 8. April 2014 wird der Internet Explorer 6 mit Sicherheitsupdates versorgt.
Bereits jetzt kann dieser Browser aber vollständig durch den IE8 ersetzt werden. Ältere Betriebssysteme und Browserversionen werden von Microsoft nicht mehr unterstützt.
Auch Programme, die den IE7 benötigen, sind kein Argument gegen IE8, da dieser über entsprechende Kompatibilitätsschichten verfügt.
Ab sofort gilt daher der Internet Explorer 8 als vorausgesetzer Mindeststandard.
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 03.05.2012, 21:38
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 01.10.2011
Beiträge: 37
helloworld befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von gato Beitrag anzeigen
Was sagt der Validator zu deinem Problem?
Wie bereits geschrieben, die HTML Seite ist ein Offline Dokument, den Validator kann ich also schlecht nutzen:

Zitat:
Das Problem tritt beim direkten lokalen Laden der HTML Dateien mit dem Browser auf, es liegt also kein Webserver dazwischen.
Zitat:
Weil du einen bestimmten Fehler in deinem Quelltext hast, erkennt der Browser nicht, dass es sich um XHTML-Quelltext handelt. Der Quelltext wird als generisches XML verarbeitet. In generischem XML hat das link-Element keine Bedeutung, es wird also kein Stylesheet eingebunden (wie auch?).
Das wäre ein Hinweis, aber welcher Fehler soll das sein?
XHTML spezifische Fehler meldet Firefox eigentlich, wenn die Datei als XHTML Datei erkannt wurde.

Selbst wenn ich den Code auf das allernötigste reduziere, bleibt es bei der Fehlermeldung und ich finde keinen Fehler im Code:

HTML-Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">        
<html xmlns="http:/www.w3.org/1999/xhtml" xml:lang="de">
<head>
  <link rel="stylesheet" type="text/css" href="stylesheet.css" />
</head>

<body>

</body>
</html>


Zitat:
Zudem sollte in der Meta-Angabe nicht der tatsächlich verwendete Medientyp stehen, sondern immer text/html (nicht alle Browser, für die diese Angabe gedacht ist, können mit application/xhtml+xml umgehen).
Normalerweise macht das der Webserver und der sollte dann schauen, ob der Browser application/xhtml+xml versteht und erst dann wird entsprechend entschieden.
Standardmäßig es als text/html zu veschicken ist auch falsch, weil der Code dann immer mit dem HTML Parser interpretiert wird.
In diesem Fall handelt es sich aber um eine Offlinedatei und ich will hier XHTML testen. Deswegen steht das Meta Tag drin, aber man könnte es auch komplett weglassen, wenn ein Webserver benutzt wird und der das übernimmt.
Mit Zitat antworten
  #4 (permalink)  
Alt 03.05.2012, 21:49
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 01.10.2011
Beiträge: 37
helloworld befindet sich auf einem aufstrebenden Ast
Daumen hoch

So, nach einem direkten Vergleich mit dem Beispielcode auf dieser Webseite des W3C:
XHTML 1.1 - Conformance Definition

Habe ich den Fehler nun gefunden.

beim
xmlns="http:// ... Tag

fehlte nach http ein Slash.
Das war's, jetzt funktioniert es.

Dieser Text war auch hilfreich, er hat mich dazu gebracht nochmal zu vergleichen und einen Code vom W3C zu nutzen.
Zitat:
Weil du einen bestimmten Fehler in deinem Quelltext hast, erkennt der Browser nicht, dass es sich um XHTML-Quelltext handelt. Der Quelltext wird als generisches XML verarbeitet. In generischem XML hat das link-Element keine Bedeutung, es wird also kein Stylesheet eingebunden (wie auch?).


Danke für die Hilfe.
Mit Zitat antworten
  #5 (permalink)  
Alt 03.05.2012, 22:27
Standardkatze
XHTMLforum-Kenner
 
Registriert seit: 06.02.2007
Beiträge: 1.820
gato ist einfach richtig nettgato ist einfach richtig nettgato ist einfach richtig nettgato ist einfach richtig nettgato ist einfach richtig nett
Standard

Zitat:
Zitat von helloworld Beitrag anzeigen
Wie bereits geschrieben, die HTML Seite ist ein Offline Dokument, den Validator kann ich also schlecht nutzen:
Unsinn.

Zitat:
Zitat von helloworld Beitrag anzeigen
Das wäre ein Hinweis, aber welcher Fehler soll das sein?
Der Validator hätte es dir verraten

Zitat:
Zitat von helloworld Beitrag anzeigen
Normalerweise macht das der Webserver und der sollte dann schauen, ob der Browser application/xhtml+xml versteht und erst dann wird entsprechend entschieden.
Ich habe nichts von einer Veränderung der Angabe im HTTP-Header gesagt. Die kannst du gerne beibehalten.

Zitat:
Zitat von helloworld Beitrag anzeigen
Standardmäßig es als text/html zu veschicken ist auch falsch, weil der Code dann immer mit dem HTML Parser interpretiert wird.
Was in der Meta-Angabe steht hat keine Auswirkungen auf den Parser (zumindest nicht so, wie du es gerade dargestellt hast). Welcher Parser verwendet wird, wird durch die Angabe im HTTP-Header festgelegt.

Zitat:
Zitat von helloworld Beitrag anzeigen
In diesem Fall handelt es sich aber um eine Offlinedatei und ich will hier XHTML testen. Deswegen steht das Meta Tag drin, aber man könnte es auch komplett weglassen, wenn ein Webserver benutzt wird und der das übernimmt.
Gerade weil Dokumente sich an lokaler Stelle befinden können, ist die korrekte Angabe der Kodierung innerhalb des Dokuments immer sinnvoll.

Dass der Medientyp in dem Element angegeben wird, ist das eigentlich Unsinnige dabei. Deshalb entfällt die Angabe ja auch in den aktuellen Versionen von HTML und XHTML.

Dass im meta-Element immer text/html angegeben werden sollte (obwohl das nicht den Tatsachen entspricht), hat aber, wie gesagt, damit zu tun, dass nicht alle Browser die Kodierung richtig herauslesen können, wenn etwas anderes als text/html enthalten ist.
Mit Zitat antworten
Antwort

Stichwörter
css, fehler, firefox, html, xhtml

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Seite wird im Firefox nicht richtig angezeigt donnar CSS 1 27.11.2008 22:52
xhtml code im html-form LordShadow (X)HTML 33 02.07.2008 18:48
Firefox zeigt die Seite nicht richtig an Ibubeta CSS 12 29.03.2007 12:34
XHTML 1.0 strict: interpretation von alt und title (IMG) vom IE7, Opera und Firefox braindead (X)HTML 5 11.03.2007 17:57
HTML Code auf Seite darstellen Lloyd Larkin Serveradministration und serverseitige Scripte 12 01.08.2006 15:10


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:20 Uhr.