|
|
Liebes Validator-Team!
http://www.w3.org/TR/xhtml1/#h-4.8 besagt, dass <script>-Blöcke in XHTML mit öffendem und schließendem <script>-Tag notiert werden müssen:
<script type="text/javascript"> #PCDATA </script>
Das trifft auch beim Einbinden von externen Scripts zu:
<script type="text/javascript" src="script.js"></script>
Folgendes Dokument wird von Validome als valide erkannt:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Invalid Script-Tag</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Script-Type" content="text/javascript" /> <link rel="stylesheet" type="text/css" href="./style.css" /> <script src="./include/javascript.js" type="text/javascript" /> </head>
<body> <h1>This page is not valid</h1> </body> </html>
IMHO ist das ein Bug.
Liebe Grüße, stephantom
|
|
| 22.06.2006 21:32:57 |
|
HTMELL
Administrator
Registriert: 11.05.2006
Beiträge: 544
|
|
Hallo, > Das trifft auch beim Einbinden von externen Scripts zu:
<script type="text/javascript" src="script.js"></script> <script type="text/javascript" src="script.js" /> Ist in XML das Selbe - kein Inhalt ist nun mal kein Inhalt. Der Inhalt dieses Elementes muß zwar #PCDATA sein, das hat aber nichts damit zu tun wie man ein leeres Element zu schreiben hat -> http://www.w3.org/TR/xhtml1/#h-4.6
_______________________________________ mfg Thomas Mell
www.validome.org
|
|
| 22.06.2006 22:52:40 |
|
|
|
Hallo nochmal!
Vom DTD her ist <script> (genauso wie style und textarea auch) nicht als EMPTY definiert. Dieses Thema scheint jedoch generell sehr umstritten zu sein[1,2]. Ganz abgesehen davon wird ein <script type="text/javascript" src="script.js" /> vom IE als nicht geschlossenes <script> gesehen und damit wird der Rest des Dokuments als Script interpretiert.
[1] http://meg.hourihan.com/2003/12/more-on-xhtml [2] http://www.lshift.net/blog/2006/04/03/xhtml-considered-harmful
|
|
| 29.06.2006 15:12:56 |
|
Validome
Administrator
Registriert: 04.04.2005
Beiträge: 313
|
|
Hallo, Ein EMPTY-Element MUSS leer sein (br, img...), das bedeutet noch lange nicht das ein nicht-EMPTY-Element einen Inhalt besitzen MUSS. Sonst währen ja auch leere td,h1-6, p, u, i, b, strong, s usw. ein Fehler.
>...vom IE als nicht geschlossenes Das ist ein Problem des Browsers und hat nichts mit den Spezifikationen, einer richtig funktionierenden Software oder einen Validator zu tun.
|
|
| 29.06.2006 17:29:15 |
|
|
|
| Ein EMPTY-Element MUSS leer sein (br, img...), das bedeutet noch lange nicht das ein nicht-EMPTY-Element einen Inhalt besitzen MUSS. |
Das besreitet ja auch niemand. Allerdings ist das script-Element doch in XHTML 1.0 unstrittig nicht als EMPTY deklariert und damit sollte doch http://www.w3.org/TR/xhtml1/#h-4.3 Anwendung finden:
| All elements other than those declared in the DTD as EMPTY must have an end tag. |
http://www.w3.org/TR/xhtml1/#h-4.6 sollte eben gerade keine Anwendung finden, da script eben nicht als EMPTY definiert ist. In XML mag deine Aussage bezüglich der Gleichheit zutreffen, aber XHTML hat eben zusätzliche Regeln, die zu beachten sind. Der obige Satz ist imo unmissverständlich, zumal ja direkt zu den EMPTY-Elementen abgegrenzt wird, wo die Shorthand-Notation explizit erwähnt wird.
|
|
| 29.06.2006 23:01:55 |
|
HTMELL
Administrator
Registriert: 11.05.2006
Beiträge: 544
|
|
Hallo, >http://www.w3.org/TR/xhtml1/#h-4.6 sollte eben gerade keine Anwendung finden, da script eben nicht als EMPTY definiert ist In 4.6 steht kein Wort von "Empty" sondern bezieht sich auf leere Elemente. <script type="text/javascript" src="script.js"></script> ist aber leer; demnach kann man auch die Kurzschreibweise verwenden. Das ist mal wieder ein Wiederspruch in den W3C-Specs, wir werden aber mal nachfragen was nun richtig ist.
_______________________________________ mfg Thomas Mell
www.validome.org
|
|
| 30.06.2006 13:52:51 |
|
|
|
Ok, http://www.w3.org/TR/xhtml1/#C_3 überzeugt mich davon, dass die Spezifikation sich selbst widerspricht. Denn dieser Punkt der Kompatiblitätsrichtlinie wäre ja unter Beachtung von Punkt 4.3 gar nicht notwendig, da die Form demanch eh unzulässig wäre.
Hier wird offensichtlich nicht klar getrennt zwischen leeren Elementen und Elementen, die als EMPTY deklariert sind. Die klare Unterscheindung in Punkt 4.3 sollte allerdings eher für die Unzulässigkeit sprechen.
Ich bin gespannt auf die Antwort ...
|
|
| 30.06.2006 21:07:33 |
|
Wechsel zu
Die letzten Beiträge aus diesen Forum
|
|