Hallo Gunnar,
Du hast da etwas missverstanden:
Aber in der XHTML-Spec http://www.edition-w3c.de/TR/2002/REC-xhtml1-20020801/#heading-4.3:
Alle Elemente, die in der DTD nicht als EMPTY deklariert sind, müssen ein End-Tag haben.
Hierbei geht es um Elemente, bei denen man in HTML, obwohl sie einen Inhalt haben, ein oder beide Tags weglassen kann.
So wäre:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<title>Blubb</title>
<p>Blah
eine valide HTML-Seite. In XHTML muss die gleiche Seite mindestens so aussehen:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN">
<html>
<head>
<title>Blubb</title>
</head>
<body>
<p>Blah</p>
</body>
</html>
Elemente, die in der DTD als EMPTY deklariert sind, können ein End-Tag haben oder die Kurzschreibweise verwenden.
Das besagt, dass leere Elemente, z.B. BR, IMG oder INPUT entweder mit Start- und End-Tag (<br></br>, <img ...></img>, <input...></input>) oder in der Kurzschreibweise <br />, <img ... />, <input ... /> geschrieben werden können. Lediglich, die in HTML vorgesehen
Schreibweise _ohne_ End-Tag (<br>, <img ...>, <input ...>) darf nicht
mehr verwendet werden.
Aus Rücksicht, auf Browser sollte man, aber die Kurzschreibe _mit Leerzeichen_ verwenden. Zumindest dann, wenn man das XHTML aus Kompatibilitätsgründen als text/html ausliefert. Auch die zulässige
Schreibweise <br/>, <img .../>, <input .../> kann zu Problemen führen.
Allerdings kommt auch <p/> durch den Validator. Hm.
Ja, es ist ja korrektes XHTML. Die Schreibweise <p></p> ist jedoch kompatibel zu HTML und deshalb vorzuziehen.
Schöne Grüße,
Johannes
--
Der folgende Satz ist wahr.
Der vorhergehende Satz ist gelogen.
ss:| zu:} ls:[ fo:} de:] va:} ch:) sh:( n4:| rl:( br:< js:| ie:{ fl:( mo:}