XHTML validieren

Status
Nicht offen für weitere Antworten.
Also meine Doctype-Definition sieht immer so aus:
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
Und was weißt Du jetzt nicht, wo Du es im Quelltext eintragen musst?

redlama
 
Hallo,

es ging mehr jetzt um den von Gumbo drauf hingewiesenen Media-Typen. Ich weist nicht was das ist und wo das hinkommt.

und wegen dem Tag
HTML:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
bin ich mir nicht sicher ob bei
HTML:
 xml:lang="de"
nicht ein en in die Anführungsstriche kommt, weil de Quelltext ja in Englisch ist und ich mich erinnern kann mal sowas gelesen zu haben, dass man dann auch en nimmt. Und für
HTML:
 lang="de"
sollte man soweit ich weis die Sprache eintragen in dem der Text dann zu lesen ist. Ich bin mir nicht halt da nicht so sicher und möchte andere Meinungen hören.

Ach ja, dann ist mir eben noch was aufgefallen, wenn ich eine XML-Deklaration einfüge, dann ändert sich aufeinmal das Layout meiner Seite etwas. Vorallem beim IE wird es ziemlich verschiessen, bei Opera, Firefox und Netscape geht es noch.

Was liegt dahinter, ist meine XML-Deklaration nicht korrekt oder ist es normal das sich alles ändert, ohne die Deklaration sieht es nämlich besser aus und ist auch trotzdem valide.

So sieht es bei mir aus:
HTML:
 <?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
 
XHTML 1.0 und seine Varianten dürfen als text/html ausgeliefert werden, besser und korrekt wäre jedoch application/xhtml+xml. Allerdings gibt es dort wieder Konflikte mit dem Sorgenkind Nr. 1, dem Internet Explorer, der, wie bereits erwähnt, kein XML und damit auch kein XHTML interpretiert.

Das W3C – oder besser gesagt Masayasu Ishikawa – hat einen umfangreichen Test zur Media-Typ-Interpretation der Browser zusammengefasst.
 
Zuletzt bearbeitet:
Hallo,

nimmt es mir bitte nicht überl, aber mit XHTML und den Beschreibungen in den Links auf Englisch komm ich net so klar.

Ich hab ja jetzt die Seite mit XHTML 1.0 valide, aber seit dem eine XML-Deklaration da eingefügt habe, ist das Design durcheinander geraten.

Wenn mir jemand noch etwas Geduld dort schenkt, wäre ich froh drüber. Aufjedenfall weis ich doch, das es an der XML-Deklaration liegt, das die Seite so durcheinander gerät. Hat es damit zu tun das der IE kein XHTML darstellt wie bereits öferts erwähnt? Aber schließlich wird doch etwas angezeigt im Browser, zwar nicht so wie ich es gern hätte, aber das er kein XHTML darstellt würde ich so nicht bezeichnen?
 
Hallo,

habe wegen der XML Deklaration ein neues Thema eröffnet, weil es so nicht mehr zu dem Titel diese Themas passt.
 
Um derbe auszudrücken, scheren sich die meisten Browser ehrlich gesagt einen Sch… für die DOCTYPE.
Vielmehr hängt die Interpretation des Dokuments vom Media-Typen ab. Und wird das XHTML-Dokument nicht mit dem korrekten Media-Typen (application/xhtml+xml), sondern mit text/html ausgeliefert – wie es die Standardeinstellungen der Webserver für Dokumente mit den Endungen .htm, .html und auch .php ist – wird der Inhalt auch nur als HTML interpretiert – auch wenn der Inhalt der XHTML-Syntax entspricht oder eine XML-Deklaration besitzt. Denn bisher gibt es auch noch keinen Browser, der einen HTML-Parser – also ein Programm, das den Quellcode auf die HTML-Grammatik überprüft – besitzt. Daher beschwert sich auch kein Browser, wenn ihm eine willkürliche „Tag Soup“ vorgesetzt wird, sondern interpretiert lediglich alle ihm bekannten Elemente und Attribute und lässt den Rest außer Acht.
Richtiges XHTML läuft jedoch beim Browser durch den XML-Parser, der keine vom Standard abweichenden Aspekte toleriert.
„MIME types matter; DOCTYPEs don't“
 
Hallo,

mal trotz Abschweifung noch zwei Hinweise für die anfänglichen Fragen:

1. zu <s></s>: ich benutze für diesen Fall die logische Auszeichnung <del></del>. Die ist valide (auch xhtml strict) und wird von den gängigen Browsern als durchgestrichen interpretiert. Zur Sicherheit kann man ja in der CSS-Datei den Tipp von Sebastian Wramba einarbeiten:
Code:
del { text-decoration:line-through; }
Der Vorteil: logische Auszeichnungen werden auch ohne CSS interpretiert.

2. zum Blockelement um ein select oder input-tag: es gehört, soweit ich weiß, um jedes einzelne eins drumrum (es nützt also nix, das form-tag innerhalb eines divs zu haben). Wenn du einen Zeilenumbruch vermeiden willst, kannst du dem umschließenden Blockelement folgendes Attribut geben:
Code:
{ display:inline; }
Hab's nicht konkret ausprobiert, müsste aber funktionieren.

Schöne Grüße
27apricot
 
Der Inhalt des del-Elements wird jedoch nur als gelöschte interpretiert; dass dieser auch durchgestrichen dargestellt wird, ist die Entscheidung des jeweiligen Browsers. SO könnte es durchaus sein, dass das del-Element in einem Browser in rot marktiert statt durchgestrichen dargestellt wird.
 
Hallo Gumbo,

deswegen ja die Definition in der CSS-Datei. Gegebenenfalls kann man ja auch noch die Schriftfarbe definieren, um auf Nummer sicher zu gehen. STRONG und EM definiere ich auch vorsichtshalber mit CSS als fett bzw. kursiv. Kann natürlich sein, dass das nicht dem Gedanken hinter HTML + CSS entspricht, kann ich mir aber nicht vorstellen, dafür sind ja logische Auszeichnungen da.

Opera 7, Firefox 1 und IE6 interpretieren DEL jeweils als durchgestrichen, auch ohne CSS-Definition. Von den mir zur Verfügung stehenden Browsern kann nur Netscape 4.78 gar nix damit anfangen, ob mit oder ohne CSS. Aber das ist ja inzwischen wirklich hinfällig.

Schöne Grüße
27apricot
 
Status
Nicht offen für weitere Antworten.
Zurück