Hi,
OK, auf diese Idee käme ich gar nicht, wenn es Cheatah nicht angesprochen hätte. In meinem Kopf steckt irgendwie die Vorstellung (von HTML), dass <script> kein "leeres" Element ist.
Naja, es gibt zwei Arten leerer Elemente.
Die erste ist die mit content-model EMPTY - diese Elemente können nie Inhalt haben (z.B. in HTML: img, hr, br, area, base, basefont, link, col, frame, input usw.).
Und dann gibt es noch die leeren Elemente, die zwar Inhalt haben dürfen, aber zufällig gerade mal keinen haben. Das trifft aber nicht auf alle Elemente zu, die nicht EMPTY als content-model haben - es gibt auch Elemente, die nicht leer sein dürfen (z.B. in HTML muß head ein title-Element enthalten oder ul muß mindestens ein li enthalten).
Bei der ersten Sorte ist in XHTML die ein-tag-Schreibweise (mit Leerzeichen vor dem /) empfehlenswert (nicht-XHTML-fähige Browser könnten über ein extra-end-tag stolpern).
Bei der zweiten Sorte ist in XHTML die zwei-tag-Schreibweise empfehlenswert (nicht-XHTML-fähige Browser suchen sonst vergeblich nach dem schließenden tag).
Ist dass denn nach der XHTML-Spezifikation überhaupt zulässig?
Ja.
Hätte ich nicht gedacht. Das erklärt auch, warum man auf einigen "Pseudo-XHTML" Seiten auch solche Konstrukte wie <p /> findet.
XHTML ist XML - XML erlaubt für Elemente ohne Inhalt (ob zufällig oder zwangsweise) immer die ein-tag-Schreibweise.
cu,
Andreas
Warum nennt sich Andreas hier MudGuard?
Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.