Hallo Alex,
Sind Formulierungen wie z.B. "<br />" eigentlich auch valides HTML 4.01?
Jain.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<title>Hallo</title>
<hr>
ist valide,
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<title>Hallo</title>
<hr />
nicht,
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<title>Hallo</title>
<p>
<br />
</p>
dagegen schon.
Allerdings müsste das dritte Beispiel in einem vollkommen HTML konformen Browser (ich kenne keinen ;-)) wie folgt interpretiert werden:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<title>Hallo</title>
<p>
<br>>
</p>
Deswegen ist auch das zweite Beispiel invalide, da innerhalb von <body> in HTML 4.01 kein Textinhalt vorkommen darf. Das ganze nennt sich tag minimalization.
<p/Hallo/
sollte laut HTML 4.01, das ja auf SGML aufbaut, wie <p>Hallo</p> interpretiert werden.
Ich kenne jedoch keinen Browser, der das richtig interpretiert. Deswegen ist es auch möglich, XHTML 1.0 als text/html auszuliefern, denn die Browser können dieses SGML-Feature (glücklicherweise) nicht.
Aber ist es laut HTML-4.01-Definition erlaubt, alleinstehende Elemente ohne End-Tag so zu schreiben?
Bei <br>, <hr>, <meta>, etc. _darfst_ Du in HTML 4.01 keinen Endtag schreiben.
Viele Grüße,
Christian